From 5e9ee3e380f7934f420021eaf3a212524ee21461 Mon Sep 17 00:00:00 2001 From: Tobias Mayer Date: Sat, 23 Mar 2024 16:53:46 +0100 Subject: [PATCH 001/152] xxhash: pkgConfigModules, drop flags * add the `libxxhash` pkg-config module name * `BUILD_SHARED_LIBS` is handled by `pkgsStatic` automatically. --- pkgs/development/libraries/xxHash/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix index c78fc302afe4..f7461c878c23 100644 --- a/pkgs/development/libraries/xxHash/default.nix +++ b/pkgs/development/libraries/xxHash/default.nix @@ -22,10 +22,6 @@ stdenv.mkDerivation rec { # Using unofficial CMake build script to install CMake module files. cmakeDir = "../cmake_unofficial"; - cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - ]; - meta = with lib; { description = "Extremely fast hash algorithm"; longDescription = '' @@ -40,5 +36,8 @@ stdenv.mkDerivation rec { mainProgram = "xxhsum"; maintainers = with maintainers; [ orivej ]; platforms = platforms.all; + pkgConfigModules = [ + "libxxhash" + ]; }; } From 381c7ccf76adda7e88f56570c4189b2bdb1a34bd Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 16 Jun 2024 10:39:01 +0100 Subject: [PATCH 002/152] x265: 3.5 -> 3.6 --- pkgs/development/libraries/x265/default.nix | 30 ++----------------- .../libraries/x265/fix-neon-detection.patch | 28 ----------------- 2 files changed, 2 insertions(+), 56 deletions(-) delete mode 100644 pkgs/development/libraries/x265/fix-neon-detection.patch diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index 7f44834d4867..323b0ede0f5c 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchurl -, fetchpatch , cmake , nasm @@ -30,7 +29,7 @@ in stdenv.mkDerivation rec { pname = "x265"; - version = "3.5"; + version = "3.6"; outputs = [ "out" "dev" ]; @@ -38,36 +37,11 @@ stdenv.mkDerivation rec { # whether we fetch a source tarball or a tag from the git repo src = fetchurl { url = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_${version}.tar.gz"; - hash = "sha256-5wozNcrKy7oLOiDsb+zWeDkyKI68gWOtdLzJYGR3yug="; + hash = "sha256-ZjUx80HFOJ9GDXMOYuEKT8yjQoyiyhCWk4Z7xf4uKAc="; }; sourceRoot = "x265_${version}/source"; - patches = [ - # More aliases for ARM platforms + do not force CLFAGS for ARM : - (fetchpatch { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/arm-r1.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c"; - sha256 = "1hgzq5vxkwh0nyikxjfz8gz3jvx2nq3yy12mz3fn13qvzdlb5ilp"; - }) - # use proper check to avoid undefined symbols when enabling assembly on ARM : - (fetchpatch { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/neon.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c"; - sha256 = "1mmshpbyldrfqxfmdajqal4l647zvlrwdai8pxw99qg4v8gajfii"; - }) - # More complete PPC64 matches : - (fetchpatch { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/x265-3.3-ppc64.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c"; - sha256 = "1mvw678xfm0vr59n5jilq56qzcgk1gmcip2afyafkqiv21nbms8c"; - }) - # Namespace functions for multi-bitdepth builds so that libraries are self-contained (and tests succeeds) : - (fetchpatch { - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/test-ns.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c"; - sha256 = "0zg3g53l07yh7ar5c241x50y5zp7g8nh8rh63ad4bdpchpc2f52d"; - }) - # Fix detection of NEON (and armv6 build) : - ./fix-neon-detection.patch - ]; - postPatch = '' substituteInPlace cmake/Version.cmake \ --replace "unknown" "${version}" \ diff --git a/pkgs/development/libraries/x265/fix-neon-detection.patch b/pkgs/development/libraries/x265/fix-neon-detection.patch deleted file mode 100644 index dbb826e54668..000000000000 --- a/pkgs/development/libraries/x265/fix-neon-detection.patch +++ /dev/null @@ -1,28 +0,0 @@ -commit 72489cd0a1c229258abe4f20e4fdfd414dfa88da -Author: rnhmjoj -Date: Sun Oct 2 00:15:24 2022 +0200 - - Fix NEON detection - -diff --git a/cmake/FindNeon.cmake b/cmake/FindNeon.cmake -index 0062449..9c436d9 100644 ---- a/cmake/FindNeon.cmake -+++ b/cmake/FindNeon.cmake -@@ -1,10 +1,11 @@ - include(FindPackageHandleStandardArgs) - - # Check the version of neon supported by the ARM CPU --execute_process(COMMAND cat /proc/cpuinfo | grep Features | grep neon -- OUTPUT_VARIABLE neon_version -- ERROR_QUIET -- OUTPUT_STRIP_TRAILING_WHITESPACE) --if(neon_version) -- set(CPU_HAS_NEON 1) -+message(STATUS "Detecting NEON support") -+execute_process(COMMAND sed -n "/Features.* neon/q 1" /proc/cpuinfo -+ RESULT_VARIABLE CPU_HAS_NEON) -+if(CPU_HAS_NEON) -+ message(STATUS "Detecting NEON support - supported") -+else() -+ message(STATUS "Detecting NEON support - not supported" ) - endif() From e6bb2e638d731588ffa85fc5269ecda4772b5df2 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 21 Jun 2024 22:27:35 +0100 Subject: [PATCH 003/152] libproxy: 0.5.6 -> 0.5.7 Changes: https://github.com/libproxy/libproxy/releases/tag/0.5.7 --- pkgs/development/libraries/libproxy/default.nix | 4 ++-- .../development/libraries/libproxy/hardcode-gsettings.patch | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix index 1183f46799ef..59b2966711dd 100644 --- a/pkgs/development/libraries/libproxy/default.nix +++ b/pkgs/development/libraries/libproxy/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libproxy"; - version = "0.5.6"; + version = "0.5.7"; outputs = [ "out" "dev" "devdoc" ]; @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "libproxy"; repo = "libproxy"; rev = finalAttrs.version; - hash = "sha256-2uDlKjxzrKlyZKV0BSUDzmLSo2voJKDerbZZkamgNYk="; + hash = "sha256-VKVazLkmm1BZeGxrQmkpHors27bki0l8US3ZGI6OR0w="; }; patches = [ diff --git a/pkgs/development/libraries/libproxy/hardcode-gsettings.patch b/pkgs/development/libraries/libproxy/hardcode-gsettings.patch index 22aeb5836f9c..6f4b3ec0e031 100644 --- a/pkgs/development/libraries/libproxy/hardcode-gsettings.patch +++ b/pkgs/development/libraries/libproxy/hardcode-gsettings.patch @@ -1,8 +1,8 @@ diff --git a/src/backend/plugins/config-gnome/config-gnome.c b/src/backend/plugins/config-gnome/config-gnome.c -index 820827b..338e269 100644 +index 52e812e..a1141c5 100644 --- a/src/backend/plugins/config-gnome/config-gnome.c +++ b/src/backend/plugins/config-gnome/config-gnome.c -@@ -85,11 +85,60 @@ px_config_gnome_init (PxConfigGnome *self) +@@ -83,11 +83,60 @@ px_config_gnome_init (PxConfigGnome *self) if (!self->available) return; @@ -69,7 +69,7 @@ index 820827b..338e269 100644 static void diff --git a/tests/config-gnome-test.c b/tests/config-gnome-test.c -index f80914a..118d429 100644 +index 677a3e9..a28d277 100644 --- a/tests/config-gnome-test.c +++ b/tests/config-gnome-test.c @@ -60,11 +60,60 @@ static void From 366f8032ceaddd094972ba27b77d3e7e00474533 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 21 Jun 2024 22:35:17 +0100 Subject: [PATCH 004/152] libksba: 1.6.6 -> 1.6.7 Changes: https://dev.gnupg.org/T7173 --- pkgs/development/libraries/libksba/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix index d33de73e4091..accd730f1968 100644 --- a/pkgs/development/libraries/libksba/default.nix +++ b/pkgs/development/libraries/libksba/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libksba"; - version = "1.6.6"; + version = "1.6.7"; src = fetchurl { url = "mirror://gnupg/libksba/libksba-${version}.tar.bz2"; - hash = "sha256-XewDPSEVWTOIOMDElXxz39w+6G9zl31ieWQMnNCM5qQ="; + hash = "sha256-z3JRC467TrZpPu92V0nYNnegPHkpGjEQQKW/15uqt2M="; }; outputs = [ "out" "dev" "info" ]; From 896027bc0e89cbd9269b869c4dfe9179cf0f2a7e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Wed, 19 Jun 2024 19:46:53 +0200 Subject: [PATCH 005/152] publicsuffix-list: add update script --- pkgs/data/misc/publicsuffix-list/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/data/misc/publicsuffix-list/default.nix b/pkgs/data/misc/publicsuffix-list/default.nix index b2c69dff1091..1a8e8f8801b9 100644 --- a/pkgs/data/misc/publicsuffix-list/default.nix +++ b/pkgs/data/misc/publicsuffix-list/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenvNoCC, fetchFromGitHub }: +{ lib, stdenvNoCC, fetchFromGitHub, unstableGitUpdater }: stdenvNoCC.mkDerivation { pname = "publicsuffix-list"; @@ -21,6 +21,8 @@ stdenvNoCC.mkDerivation { runHook postInstall ''; + passthru.updateScript = unstableGitUpdater { }; + meta = with lib; { homepage = "https://publicsuffix.org/"; description = "Cross-vendor public domain suffix database"; From 31cf9da817371c35695a17eaf28afaebb50baebf Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Wed, 19 Jun 2024 17:47:33 +0000 Subject: [PATCH 006/152] publicsuffix-list: 0-unstable-2024-01-07 -> 0-unstable-2024-06-19 --- pkgs/data/misc/publicsuffix-list/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/misc/publicsuffix-list/default.nix b/pkgs/data/misc/publicsuffix-list/default.nix index 1a8e8f8801b9..95cab65aa61b 100644 --- a/pkgs/data/misc/publicsuffix-list/default.nix +++ b/pkgs/data/misc/publicsuffix-list/default.nix @@ -2,13 +2,13 @@ stdenvNoCC.mkDerivation { pname = "publicsuffix-list"; - version = "0-unstable-2024-01-07"; + version = "0-unstable-2024-06-19"; src = fetchFromGitHub { owner = "publicsuffix"; repo = "list"; - rev = "5db9b65997e3c9230ac4353b01994c2ae9667cb9"; - hash = "sha256-kIJVS2ETAXQa1MMG8cjRUSFUn+jm9jBWH8go3L+lqHE="; + rev = "92c74a6cde6092a5e80531c0662e1055abeb975e"; + hash = "sha256-fkfjR2A2nf3/F16Pn0hCwXtAd26TbUVA5gIv+J4DOjc="; }; dontBuild = true; From cf6ae5b73467083899565186a65d90d6c63315c8 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 25 Jun 2024 21:40:29 +0100 Subject: [PATCH 007/152] fribidi: 1.0.14 -> 1.0.15 Changes: https://github.com/fribidi/fribidi/releases/tag/v1.0.15 --- pkgs/development/libraries/fribidi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix index 768c2185a158..f5d6bcc7df34 100644 --- a/pkgs/development/libraries/fribidi/default.nix +++ b/pkgs/development/libraries/fribidi/default.nix @@ -11,14 +11,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "fribidi"; - version = "1.0.14"; + version = "1.0.15"; outputs = [ "out" "dev" "devdoc" ]; # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application. src = fetchurl { url = with finalAttrs; "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-dq4gSnAnZSrDmBufpYF8CDuiMRQ0AoTFjnVrJZzSJZo="; + sha256 = "sha256-C7x/9jO/ogiuMtfjac9afSDV0lV6CwZ8mqmLy/mWdYc="; }; postPatch = '' From f8f44e161099a2a921fa643964992dc462729f47 Mon Sep 17 00:00:00 2001 From: Reno Dakota <170618376+paparodeo@users.noreply.github.com> Date: Thu, 4 Jul 2024 03:35:35 +0000 Subject: [PATCH 008/152] Revert "db4: fix configure with llvm" the configure program fails to compile due to using exit without a function prototype. the fix should be to patch the configure script. This reverts commit 227afde6d8eeb9c08b4f9bb3c42521925e2977a5. --- pkgs/development/libraries/db/db-4.8.nix | 6 ++---- pkgs/development/libraries/db/generic.nix | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix index 4d6029d6d821..81705374381e 100644 --- a/pkgs/development/libraries/db/db-4.8.nix +++ b/pkgs/development/libraries/db/db-4.8.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, fetchurl, autoreconfHook, targetPlatform, ... } @ args: +{ lib, stdenv, fetchurl, autoreconfHook, ... } @ args: -import ./generic.nix (builtins.removeAttrs args ["targetPlatform"] // { +import ./generic.nix (args // { version = "4.8.30"; sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0"; extraPatches = [ @@ -9,8 +9,6 @@ import ./generic.nix (builtins.removeAttrs args ["targetPlatform"] // { ./darwin-mutexes-4.8.patch ]; - drvArgs.configureFlags = lib.optional (targetPlatform.useLLVM or false) "--with-mutex=POSIX/pthreads"; - drvArgs.hardeningDisable = [ "format" ]; drvArgs.doCheck = false; }) diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix index ddb4139e116d..d715c1ffc8b1 100644 --- a/pkgs/development/libraries/db/generic.nix +++ b/pkgs/development/libraries/db/generic.nix @@ -67,8 +67,7 @@ stdenv.mkDerivation (rec { (if compat185 then "--enable-compat185" else "--disable-compat185") ] ++ lib.optional dbmSupport "--enable-dbm" - ++ lib.optional stdenv.isFreeBSD "--with-pic" - ++ (drvArgs.configureFlags or []); + ++ lib.optional stdenv.isFreeBSD "--with-pic"; preConfigure = '' cd build_unix @@ -93,4 +92,4 @@ stdenv.mkDerivation (rec { license = license; platforms = platforms.unix; }; -} // builtins.removeAttrs drvArgs [ "configureFlags" ]) +} // drvArgs) From 91069620eaaa0cc8386d4589b6a6b93a284bbfa3 Mon Sep 17 00:00:00 2001 From: Reno Dakota <170618376+paparodeo@users.noreply.github.com> Date: Thu, 4 Jul 2024 03:38:10 +0000 Subject: [PATCH 009/152] db4: fix pthread configure detection add header stdlib.h so pthread detection doesn't fail do to a missing function prototype for exit. ``` configure:21863: clang -o conftest -O3 -D_GNU_SOURCE -D_REENTRANT conftest.c >&5 conftest.c:52:2: error: call to undeclared library function 'exit' with type 'void (int) __attribute__((noreturn))'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 52 | exit ( | ^ conftest.c:52:2: note: include the header or explicitly provide a declaration for 'exit' ``` --- pkgs/development/libraries/db/clang-4.8.patch | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/db/clang-4.8.patch b/pkgs/development/libraries/db/clang-4.8.patch index 0aff87682037..bf0de55fc1bf 100644 --- a/pkgs/development/libraries/db/clang-4.8.patch +++ b/pkgs/development/libraries/db/clang-4.8.patch @@ -153,22 +153,42 @@ diff -ur a/dist/aclocal/clock.m4 b/dist/aclocal/clock.m4 diff -ur a/dist/aclocal/mutex.m4 b/dist/aclocal/mutex.m4 --- a/dist/aclocal/mutex.m4 1969-12-31 19:00:01.000000000 -0500 +++ b/dist/aclocal/mutex.m4 2023-06-05 19:14:47.214158196 -0400 -@@ -4,6 +4,7 @@ +@@ -3,7 +3,9 @@ + # POSIX pthreads tests: inter-process safe and intra-process only. AC_DEFUN(AM_PTHREADS_SHARED, [ AC_TRY_RUN([ ++#include #include +int main() { pthread_cond_t cond; pthread_mutex_t mutex; -@@ -46,6 +47,7 @@ +@@ -24,6 +26,7 @@ main() { + pthread_mutexattr_destroy(&mutexattr)); + }], [db_cv_mutex="$1"],, + AC_TRY_LINK([ ++#include + #include ],[ + pthread_cond_t cond; + pthread_mutex_t mutex; +@@ -45,7 +48,9 @@ AC_TRY_LINK([ + ], [db_cv_mutex="$1"]))]) AC_DEFUN(AM_PTHREADS_PRIVATE, [ AC_TRY_RUN([ ++#include #include +int main() { pthread_cond_t cond; pthread_mutex_t mutex; +@@ -64,6 +69,7 @@ main() { + pthread_mutexattr_destroy(&mutexattr)); + }], [db_cv_mutex="$1"],, + AC_TRY_LINK([ ++#include + #include ],[ + pthread_cond_t cond; + pthread_mutex_t mutex; diff -ur a/dist/aclocal/sequence.m4 b/dist/aclocal/sequence.m4 --- a/dist/aclocal/sequence.m4 1969-12-31 19:00:01.000000000 -0500 +++ b/dist/aclocal/sequence.m4 2023-06-05 19:14:02.007869956 -0400 @@ -183,7 +203,7 @@ diff -ur a/dist/aclocal/sequence.m4 b/dist/aclocal/sequence.m4 $db_cv_seq_type l; unsigned $db_cv_seq_type u; @@ -59,7 +62,9 @@ - return (1); + return (1); return (0); }],, [db_cv_build_sequence="no"], - AC_TRY_LINK(,[ From b803189674cb5c15a5730dafa951208951749700 Mon Sep 17 00:00:00 2001 From: Colin Date: Sat, 25 May 2024 21:22:22 +0000 Subject: [PATCH 010/152] pam: packaging cleanups - don't set null postPatch - remove unnecessary musl patch null postPatch breaks common override idioms like ```nix pam.overrideAttrs (attrs: { postPatch = (attrs.postPatch or "") + "..."; }); ``` the musl patch was upstreamed into pam and subsequently removed from Alpine (where we took it from) --- pkgs/os-specific/linux/pam/default.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index e5f8fec5acb1..b460348a105d 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -18,10 +18,10 @@ stdenv.mkDerivation rec { ]; # Case-insensitivity workaround for https://github.com/linux-pam/linux-pam/issues/569 - postPatch = if stdenv.buildPlatform.isDarwin && stdenv.buildPlatform != stdenv.hostPlatform then '' + postPatch = lib.optionalString (stdenv.buildPlatform.isDarwin && stdenv.buildPlatform != stdenv.hostPlatform) '' rm CHANGELOG touch ChangeLog - '' else null; + ''; outputs = [ "out" "doc" "man" /* "modules" */ ]; @@ -36,14 +36,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - preConfigure = lib.optionalString (stdenv.hostPlatform.libc == "musl") '' - # export ac_cv_search_crypt=no - # (taken from Alpine linux, apparently insecure but also doesn't build O:)) - # disable insecure modules - # sed -e 's/pam_rhosts//g' -i modules/Makefile.am - sed -e 's/pam_rhosts//g' -i modules/Makefile.in - ''; - configureFlags = [ "--includedir=${placeholder "out"}/include/security" "--enable-sconfigdir=/etc/security" From e8913e8f3eb0a0f5c79ae394470bb95140beab95 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 4 Jul 2024 09:38:25 +0100 Subject: [PATCH 011/152] SDL2: 2.30.4 -> 2.30.5 Changes: https://github.com/libsdl-org/SDL/releases/tag/release-2.30.5 --- pkgs/development/libraries/SDL2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 816afa176754..0f87b46e5a17 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -58,13 +58,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "SDL2"; - version = "2.30.4"; + version = "2.30.5"; src = fetchFromGitHub { owner = "libsdl-org"; repo = "SDL"; rev = "release-${finalAttrs.version}"; - hash = "sha256-RhqbmS+mPVlXlo4/jrqPqtyGzvfaPTozlUEeAjHUBoA="; + hash = "sha256-ZonlvXAAWCTfDYf/w5RxP1Av67v89kex4H43xkbPYEA="; }; dontDisableStatic = if withStatic then 1 else 0; outputs = [ "out" "dev" ]; From 5ef0a3a0e5f067fd2650cf30c2d239320fa714b5 Mon Sep 17 00:00:00 2001 From: Reno Dakota <170618376+paparodeo@users.noreply.github.com> Date: Wed, 19 Jun 2024 04:51:03 +0000 Subject: [PATCH 012/152] libical: fix strict deps add icu to nativeBuildInputs --- pkgs/development/libraries/libical/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix index d3ee9581305c..9d5db75bb121 100644 --- a/pkgs/development/libraries/libical/default.nix +++ b/pkgs/development/libraries/libical/default.nix @@ -41,6 +41,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake + icu ninja perl pkg-config From c68739f4f0c3d1b3d3278da299865d8be772a0be Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Thu, 11 Jul 2024 23:10:19 +0100 Subject: [PATCH 013/152] bootstrap-tools-musl: match bootstrap-tools hardeningUnsupportedFlags seems we missed adding stackclashprotection --- pkgs/stdenv/linux/bootstrap-tools-musl/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix b/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix index 6d2490acfa47..4450679983ff 100644 --- a/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix +++ b/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix @@ -15,5 +15,10 @@ derivation ({ langC = true; langCC = true; isGNU = true; - hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" "trivialautovarinit" ]; + hardeningUnsupportedFlags = [ + "fortify3" + "stackclashprotection" + "trivialautovarinit" + "zerocallusedregs" + ]; } // extraAttrs) From b207b6ef740dd402cfa96dac681c0523996835ae Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Thu, 11 Jul 2024 23:11:13 +0100 Subject: [PATCH 014/152] cc-wrapper: add support for shadowstack hardening flag --- nixos/doc/manual/release-notes/rl-2411.section.md | 2 ++ pkgs/build-support/cc-wrapper/add-hardening.sh | 6 +++++- pkgs/development/compilers/gcc/default.nix | 6 ++++++ pkgs/development/compilers/llvm/common/clang/default.nix | 5 +++++ pkgs/stdenv/darwin/default.nix | 1 + pkgs/stdenv/generic/make-derivation.nix | 1 + pkgs/stdenv/linux/bootstrap-tools-musl/default.nix | 1 + pkgs/stdenv/linux/bootstrap-tools/default.nix | 1 + pkgs/top-level/stage.nix | 1 + 9 files changed, 23 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index c27d948be4c2..7ca984a8eef4 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -242,6 +242,8 @@ - Nemo is now built with gtk-layer-shell support, note that for now it will be expected to see nemo-desktop listed as a regular entry in Cinnamon Wayland session's window list applet. +- The `shadowstack` hardening flag has been added, though disabled by default. + - Support for *runner registration tokens* has been [deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/380872) in `gitlab-runner` 15.6 and is expected to be removed in `gitlab-runner` 18.0. Configuration of existing runners should be changed to using *runner authentication tokens* by configuring diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh index 0dca3b3347e5..fc457ed0134a 100644 --- a/pkgs/build-support/cc-wrapper/add-hardening.sh +++ b/pkgs/build-support/cc-wrapper/add-hardening.sh @@ -32,7 +32,7 @@ if [[ -n "${hardeningEnableMap[fortify3]-}" ]]; then fi if (( "${NIX_DEBUG:-0}" >= 1 )); then - declare -a allHardeningFlags=(fortify fortify3 stackprotector stackclashprotection pie pic strictoverflow format trivialautovarinit zerocallusedregs) + declare -a allHardeningFlags=(fortify fortify3 shadowstack stackprotector stackclashprotection pie pic strictoverflow format trivialautovarinit zerocallusedregs) declare -A hardeningDisableMap=() # Determine which flags were effectively disabled so we can report below. @@ -75,6 +75,10 @@ for flag in "${!hardeningEnableMap[@]}"; do ;; esac ;; + shadowstack) + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling shadowstack >&2; fi + hardeningCFlagsBefore+=('-fcf-protection=return') + ;; stackprotector) if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi hardeningCFlagsBefore+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4') diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix index 5eb92fd701da..e5dcb1e0b331 100644 --- a/pkgs/development/compilers/gcc/default.nix +++ b/pkgs/development/compilers/gcc/default.nix @@ -430,6 +430,12 @@ pipe ((callFile ./common/builder.nix {}) ({ ) "stackclashprotection" ++ optional (!atLeast11) "zerocallusedregs" ++ optionals (!atLeast12) [ "fortify3" "trivialautovarinit" ] + ++ optional (!( + atLeast8 + && targetPlatform.isLinux + && targetPlatform.isx86_64 + && targetPlatform.libc == "glibc" + )) "shadowstack" ++ optionals (langFortran) [ "fortify" "format" ]; }; diff --git a/pkgs/development/compilers/llvm/common/clang/default.nix b/pkgs/development/compilers/llvm/common/clang/default.nix index 922eb8657cee..862c5cbb1178 100644 --- a/pkgs/development/compilers/llvm/common/clang/default.nix +++ b/pkgs/development/compilers/llvm/common/clang/default.nix @@ -138,6 +138,11 @@ let isClang = true; hardeningUnsupportedFlagsByTargetPlatform = targetPlatform: [ "fortify3" ] + ++ lib.optional ( + (lib.versionOlder release_version "7") + || !targetPlatform.isLinux + || !targetPlatform.isx86_64 + ) "shadowstack" ++ lib.optional ( (lib.versionOlder release_version "11") || (targetPlatform.isAarch64 && (lib.versionOlder release_version "18.1")) diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 5e5f2be12ba6..dcab951fdfcc 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -416,6 +416,7 @@ in isFromBootstrapFiles = true; hardeningUnsupportedFlags = [ "fortify3" + "shadowstack" "stackclashprotection" "zerocallusedregs" ]; diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 952b8b66c10c..bda0060900dd 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -115,6 +115,7 @@ let "format" "fortify" "fortify3" + "shadowstack" "pic" "pie" "relro" diff --git a/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix b/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix index 4450679983ff..3b69f7c53194 100644 --- a/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix +++ b/pkgs/stdenv/linux/bootstrap-tools-musl/default.nix @@ -17,6 +17,7 @@ derivation ({ isGNU = true; hardeningUnsupportedFlags = [ "fortify3" + "shadowstack" "stackclashprotection" "trivialautovarinit" "zerocallusedregs" diff --git a/pkgs/stdenv/linux/bootstrap-tools/default.nix b/pkgs/stdenv/linux/bootstrap-tools/default.nix index 4450679983ff..3b69f7c53194 100644 --- a/pkgs/stdenv/linux/bootstrap-tools/default.nix +++ b/pkgs/stdenv/linux/bootstrap-tools/default.nix @@ -17,6 +17,7 @@ derivation ({ isGNU = true; hardeningUnsupportedFlags = [ "fortify3" + "shadowstack" "stackclashprotection" "trivialautovarinit" "zerocallusedregs" diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index b0c7ec03827b..648b81f95a5c 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -292,6 +292,7 @@ let pkgsExtraHardening = super'; stdenv = super'.withDefaultHardeningFlags ( super'.stdenv.cc.defaultHardeningFlags ++ [ + "shadowstack" "stackclashprotection" "trivialautovarinit" ] From 3ebc7bbf61dfd9b0fa2bc65d6484ea9a44adb3e4 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Thu, 11 Jul 2024 22:52:23 +0100 Subject: [PATCH 015/152] glibc: add option enableCETRuntimeDefault to runtime-enable CET by default this appears to have been added to glibc because of the number of packages in some distributions that were built with CET enabled before a CET enabled machine was available to test for breakage with. we don't have that problem to such an extent and users of hardened systems will likely want to enable this by default. --- .../2.39-revert-cet-default-disable.patch | 49 +++++++++++++++++++ pkgs/development/libraries/glibc/common.nix | 5 +- pkgs/development/libraries/glibc/default.nix | 3 +- 3 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/glibc/2.39-revert-cet-default-disable.patch diff --git a/pkgs/development/libraries/glibc/2.39-revert-cet-default-disable.patch b/pkgs/development/libraries/glibc/2.39-revert-cet-default-disable.patch new file mode 100644 index 000000000000..8590581daf0b --- /dev/null +++ b/pkgs/development/libraries/glibc/2.39-revert-cet-default-disable.patch @@ -0,0 +1,49 @@ +Revert 55d63e731253de82e96ed4ddca2e294076cd0bc5 + +--- b/sysdeps/x86/cpu-features.c ++++ a/sysdeps/x86/cpu-features.c +@@ -110,7 +110,7 @@ + if (!CPU_FEATURES_CPU_P (cpu_features, RTM_ALWAYS_ABORT)) + CPU_FEATURE_SET_ACTIVE (cpu_features, RTM); + ++#if CET_ENABLED +-#if CET_ENABLED && 0 + CPU_FEATURE_SET_ACTIVE (cpu_features, IBT); + CPU_FEATURE_SET_ACTIVE (cpu_features, SHSTK); + #endif +reverted: +--- b/sysdeps/x86/cpu-tunables.c ++++ a/sysdeps/x86/cpu-tunables.c +@@ -35,17 +35,6 @@ + break; \ + } + +-#define CHECK_GLIBC_IFUNC_CPU_BOTH(f, cpu_features, name, len) \ +- _Static_assert (sizeof (#name) - 1 == len, #name " != " #len); \ +- if (tunable_str_comma_strcmp_cte (&f, #name)) \ +- { \ +- if (f.disable) \ +- CPU_FEATURE_UNSET (cpu_features, name) \ +- else \ +- CPU_FEATURE_SET_ACTIVE (cpu_features, name) \ +- break; \ +- } +- + /* Disable a preferred feature NAME. We don't enable a preferred feature + which isn't available. */ + #define CHECK_GLIBC_IFUNC_PREFERRED_OFF(f, cpu_features, name, len) \ +@@ -142,13 +131,11 @@ + } + break; + case 5: +- { +- CHECK_GLIBC_IFUNC_CPU_BOTH (n, cpu_features, SHSTK, 5); +- } + if (n.disable) + { + CHECK_GLIBC_IFUNC_CPU_OFF (n, cpu_features, LZCNT, 5); + CHECK_GLIBC_IFUNC_CPU_OFF (n, cpu_features, MOVBE, 5); ++ CHECK_GLIBC_IFUNC_CPU_OFF (n, cpu_features, SHSTK, 5); + CHECK_GLIBC_IFUNC_CPU_OFF (n, cpu_features, SSSE3, 5); + CHECK_GLIBC_IFUNC_CPU_OFF (n, cpu_features, XSAVE, 5); + } diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 25a83b1dc6d2..382a1eea076d 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -37,6 +37,7 @@ , profilingLibraries ? false , withGd ? false , enableCET ? false +, enableCETRuntimeDefault ? false , extraBuildInputs ? [] , extraNativeBuildInputs ? [] , ... @@ -50,6 +51,7 @@ in assert withLinuxHeaders -> linuxHeaders != null; assert withGd -> gd != null && libpng != null; +assert enableCET == false -> !enableCETRuntimeDefault; stdenv.mkDerivation ({ version = version + patchSuffix; @@ -114,7 +116,8 @@ stdenv.mkDerivation ({ lib.optional (isAarch64 && isLinux) ./0001-aarch64-math-vector.h-add-NVCC-include-guard.patch ) ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch - ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch; + ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch + ++ lib.optional enableCETRuntimeDefault ./2.39-revert-cet-default-disable.patch; postPatch = '' diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 96a08178637d..490f29e99cfb 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -3,6 +3,7 @@ , profilingLibraries ? false , withGd ? false , enableCET ? if stdenv.hostPlatform.isx86_64 then "permissive" else false +, enableCETRuntimeDefault ? false , pkgsBuildBuild , libgcc }: @@ -16,7 +17,7 @@ let in (callPackage ./common.nix { inherit stdenv; } { - inherit withLinuxHeaders withGd profilingLibraries enableCET; + inherit withLinuxHeaders withGd profilingLibraries enableCET enableCETRuntimeDefault; pname = "glibc" + lib.optionalString withGd "-gd" + lib.optionalString (stdenv.cc.isGNU && libgcc==null) "-nolibgcc"; }).overrideAttrs(previousAttrs: { From 41cae89e6b8a7f1f6fffd0e965c8db43e3e47db4 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 19 Jun 2024 20:01:41 +0100 Subject: [PATCH 016/152] glibc: enableCETRuntimeDefault for pkgsExtraHardening --- pkgs/top-level/stage.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index 648b81f95a5c..fbd7ea458ba9 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -297,6 +297,10 @@ let "trivialautovarinit" ] ) super'.stdenv; + glibc = super'.glibc.override rec { + enableCET = if self'.stdenv.hostPlatform.isx86_64 then "permissive" else false; + enableCETRuntimeDefault = enableCET != false; + }; }) ] ++ overlays; }; From 09a8a7ddbb43b1a5de1ee4cf934015cb09d4ac9e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jul 2024 18:04:27 +0000 Subject: [PATCH 017/152] waf: 2.1.1 -> 2.1.2 --- pkgs/by-name/wa/waf/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wa/waf/package.nix b/pkgs/by-name/wa/waf/package.nix index a30c5df8d851..45ab6f7622db 100644 --- a/pkgs/by-name/wa/waf/package.nix +++ b/pkgs/by-name/wa/waf/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "waf"; - version = "2.1.1"; + version = "2.1.2"; src = fetchFromGitLab { owner = "ita1024"; repo = "waf"; rev = "waf-${finalAttrs.version}"; - hash = "sha256-38u8DJ1KLkb7FfeCr+1e5UBE3Qkx1q2FBsm5HDXnunQ="; + hash = "sha256-/7V+GA3YBhdaJkDlZ1k4IUYkgh0yuTG09G+frnnMoIw="; }; nativeBuildInputs = [ From 2cc76299592fb976313830db8fd6e7887e492d35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Tue, 4 Jun 2024 15:15:37 -0400 Subject: [PATCH 018/152] libgit2: 1.7.2 -> 1.8.1 --- pkgs/development/libraries/libgit2-glib/default.nix | 10 ++++++++++ pkgs/development/libraries/libgit2/default.nix | 12 ++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libgit2-glib/default.nix b/pkgs/development/libraries/libgit2-glib/default.nix index cd2f10d15782..abf15fdec4d8 100644 --- a/pkgs/development/libraries/libgit2-glib/default.nix +++ b/pkgs/development/libraries/libgit2-glib/default.nix @@ -13,6 +13,7 @@ , libgit2 , glib , python3 +, fetchpatch }: stdenv.mkDerivation rec { @@ -26,6 +27,15 @@ stdenv.mkDerivation rec { sha256 = "EzHa2oOPTh9ZGyZFnUQSajJd52LcPNJhU6Ma+9/hgZA="; }; + patches = [ + (fetchpatch { + name = "support-libgit2-1.8.patch"; + # https://gitlab.gnome.org/GNOME/libgit2-glib/-/merge_requests/40 + url = "https://gitlab.gnome.org/GNOME/libgit2-glib/-/commit/a76fdf96c3af9ce9d21a3985c4be8a1aa6eea661.patch"; + hash = "sha256-ysU8pAixyftensfEC9bE0RUFMPMei0jYT26WKN5uOFE="; + }) + ]; + nativeBuildInputs = [ meson ninja diff --git a/pkgs/development/libraries/libgit2/default.nix b/pkgs/development/libraries/libgit2/default.nix index 58212e00d89e..6eac8d210817 100644 --- a/pkgs/development/libraries/libgit2/default.nix +++ b/pkgs/development/libraries/libgit2/default.nix @@ -8,7 +8,6 @@ , libssh2 , openssl , pcre -, http-parser , libiconv , Security , staticBuild ? stdenv.hostPlatform.isStatic @@ -16,11 +15,14 @@ , libgit2-glib , python3Packages , gitstatus +, llhttp +, withGssapi ? false +, krb5 }: stdenv.mkDerivation rec { pname = "libgit2"; - version = "1.7.2"; + version = "1.8.1"; # also check the following packages for updates: python3Packages.pygit2 and libgit2-glib outputs = ["lib" "dev" "out"]; @@ -29,12 +31,13 @@ stdenv.mkDerivation rec { owner = "libgit2"; repo = "libgit2"; rev = "v${version}"; - hash = "sha256-fVPY/byE2/rxmv/bUykcAbmUFMlF3UZogVuTzjOXJUU="; + hash = "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY="; }; cmakeFlags = [ "-DUSE_HTTP_PARSER=system" "-DUSE_SSH=ON" + (lib.cmakeBool "USE_GSSAPI" withGssapi) "-DBUILD_SHARED_LIBS=${if staticBuild then "OFF" else "ON"}" ] ++ lib.optionals stdenv.hostPlatform.isWindows [ "-DDLLTOOL=${stdenv.cc.bintools.targetPrefix}dlltool" @@ -44,7 +47,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake python3 pkg-config ]; - buildInputs = [ zlib libssh2 openssl pcre http-parser ] + buildInputs = [ zlib libssh2 openssl pcre llhttp ] + ++ lib.optional withGssapi krb5 ++ lib.optional stdenv.isDarwin Security; propagatedBuildInputs = lib.optional (!stdenv.isLinux) libiconv; From 602760ce42b83bf9071f52d97adcbebc046f5fe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Tue, 4 Jun 2024 15:26:51 -0400 Subject: [PATCH 019/152] libgit2: fix incorrect recursive structure in tests --- pkgs/development/libraries/libgit2/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libgit2/default.nix b/pkgs/development/libraries/libgit2/default.nix index 6eac8d210817..e110ceb67aa8 100644 --- a/pkgs/development/libraries/libgit2/default.nix +++ b/pkgs/development/libraries/libgit2/default.nix @@ -20,7 +20,7 @@ , krb5 }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libgit2"; version = "1.8.1"; # also check the following packages for updates: python3Packages.pygit2 and libgit2-glib @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "libgit2"; repo = "libgit2"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY="; }; @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { ) ''; - passthru.tests = { + passthru.tests = lib.mapAttrs (_: v: v.override { libgit2 = finalAttrs.finalPackage; }) { inherit libgit2-glib; inherit (python3Packages) pygit2; inherit gitstatus; @@ -84,4 +84,4 @@ stdenv.mkDerivation rec { platforms = platforms.all; maintainers = with maintainers; [ SuperSandro2000 ]; }; -} +}) From 1e8b1425efef8829ea000f2a8da9a4903ff05a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:54:05 -0400 Subject: [PATCH 020/152] python312Packages.pygit2: 1.14.1 -> 1.15.0 --- pkgs/development/python-modules/pygit2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix index c541fe5aac65..475ea02fcf46 100644 --- a/pkgs/development/python-modules/pygit2/default.nix +++ b/pkgs/development/python-modules/pygit2/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "pygit2"; - version = "1.14.1"; + version = "1.15.0"; pyproject = true; disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version; - hash = "sha256-7FlYVxuCpjUXhcpkXlOUwxrkXuxThLL6nE4F3eNZetY="; + hash = "sha256-pjVSX/x0EoZp3i9jRgqUydVgljSkh1wKr85RD97sF6w="; }; preConfigure = lib.optionalString stdenv.isDarwin '' From e92ee335fa2a6599e18498a404a422993ad27fd4 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 12:18:43 -0700 Subject: [PATCH 021/152] pcre: update gnu config scripts --- pkgs/development/libraries/pcre/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 52a4ba32315e..080256ee440c 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch +{ lib, stdenv, fetchurl, fetchpatch, updateAutotoolsGnuConfigScriptsHook , pcre, windows ? null , variant ? null }: @@ -37,6 +37,10 @@ stdenv.mkDerivation rec { }) ]; + # necessary to build on FreeBSD native pending inclusion of + # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; + preCheck = '' patchShebangs RunGrepTest ''; From 97e18621b0be225b24a341b7a8d7d050419cdb2f Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 12:18:33 -0700 Subject: [PATCH 022/152] libpipeline: update gnu config scripts --- pkgs/development/libraries/libpipeline/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix index 3630980353a5..3aeb79b46af8 100644 --- a/pkgs/development/libraries/libpipeline/default.nix +++ b/pkgs/development/libraries/libpipeline/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, updateAutotoolsGnuConfigScriptsHook }: stdenv.mkDerivation rec { pname = "libpipeline"; @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { patches = lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ]; + # necessary to build on FreeBSD native pending inclusion of + # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; + meta = with lib; { homepage = "http://libpipeline.nongnu.org"; description = "C library for manipulating pipelines of subprocesses in a flexible and convenient way"; From ef593db9caff6d700c0c72ba03a7ee79a58c9575 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Sat, 20 Jul 2024 20:32:57 +0900 Subject: [PATCH 023/152] systemd: re-enable bpf-framework systemd meson.build apparently didn't check properly that the option was enabled in all code paths, so it was possible to build systemd such as --version would have -BPF_FRAMEWORK (properly disabled in config.h) with -Dbpf-framework=enabled. Fix the failing check, which was `clang -target bpf` breaking with zerocallusedregs hardening -- this is apparently a known problem as it's disabled in quite a few other packages that mention bpf in comment above the exception... Link: https://github.com/systemd/systemd/pull/33793 --- pkgs/os-specific/linux/systemd/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 68209a4e2ccb..7e99fce543ea 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -412,7 +412,8 @@ stdenv.mkDerivation (finalAttrs: { hardeningDisable = [ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111523 "trivialautovarinit" - ]; + # breaks clang -target bpf; should be fixed to filter target? + ] ++ (lib.optional withLibBPF "zerocallusedregs"); nativeBuildInputs = [ From cd8e02828ae319868c096c3ad7d27425a68524af Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Wed, 10 Jul 2024 23:23:52 +0200 Subject: [PATCH 024/152] meson: 1.4.1 -> 1.5.0 --- pkgs/by-name/me/meson/package.nix | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index cb5093c2caf4..6c1a9563bf43 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -21,13 +21,13 @@ let in python3.pkgs.buildPythonApplication rec { pname = "meson"; - version = "1.4.1"; + version = "1.5.0"; src = fetchFromGitHub { owner = "mesonbuild"; repo = "meson"; rev = "refs/tags/${version}"; - hash = "sha256-RBE4AUF5fymUA87JEDWtpUFXmVPFzdhZgDI7/kscTx4="; + hash = "sha256-Y//8fXBNdx+ikpvg+S5Bk2rN3UVS5qo2bnbTSVBb8b8="; }; patches = [ @@ -72,14 +72,16 @@ python3.pkgs.buildPythonApplication rec { # This edge case is explicitly part of meson but is wrong for nix ./007-freebsd-pkgconfig-path.patch - # Find boost via pkg-config - # https://github.com/NixOS/nixpkgs/issues/86131 - # Already merged upstream PR: https://github.com/mesonbuild/meson/pull/13272 - # FIXME: Will be in meson 1.5.0 (fetchpatch { - name = "find-boost-pkg-config.patch"; - url = "https://github.com/mesonbuild/meson/commit/c21b886ba8a60cce7fa56e4be40bd7547129fb00.patch"; - hash = "sha256-uSilNuSx9yd1cxs0XVLcLw4MOXEd2uIe2g+wk+SBqeU="; + name = "tests-skip-framework-recasting-if-CMake-unavailable.patch"; + url = "https://github.com/mesonbuild/meson/commit/8a8a3a0578fd8d5a8720a7a706f6f3b99e857f9c.patch"; + hash = "sha256-XkwNQ5eg/fVekhsFg/V2/S2LbIVGz3H0wsSFlUT3ZZE="; + }) + + (fetchpatch { + name = "cross.patch"; + url = "https://github.com/mesonbuild/meson/pull/13411.patch"; + hash = "sha256-IHSV0Dfse0lzDtxh/+APc/dzGr/BUbR/WIOqDsm7/8Y="; }) ]; @@ -133,6 +135,9 @@ python3.pkgs.buildPythonApplication rec { ''test cases/linuxlike/14 static dynamic linkage'' # Nixpkgs cctools does not have bitcode support. ''test cases/osx/7 bitcode'' + ] ++ lib.optionals stdenv.isDarwin [ + # requires llvmPackages.openmp, creating cyclic dependency + ''test cases/common/184 openmp'' ] ++ lib.optionals stdenv.isFreeBSD [ # pch doesn't work quite right on FreeBSD, I think ''test cases/common/13 pch'' From feabbe8bc4e0d5b0390c823ee58206d20d05d52e Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Wed, 19 Jun 2024 20:15:09 -0700 Subject: [PATCH 025/152] libpsl: make python both a build and runtime dependency Previously, python3 was only provided as a nativeBuildInput. However, libpsl.bin distributes python scripts. To make them use the right python, provide python as a buildInput and specify which python to use at build time with a configure flag. --- pkgs/development/libraries/libpsl/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix index a8fcd2581caa..2a8e1ae24abb 100644 --- a/pkgs/development/libraries/libpsl/default.nix +++ b/pkgs/development/libraries/libpsl/default.nix @@ -10,6 +10,7 @@ , libxslt , pkg-config , python3 +, buildPackages , valgrind , publicsuffix-list }: @@ -33,7 +34,6 @@ stdenv.mkDerivation rec { gtk-doc lzip pkg-config - python3 libxslt ]; @@ -41,6 +41,7 @@ stdenv.mkDerivation rec { libidn2 libunistring libxslt + python3 ]; propagatedBuildInputs = [ @@ -61,6 +62,7 @@ stdenv.mkDerivation rec { "--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat" "--with-psl-file=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat" "--with-psl-testfile=${publicsuffix-list}/share/publicsuffix/test_psl.txt" + "PYTHON=${lib.getExe buildPackages.python3}" ]; enableParallelBuilding = true; From 488bac5e766600c87dca34eeb4c6648a92e4b357 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:27:28 -0700 Subject: [PATCH 026/152] w3m: update gnu config scripts --- pkgs/applications/networking/browsers/w3m/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix index acfd83f56086..827202ae3818 100644 --- a/pkgs/applications/networking/browsers/w3m/default.nix +++ b/pkgs/applications/networking/browsers/w3m/default.nix @@ -5,7 +5,7 @@ , x11Support ? graphicsSupport, libX11 , mouseSupport ? !stdenv.isDarwin, gpm-ncurses , perl, man, pkg-config, buildPackages, w3m -, testers +, testers, updateAutotoolsGnuConfigScriptsHook }: let @@ -53,7 +53,9 @@ in stdenv.mkDerivation rec { sed -ie 's!mktable.*:.*!mktable:!' Makefile.in ''; - nativeBuildInputs = [ pkg-config gettext ]; + # updateAutotoolsGnuConfigScriptsHook necessary to build on FreeBSD native pending inclusion of + # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 + nativeBuildInputs = [ pkg-config gettext updateAutotoolsGnuConfigScriptsHook ]; buildInputs = [ ncurses boehmgc zlib ] ++ lib.optional sslSupport openssl ++ lib.optional mouseSupport gpm-ncurses From 538442183767c52b2c40f5e45e3b7fae139a3583 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:07:01 -0700 Subject: [PATCH 027/152] freebsd.libstdthreads: init --- pkgs/os-specific/bsd/freebsd/pkgs/libstdthreads.nix | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libstdthreads.nix diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libstdthreads.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libstdthreads.nix new file mode 100644 index 000000000000..2f5fd7c6afd1 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libstdthreads.nix @@ -0,0 +1,5 @@ +{ mkDerivation }: +mkDerivation { + path = "lib/libstdthreads"; + extraPaths = [ "lib/libc/Versions.def" ]; +} From f24b19390b7717773e1bc6775f99afed184756a8 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:08:13 -0700 Subject: [PATCH 028/152] docbook2x: add runtime dependency on iconv binary This package uses iconv(1), which is provided by pkgs.iconv. This won't be a problem unless libiconv != iconv, e.g. on FreeBSD. --- pkgs/tools/typesetting/docbook2x/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix index 3fa76f56d0f0..f964f7633d9e 100644 --- a/pkgs/tools/typesetting/docbook2x/default.nix +++ b/pkgs/tools/typesetting/docbook2x/default.nix @@ -1,5 +1,5 @@ { fetchurl, lib, stdenv, texinfo, perlPackages -, groff, libxml2, libxslt, gnused, libiconv, opensp +, groff, libxml2, libxslt, gnused, libiconv, iconv, opensp , docbook_xml_dtd_43, bash , makeWrapper }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { patches = [ ./db2x_texixml-to-stdout.patch ]; nativeBuildInputs = [ makeWrapper perlPackages.perl texinfo libxslt ]; - buildInputs = [ groff libxml2 opensp libiconv bash ] + buildInputs = [ groff libxml2 opensp libiconv iconv bash ] ++ (with perlPackages; [ perl XMLSAX XMLParser XMLNamespaceSupport ]); postConfigure = '' From 3f15de5959114a7b7b793b2fc9568b6605eb069d Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 21 Jul 2024 03:34:30 +0200 Subject: [PATCH 029/152] wayland: don't propagate bin output This fixes the host platform wayland-scanner binary leaking into cross builds. --- pkgs/development/libraries/wayland/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 5a78a5c993ef..6a057a9847dd 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -55,6 +55,9 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" "bin" "dev" ] ++ lib.optionals withDocumentation [ "doc" "man" ]; separateDebugInfo = true; + # We don't want `bin` to be propagated, as it'd propagate wayland-scanner, which breaks cross. + # See https://github.com/NixOS/nixpkgs/pull/328804 + propagatedBuildOutputs = [ "out" "dev" ]; mesonFlags = [ "-Ddocumentation=${lib.boolToString withDocumentation}" From 2ea2276b3032dc1ae8d21d23fd87b1fc5c3f0f66 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Sun, 21 Jul 2024 09:53:17 -0400 Subject: [PATCH 030/152] texinfo: set texinfo_cv_sys_iconv_converts_euc_cn=yes when cross compiling version >= 7.1 Reference: https://lists.openembedded.org/g/openembedded-core/message/197071 --- pkgs/development/tools/misc/texinfo/common.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix index 9b5959d40e47..a43eab5f00e5 100644 --- a/pkgs/development/tools/misc/texinfo/common.nix +++ b/pkgs/development/tools/misc/texinfo/common.nix @@ -101,6 +101,9 @@ stdenv.mkDerivation { "--enable-perl-xs=no" "TI_AWK=${getBin gawk}/bin/awk" ] + ++ optionals (crossBuildTools && lib.versionAtLeast version "7.1") [ + "texinfo_cv_sys_iconv_converts_euc_cn=yes" + ] ++ optional stdenv.isSunOS "AWK=${gawk}/bin/awk"; installFlags = [ "TEXMF=$(out)/texmf-dist" ]; From 3a6026ad2368c9f214eae6856c0eb7fb013e1577 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 21 Jul 2024 16:15:57 +0200 Subject: [PATCH 031/152] python312Packages.cryptography: 42.0.8 -> 43.0.0 https://cryptography.io/en/latest/changelog/#v43-0-0 --- .../python-modules/cryptography/default.nix | 37 ++++++++----------- .../python-modules/cryptography/vectors.nix | 2 +- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index a440e7e480da..29076051578e 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -3,12 +3,12 @@ stdenv, buildPythonPackage, callPackage, - cargo, + setuptools, + bcrypt, certifi, cffi, cryptography-vectors ? (callPackage ./vectors.nix { }), fetchPypi, - fetchpatch2, isPyPy, libiconv, libxcrypt, @@ -18,39 +18,29 @@ pytest-xdist, pytestCheckHook, pythonOlder, - rustc, rustPlatform, Security, - setuptoolsRustBuildHook, }: buildPythonPackage rec { pname = "cryptography"; - version = "42.0.8"; # Also update the hash in vectors.nix + version = "43.0.0"; # Also update the hash in vectors.nix pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-jQnQVDnOe6qOnpWwfsW2yIb1SN634Pae8l9ks7zoQvI="; + hash = "sha256-uIB1raLVGqnxgoNTLJ9g5yFwBBu6iNfzfknLsQJ1KZ4="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; sourceRoot = "${pname}-${version}/${cargoRoot}"; name = "${pname}-${version}"; - hash = "sha256-PgxPcFocEhnQyrsNtCN8YHiMptBmk1PUhEDQFdUR1nU="; + hash = "sha256-TEQy8PrIaZshiBFTqR/OJp3e/bVM1USjcmpDYcjPJPM="; }; - patches = [ - (fetchpatch2 { - # skip overflowing tests on 32 bit; https://github.com/pyca/cryptography/pull/10366 - url = "https://github.com/pyca/cryptography/commit/d741901dddd731895346636c0d3556c6fa51fbe6.patch"; - hash = "sha256-eC+MZg5O8Ia5CbjRE4y+JhaFs3Q5c62QtPHr3x9T+zw="; - }) - ]; - postPatch = '' substituteInPlace pyproject.toml \ --replace-fail "--benchmark-disable" "" @@ -58,12 +48,11 @@ buildPythonPackage rec { cargoRoot = "src/rust"; - nativeBuildInputs = [ + build-system = [ rustPlatform.cargoSetupHook - setuptoolsRustBuildHook - cargo - rustc + rustPlatform.maturinBuildHook pkg-config + setuptools ] ++ lib.optionals (!isPyPy) [ cffi ]; buildInputs = @@ -74,7 +63,9 @@ buildPythonPackage rec { ] ++ lib.optionals (pythonOlder "3.9") [ libxcrypt ]; - propagatedBuildInputs = lib.optionals (!isPyPy) [ cffi ]; + dependencies = lib.optionals (!isPyPy) [ cffi ]; + + optional-dependencies.ssh = [ bcrypt ]; nativeCheckInputs = [ certifi @@ -82,7 +73,7 @@ buildPythonPackage rec { pretend pytestCheckHook pytest-xdist - ]; + ] ++ optional-dependencies.ssh; pytestFlagsArray = [ "--disable-pytest-warnings" ]; @@ -91,6 +82,10 @@ buildPythonPackage rec { "tests/bench" ]; + passthru = { + vectors = cryptography-vectors; + }; + meta = with lib; { description = "Package which provides cryptographic recipes and primitives"; longDescription = '' diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix index 8d1bb48d623a..d0f635df8b9e 100644 --- a/pkgs/development/python-modules/cryptography/vectors.nix +++ b/pkgs/development/python-modules/cryptography/vectors.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "cryptography_vectors"; inherit version; - hash = "sha256-31ZXNnvAqQw3QwnLJhAJosU8rpGkWHgTOaD3JPgZpGo="; + hash = "sha256-XJ0JpzLVQzzt4VQqluzXCoDhIq8EfudAS83x88y45wI="; }; nativeBuildInputs = [ flit-core ]; From f75d50324faf773abf9c66c04fa1ff1fe2bf0919 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sun, 21 Jul 2024 12:55:04 +0200 Subject: [PATCH 032/152] nodejs: use upstream patch instead of custom one --- .../web/nodejs/use-correct-env-in-tests.patch | 7 ------- pkgs/development/web/nodejs/v18.nix | 9 +++++++++ pkgs/development/web/nodejs/v20.nix | 8 ++++++++ pkgs/development/web/nodejs/v22.nix | 8 ++++++++ 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/pkgs/development/web/nodejs/use-correct-env-in-tests.patch b/pkgs/development/web/nodejs/use-correct-env-in-tests.patch index d2fda8d2cead..070d0e1ddfc3 100644 --- a/pkgs/development/web/nodejs/use-correct-env-in-tests.patch +++ b/pkgs/development/web/nodejs/use-correct-env-in-tests.patch @@ -1,12 +1,5 @@ `/usr/bin/env` is not available. ---- old/test/common/assertSnapshot.js -+++ new/test/common/assertSnapshot.js -@@ -81,2 +81,2 @@ async function spawnAndAssert(filename, transform = (x) => x, { tty = false, ... -- const executable = tty ? 'tools/pseudo-tty.py' : process.execPath; -- const args = tty ? [process.execPath, ...flags, filename] : [...flags, filename]; -+ const executable = tty ? 'python3' : process.execPath; -+ const args = tty ? ['tools/pseudo-tty.py', process.execPath, ...flags, filename] : [...flags, filename]; --- old/test/parallel/test-child-process-default-options.js +++ new/test/parallel/test-child-process-default-options.js @@ -35 +35 @@ if (isWindows) { diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix index 1101fbdf725d..ab2edcf5e8c9 100644 --- a/pkgs/development/web/nodejs/v18.nix +++ b/pkgs/development/web/nodejs/v18.nix @@ -37,5 +37,14 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/534c122de166cb6464b489f3e6a9a544ceb1c913.patch"; hash = "sha256-4q4LFsq4yU1xRwNsM1sJoNVphJCnxaVe2IyL6AeHJ/I="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/87598d4b63ef2c827a2bebdfa0f1540c35718519.patch"; + hash = "sha256-JJi8z9aaWnu/y3nZGOSUfeNzNSCYzD9dzoHXaGkeaEA="; + includes = ["test/common/assertSnapshot.js"]; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; + hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k="; + }) ] ++ gypPatches; } diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix index bf0e2f7feffb..1688eca1d2da 100644 --- a/pkgs/development/web/nodejs/v20.nix +++ b/pkgs/development/web/nodejs/v20.nix @@ -27,5 +27,13 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/14863e80584e579fd48c55f6373878c821c7ff7e.patch"; hash = "sha256-I7Wjc7DE059a/ZyXAvAqEGvDudPjxQqtkBafckHCFzo="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/87598d4b63ef2c827a2bebdfa0f1540c35718519.patch"; + hash = "sha256-efRJ2nN9QXaT91SQTB+ESkHvXtBq30Cb9BEDEZU9M/8="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; + hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k="; + }) ] ++ gypPatches; } diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index 44737d2ba8ec..6d34a1907263 100644 --- a/pkgs/development/web/nodejs/v22.nix +++ b/pkgs/development/web/nodejs/v22.nix @@ -20,5 +20,13 @@ buildNodejs { ./node-npm-build-npm-package-logic.patch ./use-correct-env-in-tests.patch ./bin-sh-node-run-v22.patch + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/87598d4b63ef2c827a2bebdfa0f1540c35718519.patch"; + hash = "sha256-efRJ2nN9QXaT91SQTB+ESkHvXtBq30Cb9BEDEZU9M/8="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; + hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k="; + }) ] ++ gypPatches; } From 070791fba6ce4cf0ebb16e490f25397bcc562e59 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sun, 21 Jul 2024 18:23:44 +0200 Subject: [PATCH 033/152] nodejs_22: 22.4.1 -> 22.5.1 --- pkgs/development/web/nodejs/v22.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index 6d34a1907263..9b3fa4fa0d8b 100644 --- a/pkgs/development/web/nodejs/v22.nix +++ b/pkgs/development/web/nodejs/v22.nix @@ -12,18 +12,14 @@ let in buildNodejs { inherit enableNpm; - version = "22.4.1"; - sha256 = "sha256-ZfyFf1qoJWqvyQCzRMARXJrq4loCVB/Vzg29Tf0cX7k="; + version = "22.5.1"; + sha256 = "924f381a32cf26b6bedbe95feedde348450f4fd321283d3bf3f7965aa45ce831"; patches = [ ./disable-darwin-v8-system-instrumentation-node19.patch ./bypass-darwin-xcrun-node16.patch ./node-npm-build-npm-package-logic.patch ./use-correct-env-in-tests.patch ./bin-sh-node-run-v22.patch - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/87598d4b63ef2c827a2bebdfa0f1540c35718519.patch"; - hash = "sha256-efRJ2nN9QXaT91SQTB+ESkHvXtBq30Cb9BEDEZU9M/8="; - }) (fetchpatch2 { url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k="; From dca354dd14e087e22a248fa5f1cee7c4dae2aa82 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 20 Jul 2024 12:38:06 +0000 Subject: [PATCH 034/152] xapian: 1.4.25 -> 1.4.26 --- pkgs/development/libraries/xapian/default.nix | 2 +- pkgs/development/libraries/xapian/tools/omega/default.nix | 2 +- pkgs/development/python-modules/xapian/default.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix index 7a06951f8422..9a27f1e1dd0c 100644 --- a/pkgs/development/libraries/xapian/default.nix +++ b/pkgs/development/libraries/xapian/default.nix @@ -59,5 +59,5 @@ in { # Don't forget to change the hashes in xapian-omega and # python3Packages.xapian. They inherit the version from this package, and # should always be built with the equivalent xapian version. - xapian_1_4 = generic "1.4.25" "sha256-DJnf3YF1cctWibxBKn4CFAeTgxPzjqOnD6O/hkEGCO4="; + xapian_1_4 = generic "1.4.26" "sha256-nmp5A4BpZtFs4iC0k3fJyPrWZ8jw/8sjo0QpRiaTY6c="; } diff --git a/pkgs/development/libraries/xapian/tools/omega/default.nix b/pkgs/development/libraries/xapian/tools/omega/default.nix index e8c238a24b11..0bfb9c6326aa 100644 --- a/pkgs/development/libraries/xapian/tools/omega/default.nix +++ b/pkgs/development/libraries/xapian/tools/omega/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz"; - hash = "sha256-L8C1BeYG1eHc3h8iNitvAjfZ6Ef8m2r1OPmbyavR/Ms="; + hash = "sha256-pbI4bhsE34TRFJqenFvPxeRyammmnaZBuGxo15ln2uQ="; }; buildInputs = [ xapian perl pcre2 zlib libmagic ]; diff --git a/pkgs/development/python-modules/xapian/default.nix b/pkgs/development/python-modules/xapian/default.nix index 58981027b3e8..87f6669963fb 100644 --- a/pkgs/development/python-modules/xapian/default.nix +++ b/pkgs/development/python-modules/xapian/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchurl { url = "https://oligarchy.co.uk/xapian/${version}/xapian-bindings-${version}.tar.xz"; - hash = "sha256-BoMU/KP1RSRwFJLfQy+lTEhf1OOWE8os0nXhNpZOgak="; + hash = "sha256-VQhzVz7gQBGZ+DX+9R3ficp7wm97jRvcylnaZD+zyoE="; }; configureFlags = [ From 551928bf932b60163957cd51c19836122c8d9eaa Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 21 Jul 2024 19:44:37 +0100 Subject: [PATCH 035/152] xapian: add (more) key reverse-dependencies to passthru.tests --- pkgs/development/libraries/xapian/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix index 9a27f1e1dd0c..0862fcfe25f6 100644 --- a/pkgs/development/libraries/xapian/default.nix +++ b/pkgs/development/libraries/xapian/default.nix @@ -7,6 +7,9 @@ # tests , mu +, perlPackages +, python3 +, xapian-omega }: let @@ -43,7 +46,9 @@ let ''; passthru.tests = { - inherit mu; + inherit mu xapian-omega; + inherit (perlPackages) SearchXapian; + python-xapian = python3.pkgs.xapian; }; meta = with lib; { From 3cf28607c1403dc63479982796942b5023089e30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Sun, 21 Jul 2024 17:56:27 -0400 Subject: [PATCH 036/152] pipewire: remove superfluous args --- .../libraries/pipewire/default.nix | 84 ++++++++----------- 1 file changed, 36 insertions(+), 48 deletions(-) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index c0540e4080fe..bf8386d54403 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -5,7 +5,6 @@ , meson , ninja , systemd -, enableSystemd ? true , pkg-config , docutils , doxygen @@ -15,7 +14,6 @@ , alsa-lib , libjack2 , libusb1 -, udev , libsndfile , vulkanSupport ? true , vulkan-headers @@ -27,52 +25,35 @@ , lilv , makeFontsConf , nixosTests -, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind , valgrind -, libcameraSupport ? true , libcamera , libdrm -, gstreamerSupport ? true , gst_all_1 -, ffmpegSupport ? true , ffmpeg -, bluezSupport ? true , bluez , sbc , libfreeaptx , liblc3 , fdk_aac , libopus -, ldacbtSupport ? bluezSupport && lib.meta.availableOn stdenv.hostPlatform ldacbt , ldacbt -, nativeHspSupport ? true -, nativeHfpSupport ? true -, nativeModemManagerSupport ? true , modemmanager -, ofonoSupport ? true -, hsphfpdSupport ? true -, pulseTunnelSupport ? true , libpulseaudio , zeroconfSupport ? true , avahi , raopSupport ? true , openssl -, opusSupport ? true , rocSupport ? true , roc-toolkit , x11Support ? true , libcanberra , xorg -, mysofaSupport ? true , libmysofa , ffadoSupport ? x11Support && lib.systems.equals stdenv.buildPlatform stdenv.hostPlatform , ffado , libselinux }: -# Bluetooth codec only makes sense if general bluetooth enabled -assert ldacbtSupport -> bluezSupport; - stdenv.mkDerivation(finalAttrs: { pname = "pipewire"; version = "1.2.1"; @@ -115,35 +96,41 @@ stdenv.mkDerivation(finalAttrs: { buildInputs = [ alsa-lib + bluez dbus + fdk_aac + ffmpeg glib + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + libcamera libjack2 + libfreeaptx + liblc3 + libmysofa + libopus + libpulseaudio libusb1 libselinux libsndfile lilv + modemmanager ncurses readline - ] ++ (if enableSystemd then [ systemd ] else [ udev ]) + sbc + systemd + ] ++ (if lib.meta.availableOn stdenv.hostPlatform webrtc-audio-processing_1 then [ webrtc-audio-processing_1 ] else [ webrtc-audio-processing ]) - ++ lib.optionals gstreamerSupport [ gst_all_1.gst-plugins-base gst_all_1.gstreamer ] - ++ lib.optionals libcameraSupport [ libcamera ] - ++ lib.optional ffmpegSupport ffmpeg - ++ lib.optionals bluezSupport [ bluez libfreeaptx liblc3 sbc fdk_aac libopus ] - ++ lib.optional ldacbtSupport ldacbt - ++ lib.optional nativeModemManagerSupport modemmanager - ++ lib.optional opusSupport libopus - ++ lib.optional pulseTunnelSupport libpulseaudio + ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform ldacbt) ldacbt ++ lib.optional zeroconfSupport avahi ++ lib.optional raopSupport openssl ++ lib.optional rocSupport roc-toolkit ++ lib.optionals vulkanSupport [ libdrm vulkan-headers vulkan-loader ] ++ lib.optionals x11Support [ libcanberra xorg.libX11 xorg.libXfixes ] - ++ lib.optional mysofaSupport libmysofa ++ lib.optional ffadoSupport ffado; # Valgrind binary is required for running one optional test. - nativeCheckInputs = lib.optional withValgrind valgrind; + nativeCheckInputs = lib.optional (lib.meta.availableOn stdenv.hostPlatform valgrind) valgrind; mesonFlags = [ (lib.mesonEnable "docs" true) @@ -151,28 +138,29 @@ stdenv.mkDerivation(finalAttrs: { (lib.mesonEnable "installed_tests" true) (lib.mesonOption "installed_test_prefix" (placeholder "installedTests")) (lib.mesonOption "libjack-path" "${placeholder "jack"}/lib") - (lib.mesonEnable "libcamera" libcameraSupport) + (lib.mesonEnable "libcamera" true) (lib.mesonEnable "libffado" ffadoSupport) (lib.mesonEnable "roc" rocSupport) - (lib.mesonEnable "libpulse" pulseTunnelSupport) + (lib.mesonEnable "libpulse" true) (lib.mesonEnable "avahi" zeroconfSupport) - (lib.mesonEnable "gstreamer" gstreamerSupport) - (lib.mesonEnable "systemd" enableSystemd) - (lib.mesonEnable "systemd-system-service" enableSystemd) - (lib.mesonEnable "udev" (!enableSystemd)) - (lib.mesonEnable "ffmpeg" ffmpegSupport) - (lib.mesonEnable "pw-cat-ffmpeg" ffmpegSupport) - (lib.mesonEnable "bluez5" bluezSupport) - (lib.mesonEnable "bluez5-backend-hsp-native" nativeHspSupport) - (lib.mesonEnable "bluez5-backend-hfp-native" nativeHfpSupport) - (lib.mesonEnable "bluez5-backend-native-mm" nativeModemManagerSupport) - (lib.mesonEnable "bluez5-backend-ofono" ofonoSupport) - (lib.mesonEnable "bluez5-backend-hsphfpd" hsphfpdSupport) + (lib.mesonEnable "gstreamer" true) + (lib.mesonEnable "gstreamer-device-provider" true) + (lib.mesonEnable "systemd" true) + (lib.mesonEnable "systemd-system-service" true) + (lib.mesonEnable "udev" false) + (lib.mesonEnable "ffmpeg" true) + (lib.mesonEnable "pw-cat-ffmpeg" true) + (lib.mesonEnable "bluez5" true) + (lib.mesonEnable "bluez5-backend-hsp-native" true) + (lib.mesonEnable "bluez5-backend-hfp-native" true) + (lib.mesonEnable "bluez5-backend-native-mm" true) + (lib.mesonEnable "bluez5-backend-ofono" true) + (lib.mesonEnable "bluez5-backend-hsphfpd" true) # source code is not easily obtainable (lib.mesonEnable "bluez5-codec-lc3plus" false) - (lib.mesonEnable "bluez5-codec-lc3" bluezSupport) - (lib.mesonEnable "bluez5-codec-ldac" ldacbtSupport) - (lib.mesonEnable "opus" opusSupport) + (lib.mesonEnable "bluez5-codec-lc3" true) + (lib.mesonEnable "bluez5-codec-ldac" true) + (lib.mesonEnable "opus" true) (lib.mesonOption "sysconfdir" "/etc") (lib.mesonEnable "raop" raopSupport) (lib.mesonOption "session-managers" "") @@ -180,7 +168,7 @@ stdenv.mkDerivation(finalAttrs: { (lib.mesonEnable "x11" x11Support) (lib.mesonEnable "x11-xfixes" x11Support) (lib.mesonEnable "libcanberra" x11Support) - (lib.mesonEnable "libmysofa" mysofaSupport) + (lib.mesonEnable "libmysofa" true) (lib.mesonEnable "sdl2" false) # required only to build examples, causes dependency loop (lib.mesonBool "rlimits-install" false) # installs to /etc, we won't use this anyway (lib.mesonEnable "compress-offload" true) From 616637d813b260d397a4bac3fe7202a15e4f3607 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:12:52 -0700 Subject: [PATCH 037/152] source-highlight: update gnu config scripts --- pkgs/tools/text/source-highlight/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix index d20b3692f31c..07ed74f91c73 100644 --- a/pkgs/tools/text/source-highlight/default.nix +++ b/pkgs/tools/text/source-highlight/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchpatch, fetchurl, boost }: +{ lib, stdenv, fetchpatch, fetchurl, boost, updateAutotoolsGnuConfigScriptsHook }: stdenv.mkDerivation rec { pname = "source-highlight"; @@ -43,6 +43,9 @@ stdenv.mkDerivation rec { ''; strictDeps = true; + # necessary to build on FreeBSD native pending inclusion of + # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; buildInputs = [ boost ]; configureFlags = [ From 488168b7c1d3732831ef9cf03ab28095135fec81 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:21:18 -0700 Subject: [PATCH 038/152] mpfr: update gnu config scripts --- pkgs/development/libraries/mpfr/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index dec33a63d155..2ba09fc226fd 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -3,6 +3,7 @@ , fetchurl , gmp , writeScript +, updateAutotoolsGnuConfigScriptsHook }: # Note: this package is used for bootstrapping fetchurl, and thus @@ -25,6 +26,9 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "doc" "info" ]; strictDeps = true; + # necessary to build on FreeBSD native pending inclusion of + # https://git.savannah.gnu.org/cgit/config.git/commit/?id=e4786449e1c26716e3f9ea182caf472e4dbc96e0 + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; # mpfr.h requires gmp.h propagatedBuildInputs = [ gmp ]; From df7a52b48a0c7bdad72f5c81a4b9c0d8442cbfe3 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:21:57 -0700 Subject: [PATCH 039/152] libipt: Add libstdthreads dependency on FreeBSD This lib is part of the FreeBSD base system, but is not included in the stdenv. --- pkgs/development/libraries/libipt/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libipt/default.nix b/pkgs/development/libraries/libipt/default.nix index ed88ed8f2828..61ec0ce67d88 100644 --- a/pkgs/development/libraries/libipt/default.nix +++ b/pkgs/development/libraries/libipt/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ lib, stdenv, fetchFromGitHub, cmake, freebsd }: stdenv.mkDerivation rec { pname = "libipt"; @@ -12,6 +12,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; + buildInputs = lib.optional stdenv.isFreeBSD freebsd.libstdthreads; meta = with lib; { description = "Intel Processor Trace decoder library"; From beb34f1b960494e167c1674e31d0beddf51cd647 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:19:55 -0700 Subject: [PATCH 040/152] gdb: mark support for FreeBSD --- pkgs/development/tools/misc/gdb/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index 21dafb9bbce7..7f97eebce157 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -155,7 +155,7 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3Plus; # GDB upstream does not support ARM darwin - platforms = with platforms; linux ++ cygwin ++ ["x86_64-darwin"]; + platforms = with platforms; linux ++ cygwin ++ freebsd ++ ["x86_64-darwin"]; maintainers = with maintainers; [ pierron globin lsix ]; }; } From c6c7efd88da1f6476ff01e5c8689b648e5939862 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 22 Jul 2024 19:38:47 +0200 Subject: [PATCH 041/152] libwacom: Load config from /etc This will allow users to install custom quirks. --- pkgs/development/libraries/libwacom/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix index 22aab5c66944..0e9a0d54e178 100644 --- a/pkgs/development/libraries/libwacom/default.nix +++ b/pkgs/development/libraries/libwacom/default.nix @@ -50,6 +50,7 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dtests=${if doCheck then "enabled" else "disabled"}" + "--sysconfdir=/etc" ]; nativeCheckInputs = [ From 2101706acf086f623a132cc288c3a02d444b8d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 23 Jul 2024 02:05:14 -0700 Subject: [PATCH 042/152] python312Packages.pikepdf: 9.0.0 -> 9.1.0 Diff: https://github.com/pikepdf/pikepdf/compare/v9.0.0...v9.1.0 Changelog: https://github.com/pikepdf/pikepdf/blob/v9.1.0/docs/releasenotes/version9.rst --- pkgs/development/python-modules/pikepdf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index 14ae97ea9686..fc105cbe0aa7 100644 --- a/pkgs/development/python-modules/pikepdf/default.nix +++ b/pkgs/development/python-modules/pikepdf/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { pname = "pikepdf"; - version = "9.0.0"; + version = "9.1.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -40,7 +40,7 @@ buildPythonPackage rec { postFetch = '' rm "$out/.git_archival.txt" ''; - hash = "sha256-dTEYI3dGu3Q/80lijp0ooApveSL1VWVHwLw7covnYYc="; + hash = "sha256-rcL4kwF8aBHy/sxZiQsQGvN3i1geiPFyrv8nRSXUZSA="; }; patches = [ From 3f547bd512a485877a71f5a9b1f84377fb7629e6 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 23 Jul 2024 20:03:47 +0100 Subject: [PATCH 043/152] libopenmpt: 0.7.8 -> 0.7.9 Changes: https://lib.openmpt.org/libopenmpt/2024/07/21/security-updates-0.7.9-0.6.18-0.5.32-0.4.44/ --- pkgs/development/libraries/audio/libopenmpt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/audio/libopenmpt/default.nix b/pkgs/development/libraries/audio/libopenmpt/default.nix index 8e32ae89502b..a08b93a9b0e5 100644 --- a/pkgs/development/libraries/audio/libopenmpt/default.nix +++ b/pkgs/development/libraries/audio/libopenmpt/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "libopenmpt"; - version = "0.7.8"; + version = "0.7.9"; outputs = [ "out" "dev" "bin" ]; src = fetchurl { url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; - hash = "sha256-h3eMgEaiJsbL+xFPTI4+J8Eht7PczOXLfeRYmSUCdMw="; + hash = "sha256-A4bpGNddeX551bFO3QhHFl2LNZ6YEe9XZSwKNWot/PQ="; }; enableParallelBuilding = true; From 0b29e62aa1af595290d59c9b046ee8158e4181e8 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Wed, 24 Jul 2024 00:07:06 +0200 Subject: [PATCH 044/152] Revert "wayland: don't propagate bin output" This reverts commit 3f15de5959114a7b7b793b2fc9568b6605eb069d. As commented in https://github.com/NixOS/nixpkgs/pull/328804#issuecomment-2245593645, this broke quite some builds, and some of the interactions between wayland and its `.pc` file are still uncertain. Revert for now, and re-roll this later. --- pkgs/development/libraries/wayland/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 6a057a9847dd..5a78a5c993ef 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -55,9 +55,6 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" "bin" "dev" ] ++ lib.optionals withDocumentation [ "doc" "man" ]; separateDebugInfo = true; - # We don't want `bin` to be propagated, as it'd propagate wayland-scanner, which breaks cross. - # See https://github.com/NixOS/nixpkgs/pull/328804 - propagatedBuildOutputs = [ "out" "dev" ]; mesonFlags = [ "-Ddocumentation=${lib.boolToString withDocumentation}" From e54753495c34c8fc6df4622fce91ec8370a40e06 Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Fri, 31 May 2024 14:24:56 +0200 Subject: [PATCH 045/152] linux/common-config: restrict access to dmesg `SECURITY_DMESG_RESTRICT` is enabled by default by a lot of other distributions for a quite a while now, NixOS is a bit of an outlier. The main justification to enable it is that kernel log might leak kernel pointers which can then be used by exploits to defeat KASLR (NixOS also enables `kernel.kptr_restrict` by default since 2013). --- nixos/doc/manual/release-notes/rl-2411.section.md | 3 +++ pkgs/os-specific/linux/kernel/common-config.nix | 2 ++ 2 files changed, 5 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 350498dfde18..330d76c8ed9c 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -262,6 +262,9 @@ The derivation now installs "impl" headers selectively instead of by a wildcard. Use `imgui.src` if you just want to access the unpacked sources. +- Unprivileged access to the kernel syslog via `dmesg` is now restricted by default. Users wanting to keep an + unrestricted access to it can set `boot.kernel.sysctl."kernel.dmesg_restrict" = false`. + - The `i18n.inputMethod` module introduces two new properties: `enable` and `type`, for declaring whether to enable an alternative input method and defining which input method respectfully. The options available in `type` are the same as the existing `enabled` option. `enabled` is now deprecated, and will be removed in a future release. diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index bbfb317d67ac..6fbc10dcecf2 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -702,6 +702,8 @@ let SECURITY_APPARMOR = yes; DEFAULT_SECURITY_APPARMOR = yes; + SECURITY_DMESG_RESTRICT = yes; + RANDOM_TRUST_CPU = whenOlder "6.2" yes; # allow RDRAND to seed the RNG RANDOM_TRUST_BOOTLOADER = whenOlder "6.2" (whenAtLeast "5.4" yes); # allow the bootloader to seed the RNG From bf2d040432f7a98c67c124141928d748e3e721bd Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 24 Jul 2024 10:43:02 +0200 Subject: [PATCH 046/152] postgresql: 15 -> 16 for 24.11+ Upgrade default postgresql for stateVersion >=24.11. This also rebuilds all packages linking against `libpq.so` to use postgresql 16. After re-reading https://www.postgresql.org/docs/16/release-16.html I don't see any major risks about doing that. --- nixos/doc/manual/release-notes/rl-2411.section.md | 2 ++ nixos/modules/services/databases/postgresql.nix | 3 ++- pkgs/top-level/all-packages.nix | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 350498dfde18..a3925937c3e4 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -10,6 +10,8 @@ This also allows configuring runtime settings of AMDVLK and enabling experimental features. - The `moonlight-qt` package ([Moonlight game streaming](https://moonlight-stream.org/)) now has HDR support on Linux systems. +- PostgreSQL now defaults to major version 16. + - `authelia` has been upgraded to version 4.38. This version brings several features and improvements which are detailed in the [release blog post](https://www.authelia.com/blog/4.38-release-notes/). This release also deprecates some configuration keys, which are likely to be removed in future version 5.0, but they are still supported and expected to be working in the current version. diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 8a9d8c210b34..55b3dd282ec4 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -483,7 +483,8 @@ in services.postgresql.package = let mkThrow = ver: throw "postgresql_${ver} was removed, please upgrade your postgresql version."; - base = if versionAtLeast config.system.stateVersion "23.11" then pkgs.postgresql_15 + base = if versionAtLeast config.system.stateVersion "24.11" then pkgs.postgresql_16 + else if versionAtLeast config.system.stateVersion "23.11" then pkgs.postgresql_15 else if versionAtLeast config.system.stateVersion "22.05" then pkgs.postgresql_14 else if versionAtLeast config.system.stateVersion "21.11" then pkgs.postgresql_13 else if versionAtLeast config.system.stateVersion "20.03" then mkThrow "11" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5097136c3a8f..737f8d6d82ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25942,20 +25942,20 @@ with pkgs; postgresql_15_jit postgresql_16_jit ; - postgresql = postgresql_15; - postgresql_jit = postgresql_15_jit; + postgresql = postgresql_16; + postgresql_jit = postgresql_16_jit; postgresqlPackages = recurseIntoAttrs postgresql.pkgs; postgresqlJitPackages = recurseIntoAttrs postgresql_jit.pkgs; postgresql12Packages = recurseIntoAttrs postgresql_12.pkgs; postgresql13Packages = recurseIntoAttrs postgresql_13.pkgs; postgresql14Packages = recurseIntoAttrs postgresql_14.pkgs; - postgresql16Packages = recurseIntoAttrs postgresql_16.pkgs; + postgresql15Packages = recurseIntoAttrs postgresql_15.pkgs; postgresql12JitPackages = recurseIntoAttrs postgresql_12_jit.pkgs; postgresql13JitPackages = recurseIntoAttrs postgresql_13_jit.pkgs; postgresql14JitPackages = recurseIntoAttrs postgresql_14_jit.pkgs; postgresql15JitPackages = recurseIntoAttrs postgresql_15_jit.pkgs; postgresql16JitPackages = recurseIntoAttrs postgresql_16_jit.pkgs; - postgresql15Packages = postgresqlPackages; + postgresql16Packages = postgresqlPackages; postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { }; From 89b8ad6898068a2c9b78a9936a0fd50833b4cc5a Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 24 Jul 2024 13:17:21 +0200 Subject: [PATCH 047/152] curl: 8.8.0 -> 8.9.0 https://curl.se/ch/8.9.0.html https://curl.se/docs/CVE-2024-6197.html https://curl.se/docs/CVE-2024-6874.html Fixes: CVE-2024-6197, CVE-2024-6874 --- pkgs/tools/networking/curl/default.nix | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 154156e89463..bd593be2e1e5 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -49,22 +49,16 @@ assert !((lib.count (x: x) [ gnutlsSupport opensslSupport wolfsslSupport rustlsS stdenv.mkDerivation (finalAttrs: { pname = "curl"; - version = "8.8.0"; + version = "8.9.0"; 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-D1i7lfwzDIpG7rPfVwGw2Qydm/zEK9HNCHkdElUdRAA="; + hash = "sha256-/wmyeRylbSX9XD86SSfc58ip3EGCIAxIfKiJ+6H91BI="; }; - patches = lib.optionals (lib.versionOlder finalAttrs.version "8.7.2") [ - # https://github.com/curl/curl/pull/13219 - # https://github.com/newsboat/newsboat/issues/2728 - ./8.7.1-compression-fix.patch - ]; - # this could be accomplished by updateAutotoolsGnuConfigScriptsHook, but that causes infinite recursion # necessary for FreeBSD code path in configure postPatch = '' @@ -213,7 +207,7 @@ stdenv.mkDerivation (finalAttrs: { }; meta = with lib; { - changelog = "https://curl.se/changes.html#${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + changelog = "https://curl.se/ch/${finalAttrs.version}.html"; description = "Command line tool for transferring files with URL syntax"; homepage = "https://curl.se/"; license = licenses.curl; From f951f5e29630c72464662b1fcb7fa432b26b1884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 08:44:44 -0700 Subject: [PATCH 048/152] python312Packages.validators: 0.28.0 -> 0.33.0 Diff: https://github.com/python-validators/validators/compare/refs/tags/0.28.0...0.33.0 Changelog: https://github.com/python-validators/validators/blob/0.33.0/CHANGES.md --- .../development/python-modules/validators/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/validators/default.nix b/pkgs/development/python-modules/validators/default.nix index 4a5e2f7df1cf..1664916710d5 100644 --- a/pkgs/development/python-modules/validators/default.nix +++ b/pkgs/development/python-modules/validators/default.nix @@ -1,6 +1,7 @@ { lib, buildPythonPackage, + eth-hash, fetchFromGitHub, pytestCheckHook, pythonOlder, @@ -9,7 +10,7 @@ buildPythonPackage rec { pname = "validators"; - version = "0.28.0"; + version = "0.33.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -18,12 +19,16 @@ buildPythonPackage rec { owner = "python-validators"; repo = "validators"; rev = "refs/tags/${version}"; - hash = "sha256-r3SQvt96y8e9odWxz0GjVKH3+Pa0Lqs+tbhryeGaZUU="; + hash = "sha256-eLujcm2MD1mPjROrBTg9TfU9wts16Jgb+ouNXFHsFZ0="; }; build-system = [ setuptools ]; - nativeCheckInputs = [ pytestCheckHook ]; + optional-dependencies = { + crypto-eth-addresses = [ eth-hash ] ++ eth-hash.optional-dependencies.pycryptodome; + }; + + nativeCheckInputs = [ pytestCheckHook ] ++ lib.flatten (lib.attrValues optional-dependencies); pythonImportsCheck = [ "validators" ]; From 8e14f63b37be18a0e7b7a533235de31b933bc0c8 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 24 Jul 2024 22:20:41 +0100 Subject: [PATCH 049/152] libxml2: 2.13.2 -> 2.13.3 Changes: https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.3 --- .../development/libraries/libxml2/default.nix | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 60ac5e2ccbe9..ebac536c4360 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchurl -, fetchpatch , pkg-config , autoreconfHook , libintl @@ -24,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libxml2"; - version = "2.13.2"; + version = "2.13.3"; outputs = [ "bin" "dev" "out" "devdoc" ] ++ lib.optional pythonSupport "py" @@ -33,28 +32,9 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor finalAttrs.version}/libxml2-${finalAttrs.version}.tar.xz"; - hash = "sha256-58j14LVUIVng3cQJwiyRZDBLWB6qmTBlOnb7hFsWkmM="; + hash = "sha256-CAXXwYDPCcqtcWZsekWKdPBBVhpTKQJFTaUEfYOUgTg="; }; - patches = [ - # Fix XInclude failing too aggresively. - # https://gitlab.gnome.org/GNOME/libxml2/-/issues/772 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/a0330b53c8034bb79220e403e8d4ad8c23ef088f.patch"; - hash = "sha256-iVAgX8qNF0fw8GYUKsWduudjEuRMEOTAENAIFTjyRjU="; - }) - # Fix error handling - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/ed8b4264f65b1ced1e3b13967dd1cf90102cfa40.patch"; - hash = "sha256-EvxoUcr+VXBbYvK1PBV+KWcWTDk9rMWf+GXCYvXWDMI="; - }) - # Fix more error handling - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/libxml2/-/commit/e30cb632e734394ddbd7bd62b57cee3586424352.patch"; - hash = "sha256-C0ef17wTRC9rH0dKua/LJwwqTRI5W8sKWmvL7JxzT4o="; - }) - ]; - strictDeps = true; nativeBuildInputs = [ From 3c6127cf0129f8d82e5350ac4b0474db198b3636 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Tue, 23 Jul 2024 22:53:06 -0700 Subject: [PATCH 050/152] cc-wrapper: exclude clang flags when cpp --- pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh b/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh index 51bfeb18f58a..ecbe3d477fa1 100644 --- a/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh +++ b/pkgs/build-support/cc-wrapper/add-clang-cc-cflags-before.sh @@ -6,6 +6,6 @@ for p in "${params[@]}"; do esac done -if $needsTarget; then +if $needsTarget && [[ $0 != *cpp ]]; then extraBefore+=(-target @defaultTarget@ @machineFlags@) fi From 54f2c3cd0d5ea3c8cde91ee78fb15dcabac6924d Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Wed, 24 Jul 2024 20:30:09 -0700 Subject: [PATCH 051/152] xorg.libX11: fix cpp usage under llvm --- pkgs/servers/x11/xorg/overrides.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index f1e63de72bd5..a319ff765096 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -147,7 +147,8 @@ self: super: libX11 = super.libX11.overrideAttrs (attrs: { outputs = [ "out" "dev" "man" ]; configureFlags = attrs.configureFlags or [] - ++ malloc0ReturnsNullCrossFlag; + ++ malloc0ReturnsNullCrossFlag + ++ lib.optional (stdenv.targetPlatform.useLLVM or false) "ac_cv_path_RAWCPP=cpp"; depsBuildBuild = [ buildPackages.stdenv.cc ] ++ lib.optionals stdenv.hostPlatform.isStatic [ From 6a163e2a36a27e0e52b098b43342bd8531c9ccd9 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Wed, 24 Jul 2024 22:48:56 -0700 Subject: [PATCH 052/152] rustc: fix building with llvm (#320432) --- pkgs/development/compilers/rust/1_79.nix | 37 +++++++++++++++++++---- pkgs/development/compilers/rust/rustc.nix | 29 ++++++++++++++---- 2 files changed, 54 insertions(+), 12 deletions(-) diff --git a/pkgs/development/compilers/rust/1_79.nix b/pkgs/development/compilers/rust/1_79.nix index a749e58c16bc..58577ae025f3 100644 --- a/pkgs/development/compilers/rust/1_79.nix +++ b/pkgs/development/compilers/rust/1_79.nix @@ -17,20 +17,45 @@ , wrapRustcWith , llvmPackages_18, llvm_18 } @ args: - +let + llvmSharedFor = pkgSet: pkgSet.llvmPackages_18.libllvm.override ({ + enableSharedLibraries = true; + } // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { + # Force LLVM to compile using clang + LLVM libs when targeting pkgsLLVM + stdenv = pkgSet.stdenv.override { allowedRequisites = null; cc = pkgSet.llvmPackages_18.clangUseLLVM; }; + }); +in import ./default.nix { rustcVersion = "1.79.0"; rustcSha256 = "sha256-Fy7PPH0fnZ+xbNKmKIaXgmcEFt7QEp5SSoZ1H5YUSMA="; - llvmSharedForBuild = pkgsBuildBuild.llvmPackages_18.libllvm.override { enableSharedLibraries = true; }; - llvmSharedForHost = pkgsBuildHost.llvmPackages_18.libllvm.override { enableSharedLibraries = true; }; - llvmSharedForTarget = pkgsBuildTarget.llvmPackages_18.libllvm.override { enableSharedLibraries = true; }; + llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; + llvmSharedForHost = llvmSharedFor pkgsBuildHost; + llvmSharedForTarget = llvmSharedFor pkgsBuildTarget; # For use at runtime - llvmShared = llvm_18.override { enableSharedLibraries = true; }; + llvmShared = llvmSharedFor { inherit llvmPackages_18 stdenv; }; # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox - llvmPackages = llvmPackages_18; + llvmPackages = if (stdenv.targetPlatform.useLLVM or false) then (let + setStdenv = pkg: pkg.override { + stdenv = stdenv.override { allowedRequisites = null; cc = llvmPackages_18.clangUseLLVM; }; + }; + in rec { + libunwind = setStdenv llvmPackages_18.libunwind; + llvm = setStdenv llvmPackages_18.llvm; + + libcxx = llvmPackages_18.libcxx.override { + stdenv = stdenv.override { + allowedRequisites = null; + cc = llvmPackages_18.clangNoLibcxx; + hostPlatform = stdenv.hostPlatform // { + useLLVM = !stdenv.isDarwin; + }; + }; + inherit libunwind; + }; + }) else llvmPackages_18; # Note: the version MUST be one version prior to the version we're # building diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 487de452b01c..ef7b92efc535 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -1,6 +1,6 @@ { lib, stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget, targetPackages , llvmShared, llvmSharedForBuild, llvmSharedForHost, llvmSharedForTarget, llvmPackages -, fetchurl, file, python3 +, runCommandLocal, fetchurl, file, python3 , darwin, cargo, cmake, rustc, rustfmt , pkg-config, openssl, xz , libiconv @@ -24,6 +24,7 @@ let inherit (lib) optionals optional optionalString concatStringsSep; inherit (darwin.apple_sdk.frameworks) Security; + useLLVM = stdenv.targetPlatform.useLLVM or false; in stdenv.mkDerivation (finalAttrs: { pname = "${targetPackages.stdenv.cc.targetPrefix}rustc"; inherit version; @@ -66,14 +67,16 @@ in stdenv.mkDerivation (finalAttrs: { # when linking stage1 libstd: cc: undefined reference to `__cxa_begin_catch' # This doesn't apply to cross-building for FreeBSD because the host # uses libstdc++, but the target (used for building std) uses libc++ - optional (stdenv.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD) "--push-state --as-needed -lstdc++ --pop-state" + optional (stdenv.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && !useLLVM) + "--push-state --as-needed -lstdc++ --pop-state" + ++ optional (stdenv.isLinux && !withBundledLLVM && !stdenv.targetPlatform.isFreeBSD && useLLVM) + "--push-state --as-needed -L${llvmPackages.libcxx}/lib -lc++ -lc++abi -lLLVM-${lib.versions.major llvmPackages.llvm.version} --pop-state" ++ optional (stdenv.isDarwin && !withBundledLLVM) "-lc++ -lc++abi" ++ optional stdenv.isFreeBSD "-rpath ${llvmPackages.libunwind}/lib" - ++ optional stdenv.isDarwin "-rpath ${llvmSharedForHost}/lib"); + ++ optional stdenv.isDarwin "-rpath ${llvmSharedForHost.lib}/lib"); # Increase codegen units to introduce parallelism within the compiler. RUSTFLAGS = "-Ccodegen-units=10"; - RUSTDOCFLAGS = "-A rustdoc::broken-intra-doc-links"; # We need rust to build rust. If we don't provide it, configure will try to download it. @@ -152,7 +155,7 @@ in stdenv.mkDerivation (finalAttrs: { # Since fastCross only builds std, it doesn't make sense (and # doesn't work) to build a linker. "--disable-llvm-bitcode-linker" - ] ++ optionals (stdenv.isLinux && !stdenv.targetPlatform.isRedox) [ + ] ++ optionals (stdenv.isLinux && !stdenv.targetPlatform.isRedox && !(stdenv.targetPlatform.useLLVM or false)) [ "--enable-profiler" # build libprofiler_builtins ] ++ optionals stdenv.buildPlatform.isMusl [ "${setBuild}.musl-root=${pkgsBuildBuild.targetPackages.stdenv.cc.libc}" @@ -165,6 +168,10 @@ in stdenv.mkDerivation (finalAttrs: { ] ++ optionals (stdenv.isDarwin && stdenv.isx86_64) [ # https://github.com/rust-lang/rust/issues/92173 "--set rust.jemalloc" + ] ++ optionals useLLVM [ + # https://github.com/NixOS/nixpkgs/issues/311930 + "--llvm-libunwind=${if withBundledLLVM then "in-tree" else "system"}" + "--enable-use-libcxx" ]; # if we already have a rust compiler for build just compile the target std @@ -189,6 +196,7 @@ in stdenv.mkDerivation (finalAttrs: { python ./x.py --keep-stage=0 --stage=1 install library/std mkdir -v $out/bin $doc $man ln -s ${rustc.unwrapped}/bin/{rustc,rustdoc} $out/bin + rm -rf -v $out/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} ln -s ${rustc.unwrapped}/lib/rustlib/{manifest-rust-std-,}${stdenv.hostPlatform.rust.rustcTargetSpec} $out/lib/rustlib/ echo rust-std-${stdenv.hostPlatform.rust.rustcTargetSpec} >> $out/lib/rustlib/components lndir ${rustc.doc} $doc @@ -248,7 +256,16 @@ in stdenv.mkDerivation (finalAttrs: { buildInputs = [ openssl ] ++ optionals stdenv.isDarwin [ libiconv Security ] - ++ optional (!withBundledLLVM) llvmShared; + ++ optional (!withBundledLLVM) llvmShared.lib + ++ optional (useLLVM && !withBundledLLVM) [ + llvmPackages.libunwind + # Hack which is used upstream https://github.com/gentoo/gentoo/blob/master/dev-lang/rust/rust-1.78.0.ebuild#L284 + (runCommandLocal "libunwind-libgcc" {} '' + mkdir -p $out/lib + ln -s ${llvmPackages.libunwind}/lib/libunwind.so $out/lib/libgcc_s.so + ln -s ${llvmPackages.libunwind}/lib/libunwind.so $out/lib/libgcc_s.so.1 + '') + ]; outputs = [ "out" "man" "doc" ]; setOutputFlags = false; From be8112b3e2a7025b0e79c70fc13ad39c086f71cb Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 25 Jul 2024 07:54:15 +0200 Subject: [PATCH 053/152] protobuf: 25.3 -> 25.4 Diff: https://github.com/protocolbuffers/protobuf/compare/v25.3...v25.4 Changelog: https://github.com/protocolbuffers/protobuf/releases/tag/v25.4 --- pkgs/development/libraries/protobuf/25.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/protobuf/25.nix b/pkgs/development/libraries/protobuf/25.nix index 782906d0b5b7..a5a6a3419b5f 100644 --- a/pkgs/development/libraries/protobuf/25.nix +++ b/pkgs/development/libraries/protobuf/25.nix @@ -1,6 +1,6 @@ { callPackage, ... } @ args: callPackage ./generic.nix ({ - version = "25.3"; - hash = "sha256-N/mO9a6NyC0GwxY3/u1fbFbkfH7NTkyuIti6L3bc+7k="; + version = "25.4"; + hash = "sha256-dIouv6QaX6Tlahjrdz250DJkKjZ74/EwoQjTs3vBS/U="; } // args) From b2d88d41e70c93a4cf8fbe8ab20834a854a7a58a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Thu, 25 Jul 2024 15:20:38 -0600 Subject: [PATCH 054/152] vala: remove unconditional work around for clang 16 function pointer errors Hook accumulates the flag over sereval executions as observed in: - https://github.com/NixOS/nixpkgs/issues/301592 - https://github.com/NixOS/nixpkgs/pull/252484#issuecomment-2089095268 Since this has been committed, gcc started emitting a warning on `-Wno-incompatible-function-poniter-types` being an unrecognized flag and additionally upstream vala added its own meassure to reduce these new pointer errors to warnings in its generated sources. https://gitlab.gnome.org/GNOME/vala/-/commit/23ec71b1a5c4cead3d1bdac82e184d0a63fa7b79 Which is part of the current release branch (https://gitlab.gnome.org/GNOME/vala/-/commits/0.56?ref_type=heads) and released on 0.56.15 ``` Vala 0.56.15 ============ * Various improvements and bug fixes: - codegen: ... + Emit diagnostic pragmas for GCC 14, Clang 16 compatibility [#1408] ``` https://gitlab.gnome.org/GNOME/vala/-/merge_requests/369 --- pkgs/development/compilers/vala/setup-hook.sh | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pkgs/development/compilers/vala/setup-hook.sh b/pkgs/development/compilers/vala/setup-hook.sh index 53976e5cd0db..5e7bc352718f 100644 --- a/pkgs/development/compilers/vala/setup-hook.sh +++ b/pkgs/development/compilers/vala/setup-hook.sh @@ -7,15 +7,6 @@ make_vala_find_vapi_files() { addEnvHooks "$targetOffset" make_vala_find_vapi_files -disable_incompabile_pointer_conversion_warning() { - # Work around incompatible function pointer conversion errors with clang 16 - # by setting ``-Wno-incompatible-function-pointer-types` in an env hook. - # See https://gitlab.gnome.org/GNOME/vala/-/issues/1413. - NIX_CFLAGS_COMPILE+=" -Wno-incompatible-function-pointer-types" -} - -addEnvHooks "$hostOffset" disable_incompabile_pointer_conversion_warning - _multioutMoveVapiDirs() { moveToOutput share/vala/vapi "${!outputDev}" moveToOutput share/vala-@apiVersion@/vapi "${!outputDev}" From 9852a4bb24dd28b24d549a4c346026e182b2ebf9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 3 Jul 2024 19:04:55 -0300 Subject: [PATCH 055/152] gdbm: migrate to by-name --- .../libraries/gdbm/default.nix => by-name/gd/gdbm/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/gdbm/default.nix => by-name/gd/gdbm/package.nix} (100%) diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/by-name/gd/gdbm/package.nix similarity index 100% rename from pkgs/development/libraries/gdbm/default.nix rename to pkgs/by-name/gd/gdbm/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8cfae1d26550..51c4df3b8c5a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20493,8 +20493,6 @@ with pkgs; gdome2 = callPackage ../development/libraries/gdome2 { }; - gdbm = callPackage ../development/libraries/gdbm { }; - gecode_3 = callPackage ../development/libraries/gecode/3.nix { }; gecode_6 = qt5.callPackage ../development/libraries/gecode { }; gecode = gecode_6; From 68b4bf305cd7ea614cb6d77f447613a7a5a0d192 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 3 Jul 2024 19:52:01 -0300 Subject: [PATCH 056/152] gdbm: rework - finalAttrs - get rid of ${pname} - split outputs - strictDeps - testVersion - get rid of nested with --- pkgs/by-name/gd/gdbm/package.nix | 110 ++++++++++++++++++------------- 1 file changed, 64 insertions(+), 46 deletions(-) diff --git a/pkgs/by-name/gd/gdbm/package.nix b/pkgs/by-name/gd/gdbm/package.nix index d6ed7d32e701..fab0c3f9d128 100644 --- a/pkgs/by-name/gd/gdbm/package.nix +++ b/pkgs/by-name/gd/gdbm/package.nix @@ -1,69 +1,87 @@ -{ stdenv, lib, fetchurl, updateAutotoolsGnuConfigScriptsHook }: +{ + lib, + fetchurl, + stdenv, + testers, + updateAutotoolsGnuConfigScriptsHook, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gdbm"; version = "1.23"; src = fetchurl { - url = "mirror://gnu/gdbm/${pname}-${version}.tar.gz"; - sha256 = "sha256-dLEIHSH/8TrkvXwW5dblBKTCb3zeHcoNljpIQXS7ys0="; + url = "mirror://gnu/gdbm/gdbm-${finalAttrs.version}.tar.gz"; + hash = "sha256-dLEIHSH/8TrkvXwW5dblBKTCb3zeHcoNljpIQXS7ys0="; }; - nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; + nativeBuildInputs = [ + updateAutotoolsGnuConfigScriptsHook + ]; - doCheck = true; # not cross; + configureFlags = [ + (lib.enableFeature true "libgdbm-compat") + ]; - # Linking static stubs on cygwin requires correct ordering. - # Consider upstreaming this. + outputs = [ "out" "dev" "info" "lib" "man" ]; - # Disable dbmfetch03.at test because it depends on unlink() - # failing on a link in a chmod -w directory, which cygwin - # apparently allows. - postPatch = lib.optionalString stdenv.buildPlatform.isCygwin '' - substituteInPlace tests/Makefile.in --replace \ - '_LDADD = ../src/libgdbm.la ../compat/libgdbm_compat.la' \ - '_LDADD = ../compat/libgdbm_compat.la ../src/libgdbm.la' - substituteInPlace tests/testsuite.at --replace \ - 'm4_include([dbmfetch03.at])' "" - ''; + doCheck = true; enableParallelBuilding = true; - configureFlags = [ "--enable-libgdbm-compat" ]; + + # 1. Linking static stubs on cygwin requires correct ordering. Consider + # upstreaming this. + # + # 2. Disable dbmfetch03.at test because it depends on unlink() failing on a + # link in a chmod -w directory, which cygwin apparently allows. + postPatch = lib.optionalString stdenv.buildPlatform.isCygwin '' + substituteInPlace tests/Makefile.in \ + --replace-fail '_LDADD = ../src/libgdbm.la ../compat/libgdbm_compat.la' \ + '_LDADD = ../compat/libgdbm_compat.la ../src/libgdbm.la' + substituteInPlace tests/testsuite.at + --replace-fail 'm4_include([dbmfetch03.at])' "" + ''; # create symlinks for compatibility postInstall = '' - install -dm755 $out/include/gdbm - ( - cd $out/include/gdbm - ln -s ../gdbm.h gdbm.h - ln -s ../ndbm.h ndbm.h - ln -s ../dbm.h dbm.h - ) + install -dm755 ''${!outputDev}/include/gdbm + pushd ''${!outputDev}/include/gdbm + ln -s ../dbm.h dbm.h + ln -s ../gdbm.h gdbm.h + ln -s ../ndbm.h ndbm.h + popd ''; - meta = with lib; { + passthru = { + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "gdbmtool --version"; + }; + }; + + meta = { + homepage = "https://www.gnu.org/software/gdbm/"; description = "GNU dbm key/value database library"; longDescription = '' - GNU dbm (or GDBM, for short) is a library of database functions that - use extensible hashing and work similar to the standard UNIX dbm. - These routines are provided to a programmer needing to create and - manipulate a hashed database. + GNU dbm (or GDBM, for short) is a library of database functions that use + extensible hashing and work similar to the standard UNIX dbm. These + routines are provided to a programmer needing to create and manipulate a + hashed database. - The basic use of GDBM is to store key/data pairs in a data file. - Each key must be unique and each key is paired with only one data - item. + The basic use of GDBM is to store key/data pairs in a data file. Each + key must be unique and each key is paired with only one data item. - The library provides primitives for storing key/data pairs, - searching and retrieving the data by its key and deleting a key - along with its data. It also support sequential iteration over all - key/data pairs in a database. + The library provides primitives for storing key/data pairs, searching and + retrieving the data by its key and deleting a key along with its data. + It also support sequential iteration over all key/data pairs in a + database. - For compatibility with programs using old UNIX dbm function, the - package also provides traditional dbm and ndbm interfaces. - ''; - homepage = "https://www.gnu.org/software/gdbm/"; - license = licenses.gpl3Plus; - platforms = platforms.all; - maintainers = [ maintainers.vrthra ]; + For compatibility with programs using old UNIX dbm function, the package + also provides traditional dbm and ndbm interfaces. + ''; + license = lib.licenses.gpl3Plus; + mainProgram = "gdbmtool"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.all; }; -} +}) From bdbc71bf3907be2c2a70d53db974a7e562a60b82 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Thu, 25 Jul 2024 22:56:42 -0300 Subject: [PATCH 057/152] gdbm: nixfmt-rfc-style --- pkgs/by-name/gd/gdbm/package.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/gd/gdbm/package.nix b/pkgs/by-name/gd/gdbm/package.nix index fab0c3f9d128..ad17365e7d95 100644 --- a/pkgs/by-name/gd/gdbm/package.nix +++ b/pkgs/by-name/gd/gdbm/package.nix @@ -15,15 +15,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-dLEIHSH/8TrkvXwW5dblBKTCb3zeHcoNljpIQXS7ys0="; }; - nativeBuildInputs = [ - updateAutotoolsGnuConfigScriptsHook - ]; + nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; - configureFlags = [ - (lib.enableFeature true "libgdbm-compat") - ]; + configureFlags = [ (lib.enableFeature true "libgdbm-compat") ]; - outputs = [ "out" "dev" "info" "lib" "man" ]; + outputs = [ + "out" + "dev" + "info" + "lib" + "man" + ]; doCheck = true; From 9cbf7192e110d6b7bb9eb2e46f5f49d79453c696 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Wed, 3 Jul 2024 20:13:43 -0300 Subject: [PATCH 058/152] gdbm: 1.23 -> 1.24 Why is this triggering infinite recursion wheh hashing is empty? --- pkgs/by-name/gd/gdbm/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gd/gdbm/package.nix b/pkgs/by-name/gd/gdbm/package.nix index ad17365e7d95..91271e71d129 100644 --- a/pkgs/by-name/gd/gdbm/package.nix +++ b/pkgs/by-name/gd/gdbm/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "gdbm"; - version = "1.23"; + version = "1.24"; src = fetchurl { url = "mirror://gnu/gdbm/gdbm-${finalAttrs.version}.tar.gz"; - hash = "sha256-dLEIHSH/8TrkvXwW5dblBKTCb3zeHcoNljpIQXS7ys0="; + hash = "sha256-aV6YJ/33Y1E/EzkQvH5s/bkYeUOk/slD5XRJcj0rjb8="; }; nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ]; From 6149730abeadc8ec6d739d4da648d954ff11e4c1 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 25 Jul 2024 13:07:25 +0300 Subject: [PATCH 059/152] kdePackages: fix build under real strictDeps --- pkgs/development/libraries/qt-6/modules/qtwayland.nix | 1 + pkgs/kde/frameworks/kcodecs/default.nix | 3 +-- pkgs/kde/frameworks/kdoctools/default.nix | 3 ++- pkgs/kde/frameworks/ki18n/default.nix | 5 ++++- pkgs/kde/gear/akonadi-mime/default.nix | 3 ++- pkgs/kde/gear/kdenlive/default.nix | 3 ++- pkgs/kde/gear/kdepim-runtime/default.nix | 5 +++-- pkgs/kde/gear/knotes/default.nix | 7 ++++++- pkgs/kde/gear/konversation/default.nix | 4 +++- pkgs/kde/gear/mailcommon/default.nix | 2 ++ pkgs/kde/gear/pimcommon/default.nix | 2 ++ pkgs/kde/plasma/kscreenlocker/default.nix | 2 ++ pkgs/kde/plasma/libkscreen/default.nix | 3 ++- 13 files changed, 32 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/qt-6/modules/qtwayland.nix b/pkgs/development/libraries/qt-6/modules/qtwayland.nix index 512b084a0bf5..8d2fad7cf9da 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwayland.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwayland.nix @@ -10,6 +10,7 @@ qtModule { pname = "qtwayland"; propagatedBuildInputs = [ qtbase qtdeclarative ]; + propagatedNativeBuildInputs = [ wayland ]; buildInputs = [ wayland libdrm ]; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/kde/frameworks/kcodecs/default.nix b/pkgs/kde/frameworks/kcodecs/default.nix index 409666658ddf..be9126712055 100644 --- a/pkgs/kde/frameworks/kcodecs/default.nix +++ b/pkgs/kde/frameworks/kcodecs/default.nix @@ -6,6 +6,5 @@ mkKdeDerivation { pname = "kcodecs"; - extraNativeBuildInputs = [qttools]; - extraBuildInputs = [gperf]; + extraNativeBuildInputs = [qttools gperf]; } diff --git a/pkgs/kde/frameworks/kdoctools/default.nix b/pkgs/kde/frameworks/kdoctools/default.nix index 996e75c88538..2de9ed21d9c8 100644 --- a/pkgs/kde/frameworks/kdoctools/default.nix +++ b/pkgs/kde/frameworks/kdoctools/default.nix @@ -4,12 +4,13 @@ docbook-xsl-nons, perl, perlPackages, + libxml2, }: mkKdeDerivation { pname = "kdoctools"; # Perl could be used both at build time and at runtime. - extraNativeBuildInputs = [perl perlPackages.URI]; + extraNativeBuildInputs = [perl perlPackages.URI libxml2]; extraBuildInputs = [docbook_xml_dtd_45 docbook-xsl-nons]; extraPropagatedBuildInputs = [perl perlPackages.URI]; } diff --git a/pkgs/kde/frameworks/ki18n/default.nix b/pkgs/kde/frameworks/ki18n/default.nix index 02b03f875ffb..9c3bef785298 100644 --- a/pkgs/kde/frameworks/ki18n/default.nix +++ b/pkgs/kde/frameworks/ki18n/default.nix @@ -2,9 +2,12 @@ mkKdeDerivation, qtdeclarative, python3, + gettext, }: mkKdeDerivation { pname = "ki18n"; - extraBuildInputs = [qtdeclarative python3]; + extraNativeBuildInputs = [python3]; + propagatedNativeBuildInputs = [gettext]; + extraBuildInputs = [qtdeclarative]; } diff --git a/pkgs/kde/gear/akonadi-mime/default.nix b/pkgs/kde/gear/akonadi-mime/default.nix index 8796f7220134..9db5272e6b4b 100644 --- a/pkgs/kde/gear/akonadi-mime/default.nix +++ b/pkgs/kde/gear/akonadi-mime/default.nix @@ -1,9 +1,10 @@ { mkKdeDerivation, shared-mime-info, + libxslt, }: mkKdeDerivation { pname = "akonadi-mime"; - extraNativeBuildInputs = [shared-mime-info]; + extraNativeBuildInputs = [shared-mime-info libxslt]; } diff --git a/pkgs/kde/gear/kdenlive/default.nix b/pkgs/kde/gear/kdenlive/default.nix index 059ed9456f18..35ce1d590af7 100644 --- a/pkgs/kde/gear/kdenlive/default.nix +++ b/pkgs/kde/gear/kdenlive/default.nix @@ -26,6 +26,8 @@ mkKdeDerivation { ) ]; + extraNativeBuildInputs = [ shared-mime-info ]; + extraBuildInputs = [ qtsvg qtmultimedia @@ -34,7 +36,6 @@ mkKdeDerivation { qqc2-desktop-style mlt - shared-mime-info libv4l glaxnimate ]; diff --git a/pkgs/kde/gear/kdepim-runtime/default.nix b/pkgs/kde/gear/kdepim-runtime/default.nix index bbbe74e07fdb..5937f43822e8 100644 --- a/pkgs/kde/gear/kdepim-runtime/default.nix +++ b/pkgs/kde/gear/kdepim-runtime/default.nix @@ -6,12 +6,13 @@ qtwebengine, cyrus_sasl, lib, - libkgapi + libkgapi, + libxslt, }: mkKdeDerivation { pname = "kdepim-runtime"; - extraNativeBuildInputs = [shared-mime-info]; + extraNativeBuildInputs = [shared-mime-info libxslt]; # FIXME: libkolabxml, libetebase extraBuildInputs = [qtnetworkauth qtspeech qtwebengine cyrus_sasl]; diff --git a/pkgs/kde/gear/knotes/default.nix b/pkgs/kde/gear/knotes/default.nix index bca10fcf13da..913e7a8b85b4 100644 --- a/pkgs/kde/gear/knotes/default.nix +++ b/pkgs/kde/gear/knotes/default.nix @@ -1,4 +1,9 @@ -{mkKdeDerivation}: +{ + mkKdeDerivation, + libxslt, +}: mkKdeDerivation { pname = "knotes"; + + extraNativeBuildInputs = [libxslt]; } diff --git a/pkgs/kde/gear/konversation/default.nix b/pkgs/kde/gear/konversation/default.nix index 952b98fff649..ba58215e3093 100644 --- a/pkgs/kde/gear/konversation/default.nix +++ b/pkgs/kde/gear/konversation/default.nix @@ -7,6 +7,8 @@ mkKdeDerivation { pname = "konversation"; - extraBuildInputs = [qtmultimedia qt5compat qttools]; + extraBuildInputs = [qt5compat]; + extraNativeBuildInputs = [qtmultimedia qttools]; + meta.mainProgram = "konversation"; } diff --git a/pkgs/kde/gear/mailcommon/default.nix b/pkgs/kde/gear/mailcommon/default.nix index 44b2b283896e..a82e6adb266c 100644 --- a/pkgs/kde/gear/mailcommon/default.nix +++ b/pkgs/kde/gear/mailcommon/default.nix @@ -2,9 +2,11 @@ mkKdeDerivation, qtwebengine, qttools, + libxslt, }: mkKdeDerivation { pname = "mailcommon"; + extraNativeBuildInputs = [libxslt]; extraBuildInputs = [qtwebengine qttools]; } diff --git a/pkgs/kde/gear/pimcommon/default.nix b/pkgs/kde/gear/pimcommon/default.nix index ddb467638c65..9ef947dde6fe 100644 --- a/pkgs/kde/gear/pimcommon/default.nix +++ b/pkgs/kde/gear/pimcommon/default.nix @@ -1,9 +1,11 @@ { mkKdeDerivation, qttools, + libxslt, }: mkKdeDerivation { pname = "pimcommon"; extraBuildInputs = [qttools]; + extraNativeBuildInputs = [libxslt]; } diff --git a/pkgs/kde/plasma/kscreenlocker/default.nix b/pkgs/kde/plasma/kscreenlocker/default.nix index e7ee0a18b8e5..f7321990f0c3 100644 --- a/pkgs/kde/plasma/kscreenlocker/default.nix +++ b/pkgs/kde/plasma/kscreenlocker/default.nix @@ -1,10 +1,12 @@ { mkKdeDerivation, pam, + wayland, qqc2-breeze-style, }: mkKdeDerivation { pname = "kscreenlocker"; + extraNativeBuildInputs = [wayland]; extraBuildInputs = [pam qqc2-breeze-style]; } diff --git a/pkgs/kde/plasma/libkscreen/default.nix b/pkgs/kde/plasma/libkscreen/default.nix index 7f7e5d488d9f..ccd11318e2be 100644 --- a/pkgs/kde/plasma/libkscreen/default.nix +++ b/pkgs/kde/plasma/libkscreen/default.nix @@ -3,11 +3,12 @@ qtwayland, qttools, jq, + wayland, }: mkKdeDerivation { pname = "libkscreen"; - extraNativeBuildInputs = [qttools qtwayland jq]; + extraNativeBuildInputs = [qttools qtwayland jq wayland]; extraBuildInputs = [qtwayland]; meta.mainProgram = "kscreen-doctor"; } From 64a8601822413526cbdaafea37eea21e4775e8a5 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 26 Jul 2024 10:08:50 +0200 Subject: [PATCH 060/152] python312Packages.inflect: add missing dependency + cleaning Co-authored-by: Pol Dellaiera (cherry picked from commit c2f0f66a64c5fa14cbd12e3d08c525617348d583) --- .../python-modules/inflect/default.nix | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/inflect/default.nix b/pkgs/development/python-modules/inflect/default.nix index 36e0d96f9782..50d7deb1660b 100644 --- a/pkgs/development/python-modules/inflect/default.nix +++ b/pkgs/development/python-modules/inflect/default.nix @@ -3,10 +3,17 @@ buildPythonPackage, pythonOlder, fetchFromGitHub, - more-itertools, + + # build-system + setuptools, setuptools-scm, - pytestCheckHook, + + # dependencies + more-itertools, typeguard, + + # checks + pytestCheckHook, }: buildPythonPackage rec { @@ -23,7 +30,10 @@ buildPythonPackage rec { hash = "sha256-J0XgSKPzZIt/7WnMGARXpyYzagBGiqRiuNmNnGKDBrs="; }; - build-system = [ setuptools-scm ]; + build-system = [ + setuptools + setuptools-scm + ]; dependencies = [ more-itertools @@ -39,11 +49,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "inflect" ]; - meta = with lib; { + meta = { description = "Correctly generate plurals, singular nouns, ordinals, indefinite articles"; homepage = "https://github.com/jaraco/inflect"; changelog = "https://github.com/jaraco/inflect/blob/v${version}/CHANGES.rst"; - license = licenses.mit; - maintainers = teams.tts.members; + license = lib.licenses.mit; + maintainers = lib.teams.tts.members; }; } From 8bee2ceda23703e976581190bae98465c65253b1 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 23 Jul 2024 21:10:19 +0200 Subject: [PATCH 061/152] python3Packages.email-validator: 2.1.2 -> 2.2.0 --- pkgs/development/python-modules/email-validator/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/email-validator/default.nix b/pkgs/development/python-modules/email-validator/default.nix index 735496b67645..78463781f75d 100644 --- a/pkgs/development/python-modules/email-validator/default.nix +++ b/pkgs/development/python-modules/email-validator/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "email-validator"; - version = "2.1.2"; + version = "2.2.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -18,10 +18,10 @@ buildPythonPackage rec { src = fetchPypi { pname = "email_validator"; inherit version; - hash = "sha256-FMDz00PEvto3QAQhs5+kEbvjOnXfIIJd9zrVPgap8Ew="; + hash = "sha256-y2kPNExhenFPIuZq53FEWhzrRoIRUt+OFlxfmjZFgrc="; }; - propagatedBuildInputs = [ + dependencies = [ dnspython idna ]; From 29c0170563e90b23f87e613d90dee37e31b8da0f Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 23 Jul 2024 20:06:56 +0200 Subject: [PATCH 062/152] python3Packages.pydantic-core: 2.18.4 -> 2.20.1 --- pkgs/development/python-modules/pydantic-core/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pydantic-core/default.nix b/pkgs/development/python-modules/pydantic-core/default.nix index b0a84ed3fbdb..48e8f7188bce 100644 --- a/pkgs/development/python-modules/pydantic-core/default.nix +++ b/pkgs/development/python-modules/pydantic-core/default.nix @@ -18,14 +18,14 @@ let pydantic-core = buildPythonPackage rec { pname = "pydantic-core"; - version = "2.18.4"; + version = "2.20.1"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "pydantic-core"; rev = "refs/tags/v${version}"; - hash = "sha256-wt6HG2jQU09Zxhxhzb49HvNnxahfSk2xvNApVZkqqbw="; + hash = "sha256-iFyCFkFzvTL6es3L96pyq/s6SS7h1mn+bS0SPcsxXxA="; }; patches = [ ./01-remove-benchmark-flags.patch ]; @@ -33,7 +33,7 @@ let cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-m0xP4fIFgInkUeAy4HqfTKHEiqmWpYO8CgKzxg+WXiU="; + hash = "sha256-4v4g9/8ZsQUqkwA29/S/BXn2Ea4eSOnMhEbhDvsGuQU="; }; nativeBuildInputs = [ From 14efd3de2c6d387cfad6ae7771fc98818ae24e77 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 23 Jul 2024 20:07:19 +0200 Subject: [PATCH 063/152] python3Packages.pydantic: 2.7.4 -> 2.8.2 --- pkgs/development/python-modules/pydantic/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index f47c028ac54c..5d8895c9deaf 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -25,11 +25,12 @@ pytestCheckHook, pytest-mock, eval-type-backport, + rich, }: buildPythonPackage rec { pname = "pydantic"; - version = "2.7.4"; + version = "2.8.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -38,7 +39,7 @@ buildPythonPackage rec { owner = "pydantic"; repo = "pydantic"; rev = "refs/tags/v${version}"; - hash = "sha256-S4FZUnOsKC8J0xyTeXhMmCACCma+VfCSmrE6sYAnpok="; + hash = "sha256-9Tbm5Y1wSPa3lTdI8y95csYHua7nKUIYAfxSn+3J5zI="; }; buildInputs = lib.optionals (pythonOlder "3.9") [ libxcrypt ]; @@ -54,7 +55,7 @@ buildPythonPackage rec { typing-extensions ]; - passthru.optional-dependencies = { + optional-dependencies = { email = [ email-validator ]; }; @@ -65,8 +66,9 @@ buildPythonPackage rec { faker pytest-mock pytestCheckHook + rich ] - ++ lib.flatten (lib.attrValues passthru.optional-dependencies) + ++ lib.flatten (lib.attrValues optional-dependencies) ++ lib.optionals (pythonOlder "3.10") [ eval-type-backport ]; preCheck = '' From 59c3e5ecf8513fa4c6b7c0b77620166bde061757 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 23 Jul 2024 20:25:56 +0200 Subject: [PATCH 064/152] python3Packages.pydantic-settings: 2.3.2 -> 2.3.4 --- .../python-modules/pydantic-settings/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pydantic-settings/default.nix b/pkgs/development/python-modules/pydantic-settings/default.nix index 2d158699724a..b3734a58e072 100644 --- a/pkgs/development/python-modules/pydantic-settings/default.nix +++ b/pkgs/development/python-modules/pydantic-settings/default.nix @@ -14,7 +14,7 @@ let self = buildPythonPackage rec { pname = "pydantic-settings"; - version = "2.3.2"; + version = "2.3.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,12 +23,12 @@ let owner = "pydantic"; repo = "pydantic-settings"; rev = "refs/tags/v${version}"; - hash = "sha256-1wnTAoF9xi1xLgSWl0FhtIddWPpHgDJPxJlsctJvFQo="; + hash = "sha256-tLF7LvsXryhbThaNl6koM0bGM8EOaA+aH2fGqzR8GKE="; }; - nativeBuildInputs = [ hatchling ]; + build-system = [ hatchling ]; - propagatedBuildInputs = [ + dependencies = [ pydantic python-dotenv ]; From 0acf0b1b2bcfe3be0d736de8f5335cd218c3a4c3 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Tue, 23 Jul 2024 20:27:46 +0200 Subject: [PATCH 065/152] python3Packages.pydantic-extra-types: 2.8.2 -> 2.9.0 --- .../pydantic-extra-types/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pydantic-extra-types/default.nix b/pkgs/development/python-modules/pydantic-extra-types/default.nix index 6a9cfaaeb29f..9f60c56b59b0 100644 --- a/pkgs/development/python-modules/pydantic-extra-types/default.nix +++ b/pkgs/development/python-modules/pydantic-extra-types/default.nix @@ -4,41 +4,47 @@ fetchFromGitHub, hatchling, pydantic, + semver, pendulum, phonenumbers, pycountry, python-ulid, + pytz, pytestCheckHook, }: buildPythonPackage rec { pname = "pydantic-extra-types"; - version = "2.8.2"; + version = "2.9.0"; pyproject = true; src = fetchFromGitHub { owner = "pydantic"; repo = "pydantic-extra-types"; rev = "refs/tags/v${version}"; - hash = "sha256-YNr3eKwlPmLpYp0Z4WAOmWNMjta22ZZMuSlONkONxZU="; + hash = "sha256-PgytBSue3disJifnpTl1DGNMZkp93cJEIDm8wgKMHFo="; }; - nativeBuildInputs = [ hatchling ]; + build-system = [ hatchling ]; - propagatedBuildInputs = [ pydantic ]; + dependencies = [ + pydantic + semver + ]; - passthru.optional-dependencies = { + optional-dependencies = { all = [ pendulum phonenumbers pycountry python-ulid + pytz ]; }; pythonImportsCheck = [ "pydantic_extra_types" ]; - nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.all; + nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.all; meta = with lib; { changelog = "https://github.com/pydantic/pydantic-extra-types/blob/${src.rev}/HISTORY.md"; From d131ecd6285146d8c99405505e5a685b97a1573c Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 26 Jul 2024 09:34:11 +0300 Subject: [PATCH 066/152] libavif: propagate the newly-required dependencies --- pkgs/development/libraries/libavif/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libavif/default.nix b/pkgs/development/libraries/libavif/default.nix index ec2c22a247c0..8e7ebeb0a251 100644 --- a/pkgs/development/libraries/libavif/default.nix +++ b/pkgs/development/libraries/libavif/default.nix @@ -48,11 +48,14 @@ stdenv.mkDerivation rec { buildInputs = [ gdk-pixbuf - libaom zlib libpng libjpeg + ]; + + propagatedBuildInputs = [ dav1d + libaom libyuv ]; From 7a01a1bd6b382c7baef0e0a5526010dd02a57dfe Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 26 Jul 2024 19:22:59 +0300 Subject: [PATCH 067/152] Revert "kdePackages.kimageformats: explicitly add libavif dependencies" This reverts commit c3943851a180f0036da85eb3631fdbfc32171914. Proper fix in previous commit. --- pkgs/kde/frameworks/kimageformats/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/kde/frameworks/kimageformats/default.nix b/pkgs/kde/frameworks/kimageformats/default.nix index e15c863003a8..21c84cb56992 100644 --- a/pkgs/kde/frameworks/kimageformats/default.nix +++ b/pkgs/kde/frameworks/kimageformats/default.nix @@ -4,9 +4,6 @@ libheif, libjxl, libavif, - dav1d, - libaom, - libyuv, libraw, openexr_3, }: @@ -15,5 +12,5 @@ mkKdeDerivation { extraCmakeFlags = ["-DKIMAGEFORMATS_HEIF=1"]; extraNativeBuildInputs = [pkg-config]; - extraBuildInputs = [libheif libjxl libavif dav1d libaom libyuv libraw openexr_3]; + extraBuildInputs = [libheif libjxl libavif libraw openexr_3]; } From daa97965e10084840e428d6e1db258c2567aefa3 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Tue, 23 Jul 2024 18:51:24 -0400 Subject: [PATCH 068/152] Revert "haskell-builder.nix: work around useSystemCoreFoundationFramework hook" This reverts commit e14e9647d7f929d9d63c4cb69bea39010a2d4d76. --- .../haskell-modules/generic-builder.nix | 32 +------------------ 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index f3439e19bdd4..6c60efe1bce5 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -150,35 +150,6 @@ assert stdenv.hostPlatform.isWasm -> enableStaticLibraries == false; let - # This is a workaround for the 2024-07-20 staging-next cycle to avoid causing mass rebuilds. - # todo(@reckenrode) Remove this workaround and remove `NIX_COREFOUNDATION_RPATH`, the related hooks, and ld-wrapper support. - nixCoreFoundationRpathWorkaround = stdenv.mkDerivation { - name = "nix-corefoundation-rpath-workaround"; - buildCommand = '' - mkdir -p "$out/nix-support" - cat <<-EOF > "$out/nix-support/setup-hook" - removeUseSystemCoreFoundationFrameworkHook() { - unset NIX_COREFOUNDATION_RPATH - local _hook - for _hook in envBuildBuildHooks envBuildHostHooks envBuildTargetHooks envHostHostHooks envHostTargetHooks envTargetTargetHooks; do - local _index=0 - local _var="\$_hook[@]" - for _var in "\''${!_var}"; do - if [ "\$_var" = "useSystemCoreFoundationFramework" ]; then - unset "\$_hook[\$_index]" - fi - ((++_index)) - done - unset _index - unset _var - done - unset _hook - } - addEnvHooks "\$hostOffset" removeUseSystemCoreFoundationFrameworkHook - EOF - ''; - }; - inherit (lib) optional optionals optionalString versionAtLeast concatStringsSep enableFeature optionalAttrs; @@ -459,8 +430,7 @@ stdenv.mkDerivation ({ inherit depsBuildBuild nativeBuildInputs; buildInputs = otherBuildInputs ++ optionals (!isLibrary) propagatedBuildInputs # For patchShebangsAuto in fixupPhase - ++ optionals stdenv.hostPlatform.isGhcjs [ nodejs ] - ++ optionals (stdenv.isDarwin && stdenv.isx86_64) [ nixCoreFoundationRpathWorkaround ]; + ++ optionals stdenv.hostPlatform.isGhcjs [ nodejs ]; propagatedBuildInputs = optionals isLibrary propagatedBuildInputs; LANG = "en_US.UTF-8"; # GHC needs the locale configured during the Haddock phase. From e88f0cf2f292f1ff0d0b89eea2411939336fd01f Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 25 Jul 2024 19:16:07 -0400 Subject: [PATCH 069/152] Revert "ruby_3_3: work around useSystemCoreFoundationFramework" This reverts commit b03ca962b01a28d1bf9a084372dad1528918dae7. --- pkgs/development/interpreters/ruby/default.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index c2a6604cf29d..2a7115fd27df 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -173,14 +173,6 @@ let export HOME=$TMPDIR ''; - # Work around useSystemCoreFoundationFramework hook causing issues with the ld64 upgrade. - # This will be fixed on staging in https://github.com/NixOS/nixpkgs/pull/329529 - preBuild = - if lib.versionAtLeast ver.majMin "3.3" && stdenv.isDarwin && stdenv.isx86_64 then - "unset NIX_COREFOUNDATION_RPATH" - else - null; - # fails with "16993 tests, 2229489 assertions, 105 failures, 14 errors, 89 skips" # mostly TZ- and patch-related tests # TZ- failures are caused by nix sandboxing, I didn't investigate others From 2c549528478664ab79c0819660bda95ade102826 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Tue, 23 Jul 2024 18:59:27 -0400 Subject: [PATCH 070/152] darwin.apple_sdk.frameworks: remove NIX_COREFOUNDATION_RPATH hook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Darwin no longer supports switching between CoreFoundation implementations as of https://github.com/NixOS/nixpkgs/pull/265102. The setup hook is vestigial and was mostly harmless until https://github.com/NixOS/nixpkgs/pull/329526 was necessitated to fix build failures on staging-next https://github.com/NixOS/nixpkgs/pull/328673. The correct fix is to remove the hook. It’s not used by the 11.0 or 12.3 SDKs. This makes the 10.12 SDK a bit more like the other SDKs. --- .../bintools-wrapper/ld-wrapper.sh | 6 --- pkgs/development/libraries/glibc/default.nix | 3 -- pkgs/os-specific/darwin/apple-sdk/default.nix | 11 ----- .../darwin/apple-sdk/framework-setup-hook.sh | 42 ------------------- .../darwin/swift-corelibs/corefoundation.nix | 1 - .../pure-corefoundation-hook.sh | 7 ---- 6 files changed, 70 deletions(-) delete mode 100644 pkgs/os-specific/darwin/apple-sdk/framework-setup-hook.sh delete mode 100644 pkgs/os-specific/darwin/swift-corelibs/pure-corefoundation-hook.sh diff --git a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh index 3bd9c68f2336..7e00d02b0374 100644 --- a/pkgs/build-support/bintools-wrapper/ld-wrapper.sh +++ b/pkgs/build-support/bintools-wrapper/ld-wrapper.sh @@ -226,12 +226,6 @@ if [[ "$NIX_DONT_SET_RPATH_@suffixSalt@" != 1 && "$linkType" != static-pie ]]; t fi -# This is outside the DONT_SET_RPATH branch because it's more targeted and we -# usually want it (on Darwin) even if DONT_SET_RPATH is set. -if [ -n "${NIX_COREFOUNDATION_RPATH:-}" ]; then - extraAfter+=(-rpath $NIX_COREFOUNDATION_RPATH) -fi - # Only add --build-id if this is a final link. FIXME: should build gcc # with --enable-linker-build-id instead? # diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 96a08178637d..b57312e63a2d 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -41,9 +41,6 @@ in # Apparently --bindir is not respected. makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin") - '' + lib.optionalString stdenv.buildPlatform.isDarwin '' - # ld-wrapper will otherwise attempt to inject CoreFoundation into ld-linux's RUNPATH - export NIX_COREFOUNDATION_RPATH= ''; # The pie, stackprotector and fortify hardening flags are autodetected by diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 30081c824378..1cd5afe19301 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -163,17 +163,6 @@ let propagatedBuildInputs = builtins.attrValues deps; - # don't use pure CF for dylibs that depend on frameworks - setupHook = ./framework-setup-hook.sh; - - # Not going to be more specific than this for now - __propagatedImpureHostDeps = lib.optionals (name != "Kernel") [ - # The setup-hook ensures that everyone uses the impure CoreFoundation who uses these SDK frameworks, so let's expose it - "/System/Library/Frameworks/CoreFoundation.framework" - "/System/Library/Frameworks/${name}.framework" - "/System/Library/Frameworks/${name}.framework/${name}" - ]; - meta = with lib; { description = "Apple SDK framework ${name}"; maintainers = with maintainers; [ copumpkin ]; diff --git a/pkgs/os-specific/darwin/apple-sdk/framework-setup-hook.sh b/pkgs/os-specific/darwin/apple-sdk/framework-setup-hook.sh deleted file mode 100644 index b0d5915fc1fc..000000000000 --- a/pkgs/os-specific/darwin/apple-sdk/framework-setup-hook.sh +++ /dev/null @@ -1,42 +0,0 @@ -# On macOS, frameworks are linked to the system CoreFoundation but -# dynamic libraries built with nix use a pure version of CF this -# causes segfaults for binaries that depend on it at runtime. This -# can be solved in two ways. -# 1. Rewrite references to the pure CF using this setup hook, this -# works for the simple case but this can still cause problems if other -# dependencies (eg. python) use the pure CF. -# 2. Create a wrapper for the binary that sets DYLD_FRAMEWORK_PATH to -# /System/Library/Frameworks. This will make everything load the -# system's CoreFoundation framework while still keeping the -# dependencies pure for other packages. - -fixupOutputHooks+=('fixDarwinFrameworksIn $prefix') - -fixDarwinFrameworks() { - local systemPrefix='/System/Library/Frameworks' - - for fn in "$@"; do - if [ -L "$fn" ]; then continue; fi - echo "$fn: fixing dylib" - - for framework in $(otool -L "$fn" | awk '/CoreFoundation\.framework/ {print $1}'); do - install_name_tool -change "$framework" "$systemPrefix/CoreFoundation.framework/Versions/A/CoreFoundation" "$fn" >&2 - done - done -} - -fixDarwinFrameworksIn() { - local dir="$1" - fixDarwinFrameworks $(find "$dir" -name "*.dylib") -} - - -# This configures the stdenv to use /System/Library/Frameworks/CoreFoundation.framework -# instead of the nix version by including the system frameworks path -# as an rpath entry when creating binaries. - -useSystemCoreFoundationFramework () { - export NIX_COREFOUNDATION_RPATH=/System/Library/Frameworks -} - -addEnvHooks "$hostOffset" useSystemCoreFoundationFramework diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 5c593b1488e2..0b7c85b588f2 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix @@ -86,6 +86,5 @@ stdenv.mkDerivation { "$out/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation" mkdir -p "$out/nix-support" - substituteAll ${./pure-corefoundation-hook.sh} "$out/nix-support/setup-hook" ''; } diff --git a/pkgs/os-specific/darwin/swift-corelibs/pure-corefoundation-hook.sh b/pkgs/os-specific/darwin/swift-corelibs/pure-corefoundation-hook.sh deleted file mode 100644 index d5539f50861a..000000000000 --- a/pkgs/os-specific/darwin/swift-corelibs/pure-corefoundation-hook.sh +++ /dev/null @@ -1,7 +0,0 @@ -usePureCoreFoundation() { -# Avoid overriding value set by the impure CF - if [ -z "${NIX_COREFOUNDATION_RPATH:-}" ]; then - export NIX_COREFOUNDATION_RPATH=@out@/Library/Frameworks - fi -} -addEnvHooks "$hostOffset" usePureCoreFoundation From bc32f013360a79114bbfbe597be5894ab3e4a791 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Fri, 5 Apr 2024 09:07:28 -0400 Subject: [PATCH 071/152] meson: fix extraframework dependencies on case-sensitive APFS --- .../me/meson/007-case-sensitive-fs.patch | 87 +++++++++++++++++++ pkgs/by-name/me/meson/package.nix | 4 + 2 files changed, 91 insertions(+) create mode 100644 pkgs/by-name/me/meson/007-case-sensitive-fs.patch diff --git a/pkgs/by-name/me/meson/007-case-sensitive-fs.patch b/pkgs/by-name/me/meson/007-case-sensitive-fs.patch new file mode 100644 index 000000000000..54d07d85585c --- /dev/null +++ b/pkgs/by-name/me/meson/007-case-sensitive-fs.patch @@ -0,0 +1,87 @@ +From a6fb2c165cda4bbf315424c96165ec9cc7052363 Mon Sep 17 00:00:00 2001 +From: Randy Eckenrode +Date: Wed, 3 Apr 2024 17:35:56 -0400 +Subject: [PATCH] dependencies: find extraframeworks on case-sensitive + filesystems + +Fixes a test failure on case-sensitive filesystems when a CMake +dependency is turned into an Apple framework. +--- + mesonbuild/dependencies/framework.py | 9 +++++++-- + test cases/osx/11 case sensitive apfs/meson.build | 5 +++++ + test cases/osx/11 case sensitive apfs/prog.c | 3 +++ + test cases/osx/11 case sensitive apfs/test.json | 5 +++++ + 4 files changed, 20 insertions(+), 2 deletions(-) + create mode 100644 test cases/osx/11 case sensitive apfs/meson.build + create mode 100644 test cases/osx/11 case sensitive apfs/prog.c + create mode 100644 test cases/osx/11 case sensitive apfs/test.json + +diff --git a/mesonbuild/dependencies/framework.py b/mesonbuild/dependencies/framework.py +index 3c880c7430af..1fbd628235ba 100644 +--- a/mesonbuild/dependencies/framework.py ++++ b/mesonbuild/dependencies/framework.py +@@ -47,6 +47,7 @@ def detect(self, name: str, paths: T.List[str]) -> None: + framework_path = self._get_framework_path(p, name) + if framework_path is None: + continue ++ framework_name = framework_path.stem + # We want to prefer the specified paths (in order) over the system + # paths since these are "extra" frameworks. + # For example, Python2's framework is in /System/Library/Frameworks and +@@ -54,11 +55,15 @@ def detect(self, name: str, paths: T.List[str]) -> None: + # Python.framework. We need to know for sure that the framework was + # found in the path we expect. + allow_system = p in self.system_framework_paths +- args = self.clib_compiler.find_framework(name, self.env, [p], allow_system) ++ args = self.clib_compiler.find_framework(framework_name, self.env, [p], allow_system) + if args is None: + continue + self.link_args = args + self.framework_path = framework_path.as_posix() ++ # The search is done case-insensitively, so the found name may differ ++ # from the one that was requested. Setting the name ensures the correct ++ # one is used when linking on case-sensitive filesystems. ++ self.name = framework_name + self.compile_args = ['-F' + self.framework_path] + # We need to also add -I includes to the framework because all + # cross-platform projects such as OpenGL, Python, Qt, GStreamer, +@@ -74,7 +79,7 @@ def _get_framework_path(self, path: str, name: str) -> T.Optional[Path]: + p = Path(path) + lname = name.lower() + for d in p.glob('*.framework/'): +- if lname == d.name.rsplit('.', 1)[0].lower(): ++ if lname == d.stem.lower(): + return d + return None + +diff --git a/test cases/osx/11 case sensitive apfs/meson.build b/test cases/osx/11 case sensitive apfs/meson.build +new file mode 100644 +index 000000000000..dd566b185f28 +--- /dev/null ++++ b/test cases/osx/11 case sensitive apfs/meson.build +@@ -0,0 +1,5 @@ ++project('case-sensitive APFS with extra frameworks test', 'c') ++ ++dep = dependency('FoUnDaTiOn') ++ ++exe = executable('prog', 'prog.c', install : true, dependencies: dep) +diff --git a/test cases/osx/11 case sensitive apfs/prog.c b/test cases/osx/11 case sensitive apfs/prog.c +new file mode 100644 +index 000000000000..9b6bdc2ec2f0 +--- /dev/null ++++ b/test cases/osx/11 case sensitive apfs/prog.c +@@ -0,0 +1,3 @@ ++int main(void) { ++ return 0; ++} +diff --git a/test cases/osx/11 case sensitive apfs/test.json b/test cases/osx/11 case sensitive apfs/test.json +new file mode 100644 +index 000000000000..a883714eaa27 +--- /dev/null ++++ b/test cases/osx/11 case sensitive apfs/test.json +@@ -0,0 +1,5 @@ ++{ ++ "installed": [ ++ {"type": "file", "file": "usr/bin/prog"} ++ ] ++} diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index 6c1a9563bf43..962c80489c66 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -83,6 +83,10 @@ python3.pkgs.buildPythonApplication rec { url = "https://github.com/mesonbuild/meson/pull/13411.patch"; hash = "sha256-IHSV0Dfse0lzDtxh/+APc/dzGr/BUbR/WIOqDsm7/8Y="; }) + + # Fix extraframework lookup on case-sensitive APFS. + # https://github.com/mesonbuild/meson/pull/13038 + ./007-case-sensitive-fs.patch ]; buildInputs = lib.optionals (python3.pythonOlder "3.9") [ From 59a69abc4d96c7fe2741467455ec2e5bb2e8c3dd Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Thu, 25 Jul 2024 23:25:56 +0200 Subject: [PATCH 072/152] python312Packages.sure: drop nose dependency fix --- pkgs/development/python-modules/sure/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix index a0aff938ab03..b07aeccb49f1 100644 --- a/pkgs/development/python-modules/sure/default.nix +++ b/pkgs/development/python-modules/sure/default.nix @@ -2,11 +2,10 @@ lib, buildPythonPackage, fetchPypi, - nose, + pytestCheckHook, mock, six, isPyPy, - pythonOlder, }: buildPythonPackage rec { @@ -23,7 +22,8 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.cfg \ - --replace "rednose = 1" "" + --replace "rednose = 1" "" \ + --replace-fail "--cov=sure" "" ''; propagatedBuildInputs = [ @@ -31,9 +31,11 @@ buildPythonPackage rec { six ]; - doCheck = pythonOlder "3.12"; # nose requires imp module + nativeCheckInputs = [ pytestCheckHook ]; - nativeCheckInputs = [ nose ]; + disabledTestPaths = [ + "tests/test_old_api.py" # require nose + ]; pythonImportsCheck = [ "sure" ]; From 9a5faca25fb60414bea972ed5c8ce95b500441f5 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Sat, 27 Jul 2024 02:04:34 +0200 Subject: [PATCH 073/152] python312Packages.sure: add sigmanificient to maintainers --- pkgs/development/python-modules/sure/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix index b07aeccb49f1..c22d89270583 100644 --- a/pkgs/development/python-modules/sure/default.nix +++ b/pkgs/development/python-modules/sure/default.nix @@ -45,6 +45,6 @@ buildPythonPackage rec { homepage = "https://sure.readthedocs.io/"; changelog = "https://github.com/gabrielfalcao/sure/blob/v${version}/CHANGELOG.md"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ sigmanificient ]; }; } From 3b6f64bb88bd0ac8ce31b85068e5df19add2296a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Sat, 27 Jul 2024 02:04:08 +0200 Subject: [PATCH 074/152] python312Packages.sure: migrate to pyproject fix --- pkgs/development/python-modules/sure/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix index c22d89270583..62c0a3e09ccd 100644 --- a/pkgs/development/python-modules/sure/default.nix +++ b/pkgs/development/python-modules/sure/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchPypi, + setuptools, pytestCheckHook, mock, six, @@ -11,7 +12,7 @@ buildPythonPackage rec { pname = "sure"; version = "2.0.1"; - format = "setuptools"; + pyproject = true; disabled = isPyPy; @@ -26,12 +27,13 @@ buildPythonPackage rec { --replace-fail "--cov=sure" "" ''; - propagatedBuildInputs = [ - mock - six - ]; + build-system = [ setuptools ]; + dependencies = [ six ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + mock + ]; disabledTestPaths = [ "tests/test_old_api.py" # require nose From ce10eed7c883529fd70d61f8c0c64984a9d22468 Mon Sep 17 00:00:00 2001 From: Florian Agbuya Date: Fri, 26 Jul 2024 15:23:33 +0800 Subject: [PATCH 075/152] python3Packages.passlib: fix bcrypt version compatibility issue --- pkgs/development/python-modules/passlib/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/python-modules/passlib/default.nix b/pkgs/development/python-modules/passlib/default.nix index 786cfc618d5b..bce17807d819 100644 --- a/pkgs/development/python-modules/passlib/default.nix +++ b/pkgs/development/python-modules/passlib/default.nix @@ -28,6 +28,13 @@ buildPythonPackage rec { totp = [ cryptography ]; }; + # Fix for https://foss.heptapod.net/python-libs/passlib/-/issues/190 + postPatch = '' + substituteInPlace passlib/handlers/bcrypt.py \ + --replace-fail "version = _bcrypt.__about__.__version__" \ + "version = getattr(getattr(_bcrypt, '__about__', _bcrypt), '__version__', '')" + ''; + nativeCheckInputs = [ pytestCheckHook From c62608da31e6cd2f52ac3885123a57d25e19aa2e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 27 Jul 2024 12:47:03 +0000 Subject: [PATCH 076/152] libjodycode: 3.1 -> 3.1.1 --- pkgs/development/libraries/libjodycode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libjodycode/default.nix b/pkgs/development/libraries/libjodycode/default.nix index 2a99ed5feca3..4e5c272ba8d8 100644 --- a/pkgs/development/libraries/libjodycode/default.nix +++ b/pkgs/development/libraries/libjodycode/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { pname = "libjodycode"; - version = "3.1"; + version = "3.1.1"; outputs = [ "out" "man" "dev" ]; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "jbruchon"; repo = "libjodycode"; rev = "v${version}"; - hash = "sha256-uhWQh5YwLwYRm34nY5HvcEepqlTSDt9s3PSoD403kQM="; + hash = "sha256-sVEa2gNvgRJK1Ycmv4inbViTBPQFjzcZ8XHlAdsNzOk="; }; env.PREFIX = placeholder "out"; From 00cb5c8fc429437faae24eea9d859850a6f9c3ce Mon Sep 17 00:00:00 2001 From: Reno Dakota <170618376+paparodeo@users.noreply.github.com> Date: Sat, 27 Jul 2024 18:35:35 +0000 Subject: [PATCH 077/152] cmake: use addToSearchPath --- pkgs/by-name/cm/cmake/setup-hook.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/cm/cmake/setup-hook.sh b/pkgs/by-name/cm/cmake/setup-hook.sh index 29b72ddda435..1a8c9b0f1673 100755 --- a/pkgs/by-name/cm/cmake/setup-hook.sh +++ b/pkgs/by-name/cm/cmake/setup-hook.sh @@ -151,22 +151,22 @@ makeCmakeFindLibs(){ for flag in ${NIX_CFLAGS_COMPILE-} ${NIX_LDFLAGS-}; do if test -n "$isystem_seen" && test -d "$flag"; then isystem_seen= - export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag}" + addToSearchPath CMAKE_INCLUDE_PATH "${flag}" elif test -n "$iframework_seen" && test -d "$flag"; then iframework_seen= - export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag}" + addToSearchPath CMAKE_FRAMEWORK_PATH "${flag}" else isystem_seen= iframework_seen= case $flag in -I*) - export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH-}${CMAKE_INCLUDE_PATH:+:}${flag:2}" + addToSearchPath CMAKE_INCLUDE_PATH "${flag:2}" ;; -L*) - export CMAKE_LIBRARY_PATH="${CMAKE_LIBRARY_PATH-}${CMAKE_LIBRARY_PATH:+:}${flag:2}" + addToSearchPath CMAKE_LIBRARY_PATH "${flag:2}" ;; -F*) - export CMAKE_FRAMEWORK_PATH="${CMAKE_FRAMEWORK_PATH-}${CMAKE_FRAMEWORK_PATH:+:}${flag:2}" + addToSearchPath CMAKE_FRAMEWORK_PATH "${flag:2}" ;; -isystem) isystem_seen=1 From f9a7cf528b2369337b1c3f47bd2ecd56d34aa3be Mon Sep 17 00:00:00 2001 From: Reno Dakota <170618376+paparodeo@users.noreply.github.com> Date: Sat, 27 Jul 2024 12:41:55 +0000 Subject: [PATCH 078/152] meson: add support for NIXPKGS_CMAKE_PREFIX_PATH nixpkgs cmake uses NIXPKGS_CMAKE_PREFIX_PATH rather than CMAKE_PREFIX_PATH env to specify module search paths. Add the env variable to meson to allow finding modules via cmake to work. --- .../me/meson/000-nixpkgs-cmake-prefix-path.patch | 12 ++++++++++++ pkgs/by-name/me/meson/package.nix | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/by-name/me/meson/000-nixpkgs-cmake-prefix-path.patch diff --git a/pkgs/by-name/me/meson/000-nixpkgs-cmake-prefix-path.patch b/pkgs/by-name/me/meson/000-nixpkgs-cmake-prefix-path.patch new file mode 100644 index 000000000000..c45106c4f9d1 --- /dev/null +++ b/pkgs/by-name/me/meson/000-nixpkgs-cmake-prefix-path.patch @@ -0,0 +1,12 @@ +diff --git a/mesonbuild/dependencies/data/CMakePathInfo.txt b/mesonbuild/dependencies/data/CMakePathInfo.txt +index 662ec58..4d5f4e4 100644 +--- a/mesonbuild/dependencies/data/CMakePathInfo.txt ++++ b/mesonbuild/dependencies/data/CMakePathInfo.txt +@@ -5,6 +5,7 @@ list(APPEND TMP_PATHS_LIST ${CMAKE_PREFIX_PATH}) + list(APPEND TMP_PATHS_LIST ${CMAKE_FRAMEWORK_PATH}) + list(APPEND TMP_PATHS_LIST ${CMAKE_APPBUNDLE_PATH}) + list(APPEND TMP_PATHS_LIST $ENV{CMAKE_PREFIX_PATH}) ++list(APPEND TMP_PATHS_LIST $ENV{NIXPKGS_CMAKE_PREFIX_PATH}) + list(APPEND TMP_PATHS_LIST $ENV{CMAKE_FRAMEWORK_PATH}) + list(APPEND TMP_PATHS_LIST $ENV{CMAKE_APPBUNDLE_PATH}) + list(APPEND TMP_PATHS_LIST ${CMAKE_SYSTEM_PREFIX_PATH}) diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index 6c1a9563bf43..820433b51978 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -31,6 +31,9 @@ python3.pkgs.buildPythonApplication rec { }; patches = [ + # Nixpkgs cmake uses NIXPKGS_CMAKE_PREFIX_PATH for the search path + ./000-nixpkgs-cmake-prefix-path.patch + # In typical distributions, RPATH is only needed for internal libraries so # meson removes everything else. With Nix, the locations of libraries # are not as predictable, therefore we need to keep them in the RPATH. From 8c9c8ade2f88a85ccdd4858cc802d7b7d6c48fe0 Mon Sep 17 00:00:00 2001 From: Reno Dakota <170618376+paparodeo@users.noreply.github.com> Date: Sat, 8 Jun 2024 07:41:56 +0000 Subject: [PATCH 079/152] cmake: fix strictDeps patch cmake to implement a NIXPKGS_CMAKE_PREFIX_PATH env variable which is similar to CMAKE_PREFIX_PATH except it is not searched for programs. This is required because cmake will search CMAKE_PREFIX_PATH for programs before PATH which is problematic as that means buildInputs gets searched before nativeBuildInputs which can break things when the binaries in PATH are covered or the order re-arranged. --- .../cmake/000-nixpkgs-cmake-prefix-path.diff | 28 +++++++++++++++++++ pkgs/by-name/cm/cmake/package.nix | 3 ++ pkgs/by-name/cm/cmake/setup-hook.sh | 4 ++- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 pkgs/by-name/cm/cmake/000-nixpkgs-cmake-prefix-path.diff diff --git a/pkgs/by-name/cm/cmake/000-nixpkgs-cmake-prefix-path.diff b/pkgs/by-name/cm/cmake/000-nixpkgs-cmake-prefix-path.diff new file mode 100644 index 000000000000..4ebdcced055c --- /dev/null +++ b/pkgs/by-name/cm/cmake/000-nixpkgs-cmake-prefix-path.diff @@ -0,0 +1,28 @@ +diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx +index 8840cdcb..c34b7ee9 100644 +--- a/Source/cmFindBase.cxx ++++ b/Source/cmFindBase.cxx +@@ -280,6 +280,11 @@ void cmFindBase::FillCMakeEnvironmentPath() + // Add CMAKE_*_PATH environment variables + std::string var = cmStrCat("CMAKE_", this->CMakePathName, "_PATH"); + paths.AddEnvPrefixPath("CMAKE_PREFIX_PATH"); ++ if (this->CMakePathName != "PROGRAM") { ++ // Like CMAKE_PREFIX_PATH except when searching for programs. Programs need ++ // to be located via PATH ++ paths.AddEnvPrefixPath("NIXPKGS_CMAKE_PREFIX_PATH"); ++ } + paths.AddEnvPath(var); + + if (this->CMakePathName == "PROGRAM") { +diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx +index 9b51b1ad..6acc676c 100644 +--- a/Source/cmFindPackageCommand.cxx ++++ b/Source/cmFindPackageCommand.cxx +@@ -2039,6 +2039,7 @@ void cmFindPackageCommand::FillPrefixesCMakeEnvironment() + + // And now the general CMake environment variables + paths.AddEnvPath("CMAKE_PREFIX_PATH"); ++ paths.AddEnvPath("NIXPKGS_CMAKE_PREFIX_PATH"); + if (this->DebugMode) { + debugBuffer = cmStrCat(debugBuffer, + "CMAKE_PREFIX_PATH env variable " diff --git a/pkgs/by-name/cm/cmake/package.nix b/pkgs/by-name/cm/cmake/package.nix index c03c1055f724..ca0f1789a110 100644 --- a/pkgs/by-name/cm/cmake/package.nix +++ b/pkgs/by-name/cm/cmake/package.nix @@ -56,6 +56,9 @@ stdenv.mkDerivation (finalAttrs: { }; patches = [ + # Add NIXPKGS_CMAKE_PREFIX_PATH to cmake which is like CMAKE_PREFIX_PATH + # except it is not searched for programs + ./000-nixpkgs-cmake-prefix-path.diff # Don't search in non-Nix locations such as /usr, but do search in our libc. ./001-search-path.diff # Don't depend on frameworks. diff --git a/pkgs/by-name/cm/cmake/setup-hook.sh b/pkgs/by-name/cm/cmake/setup-hook.sh index 1a8c9b0f1673..9ca4a6abeebc 100755 --- a/pkgs/by-name/cm/cmake/setup-hook.sh +++ b/pkgs/by-name/cm/cmake/setup-hook.sh @@ -1,5 +1,7 @@ addCMakeParams() { - addToSearchPath CMAKE_PREFIX_PATH $1 + # NIXPKGS_CMAKE_PREFIX_PATH is like CMAKE_PREFIX_PATH except cmake + # will not search it for programs + addToSearchPath NIXPKGS_CMAKE_PREFIX_PATH $1 } fixCmakeFiles() { From 7b9761cb23db85024b08b60887cc3b39179705f1 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 16 Jun 2024 21:09:26 +0100 Subject: [PATCH 080/152] lksctp-tools: 1.0.17 -> 1.0.19 Changes: https://github.com/sctp/lksctp-tools/blob/master/ChangeLog --- .../os-specific/linux/lksctp-tools/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/lksctp-tools/default.nix b/pkgs/os-specific/linux/lksctp-tools/default.nix index f6a91c663a05..5ddf19c96e86 100644 --- a/pkgs/os-specific/linux/lksctp-tools/default.nix +++ b/pkgs/os-specific/linux/lksctp-tools/default.nix @@ -1,17 +1,23 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook }: stdenv.mkDerivation rec { pname = "lksctp-tools"; - version = "1.0.17"; + version = "1.0.19"; - src = fetchurl { - url = "mirror://sourceforge/lksctp/lksctp-tools-${version}.tar.gz"; - sha256 = "05da6c2v3acc18ndvmkrag6x5lf914b7s0xkkr6wkvrbvd621sqs"; + src = fetchFromGitHub { + owner = "sctp"; + repo = "lksctp-tools"; + rev = "v${version}"; + hash = "sha256-QEgk9OPFCI5WknUDkqfswApCFeOF+620frQWMyQq2Mk="; }; + nativeBuildInputs = [ autoreconfHook ]; + + enableParallelBuilding = true; + meta = with lib; { description = "Linux Kernel Stream Control Transmission Protocol Tools"; - homepage = "https://lksctp.sourceforge.net/"; + homepage = "https://github.com/sctp/lksctp-tools/wiki"; license = with licenses; [ gpl2Plus lgpl21 ]; # library is lgpl21 platforms = platforms.linux; }; From 23de357949b5f9a3ac31aaa95b00a9b428108575 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 25 Jul 2024 01:22:09 +0200 Subject: [PATCH 081/152] nss: 3.101.1 -> 3.101.2 https://groups.google.com/a/mozilla.org/g/dev-tech-crypto/c/DFuJA6A3nLQ --- pkgs/development/libraries/nss/esr.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nss/esr.nix b/pkgs/development/libraries/nss/esr.nix index 2473ee1dd4d8..f1b8c6df4acf 100644 --- a/pkgs/development/libraries/nss/esr.nix +++ b/pkgs/development/libraries/nss/esr.nix @@ -1,4 +1,4 @@ import ./generic.nix { - version = "3.101.1"; - hash = "sha256-KcRiOUbdFnH618MFM6uxmRn+/Jn4QMHtv1BELXrCAX4="; + version = "3.101.2"; + hash = "sha256-i5K47pzQYOiD4vFHBN6VeqXEdPBOM7U1oSK0qSi2M2Y="; } From 65c81d4eaec6dc8acf7c5b84caf55fc029442f45 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 7 Jun 2024 07:46:36 -0700 Subject: [PATCH 082/152] zig: add cc wrapper --- .../compilers/zig/0.10/default.nix | 3 ++ .../compilers/zig/0.11/default.nix | 3 ++ .../compilers/zig/0.12/default.nix | 3 ++ .../development/compilers/zig/0.9/default.nix | 3 ++ pkgs/development/compilers/zig/cc.nix | 42 +++++++++++++++++++ pkgs/development/compilers/zig/generic.nix | 3 ++ 6 files changed, 57 insertions(+) create mode 100644 pkgs/development/compilers/zig/cc.nix diff --git a/pkgs/development/compilers/zig/0.10/default.nix b/pkgs/development/compilers/zig/0.10/default.nix index 170edafa819c..a889c3cde23b 100644 --- a/pkgs/development/compilers/zig/0.10/default.nix +++ b/pkgs/development/compilers/zig/0.10/default.nix @@ -89,6 +89,9 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; + cc = callPackage ../cc.nix { + zig = finalAttrs.finalPackage; + }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/0.11/default.nix b/pkgs/development/compilers/zig/0.11/default.nix index 0f19f455cbb0..c131adbe56b0 100644 --- a/pkgs/development/compilers/zig/0.11/default.nix +++ b/pkgs/development/compilers/zig/0.11/default.nix @@ -83,6 +83,9 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; + cc = callPackage ../cc.nix { + zig = finalAttrs.finalPackage; + }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/0.12/default.nix b/pkgs/development/compilers/zig/0.12/default.nix index 88bb0169dd8a..93d7303ce3a8 100644 --- a/pkgs/development/compilers/zig/0.12/default.nix +++ b/pkgs/development/compilers/zig/0.12/default.nix @@ -95,6 +95,9 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; + cc = callPackage ../cc.nix { + zig = finalAttrs.finalPackage; + }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/0.9/default.nix b/pkgs/development/compilers/zig/0.9/default.nix index 079773f00e88..07529476fb11 100644 --- a/pkgs/development/compilers/zig/0.9/default.nix +++ b/pkgs/development/compilers/zig/0.9/default.nix @@ -91,6 +91,9 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; + cc = callPackage ../cc.nix { + zig = finalAttrs.finalPackage; + }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/cc.nix b/pkgs/development/compilers/zig/cc.nix new file mode 100644 index 000000000000..dc94e918814d --- /dev/null +++ b/pkgs/development/compilers/zig/cc.nix @@ -0,0 +1,42 @@ +{ + lib, + wrapCCWith, + makeWrapper, + runCommand, + targetPlatform, + targetPackages, + zig, +}: +wrapCCWith { + cc = + runCommand "zig-cc-${zig.version}" + { + pname = "zig-cc"; + inherit (zig) version meta; + + nativeBuildInputs = [ makeWrapper ]; + + passthru.isZig = true; + inherit zig; + } + '' + mkdir -p $out/bin + for tool in ar cc c++ objcopy; do + makeWrapper "$zig/bin/zig" "$out/bin/$tool" \ + --add-flags "$tool" \ + --run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)" + done + + mv $out/bin/c++ $out/bin/clang++ + mv $out/bin/cc $out/bin/clang + ''; + + nixSupport.cc-cflags = + [ + "-target" + "${targetPlatform.parsed.cpu.name}-${targetPlatform.parsed.kernel.name}-${targetPlatform.parsed.abi.name}" + ] + ++ lib.optional ( + targetPlatform.isLinux && !(targetPackages.isStatic or false) + ) "-Wl,-dynamic-linker=${targetPackages.stdenv.cc.bintools.dynamicLinker}"; +} diff --git a/pkgs/development/compilers/zig/generic.nix b/pkgs/development/compilers/zig/generic.nix index 3369f5d40c2c..71b961fbc81d 100644 --- a/pkgs/development/compilers/zig/generic.nix +++ b/pkgs/development/compilers/zig/generic.nix @@ -71,6 +71,9 @@ stdenv.mkDerivation (finalAttrs: { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; + cc = callPackage ./cc.nix { + zig = finalAttrs.finalPackage; + }; }; meta = { From e9fb54b256fb4b63436a617345879953c885a4bd Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 7 Jun 2024 07:57:29 -0700 Subject: [PATCH 083/152] cc-wrapper: add zig --- pkgs/build-support/cc-wrapper/default.nix | 5 +++-- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index d842f3fc7090..d206e2cca1a8 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -15,7 +15,8 @@ , propagateDoc ? cc != null && cc ? man , extraTools ? [], extraPackages ? [], extraBuildCommands ? "" , nixSupport ? {} -, isGNU ? false, isClang ? cc.isClang or false, isCcache ? cc.isCcache or false, gnugrep ? null +, isGNU ? false, isClang ? cc.isClang or false, isZig ? cc.isZig or false, isCcache ? cc.isCcache or false +, gnugrep ? null , expand-response-params , libcxx ? null @@ -311,7 +312,7 @@ stdenvNoCC.mkDerivation { # Binutils, and Apple's "cctools"; "bintools" as an attempt to find an # unused middle-ground name that evokes both. inherit bintools; - inherit cc libc libcxx nativeTools nativeLibc nativePrefix isGNU isClang; + inherit cc libc libcxx nativeTools nativeLibc nativePrefix isGNU isClang isZig; emacsBufferSetup = pkgs: '' ; We should handle propagation here too diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dd307dc66c90..a753831a9be7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16662,6 +16662,7 @@ with pkgs; isGNU = cc.isGNU or false; isClang = cc.isClang or false; + isZig = cc.isZig or false; inherit cc bintools libc libcxx extraPackages nixSupport zlib; } // extraArgs; in self); From c472b840a3a637b09b0ade8287a987a6cbe49639 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 7 Jun 2024 07:58:39 -0700 Subject: [PATCH 084/152] pkgs/stdenv/cross: add zig --- pkgs/stdenv/cross/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix index 1cbbfeb6d202..2b3ca5f03728 100644 --- a/pkgs/stdenv/cross/default.nix +++ b/pkgs/stdenv/cross/default.nix @@ -75,6 +75,8 @@ in lib.init bootStages ++ [ then buildPackages.llvmPackages.libcxxClang else if crossSystem.useLLVM or false then buildPackages.llvmPackages.clang + else if crossSystem.useZig or false + then buildPackages.zig.cc else buildPackages.gcc; extraNativeBuildInputs = old.extraNativeBuildInputs From 945426bccc502f0b93956c0a41361d325dbf0712 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 7 Jun 2024 08:04:47 -0700 Subject: [PATCH 085/152] zig: add stdenv --- pkgs/development/compilers/zig/0.10/default.nix | 5 ++--- pkgs/development/compilers/zig/0.11/default.nix | 5 ++--- pkgs/development/compilers/zig/0.12/default.nix | 5 ++--- pkgs/development/compilers/zig/0.13/default.nix | 2 ++ pkgs/development/compilers/zig/0.9/default.nix | 5 ++--- pkgs/development/compilers/zig/generic.nix | 3 +++ pkgs/development/compilers/zig/stdenv.nix | 6 ++++++ pkgs/top-level/all-packages.nix | 2 ++ 8 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 pkgs/development/compilers/zig/stdenv.nix diff --git a/pkgs/development/compilers/zig/0.10/default.nix b/pkgs/development/compilers/zig/0.10/default.nix index a889c3cde23b..5c01521f08fd 100644 --- a/pkgs/development/compilers/zig/0.10/default.nix +++ b/pkgs/development/compilers/zig/0.10/default.nix @@ -89,9 +89,8 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; - cc = callPackage ../cc.nix { - zig = finalAttrs.finalPackage; - }; + cc = callPackage ../cc.nix { zig = finalAttrs.finalPackage; }; + stdenv = callPackage ../stdenv.nix { zig = finalAttrs.finalPackage; }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/0.11/default.nix b/pkgs/development/compilers/zig/0.11/default.nix index c131adbe56b0..91e753dbf0fe 100644 --- a/pkgs/development/compilers/zig/0.11/default.nix +++ b/pkgs/development/compilers/zig/0.11/default.nix @@ -83,9 +83,8 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; - cc = callPackage ../cc.nix { - zig = finalAttrs.finalPackage; - }; + cc = callPackage ../cc.nix { zig = finalAttrs.finalPackage; }; + stdenv = callPackage ../stdenv.nix { zig = finalAttrs.finalPackage; }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/0.12/default.nix b/pkgs/development/compilers/zig/0.12/default.nix index 93d7303ce3a8..1a730d4c0ce7 100644 --- a/pkgs/development/compilers/zig/0.12/default.nix +++ b/pkgs/development/compilers/zig/0.12/default.nix @@ -95,9 +95,8 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; - cc = callPackage ../cc.nix { - zig = finalAttrs.finalPackage; - }; + cc = callPackage ../cc.nix { zig = finalAttrs.finalPackage; }; + stdenv = callPackage ../stdenv.nix { zig = finalAttrs.finalPackage; }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/0.13/default.nix b/pkgs/development/compilers/zig/0.13/default.nix index 0c72b459facf..43093c822f02 100644 --- a/pkgs/development/compilers/zig/0.13/default.nix +++ b/pkgs/development/compilers/zig/0.13/default.nix @@ -95,6 +95,8 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; + cc = callPackage ../cc.nix { zig = finalAttrs.finalPackage; }; + stdenv = callPackage ../stdenv.nix { zig = finalAttrs.finalPackage; }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/0.9/default.nix b/pkgs/development/compilers/zig/0.9/default.nix index 07529476fb11..72e05c879a59 100644 --- a/pkgs/development/compilers/zig/0.9/default.nix +++ b/pkgs/development/compilers/zig/0.9/default.nix @@ -91,9 +91,8 @@ stdenv.mkDerivation (finalAttrs: { passthru = { hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; - cc = callPackage ../cc.nix { - zig = finalAttrs.finalPackage; - }; + cc = callPackage ../cc.nix { zig = finalAttrs.finalPackage; }; + stdenv = callPackage ../stdenv.nix { zig = finalAttrs.finalPackage; }; tests = { version = testers.testVersion { package = finalAttrs.finalPackage; diff --git a/pkgs/development/compilers/zig/generic.nix b/pkgs/development/compilers/zig/generic.nix index 71b961fbc81d..cde1a61e3583 100644 --- a/pkgs/development/compilers/zig/generic.nix +++ b/pkgs/development/compilers/zig/generic.nix @@ -74,6 +74,9 @@ stdenv.mkDerivation (finalAttrs: { cc = callPackage ./cc.nix { zig = finalAttrs.finalPackage; }; + stdenv = callPackage ./stdenv.nix { + zig = finalAttrs.finalPackage; + }; }; meta = { diff --git a/pkgs/development/compilers/zig/stdenv.nix b/pkgs/development/compilers/zig/stdenv.nix new file mode 100644 index 000000000000..e8b29a7c8aba --- /dev/null +++ b/pkgs/development/compilers/zig/stdenv.nix @@ -0,0 +1,6 @@ +{ + stdenv, + overrideCC, + zig, +}: +overrideCC stdenv zig.cc diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a753831a9be7..b8312ef42ccd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24696,6 +24696,8 @@ with pkgs; }; zig = zig_0_13; + zigStdenv = if stdenv.cc.isZig then stdenv else lowPrio zig.passthru.stdenv; + zimlib = callPackage ../development/libraries/zimlib { }; zita-convolver = callPackage ../development/libraries/audio/zita-convolver { }; From 2d4c9e69663fd844c7d7b944588c1bfd00ad0413 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 7 Jun 2024 07:58:58 -0700 Subject: [PATCH 086/152] pkgs/top-level/{release,stage}.nix: add zig package set --- pkgs/top-level/release.nix | 1 + pkgs/top-level/stage.nix | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 5800376c9153..4b559456d43e 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -291,6 +291,7 @@ let agdaPackages = packagePlatforms pkgs.agdaPackages; pkgsLLVM.stdenv = [ "x86_64-linux" "aarch64-linux" ]; + pkgsZig.stdenv = [ "x86_64-linux" "aarch64-linux" ]; pkgsMusl.stdenv = [ "x86_64-linux" "aarch64-linux" ]; pkgsStatic.stdenv = [ "x86_64-linux" "aarch64-linux" ]; diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index b0c7ec03827b..ea1719f7dfc1 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -203,6 +203,21 @@ let }; }; + pkgsZig = nixpkgsFun { + overlays = [ + (self': super': { + pkgsZig = super'; + }) + ] ++ overlays; + # Bootstrap a cross stdenv using the Zig toolchain. + # This is currently not possible when compiling natively, + # so we don't need to check hostPlatform != buildPlatform. + crossSystem = stdenv.hostPlatform // { + useZig = true; + linker = "lld"; + }; + }; + # All packages built with the Musl libc. This will override the # default GNU libc on Linux systems. Non-Linux systems are not # supported. 32-bit is also not supported. From f822fae2bea397be89ec825238cdde084a7ec35f Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 7 Jun 2024 08:29:44 -0700 Subject: [PATCH 087/152] meson: include patch for zig cc --- pkgs/by-name/me/meson/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index 79ffae36a98f..60f4375569d7 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -90,6 +90,14 @@ python3.pkgs.buildPythonApplication rec { # Fix extraframework lookup on case-sensitive APFS. # https://github.com/mesonbuild/meson/pull/13038 ./007-case-sensitive-fs.patch + + # Fix meson's detection for zig's linker + # https://github.com/mesonbuild/meson/pull/12293 + (fetchpatch { + name = "linker-support-zig-cc.patch"; + url = "https://github.com/mesonbuild/meson/pull/12293/commits/2baae244c995794d9addfe6ed924dfa72f01be82.patch"; + hash = "sha256-dDOmSRBKl/gs7I3kmLXIyQk3zsOdlaYov72pPSel4+I="; + }) ]; buildInputs = lib.optionals (python3.pythonOlder "3.9") [ From 8045879c8876fc0dcf8219a93b8e6a6b21e71bb6 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Tue, 25 Jun 2024 19:52:15 -0700 Subject: [PATCH 088/152] sqlite: fix build issue with zig cc --- pkgs/development/libraries/sqlite/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index f2de9320ce85..27b2e4c993fd 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { fi # Necessary for FTS5 on Linux - export NIX_LDFLAGS="$NIX_LDFLAGS -lm" + export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lm" echo "" echo "NIX_CFLAGS_COMPILE = $NIX_CFLAGS_COMPILE" From 9f589ea3a088fd2cdca91a14c0f59fb2331f972f Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Sun, 30 Jun 2024 19:01:07 -0700 Subject: [PATCH 089/152] arocc: init at 0-unstable-06-01 --- pkgs/build-support/cc-wrapper/add-flags.sh | 7 +++- pkgs/build-support/cc-wrapper/cc-wrapper.sh | 5 +++ pkgs/build-support/cc-wrapper/default.nix | 29 ++++++++----- pkgs/development/compilers/arocc/default.nix | 44 ++++++++++++++++++++ pkgs/development/compilers/arocc/package.nix | 33 +++++++++++++++ pkgs/stdenv/cross/default.nix | 2 + pkgs/top-level/all-packages.nix | 6 +++ pkgs/top-level/release.nix | 1 + pkgs/top-level/stage.nix | 15 +++++++ 9 files changed, 130 insertions(+), 12 deletions(-) create mode 100644 pkgs/development/compilers/arocc/default.nix create mode 100644 pkgs/development/compilers/arocc/package.nix diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh index c59118d6c09e..3f2b0ccf0a6b 100644 --- a/pkgs/build-support/cc-wrapper/add-flags.sh +++ b/pkgs/build-support/cc-wrapper/add-flags.sh @@ -27,8 +27,11 @@ for var in "${var_templates_bool[@]}"; do mangleVarBool "$var" ${role_suffixes[@]+"${role_suffixes[@]}"} done -# `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld. -NIX_CFLAGS_COMPILE_@suffixSalt@="-B@out@/bin/ $NIX_CFLAGS_COMPILE_@suffixSalt@" +# Arocc does not support "-B" +if [[ -z "@isArocc@" ]]; then + # `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld. + NIX_CFLAGS_COMPILE_@suffixSalt@="-B@out@/bin/ $NIX_CFLAGS_COMPILE_@suffixSalt@" +fi # Export and assign separately in order that a failing $(..) will fail # the script. diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index b8d170df01b7..4cc661721f44 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -79,6 +79,11 @@ if [ "$nonFlagArgs" = 0 ]; then dontLink=1 fi +# Arocc does not link +if [ "@isArocc@" = 1 ]; then + dontLink=1 +fi + # Optionally filter out paths not refering to the store. if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then kept=() diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index d206e2cca1a8..542accd8fa11 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -15,7 +15,8 @@ , propagateDoc ? cc != null && cc ? man , extraTools ? [], extraPackages ? [], extraBuildCommands ? "" , nixSupport ? {} -, isGNU ? false, isClang ? cc.isClang or false, isZig ? cc.isZig or false, isCcache ? cc.isCcache or false +, isGNU ? false, isClang ? cc.isClang or false, isZig ? cc.isZig or false +, isArocc ? cc.isArocc or false, isCcache ? cc.isCcache or false , gnugrep ? null , expand-response-params , libcxx ? null @@ -305,6 +306,9 @@ stdenvNoCC.mkDerivation { outputs = [ "out" ] ++ optionals propagateDoc [ "man" "info" ]; + # Cannot be in "passthru" due to "substituteAll" + inherit isArocc; + passthru = { inherit targetPrefix suffixSalt; # "cc" is the generic name for a C compiler, but there is no one for package @@ -392,6 +396,10 @@ stdenvNoCC.mkDerivation { ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc export named_cc=${targetPrefix}clang export named_cxx=${targetPrefix}clang++ + elif [ -e $ccPath/arocc ]; then + wrap ${targetPrefix}arocc $wrapper $ccPath/arocc + ln -s ${targetPrefix}arocc $out/bin/${targetPrefix}cc + export named_cc=${targetPrefix}arocc fi if [ -e $ccPath/${targetPrefix}g++ ]; then @@ -476,7 +484,7 @@ stdenvNoCC.mkDerivation { # # TODO(@Ericson2314): Remove this after stable release and force # everyone to refer to bintools-wrapper directly. - + '' + + optionalString (!isArocc) '' if [[ -f "$bintools/nix-support/dynamic-linker" ]]; then ln -s "$bintools/nix-support/dynamic-linker" "$out/nix-support" fi @@ -492,7 +500,7 @@ stdenvNoCC.mkDerivation { echo "-B${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-cflags '' - + optionalString useGccForLibs '' + + optionalString (useGccForLibs && !isArocc) '' echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags echo "-L${gccForLibs_solib}/lib" >> $out/nix-support/cc-ldflags '' @@ -518,9 +526,9 @@ stdenvNoCC.mkDerivation { '' # this ensures that when clang passes -lgcc_s to lld (as it does # when building e.g. firefox), lld is able to find libgcc_s.so - + concatMapStrings (libgcc: '' + + optionals (!isArocc) (concatMapStrings (libgcc: '' echo "-L${libgcc}/lib" >> $out/nix-support/cc-ldflags - '') (toList (gccForLibs.libgcc or []))) + '') (toList (gccForLibs.libgcc or [])))) ## ## General libc support @@ -540,9 +548,10 @@ stdenvNoCC.mkDerivation { + optionalString (libc != null) ('' touch "$out/nix-support/libc-cflags" touch "$out/nix-support/libc-ldflags" + '' + optionalString (!isArocc) '' echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-crt1-cflags '' + optionalString (!(cc.langD or false)) '' - echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags + echo "-${if isArocc then "I" else "idirafter"} ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags '' + optionalString (isGNU && (!(cc.langD or false))) '' for dir in "${cc}"/lib/gcc/*/*/include-fixed; do echo '-idirafter' ''${dir} >> $out/nix-support/libc-cflags @@ -598,7 +607,7 @@ stdenvNoCC.mkDerivation { # ${cc_solib}/lib64 (even though it does actually search there...).. # This confuses libtool. So add it to the compiler tool search # path explicitly. - + optionalString (!nativeTools) '' + + optionalString (!nativeTools && !isArocc) '' if [ -e "${cc_solib}/lib64" -a ! -L "${cc_solib}/lib64" ]; then ccLDFlags+=" -L${cc_solib}/lib64" ccCFlags+=" -B${cc_solib}/lib64" @@ -606,7 +615,7 @@ stdenvNoCC.mkDerivation { ccLDFlags+=" -L${cc_solib}/lib" ccCFlags+=" -B${cc_solib}/lib" - '' + optionalString cc.langAda or false '' + '' + optionalString (cc.langAda or false && !isArocc) '' touch "$out/nix-support/gnat-cflags" touch "$out/nix-support/gnat-ldflags" basePath=$(echo $cc/lib/*/*/*) @@ -627,7 +636,7 @@ stdenvNoCC.mkDerivation { + optionalString propagateDoc '' ln -s ${cc.man} $man ln -s ${cc.info} $info - '' + optionalString (cc.langD or cc.langJava or false) '' + '' + optionalString (cc.langD or cc.langJava or false && !isArocc) '' echo "-B${zlib}${zlib.libdir or "/lib/"}" >> $out/nix-support/libc-cflags '' @@ -668,7 +677,7 @@ stdenvNoCC.mkDerivation { hardening_unsupported_flags+=" stackprotector" '' - + optionalString (libc != null && targetPlatform.isAvr) '' + + optionalString (libc != null && targetPlatform.isAvr && !isArocc) '' for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-crt1-cflags done diff --git a/pkgs/development/compilers/arocc/default.nix b/pkgs/development/compilers/arocc/default.nix new file mode 100644 index 000000000000..6d73c2d3562d --- /dev/null +++ b/pkgs/development/compilers/arocc/default.nix @@ -0,0 +1,44 @@ +{ + lib, + fetchFromGitHub, + callPackage, + zig_0_13, +}: +let + versions = [ + { + zig = zig_0_13; + version = "0-unstable-06-01"; + src = fetchFromGitHub { + owner = "Vexu"; + repo = "arocc"; + rev = "55cb6d1b682b83f75ad4f60e34c6fcd2336e8531"; + hash = "sha256-xs3zNQIC5drrQYT4nxL7Q69xSEdbdMv5+3hQpsX3q5A="; + }; + } + ]; + + mkPackage = + { + zig, + version, + src, + }: + callPackage ./package.nix { inherit zig version src; }; + + pkgsList = lib.map mkPackage versions; + + pkgsAttrsUnwrapped = lib.listToAttrs ( + lib.map (pkg: lib.nameValuePair "${pkg.version}-unwrapped" pkg) pkgsList + ); + pkgsAttrsWrapped = lib.listToAttrs ( + lib.map (pkg: lib.nameValuePair pkg.version pkg.wrapped) pkgsList + ); + + pkgsAttrs = pkgsAttrsWrapped // pkgsAttrsUnwrapped; +in +{ + latest-unwrapped = lib.last pkgsList; + latest = (lib.last pkgsList).wrapped; +} +// pkgsAttrs diff --git a/pkgs/development/compilers/arocc/package.nix b/pkgs/development/compilers/arocc/package.nix new file mode 100644 index 000000000000..edd3316fa638 --- /dev/null +++ b/pkgs/development/compilers/arocc/package.nix @@ -0,0 +1,33 @@ +{ + lib, + stdenv, + wrapCCWith, + overrideCC, + zig, + version, + src, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "arocc"; + inherit version src; + + nativeBuildInputs = [ zig.hook ]; + + passthru = { + inherit zig; + isArocc = true; + wrapped = wrapCCWith { cc = finalAttrs.finalPackage; }; + stdenv = overrideCC stdenv finalAttrs.passthru.wrapped; + }; + + meta = { + description = "C compiler written in Zig."; + homepage = "http://aro.vexu.eu/"; + license = with lib.licenses; [ + mit + unicode-30 + ]; + maintainers = with lib.maintainers; [ RossComputerGuy ]; + mainProgram = "arocc"; + }; +}) diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix index 2b3ca5f03728..62ecc0261ca0 100644 --- a/pkgs/stdenv/cross/default.nix +++ b/pkgs/stdenv/cross/default.nix @@ -77,6 +77,8 @@ in lib.init bootStages ++ [ then buildPackages.llvmPackages.clang else if crossSystem.useZig or false then buildPackages.zig.cc + else if crossSystem.useArocc or false + then buildPackages.arocc else buildPackages.gcc; extraNativeBuildInputs = old.extraNativeBuildInputs diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b8312ef42ccd..c39129337256 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16662,6 +16662,7 @@ with pkgs; isGNU = cc.isGNU or false; isClang = cc.isClang or false; + isArocc = cc.isArocc or false; isZig = cc.isZig or false; inherit cc bintools libc libcxx extraPackages nixSupport zlib; @@ -24698,6 +24699,11 @@ with pkgs; zigStdenv = if stdenv.cc.isZig then stdenv else lowPrio zig.passthru.stdenv; + aroccPackages = recurseIntoAttrs (callPackage ../development/compilers/arocc {}); + arocc = aroccPackages.latest; + + aroccStdenv = if stdenv.cc.isArocc then stdenv else lowPrio arocc.cc.passthru.stdenv; + zimlib = callPackage ../development/libraries/zimlib { }; zita-convolver = callPackage ../development/libraries/audio/zita-convolver { }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 4b559456d43e..0f5974d83cb8 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -291,6 +291,7 @@ let agdaPackages = packagePlatforms pkgs.agdaPackages; pkgsLLVM.stdenv = [ "x86_64-linux" "aarch64-linux" ]; + pkgsArocc.stdenv = [ "x86_64-linux" "aarch64-linux" ]; pkgsZig.stdenv = [ "x86_64-linux" "aarch64-linux" ]; pkgsMusl.stdenv = [ "x86_64-linux" "aarch64-linux" ]; pkgsStatic.stdenv = [ "x86_64-linux" "aarch64-linux" ]; diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index ea1719f7dfc1..3c1574f6f2ac 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -203,6 +203,21 @@ let }; }; + pkgsArocc = nixpkgsFun { + overlays = [ + (self': super': { + pkgsArocc = super'; + }) + ] ++ overlays; + # Bootstrap a cross stdenv using the Aro C compiler. + # This is currently not possible when compiling natively, + # so we don't need to check hostPlatform != buildPlatform. + crossSystem = stdenv.hostPlatform // { + useArocc = true; + linker = "lld"; + }; + }; + pkgsZig = nixpkgsFun { overlays = [ (self': super': { From 5ce990eb576e6539fee662b510adf93bd1cc22ee Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sat, 13 Jul 2024 13:44:12 +0100 Subject: [PATCH 090/152] doc/stdenv: add section on shadowstack hardening flag --- doc/stdenv/stdenv.chapter.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index a2c69ba6bd14..f219b9eb4185 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -1538,6 +1538,16 @@ Adds the `-fPIE` compiler and `-pie` linker options. Position Independent Execut Static libraries need to be compiled with `-fPIE` so that executables can link them in with the `-pie` linker option. If the libraries lack `-fPIE`, you will get the error `recompile with -fPIE`. +#### `shadowstack` {#shadowstack} + +Adds the `-fcf-protection=return` compiler option. This enables the Shadow Stack feature supported by some newer processors, which maintains a user-inaccessible copy of the program's stack containing only return-addresses. When returning from a function, the processor compares the return-address value on the two stacks and throws an error if they do not match, considering it a sign of corruption and possible tampering. This should significantly increase the difficulty of ROP attacks. + +For the Shadow Stack to be enabled at runtime, all code linked into a process must be built with Shadow Stack enabled, so this is probably only useful to enable on a wide scale, so that all of a packages dependencies also have the feature enabled. + +This is currently only supported on some newer Intel and AMD processors as part of the Intel CET set of features. However, the generated code should continue to work on older processors which will simply omit any of this checking. + +This breaks some code that does advanced stack management or exception handling. If enabling this hardening flag it is important to test the result on a system that has known working and enabled CET support, so that any such breakage can be discovered. + #### `trivialautovarinit` {#trivialautovarinit} Adds the `-ftrivial-auto-var-init=pattern` compiler option. This causes "trivially-initializable" uninitialized stack variables to be forcibly initialized with a nonzero value that is likely to cause a crash (and therefore be noticed). Uninitialized variables generally take on their values based on fragments of previous program state, and attackers can carefully manipulate that state to craft malicious initial values for these variables. From a30f794865e77b6fc3a9a6474970173b18356b45 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 14 Jul 2024 12:54:44 +0100 Subject: [PATCH 091/152] pcre: expose enableJit argument, disable shadowstack when enabled --- pkgs/development/libraries/pcre/default.nix | 9 ++++++--- pkgs/top-level/stage.nix | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 52a4ba32315e..4ba68535c08d 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,5 +1,7 @@ { lib, stdenv, fetchurl, fetchpatch , pcre, windows ? null + # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51 +, enableJit ? !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) , variant ? null }: @@ -18,11 +20,12 @@ stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" "doc" "man" ]; - # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51 - configureFlags = lib.optional (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) "--enable-jit=auto" ++ [ + hardeningDisable = lib.optional enableJit "shadowstack"; + + configureFlags = [ "--enable-unicode-properties" "--disable-cpp" - ] + ] ++ lib.optional enableJit "--enable-jit=auto" ++ lib.optional (variant != null) "--enable-${variant}"; patches = [ diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index fbd7ea458ba9..72b055c0ec82 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -301,6 +301,11 @@ let enableCET = if self'.stdenv.hostPlatform.isx86_64 then "permissive" else false; enableCETRuntimeDefault = enableCET != false; }; + } // lib.optionalAttrs (with super'.stdenv.hostPlatform; isx86_64 && isLinux) { + # causes shadowstack disablement + pcre = super'.pcre.override { enableJit = false; }; + pcre-cpp = super'.pcre-cpp.override { enableJit = false; }; + pcre16 = super'.pcre16.override { enableJit = false; }; }) ] ++ overlays; }; From 7a4736e1ef32baa85208cd08bf2a146f15659142 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 14 Jul 2024 21:26:50 +0100 Subject: [PATCH 092/152] llvm: disable shadowstack hardening flag --- pkgs/development/compilers/llvm/common/llvm/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/llvm/common/llvm/default.nix b/pkgs/development/compilers/llvm/common/llvm/default.nix index a59c704ebbcb..2043c9b7e9e2 100644 --- a/pkgs/development/compilers/llvm/common/llvm/default.nix +++ b/pkgs/development/compilers/llvm/common/llvm/default.nix @@ -104,6 +104,7 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "trivialautovarinit" + "shadowstack" ]; nativeBuildInputs = [ cmake ] From b84da125d0021cb350b486b254a1649093a17e71 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 17 Jul 2024 23:25:29 +0100 Subject: [PATCH 093/152] lix: disable shadowstack hardening flag --- pkgs/tools/package-management/lix/common.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/lix/common.nix b/pkgs/tools/package-management/lix/common.nix index b01b381d1491..203ff91ba449 100644 --- a/pkgs/tools/package-management/lix/common.nix +++ b/pkgs/tools/package-management/lix/common.nix @@ -245,8 +245,11 @@ stdenv.mkDerivation { meson test --no-rebuild "''${flagsArray[@]}" runHook postInstallCheck ''; - # strictoverflow is disabled because we trap on signed overflow instead - hardeningDisable = [ "strictoverflow" ] ++ lib.optional stdenv.hostPlatform.isStatic "pie"; + hardeningDisable = [ + "shadowstack" + # strictoverflow is disabled because we trap on signed overflow instead + "strictoverflow" + ] ++ lib.optional stdenv.hostPlatform.isStatic "pie"; # hardeningEnable = lib.optionals (!stdenv.isDarwin) [ "pie" ]; # hardeningDisable = lib.optional stdenv.hostPlatform.isMusl "fortify"; separateDebugInfo = stdenv.isLinux && !enableStatic; From 0dacfda0af4dfcad051341e6e2dd47b3bbd4407b Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sat, 20 Jul 2024 11:45:48 +0100 Subject: [PATCH 094/152] nix: disable shadowstack hardening flag --- pkgs/tools/package-management/nix/common.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix index e98371a1e757..50874fef5c6c 100644 --- a/pkgs/tools/package-management/nix/common.nix +++ b/pkgs/tools/package-management/nix/common.nix @@ -101,7 +101,9 @@ self = stdenv.mkDerivation { hardeningEnable = lib.optionals (!stdenv.isDarwin) [ "pie" ]; - hardeningDisable = lib.optional stdenv.hostPlatform.isMusl "fortify"; + hardeningDisable = [ + "shadowstack" + ] ++ lib.optional stdenv.hostPlatform.isMusl "fortify"; nativeBuildInputs = [ pkg-config From 48bde3a18998965707d7243ff976095f964ba987 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sat, 8 Jun 2024 15:58:54 +0100 Subject: [PATCH 095/152] cc-wrapper: add support for pacret hardening flag on aarch64 --- nixos/doc/manual/release-notes/rl-2411.section.md | 2 ++ pkgs/build-support/cc-wrapper/add-hardening.sh | 6 +++++- pkgs/development/compilers/gcc/default.nix | 1 + pkgs/development/compilers/llvm/common/clang/default.nix | 5 +++++ pkgs/stdenv/generic/make-derivation.nix | 1 + pkgs/stdenv/linux/bootstrap-tools/default.nix | 1 + pkgs/top-level/stage.nix | 1 + 7 files changed, 16 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index f50ac2e908e2..3185137f971f 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -265,6 +265,8 @@ - The `stackclashprotection` hardening flag has been added, though disabled by default. +- The `pacret` hardening flag has been added, though disabled by default. + - `cargoSha256` in `rustPlatform.buildRustPackage` has been deprecated in favor of `cargoHash` which supports SRI hashes. See [buildRustPackage: Compiling Rust applications with Cargo](https://nixos.org/manual/nixpkgs/unstable/#compiling-rust-applications-with-cargo) diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh index fc457ed0134a..4440d99ccaba 100644 --- a/pkgs/build-support/cc-wrapper/add-hardening.sh +++ b/pkgs/build-support/cc-wrapper/add-hardening.sh @@ -32,7 +32,7 @@ if [[ -n "${hardeningEnableMap[fortify3]-}" ]]; then fi if (( "${NIX_DEBUG:-0}" >= 1 )); then - declare -a allHardeningFlags=(fortify fortify3 shadowstack stackprotector stackclashprotection pie pic strictoverflow format trivialautovarinit zerocallusedregs) + declare -a allHardeningFlags=(fortify fortify3 shadowstack stackprotector stackclashprotection pacret pie pic strictoverflow format trivialautovarinit zerocallusedregs) declare -A hardeningDisableMap=() # Determine which flags were effectively disabled so we can report below. @@ -79,6 +79,10 @@ for flag in "${!hardeningEnableMap[@]}"; do if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling shadowstack >&2; fi hardeningCFlagsBefore+=('-fcf-protection=return') ;; + pacret) + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling pacret >&2; fi + hardeningCFlagsBefore+=('-mbranch-protection=pac-ret') + ;; stackprotector) if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling stackprotector >&2; fi hardeningCFlagsBefore+=('-fstack-protector-strong' '--param' 'ssp-buffer-size=4') diff --git a/pkgs/development/compilers/gcc/default.nix b/pkgs/development/compilers/gcc/default.nix index 53d0bf1159f3..fb9e97b15a9a 100644 --- a/pkgs/development/compilers/gcc/default.nix +++ b/pkgs/development/compilers/gcc/default.nix @@ -437,6 +437,7 @@ pipe ((callFile ./common/builder.nix {}) ({ && targetPlatform.isx86_64 && targetPlatform.libc == "glibc" )) "shadowstack" + ++ optional (!(atLeast9 && targetPlatform.isLinux && targetPlatform.isAarch64)) "pacret" ++ optionals (langFortran) [ "fortify" "format" ]; }; diff --git a/pkgs/development/compilers/llvm/common/clang/default.nix b/pkgs/development/compilers/llvm/common/clang/default.nix index 862c5cbb1178..659d29d1c564 100644 --- a/pkgs/development/compilers/llvm/common/clang/default.nix +++ b/pkgs/development/compilers/llvm/common/clang/default.nix @@ -143,6 +143,11 @@ let || !targetPlatform.isLinux || !targetPlatform.isx86_64 ) "shadowstack" + ++ lib.optional ( + (lib.versionOlder release_version "8") + || !targetPlatform.isAarch64 + || !targetPlatform.isLinux + ) "pacret" ++ lib.optional ( (lib.versionOlder release_version "11") || (targetPlatform.isAarch64 && (lib.versionOlder release_version "18.1")) diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index bda0060900dd..7da4f4ac8740 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -116,6 +116,7 @@ let "fortify" "fortify3" "shadowstack" + "pacret" "pic" "pie" "relro" diff --git a/pkgs/stdenv/linux/bootstrap-tools/default.nix b/pkgs/stdenv/linux/bootstrap-tools/default.nix index 3b69f7c53194..6064f7693834 100644 --- a/pkgs/stdenv/linux/bootstrap-tools/default.nix +++ b/pkgs/stdenv/linux/bootstrap-tools/default.nix @@ -18,6 +18,7 @@ derivation ({ hardeningUnsupportedFlags = [ "fortify3" "shadowstack" + "pacret" "stackclashprotection" "trivialautovarinit" "zerocallusedregs" diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index 363f5fd0de14..b19559dd7f1f 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -323,6 +323,7 @@ let stdenv = super'.withDefaultHardeningFlags ( super'.stdenv.cc.defaultHardeningFlags ++ [ "shadowstack" + "pacret" "stackclashprotection" "trivialautovarinit" ] From 745046d26650d11880d1a6612dab1d1a711487ad Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 3 Jul 2024 23:12:27 +0100 Subject: [PATCH 096/152] doc/stdenv: hardening flags: add section on pacret hardening flag --- doc/stdenv/stdenv.chapter.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index f219b9eb4185..35330305f189 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -1564,6 +1564,14 @@ sorry, unimplemented: __builtin_clear_padding not supported for variable length This flag adds the `-fstack-clash-protection` compiler option, which causes growth of a program's stack to access each successive page in order. This should force the guard page to be accessed and cause an attempt to "jump over" this guard page to crash. +#### `pacret` {#pacret} + +This flag adds the `-mbranch-protection=pac-ret` compiler option on aarch64-linux targets. This uses ARM v8.3's Pointer Authentication feature to sign function return pointers before adding them to the stack. The pointer's authenticity is then validated before returning to its destination. This dramatically increases the difficulty of ROP exploitation techniques. + +This may cause problems with code that does advanced stack manipulation, and debugging/stack-unwinding tools need to be pac-ret aware to work correctly when these features are in operation. + +Pre-ARM v8.3 processors will ignore Pointer Authentication instructions, so code built with this flag will continue to work on older processors, though without any of the intended protections. If enabling this flag, it is recommended to ensure the resultant packages are tested against an ARM v8.3+ linux system with known-working Pointer Authentication support so that any breakage caused by this feature is actually detected. + [^footnote-stdenv-ignored-build-platform]: The build platform is ignored because it is a mere implementation detail of the package satisfying the dependency: As a general programming principle, dependencies are always *specified* as interfaces, not concrete implementation. [^footnote-stdenv-native-dependencies-in-path]: Currently, this means for native builds all dependencies are put on the `PATH`. But in the future that may not be the case for sake of matching cross: the platforms would be assumed to be unique for native and cross builds alike, so only the `depsBuild*` and `nativeBuildInputs` would be added to the `PATH`. [^footnote-stdenv-propagated-dependencies]: Nix itself already takes a package’s transitive dependencies into account, but this propagation ensures nixpkgs-specific infrastructure like [setup hooks](#ssec-setup-hooks) also are run as if it were a propagated dependency. From 97c400a0e8f9703f398d48218229bd5955c345f5 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Tue, 4 Jun 2024 16:35:49 +0200 Subject: [PATCH 097/152] cc-wrapper: fix -Bprefix to not confuse lib/libc++.so and bin/c++ Before this commit, `pkgs/build-support/cc-wrapper/add-flags.sh` was using `-B@out@/bin` instead of `-B@bintools@/bin` to force `cc` to use `ld-wrapper.sh` when calling `ld`. That was confusing `cc` when asked to print the location of a library precisely named `c++` because `-B` prefixes are also used by `cc` to find libraries, see https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html#index-B Indeed, instead of having `cc --print-file-name c++` failing to found a `c++` library and just returning the given `c++` string to let a linker resolve it thereafter, it was finding that `@out@/bin/c++` executable, mistaking it for a library and returning its absolute path, forcing the linker to load an executable as a library. Before this commit: ```console $ nix run -f . stdenv.cc -- --print-file-name c++ /nix/store/9bv7dcvmfcjnmg5mnqwqlq2wxfn8d7yi-gcc-wrapper-13.2.0/bin/c++ ``` After this commit: ```console $ nix run -f . stdenv.cc -- --print-file-name c++ c++ ``` Fixes https://gitlab.haskell.org/ghc/ghc/-/issues/23138#note_567034 where this behavior was breaking GHC on Darwin. [Confirmed by @414owen](https://github.com/NixOS/nixpkgs/pull/317224#issuecomment-2171276177): > This fixed all our haskell builds on Arm64 darwin, which were trying > to link in clang++... --- pkgs/build-support/cc-wrapper/add-flags.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh index 3f2b0ccf0a6b..2c3dc8884023 100644 --- a/pkgs/build-support/cc-wrapper/add-flags.sh +++ b/pkgs/build-support/cc-wrapper/add-flags.sh @@ -29,8 +29,8 @@ done # Arocc does not support "-B" if [[ -z "@isArocc@" ]]; then - # `-B@out@/bin' forces cc to use ld-wrapper.sh when calling ld. - NIX_CFLAGS_COMPILE_@suffixSalt@="-B@out@/bin/ $NIX_CFLAGS_COMPILE_@suffixSalt@" + # `-B@bintools@/bin' forces cc to use ld-wrapper.sh when calling ld. + NIX_CFLAGS_COMPILE_@suffixSalt@="-B@bintools@/bin/ $NIX_CFLAGS_COMPILE_@suffixSalt@" fi # Export and assign separately in order that a failing $(..) will fail From 317929b849a8171ba6f85425afd96a074a15de29 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 28 Jul 2024 21:45:41 +0200 Subject: [PATCH 098/152] libjodycode: add jdupes as reverse dependency --- pkgs/development/libraries/libjodycode/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/libjodycode/default.nix b/pkgs/development/libraries/libjodycode/default.nix index 4e5c272ba8d8..656e0e3da7c2 100644 --- a/pkgs/development/libraries/libjodycode/default.nix +++ b/pkgs/development/libraries/libjodycode/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitea +, jdupes }: stdenv.mkDerivation rec { @@ -19,6 +20,10 @@ stdenv.mkDerivation rec { env.PREFIX = placeholder "out"; + passthru.tests = { + inherit jdupes; + }; + meta = with lib; { description = "Shared code used by several utilities written by Jody Bruchon"; homepage = "https://github.com/jbruchon/libjodycode"; From d8c8ee0c11f95a550a315cfecb449f2e028af812 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sun, 28 Jul 2024 21:46:20 +0200 Subject: [PATCH 099/152] libjodycode: nixfmt --- .../development/libraries/libjodycode/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libjodycode/default.nix b/pkgs/development/libraries/libjodycode/default.nix index 656e0e3da7c2..b2ce994dc5b9 100644 --- a/pkgs/development/libraries/libjodycode/default.nix +++ b/pkgs/development/libraries/libjodycode/default.nix @@ -1,14 +1,19 @@ -{ lib -, stdenv -, fetchFromGitea -, jdupes +{ + lib, + stdenv, + fetchFromGitea, + jdupes, }: stdenv.mkDerivation rec { pname = "libjodycode"; version = "3.1.1"; - outputs = [ "out" "man" "dev" ]; + outputs = [ + "out" + "man" + "dev" + ]; src = fetchFromGitea { domain = "codeberg.org"; From 193b98084a08ed2b8b55880f77f0525ed915e16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A9clairevoyant?= <848000+eclairevoyant@users.noreply.github.com> Date: Thu, 25 Jul 2024 20:28:46 -0400 Subject: [PATCH 100/152] ffmpeg-headless: enable additional encoders by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds some extremely helpful and popular encoders in by default: * openjpeg * celt * libwebp * libaom On the `master` branch, closure size for ffmpeg-headless went up 18.5 MiB. ``` $ nix store diff-closures nixpkgs#ffmpeg-headless^bin .#ffmpeg-headless^bin celt: ∅ → 0.11.3, +168.4 KiB ffmpeg-headless: +70.0 KiB giflib: ∅ → 5.2.2, +398.7 KiB lcms2: ∅ → 2.16, +466.2 KiB lerc: ∅ → 4.0.0, +840.2 KiB libaom: ∅ → 3.9.0, +8047.8 KiB libdeflate: ∅ → 1.20, +427.0 KiB libtiff: ∅ → 4.6.0, +655.9 KiB libvmaf: ∅ → 3.0.0, +2665.0 KiB libwebp: ∅ → 1.4.0, +2559.7 KiB openjpeg: ∅ → 2.5.2, +1525.1 KiB zstd: ∅ → 1.5.6, +1158.0 KiB $ nvd diff $(nix build nixpkgs#ffmpeg-headless^bin --print-out-paths --no-link) $(nix build .#ffmpeg-headless^bin --print-out-paths --no-link) <<< /nix/store/4n60lnj3zkjpasd4c56bzhpx2m8lc1sx-ffmpeg-headless-6.1.1-bin >>> /nix/store/884f487w5hac6rs94jq6hq5zqkxdv666-ffmpeg-headless-6.1.1-bin Added packages: [A.] #01 celt 0.11.3 [A.] #02 giflib 5.2.2 [A.] #03 lcms2 2.16 [A.] #04 lerc 4.0.0 [A.] #05 libaom 3.9.0 [A.] #06 libdeflate 1.20 [A.] #07 libtiff 4.6.0 [A.] #08 libvmaf 3.0.0 [A.] #09 libwebp 1.4.0 x2 [A.] #10 openjpeg 2.5.2 [A.] #11 zstd 1.5.6 Closure size: 66 -> 78 (15 paths added, 3 paths removed, delta +12, disk usage +18.5MiB). ``` --- pkgs/development/libraries/ffmpeg/generic.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 32e9b9d895fd..4f2be05fc522 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -34,7 +34,7 @@ # Feature flags , withAlsa ? withHeadlessDeps && stdenv.isLinux # Alsa in/output supporT -, withAom ? withFullDeps # AV1 reference encoder +, withAom ? withHeadlessDeps # AV1 reference encoder , withAppKit ? withHeadlessDeps && stdenv.isDarwin # Apple AppKit framework , withAribcaption ? withFullDeps && lib.versionAtLeast version "6.1" # ARIB STD-B24 Caption Decoder/Renderer , withAss ? withHeadlessDeps && stdenv.hostPlatform == stdenv.buildPlatform # (Advanced) SubStation Alpha subtitle rendering @@ -45,7 +45,7 @@ , withBs2b ? withFullDeps # bs2b DSP library , withBzlib ? withHeadlessDeps , withCaca ? withFullDeps # Textual display (ASCII art) -, withCelt ? withFullDeps # CELT decoder +, withCelt ? withHeadlessDeps # CELT decoder , withChromaprint ? withFullDeps # Audio fingerprinting , withCodec2 ? withFullDeps # codec2 en/decoding , withCoreImage ? withHeadlessDeps && stdenv.isDarwin # Apple CoreImage framework @@ -88,7 +88,7 @@ , withOpencoreAmrwb ? withFullDeps && withVersion3 # AMR-WB decoder , withOpengl ? withFullDeps && !stdenv.isDarwin # OpenGL rendering , withOpenh264 ? withFullDeps # H.264/AVC encoder -, withOpenjpeg ? withFullDeps # JPEG 2000 de/encoder +, withOpenjpeg ? withHeadlessDeps # JPEG 2000 de/encoder , withOpenmpt ? withFullDeps # Tracked music files decoder , withOpus ? withHeadlessDeps # Opus de/encoder , withPlacebo ? withFullDeps && !stdenv.isDarwin # libplacebo video processing library @@ -121,7 +121,7 @@ , withVpl ? false # Hardware acceleration via intel libvpl , withVpx ? withHeadlessDeps && stdenv.buildPlatform == stdenv.hostPlatform # VP8 & VP9 de/encoding , withVulkan ? withSmallDeps && !stdenv.isDarwin -, withWebp ? withFullDeps # WebP encoder +, withWebp ? withHeadlessDeps # WebP encoder , withX264 ? withHeadlessDeps && withGPL # H.264/AVC encoder , withX265 ? withHeadlessDeps && withGPL # H.265/HEVC encoder , withXavs ? withFullDeps && withGPL # AVS encoder From 7cb636da6721b6c99342e8a8a9017b39f50040f6 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Sun, 28 Jul 2024 18:52:23 -0700 Subject: [PATCH 101/152] rustc: wrap llvmPackages when using LLVM with callPackage --- pkgs/development/compilers/rust/1_79.nix | 188 +++++++++++++++-------- 1 file changed, 120 insertions(+), 68 deletions(-) diff --git a/pkgs/development/compilers/rust/1_79.nix b/pkgs/development/compilers/rust/1_79.nix index 58577ae025f3..71f4b0beffa7 100644 --- a/pkgs/development/compilers/rust/1_79.nix +++ b/pkgs/development/compilers/rust/1_79.nix @@ -9,77 +9,129 @@ # https://github.com/rust-lang/rust/blob//.gitmodules # 3. Firefox and Thunderbird should still build on x86_64-linux. -{ stdenv, lib -, newScope, callPackage -, CoreFoundation, Security, SystemConfiguration -, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost, pkgsTargetTarget -, makeRustPlatform -, wrapRustcWith -, llvmPackages_18, llvm_18 -} @ args: +{ + stdenv, + lib, + newScope, + callPackage, + CoreFoundation, + Security, + SystemConfiguration, + pkgsBuildTarget, + pkgsBuildBuild, + pkgsBuildHost, + pkgsTargetTarget, + makeRustPlatform, + wrapRustcWith, + llvmPackages_18, + llvm_18, + wrapCCWith, + overrideCC, +}@args: let - llvmSharedFor = pkgSet: pkgSet.llvmPackages_18.libllvm.override ({ - enableSharedLibraries = true; - } // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { - # Force LLVM to compile using clang + LLVM libs when targeting pkgsLLVM - stdenv = pkgSet.stdenv.override { allowedRequisites = null; cc = pkgSet.llvmPackages_18.clangUseLLVM; }; - }); -in -import ./default.nix { - rustcVersion = "1.79.0"; - rustcSha256 = "sha256-Fy7PPH0fnZ+xbNKmKIaXgmcEFt7QEp5SSoZ1H5YUSMA="; - - llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; - llvmSharedForHost = llvmSharedFor pkgsBuildHost; - llvmSharedForTarget = llvmSharedFor pkgsBuildTarget; - - # For use at runtime - llvmShared = llvmSharedFor { inherit llvmPackages_18 stdenv; }; - - # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox - llvmPackages = if (stdenv.targetPlatform.useLLVM or false) then (let - setStdenv = pkg: pkg.override { - stdenv = stdenv.override { allowedRequisites = null; cc = llvmPackages_18.clangUseLLVM; }; - }; - in rec { - libunwind = setStdenv llvmPackages_18.libunwind; - llvm = setStdenv llvmPackages_18.llvm; - - libcxx = llvmPackages_18.libcxx.override { - stdenv = stdenv.override { - allowedRequisites = null; - cc = llvmPackages_18.clangNoLibcxx; - hostPlatform = stdenv.hostPlatform // { - useLLVM = !stdenv.isDarwin; + llvmSharedFor = + pkgSet: + pkgSet.llvmPackages_18.libllvm.override ( + { + enableSharedLibraries = true; + } + // lib.optionalAttrs (stdenv.targetPlatform.useLLVM or false) { + # Force LLVM to compile using clang + LLVM libs when targeting pkgsLLVM + stdenv = pkgSet.stdenv.override { + allowedRequisites = null; + cc = pkgSet.llvmPackages_18.clangUseLLVM; }; - }; - inherit libunwind; + } + ); +in +import ./default.nix + { + rustcVersion = "1.79.0"; + rustcSha256 = "sha256-Fy7PPH0fnZ+xbNKmKIaXgmcEFt7QEp5SSoZ1H5YUSMA="; + + llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; + llvmSharedForHost = llvmSharedFor pkgsBuildHost; + llvmSharedForTarget = llvmSharedFor pkgsBuildTarget; + + # For use at runtime + llvmShared = llvmSharedFor { inherit llvmPackages_18 stdenv; }; + + # Expose llvmPackages used for rustc from rustc via passthru for LTO in Firefox + llvmPackages = + if (stdenv.targetPlatform.useLLVM or false) then + callPackage ( + { + pkgs, + bootBintoolsNoLibc ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintoolsNoLibc, + bootBintools ? if stdenv.targetPlatform.linker == "lld" then null else pkgs.bintools, + }: + let + llvmPackages = llvmPackages_18; + + setStdenv = + pkg: + pkg.override { + stdenv = stdenv.override { + allowedRequisites = null; + cc = llvmPackages.clangUseLLVM; + }; + }; + in + rec { + inherit (llvmPackages) bintools; + + libunwind = setStdenv llvmPackages.libunwind; + llvm = setStdenv llvmPackages.llvm; + + libcxx = llvmPackages.libcxx.override { + stdenv = stdenv.override { + allowedRequisites = null; + cc = llvmPackages.clangNoLibcxx; + hostPlatform = stdenv.hostPlatform // { + useLLVM = !stdenv.isDarwin; + }; + }; + inherit libunwind; + }; + + clangUseLLVM = llvmPackages.clangUseLLVM.override { inherit libcxx; }; + + stdenv = overrideCC args.stdenv clangUseLLVM; + } + ) { } + else + llvmPackages_18; + + # Note: the version MUST be one version prior to the version we're + # building + bootstrapVersion = "1.78.0"; + + # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` + bootstrapHashes = { + i686-unknown-linux-gnu = "8f3f5d2ab7b609ab30d584cfb5cecc3d8b16d2620fffb7643383c8a0a3881e21"; + x86_64-unknown-linux-gnu = "1307747915e8bd925f4d5396ab2ae3d8d9c7fad564afbc358c081683d0f22e87"; + x86_64-unknown-linux-musl = "c11ab908cbffbe98097d99ed62f5db00aa98496520b1e09583a151d36df7fca4"; + arm-unknown-linux-gnueabihf = "2a2b1cf93b31e429624380e5b0d2bcce327274f8593b63657b863e38831f6421"; + armv7-unknown-linux-gnueabihf = "fcce5ddb4f55bbdc9a1359a4cb6e65f2ff790d59ad228102cd472112ea65d3fe"; + aarch64-unknown-linux-gnu = "131eda738cd977fff2c912e5838e8e9b9c260ecddc1247c0fe5473bf09c594af"; + aarch64-unknown-linux-musl = "f328bcf109bf3eae01559b53939a9afbdb70ef30429f95109f7ea21030d60dfa"; + x86_64-apple-darwin = "6c91ed3bd90253961fcb4a2991b8b22e042e2aaa9aba9f389f1e17008171d898"; + aarch64-apple-darwin = "3be74c31ee8dc4f1d49e2f2888228de374138eaeca1876d0c1b1a61df6023b3b"; + powerpc64le-unknown-linux-gnu = "c5aedb12c552daa18072e386697205fb7b91cef1e8791fe6fb74834723851388"; + riscv64gc-unknown-linux-gnu = "847a925ace172d4c0a8d3da8d755b8678071ef73e659886128a3103bb896dcd9"; + x86_64-unknown-freebsd = "b9cc84c60deb8da08a6c876426f8721758f4c7e7c553b4554385752ad37c63df"; }; - }) else llvmPackages_18; - # Note: the version MUST be one version prior to the version we're - # building - bootstrapVersion = "1.78.0"; + selectRustPackage = pkgs: pkgs.rust_1_79; - # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` - bootstrapHashes = { - i686-unknown-linux-gnu = "8f3f5d2ab7b609ab30d584cfb5cecc3d8b16d2620fffb7643383c8a0a3881e21"; - x86_64-unknown-linux-gnu = "1307747915e8bd925f4d5396ab2ae3d8d9c7fad564afbc358c081683d0f22e87"; - x86_64-unknown-linux-musl = "c11ab908cbffbe98097d99ed62f5db00aa98496520b1e09583a151d36df7fca4"; - arm-unknown-linux-gnueabihf = "2a2b1cf93b31e429624380e5b0d2bcce327274f8593b63657b863e38831f6421"; - armv7-unknown-linux-gnueabihf = "fcce5ddb4f55bbdc9a1359a4cb6e65f2ff790d59ad228102cd472112ea65d3fe"; - aarch64-unknown-linux-gnu = "131eda738cd977fff2c912e5838e8e9b9c260ecddc1247c0fe5473bf09c594af"; - aarch64-unknown-linux-musl = "f328bcf109bf3eae01559b53939a9afbdb70ef30429f95109f7ea21030d60dfa"; - x86_64-apple-darwin = "6c91ed3bd90253961fcb4a2991b8b22e042e2aaa9aba9f389f1e17008171d898"; - aarch64-apple-darwin = "3be74c31ee8dc4f1d49e2f2888228de374138eaeca1876d0c1b1a61df6023b3b"; - powerpc64le-unknown-linux-gnu = "c5aedb12c552daa18072e386697205fb7b91cef1e8791fe6fb74834723851388"; - riscv64gc-unknown-linux-gnu = "847a925ace172d4c0a8d3da8d755b8678071ef73e659886128a3103bb896dcd9"; - x86_64-unknown-freebsd = "b9cc84c60deb8da08a6c876426f8721758f4c7e7c553b4554385752ad37c63df"; - }; + rustcPatches = [ ]; + } - selectRustPackage = pkgs: pkgs.rust_1_79; - - rustcPatches = [ ]; -} - -(builtins.removeAttrs args [ "llvmPackages_18" "llvm_18"]) + ( + builtins.removeAttrs args [ + "llvmPackages_18" + "llvm_18" + "wrapCCWith" + "overrideCC" + ] + ) From 332946ab2fc75123b65f7b0c5ec66a44da084462 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 29 Jul 2024 11:25:02 +0200 Subject: [PATCH 102/152] meson: 1.5.0 -> 1.5.1 --- pkgs/by-name/me/meson/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index 60f4375569d7..4b1159472098 100644 --- a/pkgs/by-name/me/meson/package.nix +++ b/pkgs/by-name/me/meson/package.nix @@ -21,13 +21,13 @@ let in python3.pkgs.buildPythonApplication rec { pname = "meson"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "mesonbuild"; repo = "meson"; rev = "refs/tags/${version}"; - hash = "sha256-Y//8fXBNdx+ikpvg+S5Bk2rN3UVS5qo2bnbTSVBb8b8="; + hash = "sha256-BqsEO1a93a8d7/UH232buSPBt+WSNJbw1DGYA2nm9rs="; }; patches = [ @@ -81,12 +81,6 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-XkwNQ5eg/fVekhsFg/V2/S2LbIVGz3H0wsSFlUT3ZZE="; }) - (fetchpatch { - name = "cross.patch"; - url = "https://github.com/mesonbuild/meson/pull/13411.patch"; - hash = "sha256-IHSV0Dfse0lzDtxh/+APc/dzGr/BUbR/WIOqDsm7/8Y="; - }) - # Fix extraframework lookup on case-sensitive APFS. # https://github.com/mesonbuild/meson/pull/13038 ./007-case-sensitive-fs.patch From bd872b4a778d36c3f1fdd8dd123673c84b68fe36 Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Mon, 29 Jul 2024 11:30:40 +0300 Subject: [PATCH 103/152] stdenv: fix unbound NIX_LOG_FD in `nix develop` When running `nix develop` for a package, Nix records the stdenv environment with NIX_LOG_FD set. That is, when the actual development shell runs, it uses the functions that attempt to log to NIX_LOG_FD, but this variable is not actually set. As a workaround, check whether NIX_LOG_FD is set at runtime. Example (before this change): ```console $ nix develop --file . bash $ echo "${NIX_LOG_FD-unset}" unset $ runPhase unpackPhase bash: "$NIX_LOG_FD": Bad file descriptor Running phase: unpackPhase unpacking source archive /nix/store/v28dv6l0qk3j382kp40bksa1v6h7dx9p-bash-5.2.tar.gz bash: "$NIX_LOG_FD": Bad file descriptor source root is bash-5.2 bash: "$NIX_LOG_FD": Bad file descriptor setting SOURCE_DATE_EPOCH to timestamp 1663942708 of file bash-5.2/y.tab.h ``` After this change: ```console $ nix develop --file . bash $ runPhase unpackPhase Running phase: unpackPhase unpacking source archive /nix/store/v28dv6l0qk3j382kp40bksa1v6h7dx9p-bash-5.2.tar.gz source root is bash-5.2 setting SOURCE_DATE_EPOCH to timestamp 1663942708 of file bash-5.2/y.tab.h ``` --- pkgs/stdenv/generic/setup.sh | 100 ++++++++++++++++------------------- 1 file changed, 47 insertions(+), 53 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 40bf6554183c..c1de5b97d2d6 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -47,63 +47,57 @@ getAllOutputNames() { fi } -if [[ -n "${NIX_LOG_FD:-}" ]]; then - # Logs arguments to $NIX_LOG_FD, if it exists, no-op if it does not. - nixLog() { - echo "$@" >&"$NIX_LOG_FD" - } +# Logs arguments to $NIX_LOG_FD, if it exists, no-op if it does not. +nixLog() { + if [[ -z ${NIX_LOG_FD-} ]]; then + return + fi + echo "$@" >&"$NIX_LOG_FD" +} - # Log a hook, to be run before the hook is actually called. - # logging for "implicit" hooks -- the ones specified directly - # in derivation's arguments -- is done in _callImplicitHook instead. - _logHook() { - local hookKind="$1" - local hookExpr="$2" - shift 2 +# Log a hook, to be run before the hook is actually called. +# logging for "implicit" hooks -- the ones specified directly +# in derivation's arguments -- is done in _callImplicitHook instead. +_logHook() { + # Fast path in case nixLog is no-op. + if [[ -z ${NIX_LOG_FD-} ]]; then + return + fi - if declare -F "$hookExpr" > /dev/null 2>&1; then - nixLog "calling '$hookKind' function hook '$hookExpr'" "$@" - elif type -p "$hookExpr" > /dev/null; then - nixLog "sourcing '$hookKind' script hook '$hookExpr'" - elif [[ "$hookExpr" != "_callImplicitHook"* ]]; then - # Here we have a string hook to eval. - # Join lines onto one with literal \n characters unless NIX_DEBUG >= 2. - local exprToOutput - if (( "${NIX_DEBUG:-0}" >= 2 )); then - exprToOutput="$hookExpr" - else - # We have `r'\n'.join([line.lstrip() for lines in text.split('\n')])` at home. - local hookExprLine - while IFS= read -r hookExprLine; do - # These lines often have indentation, - # so let's remove leading whitespace. - hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}" - # If this line wasn't entirely whitespace, - # then add it to our output - if [[ -n "$hookExprLine" ]]; then - exprToOutput+="$hookExprLine\\n " - fi - done <<< "$hookExpr" + local hookKind="$1" + local hookExpr="$2" + shift 2 - # And then remove the final, unnecessary, \n - exprToOutput="${exprToOutput%%\\n }" - fi - nixLog "evaling '$hookKind' string hook '$exprToOutput'" + if declare -F "$hookExpr" > /dev/null 2>&1; then + nixLog "calling '$hookKind' function hook '$hookExpr'" "$@" + elif type -p "$hookExpr" > /dev/null; then + nixLog "sourcing '$hookKind' script hook '$hookExpr'" + elif [[ "$hookExpr" != "_callImplicitHook"* ]]; then + # Here we have a string hook to eval. + # Join lines onto one with literal \n characters unless NIX_DEBUG >= 2. + local exprToOutput + if (( "${NIX_DEBUG:-0}" >= 2 )); then + exprToOutput="$hookExpr" + else + # We have `r'\n'.join([line.lstrip() for lines in text.split('\n')])` at home. + local hookExprLine + while IFS= read -r hookExprLine; do + # These lines often have indentation, + # so let's remove leading whitespace. + hookExprLine="${hookExprLine#"${hookExprLine%%[![:space:]]*}"}" + # If this line wasn't entirely whitespace, + # then add it to our output + if [[ -n "$hookExprLine" ]]; then + exprToOutput+="$hookExprLine\\n " + fi + done <<< "$hookExpr" + + # And then remove the final, unnecessary, \n + exprToOutput="${exprToOutput%%\\n }" fi - } -else - nixLog() { - # Stub. - # Note: because bash syntax, this colon is load bearing. Removing it - # will turn this function into a syntax error. - : - } - - _logHook() { - # Load-bearing colon; same as above. - : - } -fi + nixLog "evaling '$hookKind' string hook '$exprToOutput'" + fi +} ###################################################################### # Hook handling. From af6f4306abc61dda69aca9b827db8c40748b34e6 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 29 Jul 2024 17:39:56 +0300 Subject: [PATCH 104/152] Revert "libsForQt5.kimageformats: provide dav1d, libaom and libyuv" This reverts commit b4edb67e84a89beb039f4c52625a2184d9ca517d. Properly solved in libavif now. --- pkgs/development/libraries/kde-frameworks/kimageformats.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix index d516081da2d7..5954d56e6cca 100644 --- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix +++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, - ilmbase, karchive, openexr, dav1d, libaom, libavif, libheif, libjxl, libraw, libyuv, qtbase + ilmbase, karchive, openexr, libavif, libheif, libjxl, libraw, qtbase }: let inherit (lib) getDev; in @@ -10,7 +10,7 @@ mkDerivation { pname = "kimageformats"; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ karchive openexr libaom libavif dav1d libheif libjxl libraw libyuv qtbase ]; + buildInputs = [ karchive openexr libavif libheif libjxl libraw qtbase ]; outputs = [ "out" ]; # plugins only CXXFLAGS = "-I${getDev ilmbase}/include/OpenEXR"; cmakeFlags = [ From 1014f47bcbf98eba33cee9f36f95c60d4f593dfa Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 29 Jul 2024 22:08:09 +0100 Subject: [PATCH 105/152] xorg.libX11: 1.8.9 -> 1.8.10 Changes: https://lists.x.org/archives/xorg-announce/2024-July/003521.html --- pkgs/servers/x11/xorg/default.nix | 6 +++--- pkgs/servers/x11/xorg/tarballs.list | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 8566c8c61749..2338e6ce184b 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1118,11 +1118,11 @@ self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! libX11 = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libpthreadstubs, libxcb, xtrans, testers }: stdenv.mkDerivation (finalAttrs: { pname = "libX11"; - version = "1.8.9"; + version = "1.8.10"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/lib/libX11-1.8.9.tar.xz"; - sha256 = "0qijpp9l6hhwwx22hncrzjpmb5ffcakj6pxa5lzgjkhl3l8qz7bp"; + url = "mirror://xorg/individual/lib/libX11-1.8.10.tar.xz"; + sha256 = "0lywvwsz92j7isglvw2227g3na4ghyspvsvblpf43ns7jfnksfrb"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 8305e1574040..fa9f0d33753a 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -173,7 +173,7 @@ mirror://xorg/individual/lib/libICE-1.1.1.tar.xz mirror://xorg/individual/lib/libpciaccess-0.18.1.tar.xz mirror://xorg/individual/lib/libSM-1.2.4.tar.xz mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2 -mirror://xorg/individual/lib/libX11-1.8.9.tar.xz +mirror://xorg/individual/lib/libX11-1.8.10.tar.xz mirror://xorg/individual/lib/libXau-1.0.11.tar.xz mirror://xorg/individual/lib/libXaw-1.0.16.tar.xz mirror://xorg/individual/lib/libxcb-1.17.0.tar.xz From 5f2e83c77747e3eaa3b66854d0d697c42ab740bf Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 19 Jun 2024 22:05:03 +0100 Subject: [PATCH 106/152] xmlto: 0.0.28 -> 0.0.29 --- pkgs/tools/typesetting/xmlto/default.nix | 30 +++++++----------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix index 848b72eee087..a29ef2aaed69 100644 --- a/pkgs/tools/typesetting/xmlto/default.nix +++ b/pkgs/tools/typesetting/xmlto/default.nix @@ -1,11 +1,11 @@ { + autoreconfHook, bash, coreutils, docbook_xml_dtd_45, docbook_xsl, docbook-xsl-ns, - fetchpatch, - fetchurl, + fetchgit, findutils, flex, getopt, @@ -22,32 +22,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "xmlto"; - version = "0.0.28"; + version = "0.0.29"; - src = fetchurl { - url = "https://releases.pagure.org/xmlto/xmlto-${finalAttrs.version}.tar.bz2"; - hash = "sha256-ETDfOnlX659vDSnkqhx1cyp9+21jm+AThZtcfsVCEnY="; + src = fetchgit { + url = "https://pagure.io/xmlto.git"; + rev = finalAttrs.version; + hash = "sha256-wttag8J1t9cBPBHNY7me2H0IPOzS8IjfCLIHNWq67Do="; }; - # Note: These patches modify `xmlif/xmlif.l`, which requires `flex` to be rerun. - patches = [ - # Fixes implicit `int` on `main`, which is an error with clang 16. - (fetchpatch { - url = "https://pagure.io/xmlto/c/8e34f087bf410bcc5fe445933d6ad9bae54f24b5.patch"; - hash = "sha256-z5riDBZBVuFeBcjI++dAl3nTIgOPau4Gag0MJbYt+cc="; - }) - # Fixes implicit `int` on `ifsense`, which is also an error with clang 16. - (fetchpatch { - url = "https://pagure.io/xmlto/c/1375e2df75530cd198bd16ac3de38e2b0d126276.patch"; - hash = "sha256-fM6ZdTigrcC9cbXiKu6oa5Hs71mrREockB1wRlw6nDk="; - }) - ]; - postPatch = '' patchShebangs xmlif/test/run-test substituteInPlace "xmlto.in" \ - --replace-fail "@BASH@" "${bash}/bin/bash" \ + --replace-fail "@XMLTO_BASH_PATH@" "${bash}/bin/bash" \ --replace-fail "@FIND@" "${findutils}/bin/find" \ --replace-fail "@GETOPT@" "${getopt}/bin/getopt" \ --replace-fail "@GREP@" "${gnugrep}/bin/grep" \ @@ -64,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: { # `libxml2' provides `xmllint', needed at build-time and run-time. # `libxslt' provides `xsltproc', used by `xmlto' at run-time. nativeBuildInputs = [ + autoreconfHook makeWrapper flex getopt From cd23e5ec5ebb56e0dd633ebb1028b0ce5fdf928e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 29 Jul 2024 15:28:14 -0700 Subject: [PATCH 107/152] python312Packages.pydantic: tests don't depend on faker It's only used in benchmarks. --- pkgs/development/python-modules/pydantic/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index f47c028ac54c..f3858f4febc7 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -21,7 +21,6 @@ cloudpickle, email-validator, dirty-equals, - faker, pytestCheckHook, pytest-mock, eval-type-backport, @@ -62,7 +61,6 @@ buildPythonPackage rec { [ cloudpickle dirty-equals - faker pytest-mock pytestCheckHook ] From 331fbac69c39a060a26b32a36d3d5bd81dcec9e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 30 Jul 2024 07:01:52 -0700 Subject: [PATCH 108/152] python312Packages.pymemcache: modernize --- pkgs/development/python-modules/pymemcache/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pymemcache/default.nix b/pkgs/development/python-modules/pymemcache/default.nix index 829d3863f304..c80f512e7498 100644 --- a/pkgs/development/python-modules/pymemcache/default.nix +++ b/pkgs/development/python-modules/pymemcache/default.nix @@ -4,10 +4,10 @@ faker, fetchFromGitHub, mock, - six, pytestCheckHook, python-memcached, pythonOlder, + setuptools, zstd, stdenv, }: @@ -15,18 +15,18 @@ buildPythonPackage rec { pname = "pymemcache"; version = "4.0.0"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "pinterest"; - repo = pname; + repo = "pymemcache"; rev = "v${version}"; hash = "sha256-WgtHhp7lE6StoOBfSy9+v3ODe/+zUC7lGrc2S4M68+M="; }; - propagatedBuildInputs = [ six ]; + build-system = [ setuptools ]; nativeCheckInputs = [ faker @@ -50,6 +50,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "pymemcache" ]; meta = with lib; { + changelog = "https://github.com/pinterest/pymemcache/blob/${src.rev}/ChangeLog.rst"; description = "Python memcached client"; homepage = "https://pymemcache.readthedocs.io/"; license = with licenses; [ asl20 ]; From 53daf0d29ff4cef99e08852f3d1711bb3c9d1e7a Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 30 Jul 2024 19:41:39 +0100 Subject: [PATCH 109/152] SDL2: apply formatting --- pkgs/development/libraries/SDL2/default.nix | 188 ++++++++++++-------- 1 file changed, 115 insertions(+), 73 deletions(-) diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 0f87b46e5a17..2a6a5864d25e 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -1,56 +1,57 @@ -{ lib -, stdenv -, config -, fetchFromGitHub -, nix-update-script -, pkg-config -, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms -, openglSupport ? libGLSupported -, libGL -, alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, alsa-lib -, x11Support ? !stdenv.hostPlatform.isWindows && !stdenv.hostPlatform.isAndroid -, libX11 -, xorgproto -, libICE -, libXi -, libXScrnSaver -, libXcursor -, libXinerama -, libXext -, libXxf86vm -, libXrandr -, waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, wayland -, wayland-protocols -, wayland-scanner -, drmSupport ? false -, libdrm -, mesa -, libxkbcommon -, dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, dbus -, udevSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, udev -, ibusSupport ? false -, ibus -, libdecorSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, libdecor -, pipewireSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, pipewire # NOTE: must be built with SDL2 without pipewire support -, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid -, libpulseaudio -, AudioUnit -, Cocoa -, CoreAudio -, CoreServices -, ForceFeedback -, OpenGL -, audiofile -, libiconv -, withStatic ? stdenv.hostPlatform.isMinGW +{ + lib, + stdenv, + config, + fetchFromGitHub, + nix-update-script, + pkg-config, + libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms, + openglSupport ? libGLSupported, + libGL, + alsaSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, + alsa-lib, + x11Support ? !stdenv.hostPlatform.isWindows && !stdenv.hostPlatform.isAndroid, + libX11, + xorgproto, + libICE, + libXi, + libXScrnSaver, + libXcursor, + libXinerama, + libXext, + libXxf86vm, + libXrandr, + waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, + wayland, + wayland-protocols, + wayland-scanner, + drmSupport ? false, + libdrm, + mesa, + libxkbcommon, + dbusSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, + dbus, + udevSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, + udev, + ibusSupport ? false, + ibus, + libdecorSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, + libdecor, + pipewireSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid, + pipewire, # NOTE: must be built with SDL2 without pipewire support + pulseaudioSupport ? config.pulseaudio or stdenv.isLinux && !stdenv.hostPlatform.isAndroid, + libpulseaudio, + AudioUnit, + Cocoa, + CoreAudio, + CoreServices, + ForceFeedback, + OpenGL, + audiofile, + libiconv, + withStatic ? stdenv.hostPlatform.isMinGW, # passthru.tests -, testers + testers, }: # NOTE: When editing this expression see if the same change applies to @@ -67,7 +68,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-ZonlvXAAWCTfDYf/w5RxP1Av67v89kex4H43xkbPYEA="; }; dontDisableStatic = if withStatic then 1 else 0; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; outputBin = "dev"; # sdl-config patches = [ @@ -89,41 +93,74 @@ stdenv.mkDerivation (finalAttrs: { depsBuildBuild = [ pkg-config ]; - nativeBuildInputs = [ pkg-config ] ++ lib.optionals waylandSupport [ wayland wayland-scanner ]; + nativeBuildInputs = + [ pkg-config ] + ++ lib.optionals waylandSupport [ + wayland + wayland-scanner + ]; - dlopenPropagatedBuildInputs = [ ] + dlopenPropagatedBuildInputs = + [ ] # Propagated for #include in SDL_opengles.h. ++ lib.optional (openglSupport && !stdenv.isDarwin) libGL # Propagated for #include and in SDL_syswm.h. ++ lib.optionals x11Support [ libX11 ]; - propagatedBuildInputs = lib.optionals x11Support [ xorgproto ] - ++ finalAttrs.dlopenPropagatedBuildInputs; + propagatedBuildInputs = + lib.optionals x11Support [ xorgproto ] ++ finalAttrs.dlopenPropagatedBuildInputs; - dlopenBuildInputs = lib.optionals alsaSupport [ alsa-lib audiofile ] + dlopenBuildInputs = + lib.optionals alsaSupport [ + alsa-lib + audiofile + ] ++ lib.optional dbusSupport dbus ++ lib.optional libdecorSupport libdecor ++ lib.optional pipewireSupport pipewire ++ lib.optional pulseaudioSupport libpulseaudio ++ lib.optional udevSupport udev - ++ lib.optionals waylandSupport [ wayland libxkbcommon ] - ++ lib.optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ] - ++ lib.optionals drmSupport [ libdrm mesa ]; + ++ lib.optionals waylandSupport [ + wayland + libxkbcommon + ] + ++ lib.optionals x11Support [ + libICE + libXi + libXScrnSaver + libXcursor + libXinerama + libXext + libXrandr + libXxf86vm + ] + ++ lib.optionals drmSupport [ + libdrm + mesa + ]; - buildInputs = [ libiconv ] + buildInputs = + [ libiconv ] ++ finalAttrs.dlopenBuildInputs ++ lib.optional ibusSupport ibus ++ lib.optionals waylandSupport [ wayland-protocols ] - ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ]; + ++ lib.optionals stdenv.isDarwin [ + AudioUnit + Cocoa + CoreAudio + CoreServices + ForceFeedback + OpenGL + ]; enableParallelBuilding = true; - configureFlags = [ - "--disable-oss" - ] ++ lib.optional (!x11Support) "--without-x" - ++ lib.optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib" - ++ lib.optional stdenv.hostPlatform.isWindows "--disable-video-opengles" - ++ lib.optional stdenv.isDarwin "--disable-sdltest"; + configureFlags = + [ "--disable-oss" ] + ++ lib.optional (!x11Support) "--without-x" + ++ lib.optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib" + ++ lib.optional stdenv.hostPlatform.isWindows "--disable-video-opengles" + ++ lib.optional stdenv.isDarwin "--disable-sdltest"; # We remove libtool .la files when static libs are requested, # because they make the builds of downstream libs like `SDL_tff` @@ -158,7 +195,9 @@ stdenv.mkDerivation (finalAttrs: { # list the symbols used in this way. postFixup = let - rpath = lib.makeLibraryPath (finalAttrs.dlopenPropagatedBuildInputs ++ finalAttrs.dlopenBuildInputs); + rpath = lib.makeLibraryPath ( + finalAttrs.dlopenPropagatedBuildInputs ++ finalAttrs.dlopenBuildInputs + ); in lib.optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") '' for lib in $out/lib/*.so* ; do @@ -172,10 +211,13 @@ stdenv.mkDerivation (finalAttrs: { passthru = { inherit openglSupport; - updateScript = nix-update-script { extraArgs = [ "--version-regex" "release-(.*)" ]; }; - tests.pkg-config = testers.hasPkgConfigModules { - package = finalAttrs.finalPackage; + updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "release-(.*)" + ]; }; + tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; }; }; meta = with lib; { From 1e5b7660b2327b2c66bcdf05a53d9433b6748d49 Mon Sep 17 00:00:00 2001 From: Kirill Radzikhovskyy Date: Wed, 31 Jul 2024 07:49:05 +1000 Subject: [PATCH 110/152] postgresql: fix postgis nixosTests.postgis is failing due to libxml2 update --- pkgs/servers/sql/postgresql/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index 907646dc722b..1a252f5888e9 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -62,7 +62,7 @@ let zlib readline openssl - libxml2 + (libxml2.override {enableHttp = true;}) icu ] ++ lib.optionals (olderThan "13") [ libxcrypt ] From 424415e7564eeb62350fae24a0c3c4c020708e30 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Tue, 30 Jul 2024 22:04:14 -0400 Subject: [PATCH 111/152] nixos/systemd-boot: Fix 'bootctl update' regression https://github.com/systemd/systemd/issues/33392 --- nixos/tests/systemd-boot.nix | 29 ++++++++++++++++------ pkgs/os-specific/linux/systemd/default.nix | 10 +++++--- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index 93efd128bfcb..79b3d8602e1d 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -227,18 +227,31 @@ rec { testScript = '' machine.succeed("mount -o remount,rw /boot") - # Replace version inside sd-boot with something older. See magic[] string in systemd src/boot/efi/boot.c - machine.succeed( - """ - find /boot -iname '*boot*.efi' -print0 | \ - xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 000.0-1-notnixos ####/' '{}' - """ - ) + def switch(): + # Replace version inside sd-boot with something older. See magic[] string in systemd src/boot/efi/boot.c + machine.succeed( + """ + find /boot -iname '*boot*.efi' -print0 | \ + xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 000.0-1-notnixos ####/' '{}' + """ + ) + return machine.succeed("/run/current-system/bin/switch-to-configuration boot 2>&1") - output = machine.succeed("/run/current-system/bin/switch-to-configuration boot 2>&1") + output = switch() assert "updating systemd-boot from 000.0-1-notnixos to " in output, "Couldn't find systemd-boot update message" assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi" assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI" + + with subtest("Test that updating works with lowercase bootx64.efi"): + machine.succeed( + # Move to tmp file name first, otherwise mv complains the new location is the same + "mv /boot/EFI/BOOT/BOOTX64.EFI /boot/EFI/BOOT/bootx64.efi.new", + "mv /boot/EFI/BOOT/bootx64.efi.new /boot/EFI/BOOT/bootx64.efi", + ) + output = switch() + assert "updating systemd-boot from 000.0-1-notnixos to " in output, "Couldn't find systemd-boot update message" + assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi" + assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI" ''; }; diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index aab2d44c99da..e3ac4101dbb5 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -7,6 +7,7 @@ , fetchFromGitHub , fetchzip , fetchpatch +, fetchpatch2 , buildPackages , makeBinaryWrapper , ninja @@ -238,10 +239,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-OmuPDm3NykrDeNTA3NcYt9iTXEUFwKJ5apPP4KqtABg="; }) - # https://github.com/systemd/systemd/pull/33400 - (fetchpatch { - url = "https://github.com/systemd/systemd/compare/051d462b42fe6c27824046c15cd3c84fa5afe05b..5e2d802c018f0b6d5dd58745f64d6958fa261096.patch"; - hash = "sha256-drGAnx+ECixOjIP0DUSbCG/emUgoVips9WQL5ny3NKQ="; + # https://github.com/systemd/systemd/issues/33392 + (fetchpatch2 { + url = "https://github.com/systemd/systemd/commit/f8b02a56febf14adf2474875a1b6625f1f346a6f.patch?full_index=1"; + hash = "sha256-qRW92gPtACjk+ifptkw5mujhHlkCF56M3azGIjLiMKE="; + revert = true; }) ] ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu) [ ./0018-timesyncd-disable-NSCD-when-DNSSEC-validation-is-dis.patch From 89700ef3d9dbb87fd480f9dd93c92f18ad6886f4 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Tue, 30 Jul 2024 22:06:10 -0400 Subject: [PATCH 112/152] systemd: 256.2 -> 256.4 --- pkgs/os-specific/linux/systemd/default.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index e3ac4101dbb5..04b357913c70 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -6,7 +6,6 @@ , pkgsCross , fetchFromGitHub , fetchzip -, fetchpatch , fetchpatch2 , buildPackages , makeBinaryWrapper @@ -184,7 +183,7 @@ assert withBootloader -> withEfi; let wantCurl = withRemote || withImportd; wantGcrypt = withResolved || withImportd; - version = "256.2"; + version = "256.4"; # Use the command below to update `releaseTimestamp` on every (major) version # change. More details in the commentary at mesonFlags. @@ -202,7 +201,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "systemd"; repo = "systemd"; rev = "v${version}"; - hash = "sha256-fyHzL+oe192YYuwyoTrov10IlrB0NSfY/XKVWzJrQEI="; + hash = "sha256-dugBiRgDFpB0eKhhIT3LkA8FhClM0lvvwCMJ+dKtjPM="; }; # On major changes, or when otherwise required, you *must* : @@ -232,13 +231,6 @@ stdenv.mkDerivation (finalAttrs: { ./0016-systemctl-edit-suggest-systemdctl-edit-runtime-on-sy.patch ./0017-meson.build-do-not-create-systemdstatedir.patch - # https://github.com/systemd/systemd/pull/33258 - # Remove after 256.3 - (fetchpatch { - url = "https://github.com/systemd/systemd/compare/b268a71069786a45460807967e669d505ba3c5a2..f26b2ec46118a4493608618da2253bb9dfc6b517.patch"; - hash = "sha256-OmuPDm3NykrDeNTA3NcYt9iTXEUFwKJ5apPP4KqtABg="; - }) - # https://github.com/systemd/systemd/issues/33392 (fetchpatch2 { url = "https://github.com/systemd/systemd/commit/f8b02a56febf14adf2474875a1b6625f1f346a6f.patch?full_index=1"; From 0bfa3d044d3f08b5aa65eb89f09b029f1683f864 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 31 Jul 2024 08:58:36 +0300 Subject: [PATCH 113/152] Revert "darktable: fix build" This reverts commit 7b67b4bebce9207c76cd3ef5f2f8de1673bfab34. Fixed properly in libavif. --- pkgs/applications/graphics/darktable/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index 4d4f00497686..0d19158f4476 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -53,8 +53,6 @@ , libaom , portmidi , lua -, dav1d -, libyuv }: stdenv.mkDerivation rec { @@ -108,8 +106,6 @@ stdenv.mkDerivation rec { libaom portmidi lua - dav1d - libyuv ] ++ lib.optionals stdenv.isLinux [ colord colord-gtk From 0f37de9fe637b5dcb6ecb3921515f2e7d323b618 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Jul 2024 07:15:29 +0000 Subject: [PATCH 114/152] aws-c-auth: 0.7.22 -> 0.7.23 --- pkgs/development/libraries/aws-c-auth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/aws-c-auth/default.nix b/pkgs/development/libraries/aws-c-auth/default.nix index d07a7fc52996..cbd997127d7a 100644 --- a/pkgs/development/libraries/aws-c-auth/default.nix +++ b/pkgs/development/libraries/aws-c-auth/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "aws-c-auth"; - version = "0.7.22"; + version = "0.7.23"; src = fetchFromGitHub { owner = "awslabs"; repo = "aws-c-auth"; rev = "v${version}"; - hash = "sha256-8+SFag3hRQ+1aOK2vuHOV/gXE1qUIlAW5LNJDmUORLs="; + hash = "sha256-WQ5mJrPGsjsBGUHGott0wiDbgMbPMgOEt0TkHOvAR9w="; }; nativeBuildInputs = [ From e4f405d002ba79e048d5bc582608d54629cd01c1 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 31 Jul 2024 15:44:46 +0200 Subject: [PATCH 115/152] python3Packages.motor: 3.4.0 -> 3.5.1 --- .../python-modules/motor/default.nix | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/motor/default.nix b/pkgs/development/python-modules/motor/default.nix index fa9fc4da9e63..1a8aa99a3679 100644 --- a/pkgs/development/python-modules/motor/default.nix +++ b/pkgs/development/python-modules/motor/default.nix @@ -2,6 +2,8 @@ lib, buildPythonPackage, fetchFromGitHub, + hatchling, + hatch-requirements-txt, mockupdb, pymongo, pythonOlder, @@ -9,19 +11,24 @@ buildPythonPackage rec { pname = "motor"; - version = "3.4.0"; - format = "setuptools"; + version = "3.5.1"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "mongodb"; - repo = pname; + repo = "motor"; rev = "refs/tags/${version}"; - hash = "sha256-Rj8eYZxmw/cn/vkhLunmHgxMMHIQe80Zhc2p0q3b/AY="; + hash = "sha256-mg31FzMF0xEEhfLKAdF2pzEkULESFFGaXnE0uospXqE="; }; - propagatedBuildInputs = [ pymongo ]; + build-system = [ + hatchling + hatch-requirements-txt + ]; + + dependencies = [ pymongo ]; nativeCheckInputs = [ mockupdb ]; @@ -30,10 +37,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "motor" ]; - meta = with lib; { + meta = { description = "Non-blocking MongoDB driver for Tornado or asyncio"; - license = licenses.asl20; + license = lib.licenses.asl20; homepage = "https://github.com/mongodb/motor"; - maintainers = with maintainers; [ globin ]; + maintainers = with lib.maintainers; [ globin ]; }; } From 2fecb94326ee487375104a418bd33b72b72dfee1 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 31 Jul 2024 15:49:38 +0200 Subject: [PATCH 116/152] python3Packages.pymongo: 4.7.3 -> 4.8.0 --- .../python-modules/pymongo/default.nix | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix index d7e1b35ed742..c64d22d66cb9 100644 --- a/pkgs/development/python-modules/pymongo/default.nix +++ b/pkgs/development/python-modules/pymongo/default.nix @@ -2,6 +2,9 @@ lib, buildPythonPackage, fetchPypi, + hatchling, + hatch-requirements-txt, + setuptools, pythonOlder, dnspython, @@ -16,17 +19,24 @@ buildPythonPackage rec { pname = "pymongo"; - version = "4.7.3"; - format = "setuptools"; + version = "4.8.0"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { - inherit pname version; - hash = "sha256-Y1SmayKPLNOZvnQpaF+2jgfxkRCjZ5eC7LT9to2gODE="; + inherit version; + pname = "pymongo"; + hash = "sha256-RU8ilYdXRNxw8YgeSy65nNrQCKM1dLyKrxIFMPZsDN4="; }; - propagatedBuildInputs = [ dnspython ]; + build-system = [ + hatchling + hatch-requirements-txt + setuptools + ]; + + dependencies = [ dnspython ]; # Tests call a running mongodb instance doCheck = false; @@ -44,10 +54,10 @@ buildPythonPackage rec { ; }; - meta = with lib; { + meta = { description = "Python driver for MongoDB"; homepage = "https://github.com/mongodb/mongo-python-driver"; - license = licenses.asl20; + license = lib.licenses.asl20; maintainers = [ ]; }; } From 84c30688a9effa65e8aeac962194c4618aa7e674 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 28 Jul 2024 00:21:27 +0000 Subject: [PATCH 117/152] jdupes: 1.27.3 -> 1.28.0 --- pkgs/tools/misc/jdupes/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix index 049b69fa7661..8a637a66de37 100644 --- a/pkgs/tools/misc/jdupes/default.nix +++ b/pkgs/tools/misc/jdupes/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "jdupes"; - version = "1.27.3"; + version = "1.28.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "jbruchon"; repo = "jdupes"; rev = "v${version}"; - hash = "sha256-hR5nl8G7TYVm4ol/jgo7iOb4dLr2MovgjKSXCD2UwMg="; + hash = "sha256-jRjVuN/FNDpKB+Ibi+Mkm+WhB16cz9c33dOOeiPdgr8="; # Unicode file names lead to different checksums on HFS+ vs. other # filesystems because of unicode normalisation. The testdir # directories have such files and will be removed. From 7a8913b2d10174a8f17ce5b0925da0be77f1394e Mon Sep 17 00:00:00 2001 From: John Titor <50095635+JohnRTitor@users.noreply.github.com> Date: Wed, 31 Jul 2024 19:22:09 +0530 Subject: [PATCH 118/152] jdupes: point to new homepage link, cleanup apply nixfmt-rfc-style rec -> finalAttrs --- pkgs/tools/misc/jdupes/default.nix | 36 +++++++++++++++++------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix index 8a637a66de37..9c6988846990 100644 --- a/pkgs/tools/misc/jdupes/default.nix +++ b/pkgs/tools/misc/jdupes/default.nix @@ -1,14 +1,19 @@ -{ lib, stdenv, fetchFromGitea, libjodycode }: +{ + lib, + stdenv, + fetchFromGitea, + libjodycode, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "jdupes"; version = "1.28.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "jbruchon"; - repo = "jdupes"; - rev = "v${version}"; + repo = "jdupes"; + rev = "v${finalAttrs.version}"; hash = "sha256-jRjVuN/FNDpKB+Ibi+Mkm+WhB16cz9c33dOOeiPdgr8="; # Unicode file names lead to different checksums on HFS+ vs. other # filesystems because of unicode normalisation. The testdir @@ -20,14 +25,13 @@ stdenv.mkDerivation rec { dontConfigure = true; - makeFlags = [ - "PREFIX=${placeholder "out"}" - ] ++ lib.optionals stdenv.isLinux [ - "ENABLE_DEDUPE=1" - "STATIC_DEDUPE_H=1" - ] ++ lib.optionals stdenv.cc.isGNU [ - "HARDEN=1" - ]; + makeFlags = + [ "PREFIX=${placeholder "out"}" ] + ++ lib.optionals stdenv.isLinux [ + "ENABLE_DEDUPE=1" + "STATIC_DEDUPE_H=1" + ] + ++ lib.optionals stdenv.cc.isGNU [ "HARDEN=1" ]; enableParallelBuilding = true; @@ -37,16 +41,16 @@ stdenv.mkDerivation rec { install -Dm444 -t $out/share/doc/jdupes CHANGES.txt LICENSE.txt README.md ''; - meta = with lib; { + meta = { description = "Powerful duplicate file finder and an enhanced fork of 'fdupes'"; longDescription = '' jdupes is a program for identifying and taking actions upon duplicate files. This fork known as 'jdupes' is heavily modified from and improved over the original. ''; - homepage = "https://github.com/jbruchon/jdupes"; - license = licenses.mit; + homepage = "https://codeberg.org/jbruchon/jdupes"; + license = lib.licenses.mit; maintainers = [ ]; mainProgram = "jdupes"; }; -} +}) From 51df2b8f014ecd030c4fa8422dc31673c6214188 Mon Sep 17 00:00:00 2001 From: John Titor <50095635+JohnRTitor@users.noreply.github.com> Date: Wed, 31 Jul 2024 22:17:43 +0530 Subject: [PATCH 119/152] pythonPackages.sure: fix eval --- pkgs/development/python-modules/sure/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/sure/default.nix b/pkgs/development/python-modules/sure/default.nix index 0a8f5cef066c..45d3c055634f 100644 --- a/pkgs/development/python-modules/sure/default.nix +++ b/pkgs/development/python-modules/sure/default.nix @@ -41,12 +41,12 @@ buildPythonPackage rec { pythonImportsCheck = [ "sure" ]; - meta = with lib; { + meta = { description = "Utility belt for automated testing"; mainProgram = "sure"; homepage = "https://sure.readthedocs.io/"; changelog = "https://github.com/gabrielfalcao/sure/blob/v${version}/CHANGELOG.md"; - license = licenses.gpl3Plus; - maintainers = [ sigmanificient ]; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ sigmanificient ]; }; } From 2f62682564b8b8d402e7a54295323962ad0834b7 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 28 Jul 2024 14:03:58 +0800 Subject: [PATCH 120/152] emacs: remove one unneeded line from genericBuild I test this patch on x86_64-linux and aarch64-darwin systems. This patch does not cause package build failure. https://github.com/NixOS/nixpkgs/commit/e89082346762164f5a9f7f3ebc3afa13fb964718 --- pkgs/applications/editors/emacs/build-support/generic.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index 727b1f03cae4..0dc094c2549f 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -3,7 +3,7 @@ { lib, stdenv, emacs, texinfo, writeText, gcc, ... }: let - inherit (lib) optionalAttrs getLib; + inherit (lib) optionalAttrs; handledArgs = [ "buildInputs" "packageRequires" "propagatedUserEnvPkgs" "meta" ] ++ lib.optionals (emacs.withNativeCompilation or false) [ "nativeBuildInputs" "postInstall" ]; @@ -73,8 +73,6 @@ stdenv.mkDerivation (finalAttrs: ({ // optionalAttrs (emacs.withNativeCompilation or false) { - LIBRARY_PATH = "${getLib stdenv.cc.libc}/lib"; - nativeBuildInputs = [ gcc ] ++ nativeBuildInputs; addEmacsNativeLoadPath = true; From c7ce9ed4733bf46569d9fed88730d869807996f4 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 28 Jul 2024 14:08:25 +0800 Subject: [PATCH 121/152] emacs: remove unneeded code from genericBuild I test this patch on x86_64-linux and aarch64-darwin systems. This patch makes elisp-ffi and rime fail to build, which is their own packaging issue and should be fixed on the their side. Build failure of rime is only on darwin and the fix is easy. The removed line was added[1] to fix a build failure on macos. So I also test emacs.pkgs.withPackages on that system and it works well. [1]: https://github.com/NixOS/nixpkgs/commit/8bc10fbc56db2aaf1f234349e4d0c7607b8ead4f --- pkgs/applications/editors/emacs/build-support/elpa.nix | 4 ++-- pkgs/applications/editors/emacs/build-support/generic.nix | 7 ++----- pkgs/applications/editors/emacs/build-support/melpa.nix | 4 ++-- pkgs/applications/editors/emacs/build-support/wrapper.nix | 3 +-- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/editors/emacs/build-support/elpa.nix b/pkgs/applications/editors/emacs/build-support/elpa.nix index 6dd0c7f167c9..7ac8d673346a 100644 --- a/pkgs/applications/editors/emacs/build-support/elpa.nix +++ b/pkgs/applications/editors/emacs/build-support/elpa.nix @@ -1,10 +1,10 @@ # builder for Emacs packages built for packages.el -{ lib, stdenv, emacs, texinfo, writeText, gcc }: +{ lib, stdenv, emacs, texinfo, writeText }: let handledArgs = [ "meta" ]; - genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; }; + genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText; }; in diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index 0dc094c2549f..dd9a693137b0 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -1,11 +1,11 @@ # generic builder for Emacs packages -{ lib, stdenv, emacs, texinfo, writeText, gcc, ... }: +{ lib, stdenv, emacs, texinfo, writeText, ... }: let inherit (lib) optionalAttrs; handledArgs = [ "buildInputs" "packageRequires" "propagatedUserEnvPkgs" "meta" ] - ++ lib.optionals (emacs.withNativeCompilation or false) [ "nativeBuildInputs" "postInstall" ]; + ++ lib.optionals (emacs.withNativeCompilation or false) [ "postInstall" ]; setupHook = writeText "setup-hook.sh" '' source ${./emacs-funcs.sh} @@ -26,7 +26,6 @@ in { pname , version , buildInputs ? [] -, nativeBuildInputs ? [] , packageRequires ? [] , propagatedUserEnvPkgs ? [] , postInstall ? "" @@ -73,8 +72,6 @@ stdenv.mkDerivation (finalAttrs: ({ // optionalAttrs (emacs.withNativeCompilation or false) { - nativeBuildInputs = [ gcc ] ++ nativeBuildInputs; - addEmacsNativeLoadPath = true; inherit turnCompilationWarningToError ignoreCompilationError; diff --git a/pkgs/applications/editors/emacs/build-support/melpa.nix b/pkgs/applications/editors/emacs/build-support/melpa.nix index 6249f4e7f186..20f7e79eb683 100644 --- a/pkgs/applications/editors/emacs/build-support/melpa.nix +++ b/pkgs/applications/editors/emacs/build-support/melpa.nix @@ -1,11 +1,11 @@ # builder for Emacs packages built for packages.el # using MELPA package-build.el -{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText, gcc }: +{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText }: let handledArgs = [ "meta" "preUnpack" "postUnpack" ]; - genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; }; + genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText; }; packageBuild = stdenv.mkDerivation { name = "package-build"; diff --git a/pkgs/applications/editors/emacs/build-support/wrapper.nix b/pkgs/applications/editors/emacs/build-support/wrapper.nix index 59a694286d09..5b325f5e0a9e 100644 --- a/pkgs/applications/editors/emacs/build-support/wrapper.nix +++ b/pkgs/applications/editors/emacs/build-support/wrapper.nix @@ -32,7 +32,7 @@ in customEmacsPackages.withPackages (epkgs: [ epkgs.evil epkgs.magit ]) */ -{ lib, lndir, makeBinaryWrapper, runCommand, gcc }: +{ lib, lndir, makeBinaryWrapper, runCommand }: self: let inherit (self) emacs; @@ -60,7 +60,6 @@ runCommand deps = runCommand "emacs-packages-deps" ({ inherit explicitRequires lndir emacs; - nativeBuildInputs = lib.optional withNativeCompilation gcc; } // lib.optionalAttrs withNativeCompilation { inherit (emacs) LIBRARY_PATH; }) From 6b3965ed806c849deddf162013396f3e294644b7 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 28 Jul 2024 16:30:20 +0800 Subject: [PATCH 122/152] emacs: move emacs and texinfo to nativeBuildInputs in genericBuild --- pkgs/applications/editors/emacs/build-support/generic.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index dd9a693137b0..3b3298cd1468 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -4,7 +4,7 @@ let inherit (lib) optionalAttrs; - handledArgs = [ "buildInputs" "packageRequires" "propagatedUserEnvPkgs" "meta" ] + handledArgs = [ "buildInputs" "nativeBuildInputs" "packageRequires" "propagatedUserEnvPkgs" "meta" ] ++ lib.optionals (emacs.withNativeCompilation or false) [ "postInstall" ]; setupHook = writeText "setup-hook.sh" '' @@ -26,6 +26,7 @@ in { pname , version , buildInputs ? [] +, nativeBuildInputs ? [] , packageRequires ? [] , propagatedUserEnvPkgs ? [] , postInstall ? "" @@ -54,7 +55,8 @@ stdenv.mkDerivation (finalAttrs: ({ esac ''; - buildInputs = [emacs texinfo] ++ packageRequires ++ buildInputs; + buildInputs = packageRequires ++ buildInputs; + nativeBuildInputs = [ emacs texinfo ] ++ nativeBuildInputs; propagatedBuildInputs = packageRequires; propagatedUserEnvPkgs = packageRequires ++ propagatedUserEnvPkgs; From 0b51f54b8f6b2c6fba77166390ff1cda657d4ca7 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 1 Aug 2024 12:38:15 +0300 Subject: [PATCH 123/152] pipewire: 1.2.1 -> 1.2.2 Diff: https://gitlab.freedesktop.org/pipewire/pipewire/-/compare/1.2.1...1.2.2 Changelog: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/1.2.2 --- pkgs/development/libraries/pipewire/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index bf8386d54403..f4b411776a66 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -56,7 +56,7 @@ stdenv.mkDerivation(finalAttrs: { pname = "pipewire"; - version = "1.2.1"; + version = "1.2.2"; outputs = [ "out" @@ -72,7 +72,7 @@ stdenv.mkDerivation(finalAttrs: { owner = "pipewire"; repo = "pipewire"; rev = finalAttrs.version; - sha256 = "sha256-CkxsVD813LbWpuZhJkNLJnqjLF6jmEn+CajXb2XTCsY="; + sha256 = "sha256-neLQ41p2f2QyOS3r2VxanaHbiVj6nnnkT7kx/On0azM="; }; patches = [ From 204bb970670a4562e1b9960a6449777f35ba90b4 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 1 Aug 2024 12:45:07 +0300 Subject: [PATCH 124/152] mesa: 24.1.4 -> 24.1.5 --- pkgs/development/libraries/mesa/common.nix | 4 ++-- pkgs/development/libraries/mesa/default.nix | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix index 1a60c136be56..06efd715c23f 100644 --- a/pkgs/development/libraries/mesa/common.nix +++ b/pkgs/development/libraries/mesa/common.nix @@ -5,14 +5,14 @@ # nix build .#legacyPackages.x86_64-darwin.mesa .#legacyPackages.aarch64-darwin.mesa rec { pname = "mesa"; - version = "24.1.4"; + version = "24.1.5"; src = fetchurl { urls = [ "https://archive.mesa3d.org/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - hash = "sha256-fPfG9mUmOtASKInB1LB2ZUwe7ep6LzjGnIxRV5k3reE="; + hash = "sha256-AnYf/ZZd1kuVQh6/yhGR1zckq6APMANACSN1ZPNM+XY="; }; meta = { diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 2266716bd9da..5782ec9fbedf 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -138,13 +138,6 @@ in stdenv.mkDerivation { patches = [ ./opencl.patch - - # https://gitlab.freedesktop.org/mesa/mesa/-/issues/11533 - (fetchpatch { - name = "ffmpeg.patch"; - url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/241f70e5a13bb9c13a168282446ad074e16c3d74.patch"; - hash = "sha256-Cx7OL8iXGAOuDbCQReCCxSrWYvfZVrGoP0txIKSLTvs="; - }) ]; postPatch = '' From a76707e813b56ed367c0683ad7e2e4a06248c5d2 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 1 Aug 2024 14:17:37 +0100 Subject: [PATCH 125/152] bash: 5.2p26 -> 5.2p32 Replace one patch with its upstream version. --- pkgs/shells/bash/5.nix | 5 ----- pkgs/shells/bash/bash-5.2-patches.nix | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/shells/bash/5.nix b/pkgs/shells/bash/5.nix index 395fffe293fc..e36d69593bd3 100644 --- a/pkgs/shells/bash/5.nix +++ b/pkgs/shells/bash/5.nix @@ -57,11 +57,6 @@ stdenv.mkDerivation rec { patches = upstreamPatches ++ [ ./pgrp-pipe-5.patch - (fetchurl { - name = "fix-static.patch"; - url = "https://cgit.freebsd.org/ports/plain/shells/bash/files/patch-configure?id=3e147a1f594751a68fea00a28090d0792bee0b51"; - sha256 = "XHFMQ6eXTReNoywdETyrfQEv1rKF8+XFbQZP4YoVKFk="; - }) # Apply parallel build fix pending upstream inclusion: # https://savannah.gnu.org/patch/index.php?10373 # Had to fetch manually to workaround -p0 default. diff --git a/pkgs/shells/bash/bash-5.2-patches.nix b/pkgs/shells/bash/bash-5.2-patches.nix index 5d5ef94676de..fb4c9c4e3678 100644 --- a/pkgs/shells/bash/bash-5.2-patches.nix +++ b/pkgs/shells/bash/bash-5.2-patches.nix @@ -27,4 +27,10 @@ patch: [ (patch "024" "1hq23djqbr7s9y2324jq9mxr5bwdkmgizn3zgpchbsqp054k85cp") (patch "025" "0x9hc4silzl4d3zw4p43i5dm7w86k50j47f87lracwfgwy3z8f2i") (patch "026" "1b1fhm1dsi67r8ip17s0xvx2qq31fsxc1g9n3r931dd0k9a1zvln") +(patch "027" "0fdbhvs9dkf4knncifh98a76q4gylhyvfrffq5p9q3ag5q58jap1") +(patch "028" "1hdacd6sssjshmry1sscdnxxfb2r51bvdyghlfjaqgc9l85phhk0") +(patch "029" "11wrlb20w6v89b96krg0gwxipwhvrda6rq1y9f972m32gsrsqp0j") +(patch "030" "13v9fqgim082dmvkslsr0hs793yzhsij2s91mjswsfhj1qip7zy3") +(patch "031" "15d7rddj6spwc1fy997lxx6zvzq0zbxgf2h20mhi4wgp5nzbglf2") +(patch "032" "05ia6yf32hjprmyyxqawhgckxs3684ikfx8xg08zfgx9xkd7g73v") ] From b62cfa99c3583b5c77490b0875390d0d813706a5 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 1 Aug 2024 14:21:50 +0100 Subject: [PATCH 126/152] bash: add upstream fix for `pop_var_context` error Closes: #214822 --- pkgs/shells/bash/5.nix | 2 ++ .../shells/bash/fix-pop-var-context-error.patch | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/shells/bash/fix-pop-var-context-error.patch diff --git a/pkgs/shells/bash/5.nix b/pkgs/shells/bash/5.nix index e36d69593bd3..b2167b9ef7fa 100644 --- a/pkgs/shells/bash/5.nix +++ b/pkgs/shells/bash/5.nix @@ -61,6 +61,8 @@ stdenv.mkDerivation rec { # https://savannah.gnu.org/patch/index.php?10373 # Had to fetch manually to workaround -p0 default. ./parallel.patch + # Fix `pop_var_context: head of shell_variables not a function context`. + ./fix-pop-var-context-error.patch ]; configureFlags = [ diff --git a/pkgs/shells/bash/fix-pop-var-context-error.patch b/pkgs/shells/bash/fix-pop-var-context-error.patch new file mode 100644 index 000000000000..1b8d5ae20b31 --- /dev/null +++ b/pkgs/shells/bash/fix-pop-var-context-error.patch @@ -0,0 +1,17 @@ +Excerpted from . + +Original author: Chet Ramey + +--- variables.c ++++ variables.c +@@ -5413,7 +5413,9 @@ pop_var_context () + vcxt = shell_variables; + if (vc_isfuncenv (vcxt) == 0) + { +- internal_error (_("pop_var_context: head of shell_variables not a function context")); ++ /* If we haven't flushed all of the local contexts already, flag an error */ ++ if (shell_variables != global_variables || variable_context > 0) ++ internal_error (_("pop_var_context: head of shell_variables not a function context")); + return; + } + From c47a1e701df7f00352b8cf401fa79c0d2f5fcc59 Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Thu, 1 Aug 2024 19:26:05 +0200 Subject: [PATCH 127/152] stdenv: make sure the `env-vars` file created is not world readable Under some circumstances this file might contain private information that should not be accessible to everybody. --- pkgs/stdenv/generic/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index c1de5b97d2d6..cc69434dc8c9 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1044,7 +1044,7 @@ substituteAllInPlace() { # the environment used for building. dumpVars() { if [ "${noDumpEnvVars:-0}" != 1 ]; then - export 2>/dev/null >| "$NIX_BUILD_TOP/env-vars" || true + install -m 0600 <(export 2>/dev/null) "$NIX_BUILD_TOP/env-vars" || true fi } From 2168c0df8da6878c1f338cc780132f7f961908f8 Mon Sep 17 00:00:00 2001 From: euxane Date: Thu, 1 Aug 2024 19:41:52 +0200 Subject: [PATCH 128/152] mercurial: 6.8 -> 6.8.1 Changelog: https://wiki.mercurial-scm.org/Release6.8 --- pkgs/applications/version-management/mercurial/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index f60813a7eea6..e6f08bc6dea0 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -21,11 +21,11 @@ let self = python3Packages.buildPythonApplication rec { pname = "mercurial${lib.optionalString fullBuild "-full"}"; - version = "6.8"; + version = "6.8.1"; src = fetchurl { url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz"; - hash = "sha256-COTQ5dqK8RMrUea8M1AYCtV63Nk18Je20LwRmiwsChA="; + hash = "sha256-Aw6Kem1ZDk6utAPuJWdWFc2A0jbzq4oLVtzIQYEViwU="; }; format = "other"; @@ -35,7 +35,7 @@ let cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball { inherit src; name = "mercurial-${version}"; - hash = "sha256-mP82UtASD0Fh8ilDDCB6ubY7/MGPoRP6hg6/xRwzwAw="; + hash = "sha256-i5AVyi9m7qLLubhV8fBhhZ6/RYOjMdwmv9Bek9pT/xo="; sourceRoot = "mercurial-${version}/rust"; } else null; cargoRoot = if rustSupport then "rust" else null; From b0b178fc293ad71c35d3ac84e8ac856bd0d3492b Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Fri, 2 Aug 2024 04:34:00 +0900 Subject: [PATCH 129/152] pahole: fix clang kernel build This should fix clang builds for real this time Reported-by: PedroHLC --- pkgs/by-name/pa/pahole/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/pa/pahole/package.nix b/pkgs/by-name/pa/pahole/package.nix index 14a31958c0e2..d82c76eb769c 100644 --- a/pkgs/by-name/pa/pahole/package.nix +++ b/pkgs/by-name/pa/pahole/package.nix @@ -36,6 +36,11 @@ stdenv.mkDerivation rec { url = "https://github.com/acmel/dwarves/commit/6a2b27c0f512619b0e7a769a18a0fb05bb3789a5.patch"; hash = "sha256-Le1BAew/a/QKkYNLgSQxEvZ9mEEglUw8URwz1kiheeE="; }) + (fetchpatch { + name = "fix-clang-btf-generation-bug-2.patch"; + url = "https://github.com/acmel/dwarves/commit/94a01bde592c555b3eb526aeb4c2ad695c5660d8.patch"; + hash = "sha256-SMIxLEBjBkprAqVNX1h7nXxAsgbwvCD/Bz7c1ekwg5w="; + }) ]; # Put libraries in "lib" subdirectory, not top level of $out From e53cf6ca74e8faaa5081137eb367cda363444c07 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Wed, 31 Jul 2024 21:15:55 +0200 Subject: [PATCH 130/152] ffmpeg_4: 4.4.4 -> 4.4.5 --- pkgs/development/libraries/ffmpeg/default.nix | 4 +-- pkgs/development/libraries/ffmpeg/generic.nix | 30 ------------------- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index a4869184bdc6..f17ef87dd820 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -18,8 +18,8 @@ let ); v4 = { - version = "4.4.4"; - hash = "sha256-Q8bkuF/1uJfqttJJoObnnLX3BEduv+qxsvOrVhMvRjA="; + version = "4.4.5"; + hash = "sha256-GrKNGYI8kO47Yoi82dMV30ymuXSjxo4gH+yB8jIUa2A="; }; v6 = { diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index c780ad1b545a..f89d76453bdb 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -403,36 +403,6 @@ stdenv.mkDerivation (finalAttrs: { ''; patches = [] - ++ optionals (versionOlder version "5") [ - (fetchpatch2 { - name = "libsvtav1-1.5.0-compat-compressed_ten_bit_format.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/031f1561cd286596cdb374da32f8aa816ce3b135"; - hash = "sha256-agJgzIzrBTQBAypuCmGXXFo7vw6Iodw5Ny5O5QCKCn8="; - }) - (fetchpatch2 { - # Backport fix for binutils-2.41. - name = "binutils-2.41.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb"; - hash = "sha256-vLSltvZVMcQ0CnkU0A29x6fJSywE8/aU+Mp9os8DZYY="; - }) - # The upstream patch isn’t for ffmpeg 4, but it will apply with a few tweaks. - # Fixes a crash when built with clang 16 due to UB in ff_seek_frame_binary. - (fetchpatch2 { - name = "utils-fix_crash_in_ff_seek_frame_binary.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/ab792634197e364ca1bb194f9abe36836e42f12d"; - hash = "sha256-vqqVACjbCcGL9Qvmg1QArSKqVmOqr8BEr+OxTBDt6mA="; - postFetch = '' - substituteInPlace "$out" \ - --replace libavformat/seek.c libavformat/utils.c \ - --replace 'const AVInputFormat *const ' 'const AVInputFormat *' - ''; - }) - (fetchpatch2 { - name = "CVE-2023-51794.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/50f0f8c53c818f73fe2d752708e2fa9d2a2d8a07"; - hash = "sha256-5G9lmKjMEa0+vqbA8EEiNIr6QG+PeEoIL+uZP4Hlo28="; - }) - ] ++ optionals (lib.versionAtLeast version "6.1" && lib.versionOlder version "6.2") [ (fetchpatch2 { # this can be removed post 6.1 name = "fix_build_failure_due_to_PropertyKey_EncoderID"; From e4bb50afcbd3201eb9e2f9ffe398627e606b5040 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 1 Aug 2024 22:38:13 +0200 Subject: [PATCH 131/152] abseil-cpp: 20240116.2 -> 20240722.0 Diff: https://github.com/abseil/abseil-cpp/compare/20240116.2...20240722.0 Changelog: https://github.com/abseil/abseil-cpp/releases/tag/20240722.0 --- .../libraries/abseil-cpp/{202401.nix => 202407.nix} | 12 ++++++------ pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) rename pkgs/development/libraries/abseil-cpp/{202401.nix => 202407.nix} (77%) diff --git a/pkgs/development/libraries/abseil-cpp/202401.nix b/pkgs/development/libraries/abseil-cpp/202407.nix similarity index 77% rename from pkgs/development/libraries/abseil-cpp/202401.nix rename to pkgs/development/libraries/abseil-cpp/202407.nix index 8352007b3413..49e18c271e64 100644 --- a/pkgs/development/libraries/abseil-cpp/202401.nix +++ b/pkgs/development/libraries/abseil-cpp/202407.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "abseil-cpp"; - version = "20240116.2"; + version = "20240722.0"; src = fetchFromGitHub { owner = "abseil"; repo = "abseil-cpp"; rev = "refs/tags/${finalAttrs.version}"; - hash = "sha256-eA2/dZpNOlex1O5PNa3XSZhpMB3AmaIoHzVDI9TD/cg="; + hash = "sha256-51jpDhdZ0n+KLmxh8KVaTz53pZAB0dHjmILFX+OLud4="; }; cmakeFlags = [ @@ -32,11 +32,11 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ gtest ]; - meta = with lib; { + meta = { description = "Open-source collection of C++ code designed to augment the C++ standard library"; homepage = "https://abseil.io/"; - license = licenses.asl20; - platforms = platforms.all; - maintainers = [ maintainers.GaetanLepage ]; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.GaetanLepage ]; }; }) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93d5f1b13fad..5c9b69758007 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19562,13 +19562,13 @@ with pkgs; then overrideSDK stdenv { darwinMinVersion = "10.13"; } else stdenv; }; - abseil-cpp_202401 = callPackage ../development/libraries/abseil-cpp/202401.nix { + abseil-cpp_202407 = callPackage ../development/libraries/abseil-cpp/202407.nix { # If abseil-cpp doesn’t have a deployment target of 10.13+, arrow-cpp crashes in libgrpc.dylib. stdenv = if stdenv.isDarwin && stdenv.isx86_64 then overrideSDK stdenv { darwinMinVersion = "10.13"; } else stdenv; }; - abseil-cpp = abseil-cpp_202401; + abseil-cpp = abseil-cpp_202407; accountsservice = callPackage ../development/libraries/accountsservice { }; From 1327403cbe97566c648e22879850a5ed631c5a01 Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 11 Jun 2024 20:37:01 -0400 Subject: [PATCH 132/152] libtheora: migrate to by-name --- .../li}/libtheora/mingw-remove-export.patch | 0 .../libtheora/default.nix => by-name/li/libtheora/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 deletions(-) rename pkgs/{development/libraries => by-name/li}/libtheora/mingw-remove-export.patch (100%) rename pkgs/{development/libraries/libtheora/default.nix => by-name/li/libtheora/package.nix} (100%) diff --git a/pkgs/development/libraries/libtheora/mingw-remove-export.patch b/pkgs/by-name/li/libtheora/mingw-remove-export.patch similarity index 100% rename from pkgs/development/libraries/libtheora/mingw-remove-export.patch rename to pkgs/by-name/li/libtheora/mingw-remove-export.patch diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/by-name/li/libtheora/package.nix similarity index 100% rename from pkgs/development/libraries/libtheora/default.nix rename to pkgs/by-name/li/libtheora/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 235ca173d66e..1ff4f5f452dd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22442,8 +22442,6 @@ with pkgs; libthai = callPackage ../development/libraries/libthai { }; - libtheora = callPackage ../development/libraries/libtheora { }; - libthreadar = callPackage ../development/libraries/libthreadar { }; libticables2 = callPackage ../development/libraries/libticables2 { }; From a8a6cb7a0960ceb6599b1a09828402c1fc382336 Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 11 Jun 2024 20:37:17 -0400 Subject: [PATCH 133/152] libtheora: format with nixfmt --- pkgs/by-name/li/libtheora/package.nix | 31 +++++++++++++++++++++------ 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/li/libtheora/package.nix b/pkgs/by-name/li/libtheora/package.nix index d529c22c9f67..baf93bbb9f18 100644 --- a/pkgs/by-name/li/libtheora/package.nix +++ b/pkgs/by-name/li/libtheora/package.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, fetchurl, libogg, libvorbis, pkg-config, autoreconfHook, fetchpatch }: +{ + lib, + stdenv, + fetchurl, + libogg, + libvorbis, + pkg-config, + autoreconfHook, + fetchpatch, +}: stdenv.mkDerivation rec { pname = "libtheora"; @@ -15,17 +24,25 @@ stdenv.mkDerivation rec { url = "https://github.com/xiph/theora/commit/28cc6dbd9b2a141df94f60993256a5fca368fa54.diff"; sha256 = "16jqrq4h1b3krj609vbpzd5845cvkbh3mwmjrcdg35m490p19x9k"; }) - ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ - ./mingw-remove-export.patch - ]; + ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ ./mingw-remove-export.patch ]; configureFlags = [ "--disable-examples" ]; - outputs = [ "out" "dev" "devdoc" ]; + outputs = [ + "out" + "dev" + "devdoc" + ]; outputDoc = "devdoc"; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - propagatedBuildInputs = [ libogg libvorbis ]; + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + propagatedBuildInputs = [ + libogg + libvorbis + ]; meta = with lib; { homepage = "https://www.theora.org/"; From b44d3ef41639ac3654207ea29fece05d9740f7bd Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 11 Jun 2024 20:40:05 -0400 Subject: [PATCH 134/152] libtheora: modernize --- pkgs/by-name/li/libtheora/package.nix | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/li/libtheora/package.nix b/pkgs/by-name/li/libtheora/package.nix index baf93bbb9f18..ff36e19605c5 100644 --- a/pkgs/by-name/li/libtheora/package.nix +++ b/pkgs/by-name/li/libtheora/package.nix @@ -2,11 +2,11 @@ lib, stdenv, fetchurl, + fetchpatch, + autoreconfHook, libogg, libvorbis, pkg-config, - autoreconfHook, - fetchpatch, }: stdenv.mkDerivation rec { @@ -14,15 +14,15 @@ stdenv.mkDerivation rec { version = "1.1.1"; src = fetchurl { - url = "https://downloads.xiph.org/releases/theora/${pname}-${version}.tar.gz"; - sha256 = "0swiaj8987n995rc7hw0asvpwhhzpjiws8kr3s6r44bqqib2k5a0"; + url = "https://downloads.xiph.org/releases/theora/libtheora-${version}.tar.gz"; + hash = "sha256-QJUpVsR4EZKNHnkizaO8H0J+t1aAw8NySckelJBUkWs="; }; patches = [ # fix error in autoconf scripts (fetchpatch { url = "https://github.com/xiph/theora/commit/28cc6dbd9b2a141df94f60993256a5fca368fa54.diff"; - sha256 = "16jqrq4h1b3krj609vbpzd5845cvkbh3mwmjrcdg35m490p19x9k"; + hash = "sha256-M/UULkiklvEay7LyOuCamxWCSvt37QSMzHOsAAnOWJo="; }) ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ ./mingw-remove-export.patch ]; @@ -36,19 +36,20 @@ stdenv.mkDerivation rec { outputDoc = "devdoc"; nativeBuildInputs = [ - pkg-config autoreconfHook + pkg-config ]; + propagatedBuildInputs = [ libogg libvorbis ]; - meta = with lib; { - homepage = "https://www.theora.org/"; + meta = { description = "Library for Theora, a free and open video compression format"; - license = licenses.bsd3; + homepage = "https://www.theora.org/"; + license = lib.licenses.bsd3; maintainers = [ ]; - platforms = platforms.unix ++ platforms.windows; + platforms = lib.platforms.unix ++ lib.platforms.windows; }; } From 3a0ea49b6484b4074462ba884f441274942b1445 Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 11 Jun 2024 20:41:49 -0400 Subject: [PATCH 135/152] libtheora: add pkg-config test --- pkgs/by-name/li/libtheora/package.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libtheora/package.nix b/pkgs/by-name/li/libtheora/package.nix index ff36e19605c5..f11dc3dd5d66 100644 --- a/pkgs/by-name/li/libtheora/package.nix +++ b/pkgs/by-name/li/libtheora/package.nix @@ -7,14 +7,15 @@ libogg, libvorbis, pkg-config, + testers, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libtheora"; version = "1.1.1"; src = fetchurl { - url = "https://downloads.xiph.org/releases/theora/libtheora-${version}.tar.gz"; + url = "https://downloads.xiph.org/releases/theora/libtheora-${finalAttrs.version}.tar.gz"; hash = "sha256-QJUpVsR4EZKNHnkizaO8H0J+t1aAw8NySckelJBUkWs="; }; @@ -45,6 +46,17 @@ stdenv.mkDerivation rec { libvorbis ]; + passthru = { + tests.pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + moduleNames = [ + "theora" + "theoradec" + "theoraenc" + ]; + }; + }; + meta = { description = "Library for Theora, a free and open video compression format"; homepage = "https://www.theora.org/"; @@ -52,4 +64,4 @@ stdenv.mkDerivation rec { maintainers = [ ]; platforms = lib.platforms.unix ++ lib.platforms.windows; }; -} +}) From a654a5db5119bce50dfae0a77c3e7240dc58b56f Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 11 Jun 2024 20:45:55 -0400 Subject: [PATCH 136/152] libtheora: add getchoo as maintainer --- pkgs/by-name/li/libtheora/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libtheora/package.nix b/pkgs/by-name/li/libtheora/package.nix index f11dc3dd5d66..558797655249 100644 --- a/pkgs/by-name/li/libtheora/package.nix +++ b/pkgs/by-name/li/libtheora/package.nix @@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Library for Theora, a free and open video compression format"; homepage = "https://www.theora.org/"; license = lib.licenses.bsd3; - maintainers = [ ]; + maintainers = with lib.maintainers; [ getchoo ]; platforms = lib.platforms.unix ++ lib.platforms.windows; }; }) From 5e48c4378570b4783b975fa6cb80a87ecf702159 Mon Sep 17 00:00:00 2001 From: seth Date: Wed, 12 Jun 2024 02:51:16 -0400 Subject: [PATCH 137/152] libtheora: add validatePkgConfig hook --- pkgs/by-name/li/libtheora/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/li/libtheora/package.nix b/pkgs/by-name/li/libtheora/package.nix index 558797655249..df49f3988c01 100644 --- a/pkgs/by-name/li/libtheora/package.nix +++ b/pkgs/by-name/li/libtheora/package.nix @@ -8,6 +8,7 @@ libvorbis, pkg-config, testers, + validatePkgConfig, }: stdenv.mkDerivation (finalAttrs: { @@ -39,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoreconfHook pkg-config + validatePkgConfig ]; propagatedBuildInputs = [ From 9b7f1a3913168bc9b9c070dbc9720dad1d06b49c Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Thu, 25 Jul 2024 21:37:05 -0700 Subject: [PATCH 138/152] glslang: add dev and lib outputs to prevent cross comp issues --- pkgs/development/compilers/glslang/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix index 5fe11e35a434..fff581bae4f6 100644 --- a/pkgs/development/compilers/glslang/default.nix +++ b/pkgs/development/compilers/glslang/default.nix @@ -18,6 +18,8 @@ stdenv.mkDerivation rec { hash = "sha256-slKBFq6NyWHQmJq/YR3LmbGnHyZgRg0hej90tZDOGzA="; }; + outputs = [ "bin" "out" "dev" ]; + # These get set at all-packages, keep onto them for child drvs passthru = { spirv-tools = spirv-tools; @@ -33,16 +35,19 @@ stdenv.mkDerivation rec { # This is a dirty fix for lib/cmake/SPIRVTargets.cmake:51 which includes this directory postInstall = '' - mkdir $out/include/External + mkdir -p $dev/include/External + moveToOutput lib/pkgconfig "''${!outputDev}" + moveToOutput lib/cmake "''${!outputDev}" ''; # Fix the paths in .pc, even though it's unclear if these .pc are really useful. postFixup = '' - substituteInPlace $out/lib/pkgconfig/*.pc \ - --replace '=''${prefix}//' '=/' + substituteInPlace $dev/lib/pkgconfig/*.pc \ + --replace-fail '=''${prefix}//' '=/' \ + --replace-fail "includedir=$dev/$dev" "includedir=$dev" # add a symlink for backwards compatibility - ln -s $out/bin/glslang $out/bin/glslangValidator + ln -s $dev/bin/glslang $dev/bin/glslangValidator ''; meta = with lib; { From 2c15c76d47101962a6ca564a6eb048e9596edec9 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 3 Aug 2024 16:21:21 +0200 Subject: [PATCH 139/152] pipewire: restore enableSystemd option This is important to me, and I volunteer to maintain it going forward, just I have in the past (e.g. db5ed5d7fb8e ("pipewire: fix enableSystemd option")). Partial revert of 3cf28607c140 ("pipewire: remove superfluous args"). --- pkgs/development/libraries/pipewire/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index f4b411776a66..7e37b5400e1c 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -5,6 +5,7 @@ , meson , ninja , systemd +, enableSystemd ? true , pkg-config , docutils , doxygen @@ -14,6 +15,7 @@ , alsa-lib , libjack2 , libusb1 +, udev , libsndfile , vulkanSupport ? true , vulkan-headers @@ -118,8 +120,7 @@ stdenv.mkDerivation(finalAttrs: { ncurses readline sbc - systemd - ] + ] ++ (if enableSystemd then [ systemd ] else [ udev ]) ++ (if lib.meta.availableOn stdenv.hostPlatform webrtc-audio-processing_1 then [ webrtc-audio-processing_1 ] else [ webrtc-audio-processing ]) ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform ldacbt) ldacbt ++ lib.optional zeroconfSupport avahi @@ -145,9 +146,9 @@ stdenv.mkDerivation(finalAttrs: { (lib.mesonEnable "avahi" zeroconfSupport) (lib.mesonEnable "gstreamer" true) (lib.mesonEnable "gstreamer-device-provider" true) - (lib.mesonEnable "systemd" true) - (lib.mesonEnable "systemd-system-service" true) - (lib.mesonEnable "udev" false) + (lib.mesonEnable "systemd" enableSystemd) + (lib.mesonEnable "systemd-system-service" enableSystemd) + (lib.mesonEnable "udev" (!enableSystemd)) (lib.mesonEnable "ffmpeg" true) (lib.mesonEnable "pw-cat-ffmpeg" true) (lib.mesonEnable "bluez5" true) From ab783af38b189a73bcd455cfe9420ff934684464 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 3 Aug 2024 16:31:55 +0200 Subject: [PATCH 140/152] pipewire: document enableSystemd maintainership --- pkgs/development/libraries/pipewire/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index 7e37b5400e1c..d9ddee2b1022 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -5,7 +5,7 @@ , meson , ninja , systemd -, enableSystemd ? true +, enableSystemd ? true # enableSystemd=false maintained by maintainers.qyliss. , pkg-config , docutils , doxygen From d55d1d69027dbad2bfb134721194c9514dc5cc02 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 5 Aug 2024 21:56:39 +0100 Subject: [PATCH 141/152] nodejs_22: fix the eval Without the change the eval fails as: $ nix build --no-link -f. nodejs_22 error: error: undefined variable 'fetchpatch2' at pkgs/development/web/nodejs/v22.nix:23:6: 22| ./bin-sh-node-run-v22.patch 23| (fetchpatch2 { | ^ 24| url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; --- pkgs/development/web/nodejs/v22.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index da9cdded5819..9b3fa4fa0d8b 100644 --- a/pkgs/development/web/nodejs/v22.nix +++ b/pkgs/development/web/nodejs/v22.nix @@ -1,4 +1,4 @@ -{ callPackage, openssl, python3, enableNpm ? true }: +{ callPackage, fetchpatch2, openssl, python3, enableNpm ? true }: let buildNodejs = callPackage ./nodejs.nix { From 3342050260fb83ad02a44dbdf49a7cc616d83fa0 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Mon, 5 Aug 2024 14:54:23 -0700 Subject: [PATCH 142/152] glslang: fix symlink from dev to use bin --- pkgs/development/compilers/glslang/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix index fff581bae4f6..9d67dde87c2d 100644 --- a/pkgs/development/compilers/glslang/default.nix +++ b/pkgs/development/compilers/glslang/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { --replace-fail "includedir=$dev/$dev" "includedir=$dev" # add a symlink for backwards compatibility - ln -s $dev/bin/glslang $dev/bin/glslangValidator + ln -s $bin/bin/glslang $bin/bin/glslangValidator ''; meta = with lib; { From bbb9f2f1c98768a1ff623fbe730c71d4871646b5 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Fri, 2 Aug 2024 14:07:03 -0700 Subject: [PATCH 143/152] stdenv: set the phase in showPhaseHeader --- pkgs/stdenv/generic/setup.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index cc69434dc8c9..fc1f6b7d7478 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1597,6 +1597,13 @@ distPhase() { showPhaseHeader() { local phase="$1" echo "Running phase: $phase" + + # The Nix structured logger allows derivations to update the phase as they're building, + # which shows up in the terminal UI. See `handleJSONLogMessage` in the Nix source. + if [[ -z ${NIX_LOG_FD-} ]]; then + return + fi + printf "@nix { \"action\": \"setPhase\", \"phase\": \"%s\" }\n" "$phase" >&"$NIX_LOG_FD" } @@ -1629,8 +1636,6 @@ runPhase() { if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then return; fi if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then return; fi - nixLog "@nix { \"action\": \"setPhase\", \"phase\": \"$curPhase\" }" - showPhaseHeader "$curPhase" dumpVars From 624463391d94d0fc505f50f26f02d95e3a72c60c Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Fri, 2 Aug 2024 14:27:08 -0700 Subject: [PATCH 144/152] stdenv: introduce specific logging functions --- pkgs/stdenv/generic/setup.sh | 66 +++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index fc1f6b7d7478..a93f3c25ef7e 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -12,7 +12,15 @@ fi shopt -s inherit_errexit -if (( "${NIX_DEBUG:-0}" >= 6 )); then +# $NIX_DEBUG must be a documented integer level, if set, so we can use it safely as an integer. +# See the `Verbosity` enum in the Nix source for these levels. +if ! [[ -z ${NIX_DEBUG-} || $NIX_DEBUG == [0-7] ]]; then + printf 'The `NIX_DEBUG` environment variable has an unexpected value: %s\n' "${NIX_DEBUG}" + echo "It can only be unset or an integer between 0 and 7." + exit 1 +fi + +if [[ ${NIX_DEBUG:-0} -ge 6 ]]; then set -x fi @@ -55,6 +63,62 @@ nixLog() { echo "$@" >&"$NIX_LOG_FD" } +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlError` in the Nix source. +nixErrorLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 0 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlWarn` in the Nix source. +nixWarnLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 1 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlNotice` in the Nix source. +nixNoticeLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 2 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlInfo` in the Nix source. +nixInfoLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 3 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlTalkative` in the Nix source. +nixTalkativeLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 4 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlChatty` in the Nix source. +nixChattyLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 5 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlDebug` in the Nix source. +nixDebugLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 6 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + +# All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. +# Corresponds to `Verbosity::lvlVomit` in the Nix source. +nixVomitLog() { + if [[ -z ${NIX_LOG_FD-} ]] || [[ ${NIX_DEBUG:-0} -lt 7 ]]; then return; fi + printf "%s\n" "$*" >&"$NIX_LOG_FD" +} + # Log a hook, to be run before the hook is actually called. # logging for "implicit" hooks -- the ones specified directly # in derivation's arguments -- is done in _callImplicitHook instead. From 465dbd2ddf6197f006411a9ff632d9ed2e9c5e38 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Fri, 2 Aug 2024 14:41:27 -0700 Subject: [PATCH 145/152] stdenv: log hooks at nixTalkativeLog level MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nix filters out messages with level ≥ 4 by default as of this commit. --- pkgs/stdenv/generic/setup.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index a93f3c25ef7e..c248d0b3f958 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -123,7 +123,7 @@ nixVomitLog() { # logging for "implicit" hooks -- the ones specified directly # in derivation's arguments -- is done in _callImplicitHook instead. _logHook() { - # Fast path in case nixLog is no-op. + # Fast path in case nixTalkativeLog is no-op. if [[ -z ${NIX_LOG_FD-} ]]; then return fi @@ -133,14 +133,14 @@ _logHook() { shift 2 if declare -F "$hookExpr" > /dev/null 2>&1; then - nixLog "calling '$hookKind' function hook '$hookExpr'" "$@" + nixTalkativeLog "calling '$hookKind' function hook '$hookExpr'" "$@" elif type -p "$hookExpr" > /dev/null; then - nixLog "sourcing '$hookKind' script hook '$hookExpr'" + nixTalkativeLog "sourcing '$hookKind' script hook '$hookExpr'" elif [[ "$hookExpr" != "_callImplicitHook"* ]]; then # Here we have a string hook to eval. - # Join lines onto one with literal \n characters unless NIX_DEBUG >= 2. + # Join lines onto one with literal \n characters unless NIX_DEBUG >= 5. local exprToOutput - if (( "${NIX_DEBUG:-0}" >= 2 )); then + if [[ ${NIX_DEBUG:-0} -ge 5 ]]; then exprToOutput="$hookExpr" else # We have `r'\n'.join([line.lstrip() for lines in text.split('\n')])` at home. @@ -159,7 +159,7 @@ _logHook() { # And then remove the final, unnecessary, \n exprToOutput="${exprToOutput%%\\n }" fi - nixLog "evaling '$hookKind' string hook '$exprToOutput'" + nixTalkativeLog "evaling '$hookKind' string hook '$exprToOutput'" fi } @@ -217,13 +217,13 @@ _callImplicitHook() { local def="$1" local hookName="$2" if declare -F "$hookName" > /dev/null; then - nixLog "calling implicit '$hookName' function hook" + nixTalkativeLog "calling implicit '$hookName' function hook" "$hookName" elif type -p "$hookName" > /dev/null; then - nixLog "sourcing implicit '$hookName' script hook" + nixTalkativeLog "sourcing implicit '$hookName' script hook" source "$hookName" elif [ -n "${!hookName:-}" ]; then - nixLog "evaling implicit '$hookName' string hook" + nixTalkativeLog "evaling implicit '$hookName' string hook" eval "${!hookName}" else return "$def" @@ -769,7 +769,7 @@ activatePackage() { (( hostOffset <= targetOffset )) || exit 1 if [ -f "$pkg" ]; then - nixLog "sourcing setup hook '$pkg'" + nixTalkativeLog "sourcing setup hook '$pkg'" source "$pkg" fi @@ -793,7 +793,7 @@ activatePackage() { fi if [[ -f "$pkg/nix-support/setup-hook" ]]; then - nixLog "sourcing setup hook '$pkg/nix-support/setup-hook'" + nixTalkativeLog "sourcing setup hook '$pkg/nix-support/setup-hook'" source "$pkg/nix-support/setup-hook" fi } From e844424e4f9b8107ca0055c8a67f8a003ee2b2a1 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Fri, 2 Aug 2024 14:50:40 -0700 Subject: [PATCH 146/152] stdenv: replace other $NIX_DEBUG log statements --- pkgs/stdenv/generic/setup.sh | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index c248d0b3f958..afdfc4eec8de 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -55,14 +55,6 @@ getAllOutputNames() { fi } -# Logs arguments to $NIX_LOG_FD, if it exists, no-op if it does not. -nixLog() { - if [[ -z ${NIX_LOG_FD-} ]]; then - return - fi - echo "$@" >&"$NIX_LOG_FD" -} - # All provided arguments are joined with a space then directed to $NIX_LOG_FD, if it's set. # Corresponds to `Verbosity::lvlError` in the Nix source. nixErrorLog() { @@ -539,10 +531,7 @@ done unset i -if (( "${NIX_DEBUG:-0}" >= 1 )); then - echo "initial path: $PATH" -fi - +nixWarnLog "initial path: $PATH" # Check that the pre-hook initialised SHELL. if [ -z "${SHELL:-}" ]; then echo "SHELL not set"; exit 1; fi @@ -905,11 +894,10 @@ fi PATH="${_PATH-}${_PATH:+${PATH:+:}}$PATH" HOST_PATH="${_HOST_PATH-}${_HOST_PATH:+${HOST_PATH:+:}}$HOST_PATH" export XDG_DATA_DIRS="${_XDG_DATA_DIRS-}${_XDG_DATA_DIRS:+${XDG_DATA_DIRS:+:}}${XDG_DATA_DIRS-}" -if (( "${NIX_DEBUG:-0}" >= 1 )); then - echo "final path: $PATH" - echo "final host path: $HOST_PATH" - echo "final data dirs: $XDG_DATA_DIRS" -fi + +nixWarnLog "final path: $PATH" +nixWarnLog "final host path: $HOST_PATH" +nixWarnLog "final data dirs: $XDG_DATA_DIRS" unset _PATH unset _HOST_PATH @@ -1058,14 +1046,11 @@ substituteInPlace() { } _allFlags() { - # export some local variables for the awk below - # so some substitutions such as name don't have to be in the env attrset - # when __structuredAttrs is enabled + # Export some local variables for the `awk` below so some substitutions (such as name) + # don't have to be in the env attrset when `__structuredAttrs` is enabled. export system pname name version while IFS='' read -r varName; do - if (( "${NIX_DEBUG:-0}" >= 1 )); then - printf "@%s@ -> %q\n" "${varName}" "${!varName}" >&2 - fi + nixWarnLog "@${varName}@" "->" "${!varName}" args+=("--subst-var" "$varName") done < <(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }') } From d8fbb162190086dbab5fb69adab3ae187f138672 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Aug 2024 16:18:14 -0700 Subject: [PATCH 147/152] stdenv: change the logging in _allFlags to talkative --- pkgs/stdenv/generic/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index afdfc4eec8de..fc748aa12a66 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -1050,7 +1050,7 @@ _allFlags() { # don't have to be in the env attrset when `__structuredAttrs` is enabled. export system pname name version while IFS='' read -r varName; do - nixWarnLog "@${varName}@" "->" "${!varName}" + nixTalkativeLog "@${varName}@ -> ${!varName}" args+=("--subst-var" "$varName") done < <(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }') } From 6fbb06080897ce3fbf58da4776fab7c0aa270d64 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 29 Jul 2024 11:31:53 +0200 Subject: [PATCH 148/152] cargo-c: 0.9.32 -> 0.10.2 Required to build with Rust 1.80. Link: https://github.com/rust-lang/rust/issues/127343 --- pkgs/development/tools/rust/cargo-c/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-c/default.nix b/pkgs/development/tools/rust/cargo-c/default.nix index 8dbd282555d6..ca0f8a590ebd 100644 --- a/pkgs/development/tools/rust/cargo-c/default.nix +++ b/pkgs/development/tools/rust/cargo-c/default.nix @@ -13,16 +13,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-c"; - version = "0.9.31"; + version = "0.10.2"; src = fetchCrate { inherit pname; # this version may need to be updated along with package version - version = "${version}+cargo-0.78.0"; - hash = "sha256-RqwUV3e02GykYH/pWHjoent+gix+CD+t3yAQxqUmo54="; + version = "${version}+cargo-0.80.0"; + hash = "sha256-ltxd4n3oo8ZF/G/zmR4FSVtNOkxwCjDv6PdxkmWxZ+8="; }; - cargoHash = "sha256-SfKDlcN+PW1twJu3YbmMsQOtFh6JHncAhdrVg+tweAE="; + cargoHash = "sha256-UfhIz87s0CLUDbIpWMPzGQ7qVmh14GuiFoquauSbTOw="; nativeBuildInputs = [ pkg-config (lib.getDev curl) ]; buildInputs = [ openssl curl ] ++ lib.optionals stdenv.isDarwin [ From 8a4b60f702b6a6dad7d50746118b8a44ca79ece9 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 1 Aug 2024 10:10:21 +0200 Subject: [PATCH 149/152] gst_all_1.gst-plugins-rs: 0.12.4 -> 0.12.8 Required to build with Rust 1.80. Link: https://github.com/rust-lang/rust/issues/127343 --- .../libraries/gstreamer/rs/Cargo.lock | 1257 +++++++++-------- .../libraries/gstreamer/rs/default.nix | 10 +- 2 files changed, 704 insertions(+), 563 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/rs/Cargo.lock b/pkgs/development/libraries/gstreamer/rs/Cargo.lock index 52c6518bd51f..7c91f3ef8aee 100644 --- a/pkgs/development/libraries/gstreamer/rs/Cargo.lock +++ b/pkgs/development/libraries/gstreamer/rs/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -70,7 +70,7 @@ dependencies = [ "getrandom", "once_cell", "version_check", - "zerocopy 0.7.32", + "zerocopy 0.7.34", ] [[package]] @@ -90,9 +90,9 @@ checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "android-tzdata" @@ -111,47 +111,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -159,9 +160,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.81" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "arbitrary" @@ -177,7 +178,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -188,12 +189,11 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "async-channel" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -201,9 +201,9 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.8" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07dbbf24db18d609b1462965249abdf49129ccad073ec257da372adc83259c60" +checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" dependencies = [ "flate2", "futures-core", @@ -214,13 +214,13 @@ dependencies = [ [[package]] name = "async-recursion" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -242,31 +242,31 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "async-task" -version = "4.7.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.79" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "async-tungstenite" -version = "0.25.1" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cca750b12e02c389c1694d35c16539f88b8bbaa5945934fdc1b41a776688589" +checksum = "bb786dab48e539c5f17b23bac20d812ac027c01732ed7c7b58850c69a684e46c" dependencies = [ "futures-io", "futures-util", @@ -275,9 +275,15 @@ dependencies = [ "pin-project-lite", "tokio", "tokio-native-tls", - "tungstenite 0.21.0", + "tungstenite 0.23.0", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "atomic_refcell" version = "0.1.13" @@ -297,9 +303,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "av1-grain" @@ -337,7 +343,7 @@ dependencies = [ "fastrand", "hex", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.29", "ring", "time", "tokio", @@ -547,7 +553,7 @@ dependencies = [ "aws-types", "bytes", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.29", "once_cell", "regex-lite", "tracing", @@ -704,12 +710,12 @@ dependencies = [ "http 0.2.12", "http-body 0.4.6", "http-body 1.0.0", - "hyper 0.14.28", - "hyper-rustls", + "hyper 0.14.29", + "hyper-rustls 0.24.2", "once_cell", "pin-project-lite", "pin-utils", - "rustls", + "rustls 0.21.12", "tokio", "tracing", ] @@ -783,9 +789,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -804,9 +810,9 @@ checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" [[package]] name = "base32" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa" +checksum = "d1ce0365f4d5fb6646220bb52fe547afd51796d90f914d4063cb0b032ebee088" [[package]] name = "base64" @@ -822,9 +828,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64-serde" @@ -875,9 +881,9 @@ checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bitstream-io" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c9989a51171e2e81038ab168b6ae22886fe9ded214430dbb4f41c28cf176da" +checksum = "7c12d1856e42f0d817a835fe55853957c85c8c8a470114029143d3f12671446e" [[package]] name = "block-buffer" @@ -914,15 +920,15 @@ checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" [[package]] name = "built" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53" +checksum = "c6a6c0b39c38fd754ac338b00a88066436389c0f029da5d37d1e01091d9b7c17" [[package]] name = "bumpalo" -version = "3.15.4" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byte-slice-cast" @@ -932,9 +938,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" [[package]] name = "byteorder" @@ -960,8 +966,8 @@ dependencies = [ [[package]] name = "cairo-rs" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "bitflags 2.5.0", "cairo-sys-rs", @@ -972,8 +978,8 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "glib-sys", "libc", @@ -982,12 +988,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.91" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd97381a8cc6493395a5afc4c691c1084b3768db713b73aa215217aa245d153" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -1008,9 +1015,9 @@ dependencies = [ [[package]] name = "cea708-types" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7f33493cb6f19aa19c6e688708f66bf792bc2c75137da2a03c7ebbdf7a44f9" +checksum = "82b825228dce83e7156c7cd189bcfe5ef8014320deca7dd619787fe594946426" dependencies = [ "env_logger 0.10.2", "log", @@ -1021,9 +1028,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", "target-lexicon", @@ -1037,9 +1044,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1047,7 +1054,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -1078,7 +1085,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.10.0", ] [[package]] @@ -1090,7 +1097,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -1127,15 +1134,15 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -1148,9 +1155,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "cookie" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" dependencies = [ "percent-encoding", "time", @@ -1168,12 +1175,12 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +checksum = "4934e6b7e8419148b6ef56950d277af8561060b56afd59e2aadf98b59fce6baa" dependencies = [ "cookie", - "idna 0.3.0", + "idna 0.5.0", "log", "publicsuffix", "serde", @@ -1219,27 +1226,27 @@ dependencies = [ [[package]] name = "crc32c" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89254598aa9b9fa608de44b3ae54c810f0f06d755e24c50177f1f8f31ff50ce2" +checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" dependencies = [ "rustc_version", ] [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -1265,9 +1272,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crypto-bigint" @@ -1344,9 +1351,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ "darling_core", "darling_macro", @@ -1354,37 +1361,38 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim", - "syn 2.0.58", + "strsim 0.11.1", + "syn 2.0.66", ] [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "dash-mpd" -version = "0.16.0" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cafa2c33eff2857e1a14c38aa9a432aa565a01e77804a541fce7aec3affb8f8" +checksum = "0f8a6df34a2957e8a164afa9265bcb1ea9a07a0df69c5dcda4909e4f650c0850" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "base64-serde", + "bytes", "chrono", "fs-err", "iso8601", @@ -1401,19 +1409,6 @@ dependencies = [ "xattr", ] -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.3", - "lock_api", - "once_cell", - "parking_lot_core", -] - [[package]] name = "dasp_frame" version = "0.11.0" @@ -1431,9 +1426,9 @@ checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "dav1d" @@ -1503,9 +1498,9 @@ dependencies = [ [[package]] name = "dssim-core" -version = "3.2.8" +version = "3.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fafad37c1f4f168243f3ac1b4cae0d358c528ac695670100337314e38d54b486" +checksum = "0c074fca6cdf5e3faaaf03f71e29cd5d92ea533b1432cf78910dafffc2ce872b" dependencies = [ "imgref", "itertools 0.12.1", @@ -1548,9 +1543,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "elliptic-curve" @@ -1574,9 +1569,9 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] @@ -1614,9 +1609,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1624,9 +1619,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -1635,9 +1630,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ "event-listener", "pin-project-lite", @@ -1651,9 +1646,9 @@ checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdeflate" @@ -1702,9 +1697,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "miniz_oxide", @@ -1831,7 +1826,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -1866,8 +1861,8 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "gdk-pixbuf-sys", "gio", @@ -1877,8 +1872,8 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "gio-sys", "glib-sys", @@ -1889,8 +1884,8 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "cairo-rs", "gdk-pixbuf", @@ -1903,8 +1898,8 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1919,8 +1914,8 @@ dependencies = [ [[package]] name = "gdk4-wayland" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "gdk4", "gdk4-wayland-sys", @@ -1931,8 +1926,8 @@ dependencies = [ [[package]] name = "gdk4-wayland-sys" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "glib-sys", "libc", @@ -1941,8 +1936,8 @@ dependencies = [ [[package]] name = "gdk4-win32" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "gdk4", "gdk4-win32-sys", @@ -1954,8 +1949,8 @@ dependencies = [ [[package]] name = "gdk4-win32-sys" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "gdk4-sys", "glib-sys", @@ -1965,8 +1960,8 @@ dependencies = [ [[package]] name = "gdk4-x11" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "gdk4", "gdk4-x11-sys", @@ -1977,8 +1972,8 @@ dependencies = [ [[package]] name = "gdk4-x11-sys" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "gdk4-sys", "glib-sys", @@ -2007,9 +2002,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "js-sys", @@ -2030,14 +2025,14 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gio" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "futures-channel", "futures-core", @@ -2053,8 +2048,8 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "glib-sys", "gobject-sys", @@ -2065,8 +2060,8 @@ dependencies = [ [[package]] name = "glib" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "bitflags 2.5.0", "futures-channel", @@ -2086,20 +2081,20 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "heck 0.5.0", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "glib-sys" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "libc", "system-deps", @@ -2113,8 +2108,8 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "gobject-sys" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "glib-sys", "libc", @@ -2123,8 +2118,8 @@ dependencies = [ [[package]] name = "graphene-rs" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "glib", "graphene-sys", @@ -2133,8 +2128,8 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "glib-sys", "libc", @@ -2155,8 +2150,8 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "cairo-rs", "gdk4", @@ -2169,8 +2164,8 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -2184,7 +2179,7 @@ dependencies = [ [[package]] name = "gst-plugin-audiofx" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "atomic_refcell", @@ -2206,7 +2201,7 @@ dependencies = [ [[package]] name = "gst-plugin-aws" -version = "0.12.4" +version = "0.12.8" dependencies = [ "async-stream", "aws-config", @@ -2239,7 +2234,7 @@ dependencies = [ [[package]] name = "gst-plugin-cdg" -version = "0.12.4" +version = "0.12.8" dependencies = [ "cdg", "cdg_renderer", @@ -2254,7 +2249,7 @@ dependencies = [ [[package]] name = "gst-plugin-claxon" -version = "0.12.4" +version = "0.12.8" dependencies = [ "atomic_refcell", "byte-slice-cast", @@ -2268,7 +2263,7 @@ dependencies = [ [[package]] name = "gst-plugin-closedcaption" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "atomic_refcell", @@ -2296,7 +2291,7 @@ dependencies = [ [[package]] name = "gst-plugin-csound" -version = "0.12.4" +version = "0.12.8" dependencies = [ "byte-slice-cast", "csound", @@ -2310,7 +2305,7 @@ dependencies = [ [[package]] name = "gst-plugin-dav1d" -version = "0.12.4" +version = "0.12.8" dependencies = [ "dav1d", "gst-plugin-version-helper", @@ -2323,7 +2318,7 @@ dependencies = [ [[package]] name = "gst-plugin-fallbackswitch" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gio", "gst-plugin-gtk4", @@ -2341,7 +2336,7 @@ dependencies = [ [[package]] name = "gst-plugin-ffv1" -version = "0.12.4" +version = "0.12.8" dependencies = [ "byte-slice-cast", "ffv1", @@ -2354,7 +2349,7 @@ dependencies = [ [[package]] name = "gst-plugin-file" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2365,7 +2360,7 @@ dependencies = [ [[package]] name = "gst-plugin-flavors" -version = "0.12.4" +version = "0.12.8" dependencies = [ "byteorder", "flavors", @@ -2381,9 +2376,10 @@ dependencies = [ [[package]] name = "gst-plugin-fmp4" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", + "bitstream-io", "chrono", "dash-mpd", "gst-plugin-version-helper", @@ -2402,7 +2398,7 @@ dependencies = [ [[package]] name = "gst-plugin-gif" -version = "0.12.4" +version = "0.12.8" dependencies = [ "atomic_refcell", "gif", @@ -2415,7 +2411,7 @@ dependencies = [ [[package]] name = "gst-plugin-gtk4" -version = "0.12.4" +version = "0.12.8" dependencies = [ "async-channel", "gdk4-wayland", @@ -2423,6 +2419,7 @@ dependencies = [ "gdk4-x11", "gst-plugin-version-helper", "gstreamer", + "gstreamer-allocators", "gstreamer-base", "gstreamer-gl", "gstreamer-gl-egl", @@ -2436,7 +2433,7 @@ dependencies = [ [[package]] name = "gst-plugin-hlssink3" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "chrono", @@ -2455,7 +2452,7 @@ dependencies = [ [[package]] name = "gst-plugin-hsv" -version = "0.12.4" +version = "0.12.8" dependencies = [ "byte-slice-cast", "gst-plugin-version-helper", @@ -2470,7 +2467,7 @@ dependencies = [ [[package]] name = "gst-plugin-inter" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "futures", @@ -2488,7 +2485,7 @@ dependencies = [ [[package]] name = "gst-plugin-json" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2500,7 +2497,7 @@ dependencies = [ [[package]] name = "gst-plugin-lewton" -version = "0.12.4" +version = "0.12.8" dependencies = [ "atomic_refcell", "byte-slice-cast", @@ -2514,7 +2511,7 @@ dependencies = [ [[package]] name = "gst-plugin-livesync" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gio", "gst-plugin-gtk4", @@ -2530,9 +2527,10 @@ dependencies = [ [[package]] name = "gst-plugin-mp4" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", + "bitstream-io", "gst-plugin-version-helper", "gstreamer", "gstreamer-audio", @@ -2546,7 +2544,7 @@ dependencies = [ [[package]] name = "gst-plugin-ndi" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "atomic_refcell", @@ -2568,7 +2566,7 @@ dependencies = [ [[package]] name = "gst-plugin-onvif" -version = "0.12.4" +version = "0.12.8" dependencies = [ "cairo-rs", "chrono", @@ -2586,7 +2584,7 @@ dependencies = [ [[package]] name = "gst-plugin-png" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2599,7 +2597,7 @@ dependencies = [ [[package]] name = "gst-plugin-raptorq" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2613,7 +2611,7 @@ dependencies = [ [[package]] name = "gst-plugin-rav1e" -version = "0.12.4" +version = "0.12.8" dependencies = [ "atomic_refcell", "gst-plugin-version-helper", @@ -2626,7 +2624,7 @@ dependencies = [ [[package]] name = "gst-plugin-regex" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2637,7 +2635,7 @@ dependencies = [ [[package]] name = "gst-plugin-reqwest" -version = "0.12.4" +version = "0.12.8" dependencies = [ "bytes", "futures", @@ -2646,18 +2644,18 @@ dependencies = [ "gstreamer-base", "headers 0.4.0", "http-body-util", - "hyper 1.2.0", + "hyper 1.3.1", "mime", "once_cell", "pin-project-lite", - "reqwest 0.12.3", + "reqwest 0.12.5", "tokio", "url", ] [[package]] name = "gst-plugin-rtp" -version = "0.12.4" +version = "0.12.8" dependencies = [ "bitstream-io", "gst-plugin-version-helper", @@ -2671,7 +2669,7 @@ dependencies = [ [[package]] name = "gst-plugin-rtsp" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "atomic_refcell", @@ -2686,7 +2684,7 @@ dependencies = [ "once_cell", "rtsp-types", "sdp-types", - "socket2 0.5.6", + "socket2 0.5.7", "thiserror", "tokio", "tokio-stream", @@ -2695,7 +2693,7 @@ dependencies = [ [[package]] name = "gst-plugin-sodium" -version = "0.12.4" +version = "0.12.8" dependencies = [ "clap", "gst-plugin-version-helper", @@ -2715,7 +2713,7 @@ dependencies = [ [[package]] name = "gst-plugin-spotify" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "futures", @@ -2730,7 +2728,7 @@ dependencies = [ [[package]] name = "gst-plugin-textahead" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2739,7 +2737,7 @@ dependencies = [ [[package]] name = "gst-plugin-textwrap" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2751,7 +2749,7 @@ dependencies = [ [[package]] name = "gst-plugin-threadshare" -version = "0.12.4" +version = "0.12.8" dependencies = [ "async-task", "cc", @@ -2775,14 +2773,14 @@ dependencies = [ "rand", "rustix", "slab", - "socket2 0.5.6", + "socket2 0.5.7", "waker-fn", "winapi", ] [[package]] name = "gst-plugin-togglerecord" -version = "0.12.4" +version = "0.12.8" dependencies = [ "either", "gio", @@ -2799,7 +2797,7 @@ dependencies = [ [[package]] name = "gst-plugin-tracers" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "gst-plugin-version-helper", @@ -2811,7 +2809,7 @@ dependencies = [ [[package]] name = "gst-plugin-tutorial" -version = "0.12.4" +version = "0.12.8" dependencies = [ "byte-slice-cast", "gst-plugin-version-helper", @@ -2825,7 +2823,7 @@ dependencies = [ [[package]] name = "gst-plugin-uriplaylistbin" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "clap", @@ -2843,12 +2841,12 @@ name = "gst-plugin-version-helper" version = "0.8.2" dependencies = [ "chrono", - "toml_edit 0.22.9", + "toml_edit 0.22.14", ] [[package]] name = "gst-plugin-videofx" -version = "0.12.4" +version = "0.12.8" dependencies = [ "atomic_refcell", "cairo-rs", @@ -2868,7 +2866,7 @@ dependencies = [ [[package]] name = "gst-plugin-webp" -version = "0.12.4" +version = "0.12.8" dependencies = [ "gst-plugin-version-helper", "gstreamer", @@ -2881,7 +2879,7 @@ dependencies = [ [[package]] name = "gst-plugin-webrtc" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "async-recursion", @@ -2937,7 +2935,7 @@ dependencies = [ [[package]] name = "gst-plugin-webrtc-signalling" -version = "0.12.4" +version = "0.12.8" dependencies = [ "anyhow", "async-tungstenite", @@ -2959,7 +2957,7 @@ dependencies = [ [[package]] name = "gst-plugin-webrtc-signalling-protocol" -version = "0.12.4" +version = "0.12.8" dependencies = [ "serde", "serde_json", @@ -2967,7 +2965,7 @@ dependencies = [ [[package]] name = "gst-plugin-webrtchttp" -version = "0.12.4" +version = "0.12.8" dependencies = [ "async-recursion", "bytes", @@ -2978,14 +2976,14 @@ dependencies = [ "gstreamer-webrtc", "once_cell", "parse_link_header", - "reqwest 0.12.3", + "reqwest 0.12.5", "tokio", ] [[package]] name = "gstreamer" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "cfg-if", "futures-channel", @@ -2993,7 +2991,7 @@ dependencies = [ "futures-util", "glib", "gstreamer-sys", - "itertools 0.12.1", + "itertools 0.13.0", "libc", "muldiv", "num-integer", @@ -3008,10 +3006,34 @@ dependencies = [ "thiserror", ] +[[package]] +name = "gstreamer-allocators" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" +dependencies = [ + "glib", + "gstreamer", + "gstreamer-allocators-sys", + "libc", + "once_cell", +] + +[[package]] +name = "gstreamer-allocators-sys" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" +dependencies = [ + "glib-sys", + "gobject-sys", + "gstreamer-sys", + "libc", + "system-deps", +] + [[package]] name = "gstreamer-app" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "futures-core", "futures-sink", @@ -3024,8 +3046,8 @@ dependencies = [ [[package]] name = "gstreamer-app-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gstreamer-base-sys", @@ -3036,8 +3058,8 @@ dependencies = [ [[package]] name = "gstreamer-audio" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "cfg-if", "glib", @@ -3052,8 +3074,8 @@ dependencies = [ [[package]] name = "gstreamer-audio-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gobject-sys", @@ -3065,8 +3087,8 @@ dependencies = [ [[package]] name = "gstreamer-base" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "atomic_refcell", "cfg-if", @@ -3078,8 +3100,8 @@ dependencies = [ [[package]] name = "gstreamer-base-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gobject-sys", @@ -3090,8 +3112,8 @@ dependencies = [ [[package]] name = "gstreamer-check" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3100,8 +3122,8 @@ dependencies = [ [[package]] name = "gstreamer-check-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gobject-sys", @@ -3112,8 +3134,8 @@ dependencies = [ [[package]] name = "gstreamer-gl" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3126,8 +3148,8 @@ dependencies = [ [[package]] name = "gstreamer-gl-egl" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3138,8 +3160,8 @@ dependencies = [ [[package]] name = "gstreamer-gl-egl-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gstreamer-gl-sys", @@ -3149,8 +3171,8 @@ dependencies = [ [[package]] name = "gstreamer-gl-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gobject-sys", @@ -3163,8 +3185,8 @@ dependencies = [ [[package]] name = "gstreamer-gl-wayland" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3175,8 +3197,8 @@ dependencies = [ [[package]] name = "gstreamer-gl-wayland-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gstreamer-gl-sys", @@ -3186,8 +3208,8 @@ dependencies = [ [[package]] name = "gstreamer-gl-x11" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3198,8 +3220,8 @@ dependencies = [ [[package]] name = "gstreamer-gl-x11-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gstreamer-gl-sys", @@ -3209,8 +3231,8 @@ dependencies = [ [[package]] name = "gstreamer-net" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "gio", "glib", @@ -3220,8 +3242,8 @@ dependencies = [ [[package]] name = "gstreamer-net-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "gio-sys", "glib-sys", @@ -3232,8 +3254,8 @@ dependencies = [ [[package]] name = "gstreamer-pbutils" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3246,8 +3268,8 @@ dependencies = [ [[package]] name = "gstreamer-pbutils-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gobject-sys", @@ -3260,8 +3282,8 @@ dependencies = [ [[package]] name = "gstreamer-rtp" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3271,8 +3293,8 @@ dependencies = [ [[package]] name = "gstreamer-rtp-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gstreamer-base-sys", @@ -3283,8 +3305,8 @@ dependencies = [ [[package]] name = "gstreamer-sdp" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3293,8 +3315,8 @@ dependencies = [ [[package]] name = "gstreamer-sdp-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gstreamer-sys", @@ -3304,8 +3326,8 @@ dependencies = [ [[package]] name = "gstreamer-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gobject-sys", @@ -3315,8 +3337,8 @@ dependencies = [ [[package]] name = "gstreamer-utils" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "gstreamer", "gstreamer-app", @@ -3327,8 +3349,8 @@ dependencies = [ [[package]] name = "gstreamer-video" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "cfg-if", "futures-channel", @@ -3344,8 +3366,8 @@ dependencies = [ [[package]] name = "gstreamer-video-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gobject-sys", @@ -3357,8 +3379,8 @@ dependencies = [ [[package]] name = "gstreamer-webrtc" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib", "gstreamer", @@ -3369,8 +3391,8 @@ dependencies = [ [[package]] name = "gstreamer-webrtc-sys" -version = "0.22.4" -source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#f2d3128bf9d0170288ce479bea021f0886617fac" +version = "0.22.7" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.22#da8c41c6fba41095c94e8d0e8967f051e44bc1ff" dependencies = [ "glib-sys", "gstreamer-sdp-sys", @@ -3381,8 +3403,8 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "cairo-rs", "field-offset", @@ -3401,21 +3423,19 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ - "anyhow", "proc-macro-crate", - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", ] [[package]] name = "gtk4-sys" -version = "0.8.1" -source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#05d26f6a97a0ccf856b565b4fd796cdf57059084" +version = "0.8.2" +source = "git+https://github.com/gtk-rs/gtk4-rs?branch=0.8#cf84b5cd36fc1aa31175bc24ff45e8ceb0710dec" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -3451,15 +3471,15 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", "http 1.1.0", "indexmap 2.2.6", "slab", @@ -3476,9 +3496,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", @@ -3559,6 +3579,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -3651,12 +3677,12 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", - "futures-core", + "futures-util", "http 1.1.0", "http-body 1.0.0", "pin-project-lite", @@ -3664,9 +3690,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -3688,9 +3714,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" dependencies = [ "bytes", "futures-channel", @@ -3703,7 +3729,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.6", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -3712,14 +3738,14 @@ dependencies = [ [[package]] name = "hyper" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.4", + "h2 0.4.5", "http 1.1.0", "http-body 1.0.0", "httparse", @@ -3741,7 +3767,7 @@ dependencies = [ "futures", "headers 0.3.9", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.29", "tokio", "tower-service", ] @@ -3754,12 +3780,29 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.29", "log", - "rustls", + "rustls 0.21.12", "rustls-native-certs", "tokio", - "tokio-rustls", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.3.1", + "hyper-util", + "rustls 0.23.10", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.26.0", + "tower-service", ] [[package]] @@ -3769,7 +3812,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.28", + "hyper 0.14.29", "native-tls", "tokio", "tokio-native-tls", @@ -3783,7 +3826,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.2.0", + "hyper 1.3.1", "hyper-util", "native-tls", "tokio", @@ -3793,18 +3836,18 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", "http-body 1.0.0", - "hyper 1.2.0", + "hyper 1.3.1", "pin-project-lite", - "socket2 0.5.6", + "socket2 0.5.7", "tokio", "tower", "tower-service", @@ -3942,7 +3985,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "serde", ] @@ -3954,7 +3997,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -3974,6 +4017,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "iso8601" version = "0.6.1" @@ -4001,6 +4050,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -4009,9 +4067,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -4066,9 +4124,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libfuzzer-sys" @@ -4088,7 +4146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -4128,7 +4186,7 @@ dependencies = [ "futures-util", "getopts", "hex", - "hyper 0.14.28", + "hyper 0.14.29", "librespot-audio", "librespot-connect", "librespot-core", @@ -4197,7 +4255,7 @@ dependencies = [ "hmac 0.11.0", "http 0.2.12", "httparse", - "hyper 0.14.28", + "hyper 0.14.29", "hyper-proxy", "librespot-protocol", "log", @@ -4233,7 +4291,7 @@ dependencies = [ "form_urlencoded", "futures-core", "hmac 0.11.0", - "hyper 0.14.28", + "hyper 0.14.29", "libmdns", "librespot-core", "log", @@ -4320,9 +4378,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "livekit-api" @@ -4365,9 +4423,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -4385,7 +4443,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] [[package]] @@ -4435,9 +4493,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" @@ -4481,9 +4539,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", "simd-adler32", @@ -4565,11 +4623,10 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -4638,11 +4695,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" dependencies = [ - "autocfg", "num-integer", "num-traits", "rand", @@ -4650,9 +4706,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ "num-traits", ] @@ -4671,7 +4727,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -4685,11 +4741,10 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "autocfg", "num-bigint", "num-integer", "num-traits", @@ -4698,9 +4753,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -4718,9 +4773,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" dependencies = [ "memchr", ] @@ -4769,7 +4824,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -4824,8 +4879,8 @@ dependencies = [ [[package]] name = "pango" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "gio", "glib", @@ -4835,8 +4890,8 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "glib-sys", "gobject-sys", @@ -4846,8 +4901,8 @@ dependencies = [ [[package]] name = "pangocairo" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "cairo-rs", "glib", @@ -4858,8 +4913,8 @@ dependencies = [ [[package]] name = "pangocairo-sys" -version = "0.19.3" -source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#5e944f2eff8b344591666754f7ea3b359943ee8c" +version = "0.19.8" +source = "git+https://github.com/gtk-rs/gtk-rs-core?branch=0.19#4dc6fee85588f0dd6d8defdaa100f1cb22b7b8ae" dependencies = [ "cairo-sys-rs", "glib-sys", @@ -4876,9 +4931,9 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -4886,9 +4941,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "backtrace", "cfg-if", @@ -4897,7 +4952,7 @@ dependencies = [ "redox_syscall", "smallvec", "thread-id", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -4914,9 +4969,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pbjson" @@ -4973,9 +5028,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", "indexmap 2.2.6", @@ -4998,7 +5053,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -5050,13 +5105,13 @@ checksum = "c135f38778ad324d9e9ee68690bac2c1a51f340fdf96ca13e2ab3914eb2e51d8" [[package]] name = "polling" -version = "3.6.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "pin-project-lite", "rustix", "tracing", @@ -5087,19 +5142,19 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "primal-check" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df7f93fd637f083201473dab4fee2db4c429d32e55e3299980ab3957ab916a0" +checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08" dependencies = [ "num-integer", ] @@ -5149,9 +5204,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -5172,14 +5227,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "prost" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", "prost-derive", @@ -5187,12 +5242,12 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", - "heck 0.4.1", + "heck 0.5.0", "itertools 0.12.1", "log", "multimap 0.10.0", @@ -5202,28 +5257,28 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.58", + "syn 2.0.66", "tempfile", ] [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "prost-types" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ "prost", ] @@ -5281,9 +5336,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -5401,23 +5456,23 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -5431,20 +5486,20 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] name = "regex-lite" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e" +checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" [[package]] name = "regex-syntax" @@ -5454,9 +5509,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwest" @@ -5472,7 +5527,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.29", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -5486,7 +5541,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", @@ -5500,23 +5555,24 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "async-compression", - "base64 0.22.0", + "base64 0.22.1", "bytes", "cookie", "cookie_store", "encoding_rs", "futures-core", "futures-util", - "h2 0.4.4", + "h2 0.4.5", "http 1.1.0", "http-body 1.0.0", "http-body-util", - "hyper 1.2.0", + "hyper 1.3.1", + "hyper-rustls 0.27.2", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -5531,7 +5587,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.1", "system-configuration", "tokio", "tokio-native-tls", @@ -5593,9 +5649,9 @@ dependencies = [ [[package]] name = "rtsp-types" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c5c11e0af63f1ac6057f9029f7ddf1c677bade51e449f75be25c8b29f59474c" +checksum = "d9eda23daacde59c9e182db0a25e03f51f0108707169c09b4e5d931885470c5c" dependencies = [ "cookie-factory", "nom", @@ -5617,9 +5673,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc_version" @@ -5656,9 +5712,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", @@ -5669,16 +5725,29 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring", - "rustls-webpki", + "rustls-webpki 0.101.7", "sct", ] +[[package]] +name = "rustls" +version = "0.23.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" +dependencies = [ + "once_cell", + "rustls-pki-types", + "rustls-webpki 0.102.4", + "subtle", + "zeroize", +] + [[package]] name = "rustls-native-certs" version = "0.6.3" @@ -5706,15 +5775,15 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.4.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" @@ -5727,10 +5796,21 @@ dependencies = [ ] [[package]] -name = "ryu" -version = "1.0.17" +name = "rustls-webpki" +version = "0.102.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -5741,6 +5821,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scc" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ad2bbb0ae5100a07b7a6f2ed7ab5fd0045551a4c507989b7a620046ea3efdc" +dependencies = [ + "sdd", +] + [[package]] name = "schannel" version = "0.1.23" @@ -5772,6 +5861,12 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sdd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" + [[package]] name = "sdp-types" version = "0.1.6" @@ -5798,11 +5893,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -5811,9 +5906,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -5821,15 +5916,15 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] @@ -5845,20 +5940,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "serde_json" -version = "1.0.115" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -5877,9 +5972,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -5898,11 +5993,11 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.7.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" +checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", @@ -5916,39 +6011,39 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.7.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "serial_test" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ad9342b3aaca7cb43c45c097dd008d4907070394bd0751a0aa8817e5a018d" +checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" dependencies = [ - "dashmap", "futures", - "lazy_static", "log", + "once_cell", "parking_lot", + "scc", "serial_test_derive", ] [[package]] name = "serial_test_derive" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" +checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -6022,9 +6117,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -6087,9 +6182,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -6144,6 +6239,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.5.0" @@ -6157,15 +6258,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", - "quote", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.58" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -6178,6 +6278,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "system-configuration" version = "0.5.1" @@ -6257,7 +6363,7 @@ checksum = "7ba277e77219e9eea169e8508942db1bf5d8a41ff2db9b20aab5a5aadc9fa25d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -6270,7 +6376,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -6287,22 +6393,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -6327,9 +6433,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -6348,9 +6454,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -6373,9 +6479,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -6385,20 +6491,20 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.6", + "socket2 0.5.7", "tokio-macros", "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -6417,7 +6523,18 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls", + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.10", + "rustls-pki-types", "tokio", ] @@ -6460,35 +6577,34 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] name = "toml" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.9", + "toml_edit 0.22.14", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -6506,15 +6622,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.9" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.5", + "winnow 0.6.13", ] [[package]] @@ -6530,7 +6646,6 @@ dependencies = [ "tokio", "tower-layer", "tower-service", - "tracing", ] [[package]] @@ -6565,7 +6680,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] @@ -6648,6 +6763,25 @@ name = "tungstenite" version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "tungstenite" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" dependencies = [ "byteorder", "bytes", @@ -6707,9 +6841,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "untrusted" @@ -6719,9 +6853,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna 0.5.0", @@ -6751,9 +6885,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" @@ -6824,9 +6958,9 @@ checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" @@ -6858,7 +6992,7 @@ dependencies = [ "futures-util", "headers 0.3.9", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.29", "log", "mime", "mime_guess", @@ -6903,7 +7037,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", "wasm-bindgen-shared", ] @@ -6937,7 +7071,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6982,11 +7116,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -7001,7 +7135,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -7019,7 +7153,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -7039,17 +7173,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -7060,9 +7195,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -7072,9 +7207,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -7084,9 +7219,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -7096,9 +7237,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -7108,9 +7249,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -7120,9 +7261,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -7132,9 +7273,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -7147,9 +7288,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.5" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -7224,11 +7365,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ - "zerocopy-derive 0.7.32", + "zerocopy-derive 0.7.34", ] [[package]] @@ -7239,22 +7380,22 @@ checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.66", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/pkgs/development/libraries/gstreamer/rs/default.nix b/pkgs/development/libraries/gstreamer/rs/default.nix index 9e8d95b77a90..3e8eec7b8a60 100644 --- a/pkgs/development/libraries/gstreamer/rs/default.nix +++ b/pkgs/development/libraries/gstreamer/rs/default.nix @@ -144,7 +144,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "gst-plugins-rs"; - version = "0.12.4"; + version = "0.12.8"; outputs = [ "out" "dev" ]; @@ -153,7 +153,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "gstreamer"; repo = "gst-plugins-rs"; rev = finalAttrs.version; - hash = "sha256-Qnp+e1Vww2kWjDG0x2tcigwDdG67I4xnm8+QrBI+o08="; + hash = "sha256-AGXKI/0Y2BdaSnpQAt3T/rkYlM8UpQpKm4kMAGd6Dyk="; # TODO: temporary workaround for case-insensitivity problems with color-name crate - https://github.com/annymosse/color-name/pull/2 postFetch = '' sedSearch="$(cat <<\EOF | sed -ze 's/\n/\\n/g' @@ -178,12 +178,12 @@ stdenv.mkDerivation (finalAttrs: { cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; outputHashes = { - "cairo-rs-0.19.3" = "sha256-TjVXdnlYEfPLbUx1pC84rCC2MlNecECMK2Yo9XKwz9M="; + "cairo-rs-0.19.8" = "sha256-AdIUcxxuZVAWQ+KOBTrtsvTu4KtFiXkQPYWT9Avt7Z0="; "color-name-1.1.0" = "sha256-RfMStbe2wX5qjPARHIFHlSDKjzx8DwJ+RjzyltM5K7A="; "ffv1-0.0.0" = "sha256-af2VD00tMf/hkfvrtGrHTjVJqbl+VVpLaR0Ry+2niJE="; "flavors-0.2.0" = "sha256-zBa0X75lXnASDBam9Kk6w7K7xuH9fP6rmjWZBUB5hxk="; - "gdk4-0.8.1" = "sha256-VPmegFZ/bC8x1vkl3YU208jQ8FCEKLwe6ZDatz4mIvM="; - "gstreamer-0.22.4" = "sha256-r5+wOEhTVztDMEu6t47yJ9HIlbXyjdvswUND4l7kPl8="; + "gdk4-0.8.2" = "sha256-DZjHlhzrELZ8M5YUM5kSeOphjF7863DmywFgGbZL4Jo="; + "gstreamer-0.22.7" = "sha256-vTEDqmyqhj9e7r7N0QfG4uTNBizrU0gTUfLOJ8kU1JE="; }; }; From 09d8b504e238cd196a7e24d818f2f57b2c235b3f Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 29 Jul 2024 11:44:38 +0200 Subject: [PATCH 150/152] nsncd: unstable-2024-03-18 -> 1.4.1 Required to build with Rust 1.80. Link: https://github.com/rust-lang/rust/issues/127343 --- pkgs/os-specific/linux/nsncd/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/nsncd/default.nix b/pkgs/os-specific/linux/nsncd/default.nix index 80dfdb5457fa..8c302b627095 100644 --- a/pkgs/os-specific/linux/nsncd/default.nix +++ b/pkgs/os-specific/linux/nsncd/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "nsncd"; - version = "unstable-2024-03-18"; + version = "1.4.1"; src = fetchFromGitHub { owner = "twosigma"; repo = "nsncd"; - rev = "7605e330d5a313a8656e6fcaf1c10cd6b5cdd427"; - hash = "sha256-Bd7qE9MP5coBCkr70TdoJfwYhQpdrn/zmN4KoARcaMI="; + rev = "v${version}"; + hash = "sha256-nTXtIZ/2SBpViCTk3fcv4mUAPjc+DRSEUjSVdNt04A8="; }; - cargoHash = "sha256-i1rmc5wxtc631hZy2oM4d6r7od0w8GrG7+/pdM6Gqco="; + cargoHash = "sha256-S2kshoM9jEgMLcCTydmQN5DM/sGAv2ENPAAFlaGCedI="; checkFlags = [ # Relies on the test environment to be able to resolve "localhost" # on IPv4. That's not the case in the Nix sandbox somehow. Works From 4a1b6d3442bf7ef7db3d7dda173b58a3ed25d4f6 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 6 Aug 2024 13:01:25 +0200 Subject: [PATCH 151/152] Revert "nsncd: unstable-2024-03-18 -> 1.4.1" This reverts commit 09d8b504e238cd196a7e24d818f2f57b2c235b3f, which accidentally downgraded nsncd. --- pkgs/os-specific/linux/nsncd/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/nsncd/default.nix b/pkgs/os-specific/linux/nsncd/default.nix index 8c302b627095..80dfdb5457fa 100644 --- a/pkgs/os-specific/linux/nsncd/default.nix +++ b/pkgs/os-specific/linux/nsncd/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "nsncd"; - version = "1.4.1"; + version = "unstable-2024-03-18"; src = fetchFromGitHub { owner = "twosigma"; repo = "nsncd"; - rev = "v${version}"; - hash = "sha256-nTXtIZ/2SBpViCTk3fcv4mUAPjc+DRSEUjSVdNt04A8="; + rev = "7605e330d5a313a8656e6fcaf1c10cd6b5cdd427"; + hash = "sha256-Bd7qE9MP5coBCkr70TdoJfwYhQpdrn/zmN4KoARcaMI="; }; - cargoHash = "sha256-S2kshoM9jEgMLcCTydmQN5DM/sGAv2ENPAAFlaGCedI="; + cargoHash = "sha256-i1rmc5wxtc631hZy2oM4d6r7od0w8GrG7+/pdM6Gqco="; checkFlags = [ # Relies on the test environment to be able to resolve "localhost" # on IPv4. That's not the case in the Nix sandbox somehow. Works From b335dfdd9eef81afd1358e282bbf05f34fded772 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 6 Aug 2024 16:59:45 +0300 Subject: [PATCH 152/152] mesa: cherry-pick patch to fix broken video decoding on AMD iGPUs --- pkgs/development/libraries/mesa/default.nix | 5 +++++ pkgs/development/libraries/mesa/vcn-pagefault.patch | 10 ++++++++++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/development/libraries/mesa/vcn-pagefault.patch diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 5782ec9fbedf..6f3f7b45b569 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -138,6 +138,11 @@ in stdenv.mkDerivation { patches = [ ./opencl.patch + + # Manual backport of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30510 + # Fixes video corruption / crashes when decoding video on AMD iGPUs + # FIXME: remove when merged + ./vcn-pagefault.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/mesa/vcn-pagefault.patch b/pkgs/development/libraries/mesa/vcn-pagefault.patch new file mode 100644 index 000000000000..9b8c7b99c564 --- /dev/null +++ b/pkgs/development/libraries/mesa/vcn-pagefault.patch @@ -0,0 +1,10 @@ +--- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c ++++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +@@ -1390,6 +1390,7 @@ static unsigned rvcn_dec_dynamic_dpb_t2_message(struct radeon_decoder *dec, rvcn + dummy->dpb.res; + addr = dec->ws->buffer_get_virtual_address(dummy_res->buf); + } ++ dec->ws->cs_add_buffer(&dec->cs, d->dpb.res->buf, RADEON_USAGE_READWRITE | RADEON_USAGE_SYNCHRONIZED, RADEON_DOMAIN_VRAM); + dynamic_dpb_t2->dpbAddrLo[i] = addr; + dynamic_dpb_t2->dpbAddrHi[i] = addr >> 32; + ++dynamic_dpb_t2->dpbArraySize;