staging-next 2025-03-03 (#386822)

This commit is contained in:
Vladimír Čunát
2025-03-11 18:52:14 +01:00
211 changed files with 1656 additions and 5076 deletions
@@ -58,15 +58,12 @@ let
configPackages = cfg.configPackages;
extraConfigPkg =
extraConfigPkgFromFiles [ "pipewire" "client" "client-rt" "jack" "pipewire-pulse" ]
(
mapToFiles "pipewire" cfg.extraConfig.pipewire
// mapToFiles "client" cfg.extraConfig.client
// mapToFiles "client-rt" cfg.extraConfig.client-rt
// mapToFiles "jack" cfg.extraConfig.jack
// mapToFiles "pipewire-pulse" cfg.extraConfig.pipewire-pulse
);
extraConfigPkg = extraConfigPkgFromFiles [ "pipewire" "client" "jack" "pipewire-pulse" ] (
mapToFiles "pipewire" cfg.extraConfig.pipewire
// mapToFiles "client" cfg.extraConfig.client
// mapToFiles "jack" cfg.extraConfig.jack
// mapToFiles "pipewire-pulse" cfg.extraConfig.pipewire-pulse
);
configs = pkgs.buildEnv {
name = "pipewire-configs";
@@ -205,27 +202,6 @@ in
[wiki]: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-client
'';
};
client-rt = mkOption {
type = attrsOf json.type;
default = { };
example = {
"10-alsa-linear-volume" = {
"alsa.properties" = {
"alsa.volume-method" = "linear";
};
};
};
description = ''
Additional configuration for the PipeWire client library, used by real-time applications and legacy ALSA clients.
Every item in this attrset becomes a separate drop-in file in `/etc/pipewire/client-rt.conf.d`.
See the [PipeWire wiki][wiki] for examples of general configuration, and [PipeWire wiki - ALSA][wiki-alsa] for ALSA clients.
[wiki]: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-client
[wiki-alsa]: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-ALSA
'';
};
jack = mkOption {
type = attrsOf json.type;
default = { };
@@ -341,6 +317,10 @@ in
pipewire-media-session is no longer supported upstream and has been removed.
Please switch to `services.pipewire.wireplumber` instead.
'')
(mkRemovedOptionModule [ "services" "pipewire" "extraConfig" "client-rt" ] ''
`services.pipewire.extraConfig.client-rt` is no longer applicable, as `client-rt.conf` has been
removed upstream. Please move your customizations to `services.pipewire.extraConfig.client`.
'')
];
###### implementation
+1
View File
@@ -88,6 +88,7 @@ let
"sys-fs-fuse-connections.mount"
] ++ (optional (!config.boot.isContainer) "sys-kernel-config.mount") ++ [
"sys-kernel-debug.mount"
"sys-kernel-tracing.mount"
# Maintaining state across reboots.
"systemd-random-seed.service"
@@ -1,22 +1,32 @@
{ pkgs, makeInstalledTest, ... }:
{
lib,
pkgs,
makeInstalledTest,
...
}:
makeInstalledTest {
tested = pkgs.xdg-desktop-portal;
# Red herring
# Failed to load RealtimeKit property: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.RealtimeKit1 was not provided by any .service files
# Maybe a red herring, enabling PipeWire doesn't fix the location test.
# Failed connect to PipeWire: Couldn't connect to PipeWire
testConfig = {
environment.variables = {
TEST_IN_CI = 1;
XDG_DATA_DIRS = "${pkgs.xdg-desktop-portal.installedTests}/share/installed-tests/xdg-desktop-portal/share";
GI_TYPELIB_PATH = lib.makeSearchPath "lib/girepository-1.0" [
pkgs.glib.out
pkgs.umockdev.out
];
# need to set this ourselves, because the tests will set LD_PRELOAD=libumockdev-preload.so,
# which can't be found because it's not in default rpath
LD_PRELOAD = "${pkgs.umockdev.out}/lib/libumockdev-preload.so";
XDP_TEST_IN_CI = 1;
};
# Broken, see comment in the package file.
#services.geoclue2 = {
# enable = true;
# enableDemoAgent = true;
#};
#location.provider = "geoclue2";
environment.systemPackages = with pkgs; [
umockdev
wireless-regdb
];
services.geoclue2 = {
enable = true;
enableDemoAgent = true;
};
location.provider = "geoclue2";
};
}
+2 -2
View File
@@ -52,7 +52,7 @@
soundtouch,
sratom,
suil,
taglib,
taglib_1,
vamp-plugin-sdk,
wafHook,
xjadeo,
@@ -166,7 +166,7 @@ stdenv.mkDerivation rec {
soundtouch
sratom
suil
taglib
taglib_1
vamp-plugin-sdk
]
++ lib.optionals videoSupport [
@@ -11,7 +11,7 @@
qtbase,
qtx11extras,
qttools,
taglib,
taglib_1,
fftw,
glew,
qjson,
@@ -92,7 +92,7 @@ stdenv.mkDerivation (finalAttrs: {
qtx11extras
qttools
sqlite
taglib
taglib_1
alsa-lib
]
# gst_plugins needed for setup-hooks
@@ -19,7 +19,7 @@
kxmlgui,
qtbase,
phonon,
taglib,
taglib_1,
# optional backends
withCD ? true,
cdparanoia,
@@ -131,7 +131,7 @@ mkDerivation rec {
qtbase
phonon
];
buildInputs = [ taglib ] ++ runtimeDeps;
buildInputs = [ taglib_1 ] ++ runtimeDeps;
# encoder plugins go to ${out}/lib so they're found by kbuildsycoca5
cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ];
sourceRoot = "${src.name}/src";
+2 -2
View File
@@ -1,6 +1,6 @@
{ lib, fetchFromGitHub }:
rec {
version = "9.1.1046";
version = "9.1.1122";
outputs = [
"out"
@@ -11,7 +11,7 @@ rec {
owner = "vim";
repo = "vim";
rev = "v${version}";
hash = "sha256-bH3p78fWUNQRhluUvqQ5uJ+PxNhz7T7wA/4zxUDH130=";
hash = "sha256-Eaxia/FLRCnr8MVDvt+ZUFwIQD5Pqq7SsmWZeQdjuXs=";
};
enableParallelBuilding = true;
@@ -445,6 +445,9 @@ let
./patches/cross-compile.patch
# Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
./patches/no-build-timestamps.patch
# Fix build with Pipewire 1.4
# Submitted upstream: https://webrtc-review.googlesource.com/c/src/+/380500
./patches/webrtc-pipewire-1.4.patch
]
++ lib.optionals (packageName == "chromium") [
# This patch is limited to chromium and ungoogled-chromium because electron-source sets
@@ -0,0 +1,20 @@
--- a/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
+++ b/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSession* session,
.param = OnNodeParam,
};
- pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
+ pw_node_add_listener(reinterpret_cast<pw_node*>(proxy_), &node_listener_, &node_events, this);
}
// static
@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_node_info* info) {
uint32_t id = info->params[i].id;
if (id == SPA_PARAM_EnumFormat &&
info->params[i].flags & SPA_PARAM_INFO_READ) {
- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
+ pw_node_enum_params(reinterpret_cast<pw_node*>(that->proxy_), 0, id, 0, UINT32_MAX, nullptr);
break;
}
}
@@ -0,0 +1,20 @@
--- a/src/modules/video_capture/linux/pipewire_session.cc
+++ b/src/modules/video_capture/linux/pipewire_session.cc
@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSession* session,
.param = OnNodeParam,
};
- pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
+ pw_node_add_listener(reinterpret_cast<pw_node*>(proxy_), &node_listener_, &node_events, this);
}
// static
@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_node_info* info) {
uint32_t id = info->params[i].id;
if (id == SPA_PARAM_EnumFormat &&
info->params[i].flags & SPA_PARAM_INFO_READ) {
- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
+ pw_node_enum_params(reinterpret_cast<pw_node*>(that->proxy_), 0, id, 0, UINT32_MAX, nullptr);
break;
}
}
@@ -43,6 +43,12 @@ stdenv.mkDerivation {
fetchSubmodules = true;
};
patches = [
# Fix build with Pipewire 1.4
# Submitted upstream: https://webrtc-review.googlesource.com/c/src/+/380500
./tg_owt-pipewire-1.4.patch
];
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace src/modules/desktop_capture/linux/wayland/egl_dmabuf.cc \
--replace-fail '"libEGL.so.1"' '"${lib.getLib libGL}/lib/libEGL.so.1"' \
@@ -39,11 +39,11 @@ let
self = python3Packages.buildPythonApplication rec {
pname = "mercurial${lib.optionalString fullBuild "-full"}";
version = "6.9";
version = "6.9.1";
src = fetchurl {
url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
hash = "sha256-YpYEKT3yvoFx7IVr9Pi0+qjkMFrxNgfc4PifdBMoNtY=";
hash = "sha256-5XdXfumpep+E08NNU8y4uTVCY9arlkR1JQlPPgpWcnA=";
};
format = "other";
+10 -1
View File
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, fetchzip
{ stdenv, lib, fetchFromGitHub, fetchzip, fetchpatch
, autoconf, automake, libtool, makeWrapper
, pkg-config, cmake, yasm, python3Packages
, libxcrypt, libgcrypt, libgpg-error, libunistring
@@ -97,6 +97,15 @@ in stdenv.mkDerivation (finalAttrs: {
hash = "sha256-RdTJcq6FPerQx05dU3r8iyaorT4L7162hg5RdywsA88=";
};
patches = [
# Backport to fix build with Pipewire 1.4
# FIXME: remove in the next update
(fetchpatch {
url = "https://github.com/xbmc/xbmc/commit/269053ebbfd3cc4a3156a511f54ab7f08a09a730.patch";
hash = "sha256-JzzrMJvAufrxTxtWnzknUS9JLJEed+qdtVnIYYe9LCw=";
})
];
# make derivations declared in the let binding available here, so
# they can be overridden
inherit libdvdcss libdvdnav libdvdread groovy
@@ -6,7 +6,6 @@
cmake,
zlib,
curl,
taglib,
dbus,
pkg-config,
qtbase,
@@ -27,7 +26,6 @@ stdenv.mkDerivation (finalAttrs: {
qtbase
zlib
curl
taglib
dbus
];
@@ -70,11 +70,11 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString nixosTestRunner "-for-vm-tests"
+ lib.optionalString toolsOnly "-utils"
+ lib.optionalString userOnly "-user";
version = "9.2.0";
version = "9.2.2";
src = fetchurl {
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
hash = "sha256-+FnwvGXh9TPQQLvoySvP7O5a8skhpmh8ZS+0TQib2JQ=";
hash = "sha256-dS6u63cpI6c9U2sjHgW8wJybH1FpCkGtmXPZAOTsn78=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ]
@@ -198,7 +198,7 @@ def copy_and_patch_git_crate_subtree(git_tree: Path, crate_name: str, crate_out_
crate_tree = crate_manifest_path.parent
eprint(f"Copying to {crate_out_dir}")
shutil.copytree(crate_tree, crate_out_dir)
shutil.copytree(crate_tree, crate_out_dir, ignore_dangling_symlinks=True)
crate_out_dir.chmod(0o755)
with open(crate_manifest_path, "r") as f:
@@ -195,7 +195,7 @@ let
echo Found crate ${pkg.name} at $crateCargoTOML
tree=$(dirname $crateCargoTOML)
cp -prvL "$tree/" $out
${python3Packages.python.interpreter} -c 'import sys, shutil; shutil.copytree(sys.argv[1], sys.argv[2], ignore_dangling_symlinks=True)' "$tree" "$out"
chmod u+w $out
if grep -q workspace "$out/Cargo.toml"; then
@@ -1,7 +1,5 @@
let
# This can be made unconditional once jq is available in the bootstrap tools. If corecrypto is not removed from
# the umbrella framework, linking will fail in stage 1 because it cant find the tbd.
disallowedPackages' = builtins.fromJSON (builtins.readFile ../metadata/disallowed-packages.json);
disallowedPackages = builtins.fromJSON (builtins.readFile ../metadata/disallowed-packages.json);
in
{
@@ -10,13 +8,6 @@ in
stdenv,
}:
let
disallowedPackages =
if jq == null then
lib.filter (p: p.package != "corecrypto") disallowedPackages'
else
disallowedPackages';
in
self: super: {
# Remove headers and stubs for packages that are available in nixpkgs.
buildPhase =
@@ -390,18 +390,6 @@
},
{
"package": "openldap",
"headers": [
"lber.h",
"lber_types.h",
"ldap.h",
"ldap_cdefs.h",
"ldap_features.h",
"ldap_schema.h",
"ldap_utf8.h",
"ldif.h",
"openldap.h",
"slapi-plugin.h"
],
"libraries": [
"liblber.*",
"liblber_r.*",
+1 -5
View File
@@ -36,12 +36,8 @@ let
(callPackage ./common/passthru-private-frameworks.nix { inherit sdkVersion; })
(callPackage ./common/passthru-source-release-files.nix { inherit sdkVersion; })
(callPackage ./common/remove-disallowed-packages.nix { })
(callPackage ./common/process-stubs.nix { })
]
# Only process stubs and convert them to tbd-v4 if jq is available. This can be made unconditional once
# the bootstrap tools have jq and llvm-readtapi.
++ lib.optional (jq != null && lib.getName llvm != "bootstrap-stage0-llvm") (
callPackage ./common/process-stubs.nix { }
)
# Avoid infinite recursions by not propagating certain packages, so they can themselves build with the SDK.
++ lib.optionals (!enableBootstrap) [
(callPackage ./common/propagate-inputs.nix { })
+18 -16
View File
@@ -1,7 +1,7 @@
{
lib,
python3,
fetchPypi,
python3Packages,
fetchFromGitHub,
groff,
less,
nix-update-script,
@@ -10,36 +10,38 @@
}:
let
self = python3.pkgs.buildPythonApplication rec {
self = python3Packages.buildPythonApplication rec {
pname = "awscli";
# N.B: if you change this, change botocore and boto3 to a matching version too
# check e.g. https://github.com/aws/aws-cli/blob/1.33.21/setup.py
version = "1.36.40";
version = "1.37.21";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-4qiPiNwW1cDyY3mv1vJUCX5T6LNMghZOWfQWXbbubfo=";
src = fetchFromGitHub {
owner = "aws";
repo = "aws-cli";
tag = version;
hash = "sha256-gKRWhOhZjGhPVIG6KgCyDqxuyBGbaS8bHD7vnJ4gA+o=";
};
pythonRelaxDeps = [
# botocore must not be relaxed
"colorama"
"docutils"
"rsa"
];
build-system = [
python3.pkgs.setuptools
build-system = with python3Packages; [
setuptools
];
dependencies = with python3.pkgs; [
dependencies = with python3Packages; [
botocore
s3transfer
colorama
docutils
rsa
s3transfer
pyyaml
colorama
rsa
groff
less
];
@@ -59,14 +61,14 @@ let
installCheckPhase = ''
runHook preInstallCheck
$out/bin/aws --version | grep "${python3.pkgs.botocore.version}"
$out/bin/aws --version | grep "${python3Packages.botocore.version}"
$out/bin/aws --version | grep "${version}"
runHook postInstallCheck
'';
passthru = {
python = python3; # for aws_shell
python = python3Packages.python; # for aws_shell
updateScript = nix-update-script {
extraArgs = [ "--version=skip" ];
};
+6
View File
@@ -57,6 +57,12 @@ stdenv.mkDerivation rec {
"--with-asl-lib=-lipoptamplinterface -lamplsolver"
];
# FIXME: ugly hack for https://github.com/NixOS/nixpkgs/pull/389009
postConfigure = ''
substituteInPlace libtool \
--replace 'for search_ext in .la $std_shrext .so .a' 'for search_ext in $std_shrext .so .a'
'';
# Fix doc install. Should not be necessary after next release
# ref https://github.com/coin-or/Bonmin/commit/4f665bc9e489a73cb867472be9aea518976ecd28
sourceRoot = "${src.name}/Bonmin";
+5 -2
View File
@@ -10,7 +10,9 @@
, curl
, jq
, common-updater-scripts
, cctools
, darwin
, rcodesign
}:
stdenvNoCC.mkDerivation rec {
@@ -43,8 +45,9 @@ stdenvNoCC.mkDerivation rec {
postPhases = [ "postPatchelf"];
postPatchelf =
lib.optionalString stdenvNoCC.hostPlatform.isDarwin ''
wrapProgram $out/bin/bun \
--prefix DYLD_LIBRARY_PATH : ${lib.makeLibraryPath [ darwin.ICU ]}
'${lib.getExe' cctools "${cctools.targetPrefix}install_name_tool"}' $out/bin/bun \
-change /usr/lib/libicucore.A.dylib '${lib.getLib darwin.ICU}/lib/libicucore.A.dylib'
'${lib.getExe rcodesign}' sign --code-signature-flags linker-signed $out/bin/bun
''
# We currently cannot generate completions for x86_64-darwin because bun requires avx support to run, which is:
# 1. Not currently supported by the version of Rosetta on our aarch64 builders
+2 -2
View File
@@ -19,7 +19,7 @@
libmusicbrainz5,
withTaglib ? true,
taglib,
taglib_1,
taglib_extras,
withHttpStream ? true,
withReplaygain ? true,
@@ -139,7 +139,7 @@ let
];
enable = withTaglib;
pkgs = [
taglib
taglib_1
taglib_extras
];
}
+2 -2
View File
@@ -9,12 +9,12 @@
stdenv.mkDerivation rec {
pname = "checkpolicy";
version = "3.7";
version = "3.8";
inherit (libsepol) se_url;
src = fetchurl {
url = "${se_url}/${version}/checkpolicy-${version}.tar.gz";
sha256 = "sha256-/T4ZJUd9SZRtERaThmGvRMH4bw1oFGb9nwLqoGACoH8=";
sha256 = "sha256-ZforqKJR1tQvAwZGcU5eLegHrhbgIx3isDuUCq2636U=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -53,14 +53,14 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "curl";
version = "8.12.0";
version = "8.12.1";
src = fetchurl {
urls = [
"https://curl.haxx.se/download/curl-${finalAttrs.version}.tar.xz"
"https://github.com/curl/curl/releases/download/curl-${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}/curl-${finalAttrs.version}.tar.xz"
];
hash = "sha256-mkYox2S+axqZCVZ8E+jncQQWCd9DshWPysTgXqcJfl0=";
hash = "sha256-A0Hx7ZeibIEauuvTfWK4M5VnkrdgfqPxXQAWE8dt4gI=";
};
# this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "double-conversion";
version = "3.3.0";
version = "3.3.1";
src = fetchFromGitHub {
owner = "google";
repo = "double-conversion";
rev = "v${version}";
sha256 = "sha256-DkMoHHoHwV4p40IINEqEPzKsCa0LHrJAFw2Yftw7zHo=";
sha256 = "sha256-M80H+azCzQYa4/gBLWv5GNNhEuHsH7LbJ/ajwmACnrM=";
};
nativeBuildInputs = [ cmake ];
+2 -2
View File
@@ -8,7 +8,7 @@
glib,
libid3tag,
id3lib,
taglib,
taglib_1,
libvorbis,
libogg,
opusfile,
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
glib
libid3tag
id3lib
taglib
taglib_1
libvorbis
libogg
opusfile
+7
View File
@@ -41,6 +41,13 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
autoreconfHook
];
# FIXME: ugly hack for https://github.com/NixOS/nixpkgs/pull/389009
postConfigure = ''
substituteInPlace libtool \
--replace 'for search_ext in .la $std_shrext .so .a' 'for search_ext in $std_shrext .so .a'
'';
doCheck = true;
meta = with lib; {
description = "Elliptic curve tools";
+6
View File
@@ -106,6 +106,12 @@ stdenv.mkDerivation rec {
substituteInPlace src/global.cc --replace 'browser="mozilla"' 'browser="xdg-open"'
'';
# FIXME: ugly hack for https://github.com/NixOS/nixpkgs/pull/389009
postConfigure = ''
substituteInPlace libtool \
--replace 'for search_ext in .la $std_shrext .so .a' 'for search_ext in $std_shrext .so .a'
'';
nativeBuildInputs = [
autoreconfHook
texliveSmall
+6
View File
@@ -159,6 +159,12 @@ stdenv.mkDerivation rec {
"--localstatedir=/var"
];
# FIXME: ugly hack for https://github.com/NixOS/nixpkgs/pull/389009
postConfigure = ''
substituteInPlace libtool \
--replace 'for search_ext in .la $std_shrext .so .a' 'for search_ext in $std_shrext .so .a'
'';
nativeBuildInputs = [
autoconf
automake
+11 -6
View File
@@ -12,26 +12,31 @@
stdenv.mkDerivation rec {
pname = "gnupg-pkcs11-scd";
version = "0.10.0";
version = "0.11.0";
src = fetchurl {
url = "https://github.com/alonbl/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-Kb8p53gPkhxtOhH2COKwSDwbtRDFr6hHMJAkndV8Ukk=";
url = "https://github.com/alonbl/gnupg-pkcs11-scd/releases/download/gnupg-pkcs11-scd-${version}/gnupg-pkcs11-scd-${version}.tar.bz2";
hash = "sha256-lUeH5WLys9kpQhLDLdDYGizTesolDmaFAC0ok7uVkIc=";
};
nativeBuildInputs = [ pkg-config ];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
libassuan
libgcrypt
libgpg-error
pkcs11helper
openssl
];
configureFlags = [
"--with-libgpg-error-prefix=${libgpg-error.dev}"
"--with-libassuan-prefix=${libassuan.dev}"
"--with-libgcrypt-prefix=${libgcrypt.dev}"
];
meta = with lib; {
changelog = "https://github.com/alonbl/gnupg-pkcs11-scd/blob/gnupg-pkcs11-scd-${version}/ChangeLog";
description = "Smart-card daemon to enable the use of PKCS#11 tokens with GnuPG";
mainProgram = "gnupg-pkcs11-scd";
longDescription = ''
+8 -4
View File
@@ -4,7 +4,7 @@
fetchurl,
intltool,
pkg-config,
gtk2,
gtk3,
gpgme,
libgpg-error,
libassuan,
@@ -12,25 +12,29 @@
stdenv.mkDerivation rec {
pname = "gpa";
version = "0.10.0";
version = "0.11.0";
src = fetchurl {
url = "mirror://gnupg/gpa/gpa-${version}.tar.bz2";
sha256 = "1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm";
hash = "sha256-Jqj6W/cFQct0Hwxxt8/ikbHqVuq2jusHqpYs71zfM8w=";
};
nativeBuildInputs = [
intltool
pkg-config
];
buildInputs = [
gtk2
gtk3
gpgme
libgpg-error
libassuan
];
env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
meta = with lib; {
changelog = "https://dev.gnupg.org/source/gpa/browse/master/NEWS;gpa-${version}?view=raw";
description = "Graphical user interface for the GnuPG";
homepage = "https://www.gnupg.org/related_software/gpa/";
license = licenses.gpl3Plus;
+3 -2
View File
@@ -1,12 +1,13 @@
{
lib,
buildGoModule,
# broken with go 1.24 for some reason
buildGo123Module,
fetchFromGitHub,
gitMinimal,
installShellFiles,
}:
buildGoModule rec {
buildGo123Module rec {
pname = "ko";
version = "0.15.4";
+22 -39
View File
@@ -15,10 +15,6 @@
}:
let
# ld64 uses `#embed` to embed `compile_stubs`, which is only implemented in Clang 19.
# This can be done unconditionally once the bootstrap tools have been updated.
hasEmbed = lib.versionAtLeast (lib.getVersion stdenv.cc) "19";
# Copy the files from their original sources instead of using patches to reduce the size of the patch set in nixpkgs.
otherSrcs = {
# The last version of ld64 to have dyldinfo
@@ -55,31 +51,28 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-CVIyL2J9ISZnI4+r+wp4QtOb3+3Tmz2z2Z7/qeRqHS0=";
};
patches =
[
# These patches are vendored from https://github.com/reckenrode/ld64/tree/ld64-951.9-nixpkgs.
# See their comments for more on what they do.
./patches/0001-Always-use-write-instead-of-mmap.patch
./patches/0003-Inline-missing-definitions-instead-of-using-private-.patch
./patches/0004-Removed-unused-Blob-clone-method.patch
./patches/0005-Use-std-atomics-and-std-mutex-for-portability.patch
./patches/0006-Add-Meson-build-system.patch
./patches/0007-Add-CrashReporterClient-header.patch
./patches/0008-Provide-mach-compatibility-headers-based-on-LLVM-s-h.patch
./patches/0009-Support-LTO-in-nixpkgs.patch
./patches/0010-Add-vendored-libtapi-to-the-ld64-build.patch
./patches/0011-Modify-vendored-libtapi-to-build-with-upstream-LLVM.patch
./patches/0012-Move-libcodedirectory-to-its-own-subproject.patch
./patches/0013-Set-the-version-string-in-the-build.patch
./patches/0014-Replace-corecrypto-and-CommonCrypto-with-OpenSSL.patch
./patches/0015-Add-libcd_is_blob_a_linker_signature-implementation.patch
./patches/0016-Add-dyldinfo-to-the-ld64-build.patch
./patches/0017-Fix-dyldinfo-build.patch
./patches/0018-Use-STL-containers-instead-of-LLVM-containers.patch
]
++ lib.optionals (hasEmbed) [
./patches/0002-Add-compile_stubs.h-using-Clang-s-embed-extension-fo.patch
];
patches = [
# These patches are vendored from https://github.com/reckenrode/ld64/tree/ld64-951.9-nixpkgs.
# See their comments for more on what they do.
./patches/0001-Always-use-write-instead-of-mmap.patch
./patches/0002-Add-compile_stubs.h-using-Clang-s-embed-extension-fo.patch
./patches/0003-Inline-missing-definitions-instead-of-using-private-.patch
./patches/0004-Removed-unused-Blob-clone-method.patch
./patches/0005-Use-std-atomics-and-std-mutex-for-portability.patch
./patches/0006-Add-Meson-build-system.patch
./patches/0007-Add-CrashReporterClient-header.patch
./patches/0008-Provide-mach-compatibility-headers-based-on-LLVM-s-h.patch
./patches/0009-Support-LTO-in-nixpkgs.patch
./patches/0010-Add-vendored-libtapi-to-the-ld64-build.patch
./patches/0011-Modify-vendored-libtapi-to-build-with-upstream-LLVM.patch
./patches/0012-Move-libcodedirectory-to-its-own-subproject.patch
./patches/0013-Set-the-version-string-in-the-build.patch
./patches/0014-Replace-corecrypto-and-CommonCrypto-with-OpenSSL.patch
./patches/0015-Add-libcd_is_blob_a_linker_signature-implementation.patch
./patches/0016-Add-dyldinfo-to-the-ld64-build.patch
./patches/0017-Fix-dyldinfo-build.patch
./patches/0018-Use-STL-containers-instead-of-LLVM-containers.patch
];
prePatch = ''
# Copy dyldinfo source files
@@ -106,16 +99,6 @@ stdenv.mkDerivation (finalAttrs: {
done
'';
# Clang 16 doesnt support C23, but the patchset expects a compiler that supports it. Only `#embed` is used, so stub
# out its usage and request an older C standard version. This can be dropped once the bootstrap tools are updated.
postPatch = lib.optionalString (!hasEmbed) ''
for meson_build in meson.build subprojects/libcodedirectory/meson.build subprojects/libtapi/meson.build; do
substituteInPlace $meson_build --replace-fail c23 c2x
done
echo '#pragma once' > src/ld/compile_stubs.h
echo 'static const char compile_stubs[] = "";' >> src/ld/compile_stubs.h
'';
xcodeHash = "sha256-qip/1eiGn8PdLThonhPq3oq2veN4E1zOiamDPBfTeNE=";
xcodeProject = "ld64.xcodeproj";
+6 -6
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "libassuan";
version = "2.5.7";
version = "3.0.2";
src = fetchurl {
url = "mirror://gnupg/${pname}/${pname}-${version}.tar.bz2";
sha256 = "sha256-AQMIH/wng4ouUEeRU8oQXoc9PWXYqVkygunJTH5q+3Y=";
url = "mirror://gnupg/libassuan/libassuan-${version}.tar.bz2";
hash = "sha256-0pMc2tJm5jNRD5lw4aLzRgVeNRuxn5t4kSR1uAdMNvY=";
};
outputs = [
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
ignoredVersions = ".*-base";
};
meta = with lib; {
meta = {
description = "IPC library used by GnuPG and related software";
mainProgram = "libassuan-config";
longDescription = ''
@@ -60,8 +60,8 @@ stdenv.mkDerivation rec {
'';
homepage = "https://gnupg.org/software/libassuan/";
changelog = "https://dev.gnupg.org/source/libassuan/browse/master/NEWS;libassuan-${version}";
license = licenses.lgpl2Plus;
platforms = platforms.all;
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.all;
maintainers = [ ];
};
}
@@ -12,11 +12,14 @@
makeWrapper,
removeReferencesTo,
replaceVars,
go,
go_1_23,
applyPatches,
nvidia-modprobe,
}:
let
# https://github.com/NVIDIA/libnvidia-container/pull/297
go = go_1_23;
modprobeVersion = "550.54.14";
patchedModprobe = applyPatches {
src = nvidia-modprobe.src.override {
+4 -12
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchurl,
fetchpatch,
buildPackages,
pcre2,
pkg-config,
@@ -19,7 +18,7 @@ assert enablePython -> swig != null && python3 != null;
stdenv.mkDerivation (
rec {
pname = "libselinux";
version = "3.7";
version = "3.8";
inherit (libsepol) se_url;
outputs = [
@@ -31,7 +30,7 @@ stdenv.mkDerivation (
src = fetchurl {
url = "${se_url}/${version}/libselinux-${version}.tar.gz";
hash = "sha256-6gP0LROk+VdXmX26jPCyYyH6xdLxZEGLTMhWqS0rF70=";
hash = "sha256-DDdWvKBHyScCgdfE3N7NAAty44oYPJMGYeupaQg5tUE=";
};
patches = [
@@ -45,8 +44,8 @@ stdenv.mkDerivation (
# This is a static email, so we shouldn't have to worry about
# normalizing the patch.
(fetchurl {
url = "https://lore.kernel.org/selinux/20211113141616.361640-1-hi@alyssa.is/raw";
hash = "sha256-dqxiupaJK4o00YERGWGIEIhM7sPelxBFQomAFKXQQpk=";
url = "https://lore.kernel.org/selinux/20250211211651.1297357-3-hi@alyssa.is/raw";
hash = "sha256-a0wTSItj5vs8GhIkfD1OPSjGmAJlK1orptSE7T3Hx20=";
postFetch = ''
mv "$out" $TMPDIR/patch
${buildPackages.patchutils_0_3_3}/bin/filterdiff \
@@ -58,13 +57,6 @@ stdenv.mkDerivation (
url = "https://git.yoctoproject.org/meta-selinux/plain/recipes-security/selinux/libselinux/0003-libselinux-restore-drop-the-obsolete-LSF-transitiona.patch?id=62b9c816a5000dc01b28e78213bde26b58cbca9d";
hash = "sha256-RiEUibLVzfiRU6N/J187Cs1iPAih87gCZrlyRVI2abU=";
})
# libselinux: fix swig bindings for 4.3.0
(fetchpatch {
url = "https://github.com/SELinuxProject/selinux/commit/8e0e718bae53fff30831b92cd784151d475a20da.patch";
stripLen = 1;
hash = "sha256-8Nd6ketQ7/r5W0sRdheqyGWHJRZ1RfGC4ehTqnHau04=";
})
];
nativeBuildInputs =
+2 -2
View File
@@ -7,7 +7,7 @@
ffmpeg,
libebur128,
libresample,
taglib,
taglib_1,
zlib,
}:
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
ffmpeg
libebur128
libresample
taglib
taglib_1
zlib
];
+2 -2
View File
@@ -11,7 +11,7 @@
stdenv.mkDerivation rec {
pname = "lzip";
version = "1.24.1";
version = "1.25";
outputs = [
"out"
"man"
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://savannah/lzip/${pname}-${version}.tar.gz";
hash = "sha256-MMnLagYF9HnElsN262KaSLChaW0WfjweCQxd76SBsWI=";
hash = "sha256-CUGKbY+4P1ET9b2FbglwPfXTe64DCMZo0PNG49PwpW8=";
};
patches = lib.optionals stdenv.hostPlatform.isMinGW [
@@ -1,30 +0,0 @@
diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py
index d99dc3abf..6b8f75165 100644
--- a/mesonbuild/compilers/mixins/clang.py
+++ b/mesonbuild/compilers/mixins/clang.py
@@ -54,11 +54,7 @@ class ClangCompiler(GnuLikeCompiler):
{OptionKey('b_colorout'), OptionKey('b_lto_threads'), OptionKey('b_lto_mode'), OptionKey('b_thinlto_cache'),
OptionKey('b_thinlto_cache_dir')})
- # TODO: this really should be part of the linker base_options, but
- # linkers don't have base_options.
- if isinstance(self.linker, AppleDynamicLinker):
- self.base_options.add(OptionKey('b_bitcode'))
- elif isinstance(self.linker, MSVCDynamicLinker):
+ if isinstance(self.linker, MSVCDynamicLinker):
self.base_options.add(OptionKey('b_vscrt'))
# All Clang backends can also do LLVM IR
self.can_compile_suffixes.add('ll')
diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py
index 4eec82edd..6db5c6af0 100644
--- a/mesonbuild/linkers/linkers.py
+++ b/mesonbuild/linkers/linkers.py
@@ -796,7 +796,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
return self._apply_prefix('-headerpad_max_install_names')
def bitcode_args(self) -> T.List[str]:
- return self._apply_prefix('-bitcode_bundle')
+ raise MesonException('Nixpkgs cctools does not support bitcode bundles')
def fatal_warnings(self) -> T.List[str]:
return self._apply_prefix('-fatal_warnings')
-29
View File
@@ -4,11 +4,8 @@
fetchFromGitHub,
installShellFiles,
coreutils,
darwin,
libblocksruntime,
llvmPackages,
libxcrypt,
openldap,
ninja,
pkg-config,
python3,
@@ -16,16 +13,6 @@
zlib,
}:
let
inherit (darwin.apple_sdk.frameworks)
AppKit
Cocoa
Foundation
LDAP
OpenAL
OpenGL
;
in
python3.pkgs.buildPythonApplication rec {
pname = "meson";
version = "1.7.0";
@@ -75,17 +62,10 @@ python3.pkgs.buildPythonApplication rec {
# https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
./005-boost-Do-not-add-system-paths-on-nix.patch
# Nixpkgs cctools does not have bitcode support.
./006-disable-bitcode.patch
# This edge case is explicitly part of meson but is wrong for nix
./007-freebsd-pkgconfig-path.patch
];
buildInputs = lib.optionals (python3.pythonOlder "3.9") [
libxcrypt
];
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [
@@ -97,15 +77,6 @@ python3.pkgs.buildPythonApplication rec {
[
zlib
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
AppKit
Cocoa
Foundation
LDAP
OpenAL
OpenGL
openldap
]
++ lib.optionals (stdenv.cc.isClang && !stdenv.hostPlatform.isDarwin) [
# https://github.com/mesonbuild/meson/blob/bd3f1b2e0e70ef16dfa4f441686003212440a09b/test%20cases/common/184%20openmp/meson.build
llvmPackages.openmp
+5 -5
View File
@@ -4,18 +4,18 @@
fetchFromGitHub,
}:
buildGoModule rec {
buildGoModule {
pname = "nilaway";
version = "0-unstable-2024-10-10";
version = "0-unstable-2025-03-07";
src = fetchFromGitHub {
owner = "uber-go";
repo = "nilaway";
rev = "ba14292918d814eeaea4de62da2ad0daae92f8b0";
hash = "sha256-HAfuhGxmnMJvkz2vxBZ5kWsgSIw5KKlZp36HCLfCRxo=";
rev = "19305c7c699bd0d370acd26d6769df1d7af8fb29";
hash = "sha256-99L9dF76vZbh1NdXtKu5Bcnnca94Roybm3q18SDmZAk=";
};
vendorHash = "sha256-5qaEvQoK5S0svqzFAbJb8wy8yApyRpz4QE8sOhcjdaA=";
vendorHash = "sha256-pthCLpy5pISKwdmeaJxPq8BxJLUwLwS2/hGMBt6/O4I=";
subPackages = [ "cmd/nilaway" ];
excludedPackages = [ "tools" ];
@@ -0,0 +1,13 @@
diff --git a/pkg/apis/options/load_test.go b/pkg/apis/options/load_test.go
index 32d52fb8..ef343fd1 100644
--- a/pkg/apis/options/load_test.go
+++ b/pkg/apis/options/load_test.go
@@ -470,7 +470,7 @@ func(in loadYAMLTableInput) {
configFile: []byte(`stringSliceOption: "a"`),
input: &TestOptions{},
expectedOutput: &TestOptions{},
- expectedErr: errors.New("error unmarshalling config: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go struct field TestOptions.StringSliceOption of type []string"),
+ expectedErr: errors.New("error unmarshalling config: error unmarshaling JSON: while decoding JSON: json: cannot unmarshal string into Go struct field TestOptions.TestOptionSubStruct.StringSliceOption of type []string"),
}),
Entry("with a config file containing environment variable references", loadYAMLTableInput{
configFile: []byte("stringOption: ${TESTUSER}"),
+4
View File
@@ -15,6 +15,10 @@ buildGoModule rec {
rev = "v${version}";
};
patches = [
./fix-tests-go-1.24.diff
];
vendorHash = "sha256-t/SJjh9bcsIevr3S0ysDlvtaIGzkks+qvfXF5/SEidE=";
# Taken from https://github.com/oauth2-proxy/oauth2-proxy/blob/master/Makefile
+2 -6
View File
@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "openh264";
version = "2.5.0";
version = "2.6.0";
src = fetchFromGitHub {
owner = "cisco";
repo = "openh264";
rev = "v${finalAttrs.version}";
hash = "sha256-K8p94P4XO6bUWCJuT6jR5Kmz3lamNDyclGWgsV6Lf9I=";
hash = "sha256-tf0lnxATCkoq+xRti6gK6J47HwioAYWnpEsLGSA5Xdg=";
};
outputs = [
@@ -26,10 +26,6 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
];
postPatch = ''
substituteInPlace meson.build --replace-fail "'-Werror'," ""
'';
nativeBuildInputs = [
meson
nasm
+11 -2
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
buildNpmPackage,
nodejs_20,
nixosTests,
@@ -35,6 +36,14 @@ let
hash = "sha256-p3eUEb/ZPK11NbqE4LU+3TE1Xny9sjfYvVVmABkoAEQ=";
};
patches = [
# Fix frontend tests in March (yes, it's date dependent)
(fetchpatch {
url = "https://github.com/paperless-ngx/paperless-ngx/commit/bc90ccc5551f184a683128def772652ad74c65e3.patch";
hash = "sha256-KArPyKZLi5LfaTDTY3DxA3cdQYYadpQo052Xk9eH14c=";
})
];
# subpath installation is broken with uvicorn >= 0.26
# https://github.com/NixOS/nixpkgs/issues/298719
# https://github.com/paperless-ngx/paperless-ngx/issues/5494
@@ -78,7 +87,7 @@ let
frontend = buildNpmPackage {
pname = "paperless-ngx-frontend";
inherit version src;
inherit version src patches;
nodejs = nodejs_20; # does not build with 22
@@ -134,7 +143,7 @@ python.pkgs.buildPythonApplication rec {
pname = "paperless-ngx";
pyproject = false;
inherit version src;
inherit version src patches;
postPatch = ''
# pytest-xdist with to many threads makes the tests flaky
+2 -2
View File
@@ -11,12 +11,12 @@
stdenv.mkDerivation rec {
pname = "policycoreutils";
version = "3.7";
version = "3.8";
inherit (libsepol) se_url;
src = fetchurl {
url = "${se_url}/${version}/policycoreutils-${version}.tar.gz";
hash = "sha256-WP5OSB7ftEVsEUklRC4ROJ3xc5SSWs26PeIRFFzl6pg=";
hash = "sha256-LEMLhmKq+zp1clHp2NYuyqvBwkvisqasbofT+giwTiI=";
};
postPatch = ''
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation {
pname = "publicsuffix-list";
version = "0-unstable-2025-01-16";
version = "0-unstable-2025-02-12";
src = fetchFromGitHub {
owner = "publicsuffix";
repo = "list";
rev = "4f2d3b20034a6c7a0ad4400716f1e0f752e2c737";
hash = "sha256-1U+CS5ER4b/mI9Ox2gJQfEOVeDHBt1C3UbG5sDAs8Mk=";
rev = "560007a8aea8267f15cad9abcdbcff7848186bd8";
hash = "sha256-/5O0ac0mJZzOgy8h1NE0dTt0jzAEkymBbh5hJmc1+qk=";
};
dontBuild = true;
+4 -4
View File
@@ -7,13 +7,13 @@
}:
let
version = "1.1.392";
version = "1.1.394";
src = fetchFromGitHub {
owner = "Microsoft";
repo = "pyright";
tag = version;
hash = "sha256-/Js9w6wxoJLqJxcRkpdwk2i9bR7jw/dtGkUvwxkv/qA=";
hash = "sha256-zOJtv9ETolo3XmH+ztNJEmX319rV/CABDIw2crSxqqw=";
};
patchedPackageJSON = runCommand "package.json" { } ''
@@ -44,7 +44,7 @@ let
pname = "pyright-internal";
inherit version src;
sourceRoot = "${src.name}/packages/pyright-internal";
npmDepsHash = "sha256-xGEX6Dvhhch0PWjO+LDQqTH3IRRfVbQPMXUjbL/KYpE=";
npmDepsHash = "sha256-RE1ZwMKgWu686/ejMB0E1CRix8MLv6lNoEkyAkvOC6U=";
dontNpmBuild = true;
installPhase = ''
runHook preInstall
@@ -58,7 +58,7 @@ buildNpmPackage rec {
inherit version src;
sourceRoot = "${src.name}/packages/pyright";
npmDepsHash = "sha256-TK05a3Ys3Q8s/2c2HOjh1EdnL1jFttjdApggeZLQUzw=";
npmDepsHash = "sha256-sQeHXfhm6u0at4vhFjGPwMmTdDomU6cJnolOFO6ynXA=";
postPatch = ''
chmod +w ../../
@@ -13,13 +13,13 @@ let
arch = if stdenv.system == "x86_64-linux" then "x86_64" else "i386";
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "samsung-unified-linux-driver";
version = "1.00.36";
src = fetchurl {
sha256 = "1a7ngd03x0bkdl7pszy5zqqic0plxvdxqm5w7klr6hbdskx1lir9";
url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${version}.tar.gz";
url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${finalAttrs.version}.tar.gz";
};
buildInputs = [
@@ -112,16 +112,16 @@ stdenv.mkDerivation rec {
# we did this in prefixup already
dontPatchELF = true;
meta = with lib; {
meta = {
description = "Unified Linux Driver for Samsung printers and scanners";
homepage = "http://www.bchemnet.com/suldr";
downloadPage = "http://www.bchemnet.com/suldr/driver/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
# Tested on linux-x86_64. Might work on linux-i386.
# Probably won't work on anything else.
platforms = platforms.linux;
platforms = lib.platforms.linux;
maintainers = [ ];
};
}
})
+2 -2
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "socat";
version = "1.8.0.2";
version = "1.8.0.3";
src = fetchurl {
url = "http://www.dest-unreach.org/socat/download/${pname}-${version}.tar.bz2";
hash = "sha256-rcB6nCcjUnz2Vo0vuWVZeUz5wlSkvC7dNvfzeJ6fdiU=";
hash = "sha256-AesBc2HZW7OmlB6EC1nkRjo/q/kt9BVO0CsWou1qAJU=";
};
postPatch = ''
+4 -6
View File
@@ -6,19 +6,17 @@
python3.pkgs.buildPythonApplication rec {
pname = "sphinxygen";
version = "1.0.4";
version = "1.0.10";
pyproject = true;
src = fetchFromGitLab {
owner = "drobilla";
repo = "sphinxygen";
rev = "v${version}";
hash = "sha256-TIACg89E/BaMwPgFqj6JUncq7BI5xQ9jUDe4nQ9YiI4=";
tag = "v${version}";
hash = "sha256-Xii5pDa1eHrHUKERC2gDif/NIkpab/IZYBRvMq9YKtE=";
};
build-system = with python3.pkgs; [
setuptools
];
build-system = with python3.pkgs; [ setuptools ];
pythonImportsCheck = [ "sphinxygen" ];
+7 -7
View File
@@ -3,33 +3,33 @@
stdenv,
fetchFromGitHub,
cmake,
utf8cpp,
zlib,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "taglib";
version = "1.13.1";
version = "2.0.2";
src = fetchFromGitHub {
owner = "taglib";
repo = "taglib";
rev = "v${finalAttrs.version}";
hash = "sha256-QX0EpHGT36UsgIfRf5iALnwxe0jjLpZvCTbk8vSMFF4=";
hash = "sha256-3cJwCo2nUSRYkk8H8dzyg7UswNPhjfhyQ704Fn9yNV8=";
};
strictDeps = true;
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
buildInputs = [
zlib
utf8cpp
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
# Workaround unconditional ${prefix} until upstream is fixed:
# https://github.com/taglib/taglib/issues/1098
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
(lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include")
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
+58
View File
@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
zlib,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "taglib";
version = "1.13.1";
src = fetchFromGitHub {
owner = "taglib";
repo = "taglib";
rev = "v${finalAttrs.version}";
hash = "sha256-QX0EpHGT36UsgIfRf5iALnwxe0jjLpZvCTbk8vSMFF4=";
};
strictDeps = true;
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
# Workaround unconditional ${prefix} until upstream is fixed:
# https://github.com/taglib/taglib/issues/1098
(lib.cmakeFeature "CMAKE_INSTALL_LIBDIR" "lib")
(lib.cmakeFeature "CMAKE_INSTALL_INCLUDEDIR" "include")
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
homepage = "https://taglib.org/";
description = "Library for reading and editing audio file metadata";
mainProgram = "taglib-config";
longDescription = ''
TagLib is a library for reading and editing the meta-data of several
popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3
files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC,
Speex, WavPack, TrueAudio, WAV, AIFF, MP4 and ASF files.
'';
license = with lib.licenses; [
lgpl21Only
mpl11
];
maintainers = with lib.maintainers; [ ttuegel ];
pkgConfigModules = [
"taglib"
"taglib_c"
];
platforms = lib.platforms.all;
};
})
+11 -1
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
fetchpatch,
cmake,
taglib,
zlib,
@@ -11,9 +12,18 @@ stdenv.mkDerivation rec {
pname = "taglib-extras";
version = "1.0.1";
src = fetchurl {
url = "https://ftp.rz.uni-wuerzburg.de/pub/unix/kde/taglib-extras/${version}/src/${pname}-${version}.tar.gz";
url = "https://download.kde.org/stable/taglib-extras/${version}/src/taglib-extras-${version}.tar.gz";
sha256 = "0cln49ws9svvvals5fzxjxlzqm0fzjfymn7yfp4jfcjz655nnm7y";
};
patches = [
(fetchurl {
name = "2001-taglib-extras-Fix-taglib-2.x-compat.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/taglib-2.0.diff?h=taglib-extras&id=5826657b841b138c501e0633d1c9333fe9197b00";
hash = "sha256-yhme2KcIS5SPXz+mx/R2OiLV57WHz6WW8LJtYab4h5I=";
})
];
buildInputs = [ taglib ];
nativeBuildInputs = [
cmake
+6
View File
@@ -49,6 +49,12 @@ buildGoModule {
url = "https://github.com/tailscale/tailscale/commit/325ca13c4549c1af58273330744d160602218af9.patch";
hash = "sha256-SMwqZiGNVflhPShlHP+7Gmn0v4b6Gr4VZGIF/oJAY8M=";
})
# Fix build with Go 1.24
(fetchpatch {
url = "https://github.com/tailscale/tailscale/commit/836c01258de01a38fdd267957eeedab7faf0f4f2.patch";
includes = ["cmd/testwrapper/*" "cmd/tsconnect/*"];
hash = "sha256-e+IQB2nlJmJCzCTbASiqX2sXKmwVNXb+d87DdwTdJ+I=";
})
];
vendorHash = "sha256-81UOjoC5GJqhNs4vWcQ2/B9FMaDWtl0rbuFXmxbu5dI=";
+5 -5
View File
@@ -4,18 +4,18 @@
fetchFromGitHub,
}:
buildGoModule rec {
buildGoModule {
pname = "unparam";
version = "0-unstable-2024-05-28";
version = "0-unstable-2025-03-01";
src = fetchFromGitHub {
owner = "mvdan";
repo = "unparam";
rev = "8a5130ca722ffad18c95cc467b561f1668b9b0d2";
hash = "sha256-CYCXTriGUd4bNY6ZPfkX4puE1imcqYHnX1SXVdnXPGM=";
rev = "0df0534333a487d07b143c1b2c2e0046671d2d63";
hash = "sha256-k/BgHvjB3fXz4CWTHRFja/EiGlof/c80jhRb91FaINs=";
};
vendorHash = "sha256-2lNC4V1WQkJdkagIlBu6tj4SA4KJKstHXc+B4emKu6s=";
vendorHash = "sha256-Q7q0NZgofxChaSpYL5dS4NDadwfrXlLtkG/F7tGJuhA=";
subPackages = [ "." ];
+2 -2
View File
@@ -81,7 +81,7 @@
srt,
stdenv,
systemd,
taglib,
taglib_1,
unzip,
wayland,
wayland-protocols,
@@ -194,7 +194,7 @@ stdenv.mkDerivation (finalAttrs: {
speex
srt
systemd
taglib
taglib_1
xcbutilkeysyms
wayland-scanner # only required for configure script
zlib
+27 -17
View File
@@ -1,20 +1,21 @@
{ stdenv
, lib
, fetchFromGitLab
, nasm
, enableShared ? !stdenv.hostPlatform.isStatic
{
stdenv,
lib,
fetchFromGitLab,
nasm,
enableShared ? !stdenv.hostPlatform.isStatic,
}:
stdenv.mkDerivation rec {
pname = "x264";
version = "0-unstable-2023-10-01";
version = "0-unstable-2025-01-03";
src = fetchFromGitLab {
domain = "code.videolan.org";
owner = "videolan";
repo = pname;
rev = "31e19f92f00c7003fa115047ce50978bc98c3a0d";
hash = "sha256-7/FaaDFmoVhg82BIhP3RbFq4iKGNnhviOPxl3/8PWCM=";
rev = "373697b467f7cd0af88f1e9e32d4f10540df4687";
hash = "sha256-WWtS/UfKA4i1yakHErUnyT/3/+Wy2H5F0U0CmxW4ick=";
};
patches = [
@@ -29,18 +30,27 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
outputs = [ "out" "lib" "dev" ];
outputs = [
"out"
"lib"
"dev"
];
preConfigure = lib.optionalString stdenv.hostPlatform.isx86 ''
# `AS' is set to the binutils assembler, but we need nasm
unset AS
'' + lib.optionalString stdenv.hostPlatform.isAarch ''
export AS=$CC
'';
preConfigure =
lib.optionalString stdenv.hostPlatform.isx86 ''
# `AS' is set to the binutils assembler, but we need nasm
unset AS
''
+ lib.optionalString stdenv.hostPlatform.isAarch ''
export AS=$CC
'';
configureFlags = lib.optional enableShared "--enable-shared"
configureFlags =
lib.optional enableShared "--enable-shared"
++ lib.optional (!stdenv.hostPlatform.isi686) "--enable-pic"
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--cross-prefix=${stdenv.cc.targetPrefix}";
++ lib.optional (
stdenv.buildPlatform != stdenv.hostPlatform
) "--cross-prefix=${stdenv.cc.targetPrefix}";
makeFlags = [
"BASHCOMPLETIONSDIR=$(out)/share/bash-completion/completions"
+2 -11
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
pcre,
pkg-config,
@@ -21,23 +20,15 @@
stdenv.mkDerivation rec {
pname = "yara";
version = "4.5.0";
version = "4.5.2";
src = fetchFromGitHub {
owner = "VirusTotal";
repo = "yara";
tag = "v${version}";
hash = "sha256-AecHsUBtBleUkWuYMQ4Tx/PY8cs9j7JwqncBziJD0hA=";
hash = "sha256-ryRbLXnhC7nAxtlhr4bARxmNdtPhpvGKwlOiYPYPXOE=";
};
patches = [
(fetchpatch {
name = "LFS64.patch";
url = "https://github.com/VirusTotal/yara/commit/833a580430abe0fbc9bc17a21fb95bf36dacf367.patch";
hash = "sha256-EmwyDsxaNd9zfpAOu6ZB9kzg04qB7LAD7UJB3eAuKd8=";
})
];
nativeBuildInputs = [
autoreconfHook
pkg-config
@@ -12,7 +12,7 @@
ffmpeg_6,
libvlc,
qt6Packages,
taglib,
taglib_1,
SDL2,
gst_all_1,
}:
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
qt6Packages.qtmultimedia
ffmpeg_6
libvlc
taglib
taglib_1
SDL2
]
++ (with gst_all_1; [
@@ -11,7 +11,7 @@
deepin-pdfium,
qt5integration,
qt5platform-plugins,
taglib,
taglib_1,
ffmpeg,
ffmpegthumbnailer,
pcre,
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
deepin-pdfium
qt5integration
qt5platform-plugins
taglib
taglib_1
ffmpeg
ffmpegthumbnailer
pcre
@@ -2,6 +2,7 @@
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
nixosTests,
testers,
@@ -48,6 +49,14 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Fix compat with taglib 2.x
# Remove when version > 3.0.4
(fetchpatch {
name = "0001-lomiri-thumbnailer-Fix-taglib-2.x-compat.patch";
url = "https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/commit/b7f1055e36cd6e33314bb9f6648f93e977a33267.patch";
hash = "sha256-9RHtxqsgdMkgIyswaeL5yS6+o/YvzT+HgRD8KL/RfNM=";
})
# Remove when https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/merge_requests/23 merged & in release
./1001-doc-liblomiri-thumbnailer-qt-Honour-CMAKE_INSTALL_DO.patch
./1002-Re-enable-documentation.patch
@@ -52,6 +52,14 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://gitlab.com/ubports/development/core/mediascanner2/-/commit/1e65b32e32a0536b9e2f283ba563fa78b6ef6d61.patch";
hash = "sha256-Xhm5+/E/pP+mn+4enqdsor1oRqfYTzabg1ODVfIhra4=";
})
# Fix taglib 2.x compat
# Remove when version > 0.117
(fetchpatch {
name = "0002-mediascanner2-Fix-taglib-2.x-compat.patch";
url = "https://gitlab.com/ubports/development/core/mediascanner2/-/commit/0ce744ecb32abb39516d1b9f98d47c3e86690158.patch";
hash = "sha256-hz/EB83yNoxhxkEcg7ZMezknpKajhH1BNkYD3wrf/eY=";
})
];
postPatch = ''
+6
View File
@@ -46,6 +46,12 @@ stdenv.mkDerivation rec {
configureFlags = [ "--disable-update-mimedb" ];
# FIXME: ugly hack for https://github.com/NixOS/nixpkgs/pull/389009
postConfigure = ''
substituteInPlace libtool \
--replace 'for search_ext in .la $std_shrext .so .a' 'for search_ext in $std_shrext .so .a'
'';
enableParallelBuilding = true;
passthru.updateScript = mateUpdateScript { inherit pname; };
@@ -188,10 +188,10 @@ in
old: (addToBuildInputs [ pkgs.ncurses pkgs.stfl ] old) // (addToCscOptions "-L -lncurses" old);
taglib =
old:
(addToBuildInputs [ pkgs.zlib pkgs.taglib ] old)
(addToBuildInputs [ pkgs.zlib pkgs.taglib_1 ] old)
// (
# needed for tablib-config to be in PATH
addToNativeBuildInputs pkgs.taglib old
addToNativeBuildInputs pkgs.taglib_1 old
);
uuid-lib = addToBuildInputs pkgs.libuuid;
webview = addToBuildInputsWithPkgConfig pkgs.webkitgtk_4_0;
@@ -3,13 +3,16 @@
stdenv,
enableMultilib,
targetConfig,
withoutTargetLibc,
}:
let
forceLibgccToBuildCrtStuff = import ./libgcc-buildstuff.nix { inherit lib stdenv; };
isCross = with stdenv; targetPlatform.config != hostPlatform.config;
in
# We don't support multilib and cross at the same time
assert !(enableMultilib && isCross);
originalAttrs:
(stdenv.mkDerivation (
finalAttrs:
@@ -210,64 +213,94 @@ originalAttrs:
'';
preInstall =
# What follows is a horribly cursed hack.
#
# GCC will install its libraries to $out/lib, $out/lib32, $out/lib64,
# $out/$targetConfig/lib, $out/$targetConfig/lib32 or $out/$targetConfig/lib64,
# depending on whether it's built as native or cross, and the exact target spec.
#
# We can't predict what it's actually going to do, and we also can't just tell it
# to always install to lib, but we want everything to end up in lib
# for consistency (multilib weirdness aside).
#
# So, we create a bunch of symlinks before we run GCC's install phase,
# redirecting every possible directory it may want to write to to the place
# we actually want things to be installed.
# We will then nuke the symlinks in postInstall.
#
# FIXME: there must be a better way to do this.
''
mkdir -p "$out/''${targetConfig}/lib"
mkdir -p "''${!outputLib}/''${targetConfig}/lib"
declare -ga compatibilitySymlinks=()
makeCompatibilitySymlink() {
declare -a outputsToLink=("$out")
if [ -n "$lib" ]; then
outputsToLink+=("$lib")
fi
for output in "''${outputsToLink[@]}"; do
local linkTarget="$1"
local linkName="$output/$2"
echo "Creating compatibility symlink: $linkTarget -> $linkName"
mkdir -p "$(dirname "$linkName")"
ln -s "$linkTarget" "$linkName"
compatibilitySymlinks+=("$linkName")
done
}
''
+
# if cross-compiling, link from $lib/lib to $lib/${targetConfig}.
# since native-compiles have $lib/lib as a directory (not a
# symlink), this ensures that in every case we can assume that
# $lib/lib contains the .so files
lib.optionalString (with stdenv; targetPlatform.config != hostPlatform.config) ''
ln -Ts "''${!outputLib}/''${targetConfig}/lib" $lib/lib
# This will redirect $output/lib{32,64} to $output/lib.
# Multilib is special, because it creates $out/lib (for 32-bit)
# and $out/lib64 (for 64-bit). No other targets can have both.
lib.optionalString (!enableMultilib) ''
makeCompatibilitySymlink lib lib32
makeCompatibilitySymlink lib lib64
''
+
# Make `lib64` symlinks to `lib`.
lib.optionalString
(!enableMultilib && stdenv.hostPlatform.is64bit && !stdenv.hostPlatform.isMips64n32)
''
ln -s lib "$out/''${targetConfig}/lib64"
ln -s lib "''${!outputLib}/''${targetConfig}/lib64"
''
+
# On mips platforms, gcc follows the IRIX naming convention:
#
# $PREFIX/lib = mips32
# $PREFIX/lib32 = mips64n32
# $PREFIX/lib64 = mips64
#
# Make `lib32` symlinks to `lib`.
lib.optionalString (!enableMultilib && stdenv.targetPlatform.isMips64n32) ''
ln -s lib "$out/''${targetConfig}/lib32"
ln -s lib "''${!outputLib}/''${targetConfig}/lib32"
# This will redirect $output/$targetConfig/lib{,32,64} to $output/$targetConfig/lib.
lib.optionalString isCross ''
makeCompatibilitySymlink lib $targetConfig/lib32
makeCompatibilitySymlink lib $targetConfig/lib64
'';
postInstall = ''
# Move runtime libraries to lib output.
moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.so*" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.la" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dylib" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dll.a" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.dll" "''${!outputLib}"
# Clean up our compatibility symlinks (see above)
for link in "''${compatibilitySymlinks[@]}"; do
echo "Removing compatibility symlink: $link"
rm -f "$link"
done
# Move target runtime libraries to lib output.
# For non-cross, they're in $out/lib; for cross, they're in $out/$targetConfig/lib.
targetLibDir="''${targetConfig+$targetConfig/}lib"
moveToOutput "$targetLibDir/lib*.so*" "''${!outputLib}"
moveToOutput "$targetLibDir/lib*.la" "''${!outputLib}"
moveToOutput "$targetLibDir/lib*.dylib" "''${!outputLib}"
moveToOutput "$targetLibDir/lib*.dll.a" "''${!outputLib}"
moveToOutput "$targetLibDir/lib*.dll" "''${!outputLib}"
moveToOutput "share/gcc-*/python" "''${!outputLib}"
if [ -z "$enableShared" ]; then
moveToOutput "''${targetConfig+$targetConfig/}lib/lib*.a" "''${!outputLib}"
moveToOutput "$targetLibDir/lib*.a" "''${!outputLib}"
fi
for i in "''${!outputLib}/''${targetConfig}"/lib/*.{la,py}; do
for i in "''${!outputLib}"/$targetLibDir/*.{la,py}; do
substituteInPlace "$i" --replace "$out" "''${!outputLib}"
done
# Multilib and cross can't exist at the same time, so just use lib64 here
if [ -n "$enableMultilib" ]; then
moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.so*" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.la" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dylib" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dll.a" "''${!outputLib}"
moveToOutput "''${targetConfig+$targetConfig/}lib64/lib*.dll" "''${!outputLib}"
moveToOutput "lib64/lib*.so*" "''${!outputLib}"
moveToOutput "lib64/lib*.la" "''${!outputLib}"
moveToOutput "lib64/lib*.dylib" "''${!outputLib}"
moveToOutput "lib64/lib*.dll.a" "''${!outputLib}"
moveToOutput "lib64/lib*.dll" "''${!outputLib}"
for i in "''${!outputLib}/''${targetConfig}"/lib64/*.{la,py}; do
for i in "''${!outputLib}"/lib64/*.{la,py}; do
substituteInPlace "$i" --replace "$out" "''${!outputLib}"
done
fi
@@ -313,9 +346,15 @@ originalAttrs:
ln -sf "$man_prefix"gcc.1 "$i"
fi
done
''
# if cross-compiling, link from $lib/lib to $lib/${targetConfig}.
# since native-compiles have $lib/lib as a directory (not a
# symlink), this ensures that in every case we can assume that
# $lib/lib contains the .so files
+ lib.optionalString isCross ''
if [ -e "$lib/$targetConfig/lib" ]; then
ln -s "$lib/$targetConfig/lib" "$lib/lib"
fi
'';
}
// lib.optionalAttrs ((stdenv.targetPlatform.config != stdenv.hostPlatform.config) && withoutTargetLibc) {
dontCheckForBrokenSymlinks = true;
}
))
+1 -9
View File
@@ -391,13 +391,5 @@ pipe ((callFile ./common/builder.nix {}) ({
(callPackage ./common/libgcc.nix { inherit version langC langCC langJit targetPlatform hostPlatform withoutTargetLibc enableShared libcCross; })
] ++ optionals atLeast11 [
(callPackage ./common/checksum.nix { inherit langC langCC; })
]
# This symlink points to itself, and we disallow that now by noBrokenSymlinks (#370750)
# TODO: find how exactly this happens and solve it in a better way.
++ optional langJit (pkg: pkg.overrideAttrs (attrs: {
postInstall = attrs.postInstall or "" + ''
rm "$out/lib/lib"
'';
}))
)
])
+15 -4
View File
@@ -7,6 +7,9 @@
pkg-config,
openssl,
erlang,
nodejs,
bun,
deno,
Security,
nix-update-script,
SystemConfiguration,
@@ -14,24 +17,27 @@
rustPlatform.buildRustPackage rec {
pname = "gleam";
version = "1.8.1";
version = "1.9.1";
src = fetchFromGitHub {
owner = "gleam-lang";
repo = pname;
tag = "v${version}";
hash = "sha256-Qt2VQhbiNNORrGUR5LHeBb0q/EIqPNPz/adljj6xpS4=";
hash = "sha256-6vYVUdQST49TNctO9Y/XrRFyJ6hXng85SsO+4JBn1GA=";
};
nativeBuildInputs = [
git
pkg-config
erlang
nodejs
bun
deno
];
buildInputs =
[
openssl
erlang
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
Security
@@ -39,7 +45,12 @@ rustPlatform.buildRustPackage rec {
];
useFetchCargoVendor = true;
cargoHash = "sha256-7oawxv1s8BJsOxGuADKjf4XqJ/UT+zYOrPQCbQljArM=";
cargoHash = "sha256-arVtNxcYDVKRTGe9won6zb30wCxMD6MtsGs25UmOPjM=";
checkFlags = [
# Makes a network request
"--skip=tests::echo::echo_dict"
];
passthru.updateScript = nix-update-script { };
+1 -6
View File
@@ -5,7 +5,6 @@
tzdata,
replaceVars,
iana-etc,
xcbuild,
mailcap,
buildPackages,
pkgsBuildTarget,
@@ -62,10 +61,6 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.libc.out ]
++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [
xcbuild
];
depsBuildTarget = lib.optional isCross targetCC;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
@@ -168,7 +163,7 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
mkdir -p $GOROOT_FINAL
cp -a bin pkg src lib misc api doc go.env $GOROOT_FINAL
cp -a bin pkg src lib misc api doc go.env VERSION $GOROOT_FINAL
mkdir -p $out/bin
ln -s $GOROOT_FINAL/bin/* $out/bin
runHook postInstall
+3 -8
View File
@@ -5,7 +5,6 @@
tzdata,
replaceVars,
iana-etc,
xcbuild,
mailcap,
buildPackages,
pkgsBuildTarget,
@@ -49,11 +48,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.23.6";
version = "1.23.7";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-A5xbBOZSedrO7opvcecL0Fz1uAF4K293xuGeLtBREiI=";
hash = "sha256-fPq9Rrc+tMJrGdaVFd0EPXGDplWazM1c/bJetrJmpFg=";
};
strictDeps = true;
@@ -62,10 +61,6 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.libc.out ]
++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [
xcbuild
];
depsBuildTarget = lib.optional isCross targetCC;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
@@ -166,7 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
mkdir -p $out/share/go
cp -a bin pkg src lib misc api doc go.env $out/share/go
cp -a bin pkg src lib misc api doc go.env VERSION $out/share/go
mkdir -p $out/bin
ln -s $out/share/go/bin/* $out/bin
runHook postInstall
+1 -6
View File
@@ -5,7 +5,6 @@
tzdata,
replaceVars,
iana-etc,
xcbuild,
mailcap,
buildPackages,
pkgsBuildTarget,
@@ -62,10 +61,6 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.libc.out ]
++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [
xcbuild
];
depsBuildTarget = lib.optional isCross targetCC;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
@@ -166,7 +161,7 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = ''
runHook preInstall
mkdir -p $out/share/go
cp -a bin pkg src lib misc api doc go.env $out/share/go
cp -a bin pkg src lib misc api doc go.env VERSION $out/share/go
mkdir -p $out/bin
ln -s $out/share/go/bin/* $out/bin
runHook postInstall
@@ -176,6 +176,17 @@ stdenv.mkDerivation (finalAttrs: {
stripLen = 1;
}
)
++
lib.optional (lib.versionAtLeast release_version "12" && lib.versionOlder release_version "19")
# Add missing include headers to build against gcc-15:
# https://github.com/llvm/llvm-project/pull/101761
(
fetchpatch {
url = "https://github.com/llvm/llvm-project/commit/7e44305041d96b064c197216b931ae3917a34ac1.patch";
hash = "sha256-1htuzsaPHbYgravGc1vrR8sqpQ/NSQ8PUZeAU8ucCFk=";
stripLen = 1;
}
)
++
lib.optional (lib.versionOlder release_version "16")
# Fix musl build.
@@ -14,9 +14,6 @@
lib,
newScope,
callPackage,
CoreFoundation,
Security,
SystemConfiguration,
pkgsBuildTarget,
pkgsBuildBuild,
pkgsBuildHost,
@@ -28,6 +25,7 @@
llvm_19,
wrapCCWith,
overrideCC,
fetchpatch,
}@args:
let
llvmSharedFor =
@@ -47,8 +45,18 @@ let
in
import ./default.nix
{
rustcVersion = "1.84.1";
rustcSha256 = "Xi+11JYopUn3Zxssz5hVqzef1EKDGnwq8W4M3MMbs3U=";
rustcVersion = "1.85.0";
rustcSha256 = "L08xQv+3yEAhOc+geW4kuqrIuf0/lrLe7DuUtARcaoo=";
rustcPatches = [
# Fix for including no_std targets by default, shipping in Rust 1.87
# https://github.com/rust-lang/rust/pull/137073
(fetchpatch {
name = "bootstrap-skip-nostd-docs";
url = "https://github.com/rust-lang/rust/commit/97962d7643300b91c102496ba3ab6d9279d2c536.patch";
hash = "sha256-DKl9PWqJP3mX4B1pFeRLQ8/sO6mx1JhbmVLTOOMLZI4=";
})
];
llvmSharedForBuild = llvmSharedFor pkgsBuildBuild;
llvmSharedForHost = llvmSharedFor pkgsBuildHost;
@@ -106,26 +114,26 @@ import ./default.nix
# Note: the version MUST be the same version that we are building. Upstream
# ensures that each released compiler can compile itself:
# https://github.com/NixOS/nixpkgs/pull/351028#issuecomment-2438244363
bootstrapVersion = "1.84.1";
bootstrapVersion = "1.85.0";
# fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
bootstrapHashes = {
i686-unknown-linux-gnu = "9a2f107b35ca55439a7de0a74a893ff285766e086f96fb1d7049301b196c5da8";
x86_64-unknown-linux-gnu = "106c89f23ce1c763fcbea8e2714b2ba869bf7af70804813987a4483896398933";
x86_64-unknown-linux-musl = "e52236e269ce8f713691d78895365a376002980c011b4bbdd27e4bee0ec1ee9a";
arm-unknown-linux-gnueabihf = "02273a6326639dedf0c627421851f85b88884d3811de2a7390f189575d23b4b4";
armv7-unknown-linux-gnueabihf = "434895ed6cf922a3c0fe11a6af7f4e382093cc9edf6c250e49fbfcecd25ada59";
aarch64-unknown-linux-gnu = "be89f6ad9b70cc4b25182ae299f94ab047a713a51fddf95284823c8afe4aef85";
aarch64-unknown-linux-musl = "8a80398ed1942e8020599b8f1c53ae9775a6c8bed6af252c48a5fb967accd5f1";
x86_64-apple-darwin = "c2c80ffef15946abfb08dac6ad54c07f9d95ae56c65fc94c4c10e07b60acb883";
aarch64-apple-darwin = "49be10fa1a1de14e36d37cc412b7c44e01896c0a86a2d0d35ee26704a59adba7";
powerpc64le-unknown-linux-gnu = "7c56d9b5e2dfbd6a0a18307d96b703d6d70d1cf7bb337ea8865dfdd5e0a38d84";
riscv64gc-unknown-linux-gnu = "0e07fe7a0df2220cea37581061ed52576a44dec10866ec8f860f71a98bf41412";
s390x-unknown-linux-gnu = "9d6ab731c0cb315349cf5cbbeb88149adbd7165dbeec76f7c723d0b9796c4422";
x86_64-unknown-freebsd = "7aa4089315d3ac9eefd7f885283df99b2c4cb930316f0be3bf867d41217b6d05";
i686-unknown-linux-gnu = "bbfdbd15ee6a8414baad487c98d448805d2fa7074107e4eded770926ff5f2545";
x86_64-unknown-linux-gnu = "be4ba7b777100c851ab268e95f70f405d28d7813ba60a9bdcf4e88c88acf8602";
x86_64-unknown-linux-musl = "aec38e0eb03cde68f255959cfb389cccf321c7a020d103ea9174d01ab5acba65";
arm-unknown-linux-gnueabihf = "8a716247a8fe15a6c820d64d25d19c7d0b899a2dadd812bc080e92ebff4fdea5";
armv7-unknown-linux-gnueabihf = "91d0c9693b218fac740449fa9c3f37e71a680e4be5d27135ac1385f40eb148e0";
aarch64-unknown-linux-gnu = "0306c30bee00469fbec4b07bb04ea0308c096454354c3dc96a92b729f1c2acd1";
aarch64-unknown-linux-musl = "390de2f3aff938d04275302d6cb47c92f425b141c9cb68cb6cf237f702298627";
x86_64-apple-darwin = "69a36d239e38cc08c6366d1d85071847406645346c6f2d2e0dfaf64b58050d3d";
aarch64-apple-darwin = "3ff45cefaf9a002069902acf3a6332113b76b530bb31803fe5cfd30f7ef8ba03";
powerpc64le-unknown-linux-gnu = "d0761bf0e1786a46dddfe60cc9397b899f680b86e6aebd7ca16b2a70a9dd631b";
riscv64gc-unknown-linux-gnu = "5f27e7ed95ccd49fd53e92d6be62042dfdd2861faecad20bf61b0c186ff24df1";
s390x-unknown-linux-gnu = "7f6ee970e31e448c31c92175684380a73ec7078b15d7a99eac5d445bef1c4b3a";
x86_64-unknown-freebsd = "6ad090d188079450b1d65e4d539833affac54cfeb504e022b1b56d6d98bb4cbe";
};
selectRustPackage = pkgs: pkgs.rust_1_84;
selectRustPackage = pkgs: pkgs.rust_1_85;
}
(
@@ -135,5 +143,6 @@ import ./default.nix
"wrapCCWith"
"overrideCC"
"pkgsHostTarget"
"fetchpatch"
]
)
+15 -10
View File
@@ -53,16 +53,21 @@ rec {
patchShebangs .
'';
installPhase = ''
./install.sh --prefix=$out \
--components=${installComponents}
installPhase =
''
./install.sh --prefix=$out \
--components=${installComponents}
# Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc
# (or similar) here. It causes strange effects where rustc loads
# the wrong libraries in a bootstrap-build causing failures that
# are very hard to track down. For details, see
# https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943
'';
# Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc
# (or similar) here. It causes strange effects where rustc loads
# the wrong libraries in a bootstrap-build causing failures that
# are very hard to track down. For details, see
# https://github.com/rust-lang/rust/issues/34722#issuecomment-232164943
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -change "/usr/lib/libcurl.4.dylib" \
"${lib.getLib curl}/lib/libcurl.4.dylib" "$out/bin/cargo"
'';
# The strip tool in cctools 973.0.1 and up appears to break rlibs in the
# binaries. The lib.rmeta object inside the ar archive should contain an
@@ -166,7 +171,7 @@ rec {
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -change "/usr/lib/libcurl.4.dylib" \
"${curl.out}/lib/libcurl.4.dylib" "$out/bin/cargo"
"${lib.getLib curl}/lib/libcurl.4.dylib" "$out/bin/cargo"
''
+ ''
wrapProgram "$out/bin/cargo" \
+1 -3
View File
@@ -1,7 +1,6 @@
{ lib, stdenv, pkgsHostHost
, file, curl, pkg-config, python3, openssl, cmake, zlib
, installShellFiles, makeWrapper, rustPlatform, rustc
, CoreFoundation, Security
, auditable ? !cargo-auditable.meta.broken
, cargo-auditable
, pkgsBuildBuild
@@ -32,8 +31,7 @@ rustPlatform.buildRustPackage.override {
(lib.getDev pkgsHostHost.curl)
zlib
];
buildInputs = [ file curl python3 openssl zlib ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation Security ];
buildInputs = [ file curl python3 openssl zlib ];
# cargo uses git-rs which is made for a version of libgit2 from recent master that
# is not compatible with the current version in nixpkgs.
+1 -2
View File
@@ -3,7 +3,6 @@
lib,
rustPlatform,
rustc,
Security,
}:
rustPlatform.buildRustPackage {
@@ -19,7 +18,7 @@ rustPlatform.buildRustPackage {
# changes hash of vendor directory otherwise
dontUpdateAutotoolsGnuConfigScripts = true;
buildInputs = [ rustc.llvm ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ];
buildInputs = [ rustc.llvm ];
# fixes: error: the option `Z` is only accepted on the nightly compiler
RUSTC_BOOTSTRAP = 1;
@@ -13,7 +13,6 @@
}:
{ stdenv, lib
, newScope, callPackage
, CoreFoundation, Security, SystemConfiguration
, pkgsBuildBuild
, pkgsBuildHost
, pkgsBuildTarget
@@ -87,13 +86,11 @@ in
sysroot = if fastCross then self.rustc-unwrapped else null;
};
rustfmt = self.callPackage ./rustfmt.nix {
inherit Security;
inherit (self.buildRustPackages) rustc;
};
cargo = if (!fastCross) then self.callPackage ./cargo.nix {
# Use boot package set to break cycle
rustPlatform = bootRustPlatform;
inherit CoreFoundation Security;
} else self.callPackage ./cargo_cross.nix {};
cargo-auditable = self.callPackage ./cargo-auditable.nix { };
cargo-auditable-cargo-wrapper = self.callPackage ./cargo-auditable-cargo-wrapper.nix { };
@@ -102,7 +99,6 @@ in
# buildPackages.clippy uses the cross compiler and supports
# linting for the target platform.
rustPlatform = makeRustPlatform self;
inherit Security;
};
});
};
+21 -21
View File
@@ -157,23 +157,23 @@ stdenv.mkDerivation (finalAttrs: {
concatStringsSep "," (
[
stdenv.targetPlatform.rust.rustcTargetSpec
# Other targets that don't need any extra dependencies to build.
]
# Other targets that don't need any extra dependencies to build.
++ optionals (!fastCross) [
"wasm32-unknown-unknown"
# (build!=target): When cross-building a compiler we need to add
# the build platform as well so rustc can compile build.rs
# scripts.
"wasm32v1-none"
"bpfel-unknown-none"
"bpfeb-unknown-none"
]
# (build!=target): When cross-building a compiler we need to add
# the build platform as well so rustc can compile build.rs
# scripts.
++ optionals (stdenv.buildPlatform != stdenv.targetPlatform && !fastCross) [
stdenv.buildPlatform.rust.rustcTargetSpec
# (host!=target): When building a cross-targeting compiler we
# need to add the host platform as well so rustc can compile
# build.rs scripts.
]
# (host!=target): When building a cross-targeting compiler we
# need to add the host platform as well so rustc can compile
# build.rs scripts.
++ optionals (stdenv.hostPlatform != stdenv.targetPlatform && !fastCross) [
stdenv.hostPlatform.rust.rustcTargetSpec
]
@@ -236,19 +236,19 @@ stdenv.mkDerivation (finalAttrs: {
# library and reuse compiler
buildPhase =
if fastCross then
"
runHook preBuild
''
runHook preBuild
mkdir -p build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-{std,rustc}/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/
ln -s ${rustc.unwrapped}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/libstd-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-std/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/libstd.so
ln -s ${rustc.unwrapped}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/librustc_driver-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/librustc.so
ln -s ${rustc.unwrapped}/bin/rustc build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/rustc-main
touch build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-std/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/.libstd.stamp
touch build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/.librustc.stamp
python ./x.py --keep-stage=0 --stage=1 build library
mkdir -p build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-{std,rustc}/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/
ln -s ${rustc.unwrapped}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/libstd-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-std/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/libstd.so
ln -s ${rustc.unwrapped}/lib/rustlib/${stdenv.hostPlatform.rust.rustcTargetSpec}/librustc_driver-*.so build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/librustc.so
ln -s ${rustc.unwrapped}/bin/rustc build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/rustc-main
touch build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-std/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/.libstd.stamp
touch build/${stdenv.hostPlatform.rust.rustcTargetSpec}/stage0-rustc/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/.librustc.stamp
python ./x.py --keep-stage=0 --stage=1 build library
runHook postBuild
"
runHook postBuild
''
else
null;
+1 -2
View File
@@ -5,7 +5,6 @@
makeWrapper,
rustPlatform,
rustc,
Security,
asNightly ? false,
}:
@@ -26,7 +25,7 @@ rustPlatform.buildRustPackage {
buildInputs = [
rustc.llvm
] ++ lib.optional stdenv.hostPlatform.isDarwin Security;
];
# rustfmt uses the rustc_driver and std private libraries, and Rust's build process forces them to have
# an install name of `@rpath/...` [0] [1] instead of the standard on macOS, which is an absolute path
@@ -442,8 +442,8 @@ in
};
ruby_3_4 = generic {
version = rubyVersion "3" "4" "1" "";
hash = "sha256-PTheXSLTaLBkyBehPtjjzD9xp3BdftG654ATwzqnyH8=";
version = rubyVersion "3" "4" "2" "";
hash = "sha256-QTKKwh8r/dfeazVl708N11QzVNN+lvFXoVUqa9DrNks=";
cargoHash = "sha256-5Tp8Kth0yO89/LIcU8K01z6DdZRr8MAA0DPKqDEjIt0=";
};
}
@@ -3,6 +3,7 @@
stdenv,
config,
fetchFromGitHub,
fetchpatch,
nix-update-script,
pkg-config,
mesa,
@@ -91,6 +92,11 @@ stdenv.mkDerivation (finalAttrs: {
# but on NixOS they're spread across different paths.
# This patch + the setup-hook will ensure that `sdl2-config --cflags` works correctly.
./find-headers.patch
# https://github.com/libsdl-org/SDL/issues/12224
(fetchpatch {
url = "https://github.com/libsdl-org/SDL/commit/9e079fe9c7931738ed63d257b1d7fb8a07b66824.diff";
hash = "sha256-G8gAivCtw5zuPVI9wvEq2oIo/NxFdnPqyLwrmHG1EJ4=";
})
];
postPatch = ''
+4 -1
View File
@@ -119,7 +119,10 @@ in
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
''
echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED
make -j''${NIX_BUILD_CORES:-1} localedata/install-locales
# Don't install C.utf-8 into the archive, but into $out/lib/locale: on non-NixOS
# systems with an empty /usr/lib/locale/locale-archive, glibc would fall back to
# $libdir/locale/C.utf-8 instead of the locale archive of pkgs.glibc. See also #347965.
make -j''${NIX_BUILD_CORES:-1} localedata/install-locale-files
''
else
lib.optionalString stdenv.buildPlatform.isLinux
+4 -11
View File
@@ -60,11 +60,11 @@ in
stdenv.mkDerivation rec {
pname = "gnutls";
version = "3.8.6";
version = "3.8.9";
src = fetchurl {
url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz";
hash = "sha256-LhWIquU8sy1Dk38fTsoo/r2cDHqhc0/F3WGn6B4OvN0=";
hash = "sha256-aeET2ALRZwxNWsG5kECx8tXHwF2uxQA4E8BJtRhIIO0=";
};
outputs = [ "bin" "dev" "out" ]
@@ -76,15 +76,6 @@ stdenv.mkDerivation rec {
patches = [
./nix-ssl-cert-file.patch
# Revert https://gitlab.com/gnutls/gnutls/-/merge_requests/1800
# dlopen isn't as easy in NixPkgs, as noticed in tests broken by this.
# Without getting the libs into RPATH they won't be found.
(fetchpatch2 {
name = "revert-dlopen-compression.patch";
url = "https://gitlab.com/gnutls/gnutls/-/commit/8584908d6b679cd4e7676de437117a793e18347c.diff";
revert = true;
hash = "sha256-r/+Gmwqy0Yc1LHL/PdPLXlErUBC5JxquLzCBAN3LuRM=";
})
];
# Skip some tests:
@@ -122,6 +113,8 @@ stdenv.mkDerivation rec {
"--disable-doc"
] ++ lib.optionals (stdenv.hostPlatform.isLinux && tpmSupport) [
"--with-trousers-lib=${trousers}/lib/libtspi.so"
] ++ [ # do not dlopen in nixpkgs
"--with-zlib=link"
];
enableParallelBuilding = true;
@@ -2,9 +2,9 @@ allow overriding system trust store location via $NIX_SSL_CERT_FILE
--- a/lib/system/certs.c
+++ b/lib/system/certs.c
@@ -404,6 +404,10 @@ gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
unsigned int tl_flags,
unsigned int tl_vflags)
@@ -381,6 +381,10 @@ int gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
unsigned int tl_flags,
unsigned int tl_vflags)
{
- return add_system_trust(list, tl_flags | GNUTLS_TL_NO_DUPLICATES,
- tl_vflags);
+2 -2
View File
@@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "gpgme";
version = "1.24.1";
version = "1.24.2";
pyproject = true;
outputs = [
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnupg/gpgme/gpgme-${version}.tar.bz2";
hash = "sha256-6gXQJY5xBh1hcWWE7DTO9ZMwqRNAVx7cRreDdJc7qF8=";
hash = "sha256-4RsaDjYXd+nlX0igPYkJbiq/CMY9hLcBfP4dzgZjlYE=";
};
patches = [
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
sha256 = "18n3l9zcldyvn4lwi8izd62307mkhz873039nl6awrv285qzah34";
};
# FIXME: ugly hack for https://github.com/NixOS/nixpkgs/pull/389009
postConfigure = ''
substituteInPlace libtool \
--replace 'for search_ext in .la $std_shrext .so .a' 'for search_ext in $std_shrext .so .a'
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [
mono
+10
View File
@@ -3,6 +3,7 @@
, buildPackages
, replaceVars
, fetchurl
, fetchpatch
, pkg-config
, docutils
, gettext
@@ -82,6 +83,15 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-7zG9vW8ILEQBY0ogyFCwBQyb8lLvHgeXZO6VoqDEyVo=";
};
patches = [
# Fix rendering glitches on vulkan drivers which do not support mipmaps for VK_IMAGE_TILING_LINEAR (Asahi Honeykrisp)
# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8058
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/c9a3cdd396c5646382612ed25e93bb5f9664d043.patch";
hash = "sha256-K774FFu6eyyjnxBTy7oTDygkh8+7qp5/KssHkyEwRR8=";
})
];
depsBuildBuild = [
pkg-config
];
@@ -58,7 +58,8 @@ stdenv.mkDerivation rec {
# Tries to link test binaries binaries dynamically and fails
doCheck = !stdenv.hostPlatform.isStatic;
enableParallelBuilding = true;
# Parallel builds break reproducibility.
enableParallelBuilding = false;
meta = with lib; {
homepage = "https://jemalloc.net/";
+6 -23
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchurl,
fetchpatch,
libcddb,
pkg-config,
ncurses,
@@ -14,28 +13,16 @@
stdenv.mkDerivation rec {
pname = "libcdio";
version = "2.1.0";
version = "2.2.0";
src = fetchurl {
url = "mirror://gnu/libcdio/libcdio-${version}.tar.bz2";
sha256 = "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45";
url = "https://github.com/libcdio/libcdio/releases/download/${version}/${pname}-${version}.tar.bz2";
hash = "sha256-b4+99NGJz2Pyp6FUnFFs1yDHsiLHqq28kkom50WkhTk=";
};
patches = [
# Fixes test failure of realpath test with glibc-2.36
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/libcdio/raw/d49ccdd9c8b4e9d57c01539f4c8948f28ce82bca/f/realpath-test-fix.patch";
sha256 = "sha256-ldAGlcf79uQ8QAt4Au8Iv6jsI6ICZXtXOKZBpyELtN8=";
})
# pull pending upstream patch to fix build on ncurses-6.3:
# https://savannah.gnu.org/patch/index.php?10130
(fetchpatch {
name = "ncurses-6.3.patch";
url = "https://savannah.gnu.org/patch/download.php?file_id=52179";
sha256 = "1v15gxhpi4bgcr12pb3d9c3hiwj0drvc832vic7sham34lhjmcbb";
})
];
env = lib.optionalAttrs stdenv.is32bit {
NIX_CFLAGS_COMPILE = "-D_LARGEFILE64_SOURCE";
};
postPatch = ''
patchShebangs .
@@ -58,10 +45,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
env = lib.optionalAttrs stdenv.cc.isGNU {
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
};
doCheck = !stdenv.hostPlatform.isDarwin;
meta = with lib; {
@@ -31,7 +31,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libxml2";
version = "2.13.5";
version = "2.13.6";
outputs =
[
@@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor finalAttrs.version}/libxml2-${finalAttrs.version}.tar.xz";
hash = "sha256-dPwWMhejlkJX0745r5Q+CIYSY8QjH571tJa29tTHsrY=";
hash = "sha256-9FNIAwdSSWj3oE7GXmTyqDqCWXO80mCi52kb6CrnDJY=";
};
strictDeps = true;
@@ -0,0 +1,13 @@
diff --git a/src/gbm/meson.build b/src/gbm/meson.build
index eaed028d049..1a826c8792d 100644
--- a/src/gbm/meson.build
+++ b/src/gbm/meson.build
@@ -43,7 +43,7 @@ if with_tests
test('gbm-abi-check', abi_check, suite : ['gbm'])
endif
-install_headers('main/gbm.h')
+install_headers('main/gbm.h', 'main/gbm_backend_abi.h')
pkg.generate(
name : 'gbm',
+9 -2
View File
@@ -20,16 +20,23 @@ stdenv.mkDerivation rec {
# We don't use the versions from common.nix, because libgbm is a world rebuild,
# so the updates need to happen separately on staging.
version = "24.3.4";
version = "25.0.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "mesa";
repo = "mesa";
rev = "mesa-${version}";
hash = "sha256-1RUHbTgcCxdDrWjqB0EG4Ny/nwdjQHHpyPauiW/yogU=";
hash = "sha256-9D4d7EEdZysvXDRcmpbyt85Lo64sldNRomp6/HUVORo=";
};
# Install gbm_backend_abi.h header - this is to simplify future iteration
# on building Mesa and friends with system libgbm.
# See also:
# - https://github.com/NixOS/nixpkgs/pull/387292
# - https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33890
patches = [ ./gbm-header.patch ];
mesonAutoFeatures = "disabled";
mesonFlags = [
@@ -27,6 +27,9 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [ "out" "dev" "man" ];
setOutputFlags = false; # some aren't supported
# see other isOpenBSD clause below
configurePlatforms = if stdenv.hostPlatform.isOpenBSD then ["build"] else ["build" "host"];
configureFlags = [
(lib.withFeature (!enableStatic) "shared")
"--without-debug"
@@ -64,7 +67,12 @@ stdenv.mkDerivation (finalAttrs: {
#
# For now we allow this with `--undefined-version`:
"LDFLAGS=-Wl,--undefined-version"
]);
]) ++ lib.optionals stdenv.hostPlatform.isOpenBSD [
# If you don't specify the version number in the host specification, a branch gets taken in configure
# which assumes that your openbsd is from the 90s, leading to a truly awful compiler/linker configuration.
# No, autoreconfHook doesn't work.
"--host=${stdenv.hostPlatform.config}${stdenv.cc.libc.version}"
];
# Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
CFLAGS = lib.optionalString stdenv.hostPlatform.isSunOS "-D_XOPEN_SOURCE_EXTENDED";
@@ -34,6 +34,7 @@
libdrm,
gst_all_1,
ffmpeg,
fftwFloat,
bluez,
sbc,
libfreeaptx,
@@ -56,6 +57,7 @@
ffadoSupport ? x11Support && lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform,
ffado,
libselinux,
libebur128,
}:
let
@@ -67,7 +69,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "pipewire";
version = "1.2.7";
version = "1.4.0";
outputs = [
"out"
@@ -83,7 +85,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "pipewire";
repo = "pipewire";
rev = finalAttrs.version;
sha256 = "sha256-TV+2nz44a742bUfGnWt7zJAnO15eED5kAwyAgE5CQZ0=";
sha256 = "sha256-xhlRwodW79mD6Vj+NLvcWxuK9+W+4M5DeZUaU36OiQE=";
};
patches = [
@@ -112,10 +114,12 @@ stdenv.mkDerivation (finalAttrs: {
dbus
fdk_aac
ffmpeg
fftwFloat
glib
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
libcamera
libebur128
libjack2
libfreeaptx
liblc3
@@ -87,16 +87,16 @@ wrapQtAppsHook() {
do
isELF "$file" || isMachO "$file" || continue
if [ -f "$file" ]
then
echo "wrapping $file"
wrapQtApp "$file"
elif [ -h "$file" ]
if [ -h "$file" ]
then
target="$(readlink -e "$file")"
echo "wrapping $file -> $target"
rm "$file"
makeQtWrapper "$target" "$file"
elif [ -f "$file" ]
then
echo "wrapping $file"
wrapQtApp "$file"
fi
done
done
@@ -81,14 +81,14 @@ if [[ -z "${__nix_wrapQtAppsHook-}" ]]; then
[ -d "$targetDir" ] || continue
find "$targetDir" ! -type d -executable -print0 | while IFS= read -r -d '' file; do
if [ -f "$file" ]; then
echo "wrapping $file"
wrapQtApp "$file"
elif [ -h "$file" ]; then
if [ -h "$file" ]; then
target="$(readlink -e "$file")"
echo "wrapping $file -> $target"
rm "$file"
makeQtWrapper "$target" "$file"
elif [ -f "$file" ]; then
echo "wrapping $file"
wrapQtApp "$file"
fi
done
done
@@ -311,9 +311,9 @@ stdenv.mkDerivation rec {
fixQtBuiltinPaths "$out" '*.pr?'
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
# FIXME: not sure why this isn't added automatically?
patchelf --add-rpath "${libmysqlclient}/lib/mariadb" $out/${qtPluginPrefix}/sqldrivers/libqsqlmysql.so
patchelf --add-rpath "${vulkan-loader}/lib" --add-needed "libvulkan.so" $out/lib/libQt6Gui.so
'';
dontWrapQtApps = true;
@@ -3,6 +3,7 @@
qtbase,
qtlanguageserver,
qtshadertools,
qtsvg,
openssl,
stdenv,
lib,
@@ -17,6 +18,7 @@ qtModule {
qtbase
qtlanguageserver
qtshadertools
qtsvg
openssl
];
strictDeps = true;

Some files were not shown because too many files have changed in this diff Show More