From 2e8b63203b69c1bd17b417dd4b1d1d37a8fb4675 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Sun, 26 May 2024 22:01:44 -0700 Subject: [PATCH 001/491] pythonPackages.pyroute2: include version with package Some programs/libraries want to check the version of pyroute2 to ensure compatibility. We can ensure pyroute2 knows of its version by using a make target they have for populating this information. --- pkgs/development/python-modules/pyroute2/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix index 4f94e2ce63fee..4860c6e0d264b 100644 --- a/pkgs/development/python-modules/pyroute2/default.nix +++ b/pkgs/development/python-modules/pyroute2/default.nix @@ -41,6 +41,11 @@ buildPythonPackage rec { "pyroute2.protocols" ]; + postPatch = '' + patchShebangs util + make VERSION + ''; + meta = with lib; { description = "Python Netlink library"; homepage = "https://github.com/svinota/pyroute2"; From 3c74fe653520687d13cf60602c3dbb36d6e3148e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Jul 2024 18:36:12 +0000 Subject: [PATCH 002/491] memcached: 1.6.27 -> 1.6.29 --- pkgs/servers/memcached/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix index ccc9fff51ace6..c8d555b73e7c5 100644 --- a/pkgs/servers/memcached/default.nix +++ b/pkgs/servers/memcached/default.nix @@ -1,12 +1,12 @@ {lib, stdenv, fetchurl, cyrus_sasl, libevent, nixosTests }: stdenv.mkDerivation rec { - version = "1.6.27"; + version = "1.6.29"; pname = "memcached"; src = fetchurl { url = "https://memcached.org/files/${pname}-${version}.tar.gz"; - sha256 = "sha256-dP4UR8hmit+RD6epKftjWKr0pm73NOdRxbgSgHGw97U="; + sha256 = "sha256-JpZD1Ri3uiAzx6H2b9/FYNcnJaKCIZTZDII1QIxEOkk="; }; configureFlags = [ From 2e2f18813c2417cae4accd759b0a2e3bb0f3e476 Mon Sep 17 00:00:00 2001 From: natsukium Date: Mon, 15 Jul 2024 12:35:06 +0900 Subject: [PATCH 003/491] mk-python-derivation: don't expose check args when doCheck = false This change prevents rebuilds if we change check flags when doCheck = false. It's useful, for example, when tests are separated in `passthru.tests`. --- .../interpreters/python/mk-python-derivation.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 0d6ab22249916..b85e76bb69ee1 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -62,7 +62,7 @@ let cleanAttrs = lib.flip removeAttrs [ "disabled" "checkPhase" "checkInputs" "nativeCheckInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" "pyproject" "format" - "disabledTestPaths" "outputs" "stdenv" + "disabledTestPaths" "disabledTests" "pytestFlagsArray" "unittestFlagsArray" "outputs" "stdenv" "dependencies" "optional-dependencies" "build-system" ]; @@ -342,9 +342,19 @@ let # If given use the specified checkPhase, otherwise use the setup hook. # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. installCheckPhase = attrs.checkPhase; - } // optionalAttrs (disabledTestPaths != []) { + } // optionalAttrs (attrs.doCheck or true) ( + optionalAttrs (disabledTestPaths != []) { disabledTestPaths = escapeShellArgs disabledTestPaths; - })); + } // optionalAttrs (attrs ? disabledTests) { + # `escapeShellArgs` should be used as well as `disabledTestPaths`, + # but some packages rely on existing raw strings. + disabledTests = attrs.disabledTests; + } // optionalAttrs (attrs ? pytestFlagsArray) { + pytestFlagsArray = attrs.pytestFlagsArray; + } // optionalAttrs (attrs ? unittestFlagsArray) { + unittestFlagsArray = attrs.unittestFlagsArray; + } + ))); in extendDerivation (disabled -> throw "${name} not supported for interpreter ${python.executable}") From e8308ffeacbf4bb2ed6ef91794f81ab913e7bc33 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Jul 2024 06:04:13 +0000 Subject: [PATCH 004/491] libnl: 3.8.0 -> 3.10.0 --- pkgs/os-specific/linux/libnl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix index 68f4ee20df884..da1b8609bf81f 100644 --- a/pkgs/os-specific/linux/libnl/default.nix +++ b/pkgs/os-specific/linux/libnl/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "libnl"; - version = "3.8.0"; + version = "3.10.0"; src = fetchFromGitHub { repo = "libnl"; owner = "thom311"; rev = "libnl${lib.replaceStrings ["."] ["_"] version}"; - hash = "sha256-zVpoRlB5xDfo6wJkCJGGptuCXkNkriudtZF2Job9YD4="; + hash = "sha256-QwDn7S9lyU+/Pc9daqy1qDZFU03dUQF5PDqFEn03WWc="; }; outputs = [ "bin" "dev" "out" "man" ] ++ lib.optional pythonSupport "py"; From 3f799fa8d85294f2934eb3537c6d4465b064a1d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 3 Aug 2024 12:58:27 +0000 Subject: [PATCH 005/491] fluidsynth: 2.3.5 -> 2.3.6 --- pkgs/applications/audio/fluidsynth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix index ff81d76892275..b3c2acc6be8ff 100644 --- a/pkgs/applications/audio/fluidsynth/default.nix +++ b/pkgs/applications/audio/fluidsynth/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "fluidsynth"; - version = "2.3.5"; + version = "2.3.6"; src = fetchFromGitHub { owner = "FluidSynth"; repo = "fluidsynth"; rev = "v${version}"; - hash = "sha256-CzKfvQzhF4Mz2WZaJM/Nt6XjF6ThlX4jyQSaXfZukG8="; + hash = "sha256-bmA4eUh7MC4dXPsOOi9Q5jneSE5OGUWrztv+46LxaW0="; }; outputs = [ "out" "dev" "man" ]; From b5556cf267b702de189c2f932ff4fbccb167a371 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 3 Aug 2024 17:19:09 +0000 Subject: [PATCH 006/491] libavif: 1.1.0 -> 1.1.1 --- pkgs/development/libraries/libavif/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libavif/default.nix b/pkgs/development/libraries/libavif/default.nix index ec2c22a247c0e..16224601851f7 100644 --- a/pkgs/development/libraries/libavif/default.nix +++ b/pkgs/development/libraries/libavif/default.nix @@ -19,13 +19,13 @@ in stdenv.mkDerivation rec { pname = "libavif"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "AOMediaCodec"; repo = pname; rev = "v${version}"; - hash = "sha256-yNJiMTWgOKR1c2pxTkLY/uPWGIY4xgH+Ee0r15oroDU="; + hash = "sha256-kop1S4A/+hP2YdgoMXP7OMVPc2eoRnHpoBrPnW6KWyM="; }; # reco: encode libaom slowest but best, decode dav1d fastest From b1ae8aa3fbf7a98d815422c2768c805b197f42f8 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 3 Aug 2024 21:36:58 +0100 Subject: [PATCH 007/491] readline: 8.2p10 -> 8.2p13 --- pkgs/development/libraries/readline/readline-8.2-patches.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/readline/readline-8.2-patches.nix b/pkgs/development/libraries/readline/readline-8.2-patches.nix index 77d5c495bac1c..37f9aeb8f7f72 100644 --- a/pkgs/development/libraries/readline/readline-8.2-patches.nix +++ b/pkgs/development/libraries/readline/readline-8.2-patches.nix @@ -11,4 +11,7 @@ patch: [ (patch "008" "0smjjzhwxi2ibpdisnk53lh1pzgka6rhlqyh3662xy69v34ysxx1") (patch "009" "05m1fwbs7mbs3pz3pg87gbbayandrrcgaqawzliqb6g1jbk8b61x") (patch "010" "0k3vyrjs2g6y2cfs03l2gp37fhxgqpiwvxb1c7z4q88cbb32x3km") +(patch "011" "1msdahvz56l9m5m69a87zp2c7qrfv0dxwd09rj1697isgy83s0g0") +(patch "012" "1lybzig73pqpcbw79im0kn6299lkcbnh24yigygn5jm2sj7dz2kc") +(patch "013" "1a48lyrhvn6nbj5qhradfpbbs3md5maz7wb32yvaghvfgnak990y") ] From 57a5072e1061b469ff4a17118e41bee575c9f112 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 4 Aug 2024 04:33:16 +0000 Subject: [PATCH 008/491] m17n_db: 1.8.5 -> 1.8.7 --- pkgs/tools/inputmethods/m17n-db/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/inputmethods/m17n-db/default.nix b/pkgs/tools/inputmethods/m17n-db/default.nix index 558d59d0ca94d..ef3dd0e02ee63 100644 --- a/pkgs/tools/inputmethods/m17n-db/default.nix +++ b/pkgs/tools/inputmethods/m17n-db/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "m17n-db"; - version = "1.8.5"; + version = "1.8.7"; src = fetchurl { url = "https://download.savannah.gnu.org/releases/m17n/m17n-db-${version}.tar.gz"; - sha256 = "sha256-to//QiwKKGTuVuLEUXOCEzuYG7S6ObU/R4lc2LHApzY="; + sha256 = "sha256-4Zuw4nr5+yPFLq8OnIJ7tzv87O7J/qsDjmPUvKibmwg="; }; nativeBuildInputs = [ gettext ]; From cee585ad0e417f12a8abe4e63a00f34e5f1e465e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 4 Aug 2024 21:43:08 +0100 Subject: [PATCH 009/491] xorg.libXfont2: 2.0.6 -> 2.0.7 Changes: https://lists.x.org/archives/xorg-announce/2024-August/003523.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 8566c8c61749a..567fe83a45254 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1358,11 +1358,11 @@ self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! libXfont2 = callPackage ({ stdenv, pkg-config, fetchurl, libfontenc, xorgproto, freetype, xtrans, zlib, testers }: stdenv.mkDerivation (finalAttrs: { pname = "libXfont2"; - version = "2.0.6"; + version = "2.0.7"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/lib/libXfont2-2.0.6.tar.xz"; - sha256 = "1x5f4w6f94dq9hfcd11xzzjqbz30yn2hdrnmv1b3zyxhgq0j1jkl"; + url = "mirror://xorg/individual/lib/libXfont2-2.0.7.tar.xz"; + sha256 = "1ywfwpirvi7fmd3my3cb6szzd9c4p7xy7s1kjjv6k1x4xgyq4ywb"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 8305e15740409..d1ab014ac3fd7 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -185,7 +185,7 @@ mirror://xorg/individual/lib/libXdmcp-1.1.5.tar.xz mirror://xorg/individual/lib/libXext-1.3.6.tar.xz mirror://xorg/individual/lib/libXfixes-6.0.1.tar.xz mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2 -mirror://xorg/individual/lib/libXfont2-2.0.6.tar.xz +mirror://xorg/individual/lib/libXfont2-2.0.7.tar.xz mirror://xorg/individual/lib/libXft-2.3.8.tar.xz mirror://xorg/individual/lib/libXi-1.8.1.tar.xz mirror://xorg/individual/lib/libXinerama-1.1.5.tar.xz From 1228c180a0f13483e57dbeab3253774c39d08fbe Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 4 Aug 2024 21:49:04 +0100 Subject: [PATCH 010/491] xorg.libXtst: 1.2.4 -> 1.2.5 Changes: https://lists.x.org/archives/xorg-announce/2024-August/003525.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 8566c8c61749a..6a92d1cd18c81 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1598,11 +1598,11 @@ self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! libXtst = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libX11, libXext, libXi, testers }: stdenv.mkDerivation (finalAttrs: { pname = "libXtst"; - version = "1.2.4"; + version = "1.2.5"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/lib/libXtst-1.2.4.tar.xz"; - sha256 = "1j1kr90b7vmpqniqd0pd786kn5924q799c5m2kpgzd2lj85z7xc4"; + url = "mirror://xorg/individual/lib/libXtst-1.2.5.tar.xz"; + sha256 = "0hljblisw72fk60y7zf9214ydn7lk32kj43cf12af2bhp4jlq3dm"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 8305e15740409..40f9a9172097d 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -201,7 +201,7 @@ mirror://xorg/individual/lib/libXScrnSaver-1.2.4.tar.xz mirror://xorg/individual/lib/libxshmfence-1.3.2.tar.xz mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2 mirror://xorg/individual/lib/libXt-1.3.0.tar.xz -mirror://xorg/individual/lib/libXtst-1.2.4.tar.xz +mirror://xorg/individual/lib/libXtst-1.2.5.tar.xz mirror://xorg/individual/lib/libXv-1.0.12.tar.xz mirror://xorg/individual/lib/libXvMC-1.0.14.tar.xz mirror://xorg/individual/lib/libXxf86dga-1.1.6.tar.xz From fa1ed6e8b62e684d680297ea36724584a1635e10 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Aug 2024 00:53:54 +0000 Subject: [PATCH 011/491] libdeflate: 1.20 -> 1.21 --- pkgs/development/libraries/libdeflate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libdeflate/default.nix b/pkgs/development/libraries/libdeflate/default.nix index c59ace0aa23e8..5f62f8b70647d 100644 --- a/pkgs/development/libraries/libdeflate/default.nix +++ b/pkgs/development/libraries/libdeflate/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libdeflate"; - version = "1.20"; + version = "1.21"; src = fetchFromGitHub { owner = "ebiggers"; repo = "libdeflate"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-kHLdu/Pb94+arj98Jjp57FpvWbAXW49s9cxCA1cf898="; + sha256 = "sha256-JsPvftpl9drmhlNdqorr92q7dnYzXpIIO8prMPPGHFk="; }; cmakeFlags = lib.optionals stdenv.hostPlatform.isStatic [ "-DLIBDEFLATE_BUILD_SHARED_LIB=OFF" ]; From ac375e1ed5641786e6a95736bc31cfc563231673 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Aug 2024 06:02:25 +0000 Subject: [PATCH 012/491] alsa-lib: 1.2.11 -> 1.2.12 --- pkgs/by-name/al/alsa-lib/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/alsa-lib/package.nix b/pkgs/by-name/al/alsa-lib/package.nix index 6d162b6a12a00..8647c91f3f033 100644 --- a/pkgs/by-name/al/alsa-lib/package.nix +++ b/pkgs/by-name/al/alsa-lib/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "alsa-lib"; - version = "1.2.11"; + version = "1.2.12"; src = fetchurl { url = "mirror://alsa/lib/alsa-lib-${finalAttrs.version}.tar.bz2"; - hash = "sha256-nz8vabmV+a03NZBy+8aaOoi/uggfyD6b4w4UZieVu00="; + hash = "sha256-SGjNkIYnJ52lpjT0aHAWJb6MwlHYQmLH5baiGDka0NI="; }; patches = [ From 27e56c9b6f46561d9bdda49a8771da8c2bbb6002 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 7 Aug 2024 22:37:18 +0200 Subject: [PATCH 013/491] libsForQt5.qttools: Move QT_HOST_DATA from sed calls to a patch --- .../modules/qttools-QT_HOST_DATA-refs.patch | 39 +++++++++++++++++++ .../libraries/qt-5/modules/qttools.nix | 16 ++++---- 2 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch diff --git a/pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch b/pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch new file mode 100644 index 0000000000000..dba4c5533fb7f --- /dev/null +++ b/pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch @@ -0,0 +1,39 @@ +From 985a5b530e27372a0766ce897c621026928abfbb Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Wed, 7 Aug 2024 22:16:42 +0200 +Subject: [PATCH] Patch QT_HOST_DATA references + +--- + src/linguist/linguist.pro | 2 +- + src/qtattributionsscanner/qtattributionsscanner.pro | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/linguist/linguist.pro b/src/linguist/linguist.pro +index 7638c7710..bd8798818 100644 +--- a/src/linguist/linguist.pro ++++ b/src/linguist/linguist.pro +@@ -47,7 +47,7 @@ contains(CMAKE_BIN_DIR, "^\\.\\./.*") { + load(qt_build_paths) + + cmake_linguist_config_file.input = $$PWD/Qt5LinguistToolsConfig.cmake.in +-cmake_linguist_config_version_file.input = $$[QT_HOST_DATA/src]/mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in ++cmake_linguist_config_version_file.input = @qtbaseDev@/mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in + cmake_linguist_macros_file.input = $$PWD/Qt5LinguistToolsMacros.cmake + CMAKE_PACKAGE_VERSION = $$MODULE_VERSION + cmake_linguist_config_file.output = $$MODULE_BASE_OUTDIR/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake +diff --git a/src/qtattributionsscanner/qtattributionsscanner.pro b/src/qtattributionsscanner/qtattributionsscanner.pro +index d645a22a9..5d4239f83 100644 +--- a/src/qtattributionsscanner/qtattributionsscanner.pro ++++ b/src/qtattributionsscanner/qtattributionsscanner.pro +@@ -51,7 +51,7 @@ load(qt_build_paths) + equals(QMAKE_HOST.os, Windows): CMAKE_BIN_SUFFIX = ".exe" + + cmake_qattributionsscanner_config_file.input = $$PWD/Qt5AttributionsScannerTools.cmake.in +-cmake_qattributionsscanner_config_version_file.input = $$[QT_HOST_DATA/src]/mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in ++cmake_qattributionsscanner_config_version_file.input = @qtbaseDev@/mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in + CMAKE_PACKAGE_VERSION = $$MODULE_VERSION + cmake_qattributionsscanner_config_file.output = $$MODULE_BASE_OUTDIR/lib/cmake/Qt5AttributionsScannerTools/Qt5AttributionsScannerToolsConfig.cmake + cmake_qattributionsscanner_config_version_file.output = $$MODULE_BASE_OUTDIR/lib/cmake/Qt5AttributionsScannerTools/Qt5AttributionsScannerToolsConfigVersion.cmake +-- +2.44.1 + diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix index 37e4348ed2c23..632fd09e49bed 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools.nix +++ b/pkgs/development/libraries/qt-5/modules/qttools.nix @@ -1,17 +1,17 @@ -{ qtModule, stdenv, lib, qtbase, qtdeclarative }: +{ qtModule, stdenv, lib, qtbase, qtdeclarative, substituteAll }: qtModule { pname = "qttools"; propagatedBuildInputs = [ qtbase qtdeclarative ]; outputs = [ "out" "dev" "bin" ]; - # fixQtBuiltinPaths overwrites a builtin path we should keep - postPatch = '' - sed -i "src/linguist/linguist.pro" \ - -e '/^cmake_linguist_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${lib.getDev qtbase}|' - sed -i "src/qtattributionsscanner/qtattributionsscanner.pro" \ - -e '/^cmake_qattributionsscanner_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${lib.getDev qtbase}|' - ''; + patches = [ + # fixQtBuiltinPaths overwrites builtin paths we should keep + (substituteAll { + src = ./qttools-QT_HOST_DATA-refs.patch; + qtbaseDev = lib.getDev qtbase; + }) + ]; devTools = [ "bin/qcollectiongenerator" From df8c7eaf8ecd035b041c5679c411fc74e5efc772 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 7 Aug 2024 22:39:00 +0200 Subject: [PATCH 014/491] libsForQt5.qttools: nixfmt --- .../libraries/qt-5/modules/qttools.nix | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix index 632fd09e49bed..b55c5329ee7a4 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools.nix +++ b/pkgs/development/libraries/qt-5/modules/qttools.nix @@ -1,9 +1,23 @@ -{ qtModule, stdenv, lib, qtbase, qtdeclarative, substituteAll }: +{ + qtModule, + stdenv, + lib, + qtbase, + qtdeclarative, + substituteAll, +}: qtModule { pname = "qttools"; - propagatedBuildInputs = [ qtbase qtdeclarative ]; - outputs = [ "out" "dev" "bin" ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; + outputs = [ + "out" + "dev" + "bin" + ]; patches = [ # fixQtBuiltinPaths overwrites builtin paths we should keep @@ -32,11 +46,11 @@ qtModule { "bin/qthelpconverter" "bin/lprodump" "bin/qdistancefieldgenerator" - ] ++ lib.optionals stdenv.isDarwin [ - "bin/macdeployqt" - ]; + ] ++ lib.optionals stdenv.isDarwin [ "bin/macdeployqt" ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && qtdeclarative != null) ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"''; + env.NIX_CFLAGS_COMPILE = lib.optionalString ( + stdenv.isDarwin && qtdeclarative != null + ) ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"''; setupHook = ../hooks/qttools-setup-hook.sh; } From dc6555f0d87bd28dd7c155e8b6cfb44617063a0c Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 7 Aug 2024 21:59:50 +0100 Subject: [PATCH 015/491] mpg123: 1.32.6 -> 1.32.7 Changes: https://www.mpg123.de/#2024-08-07 --- pkgs/applications/audio/mpg123/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index f7480557eb5e6..9fe4e925c13a1 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -22,11 +22,11 @@ assert withConplay -> !libOnly; stdenv.mkDerivation rec { pname = "${lib.optionalString libOnly "lib"}mpg123"; - version = "1.32.6"; + version = "1.32.7"; src = fetchurl { url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2"; - hash = "sha256-zN0dCrwx1z2LQ1/GWMeQSdCpBbMGabakKgOtFp3GCeY="; + hash = "sha256-PIkZJDcHlRysDjw5u/KGU7yv/EPJj/FoAaJzUNuPDyE="; }; outputs = [ "out" "dev" "man" ] ++ lib.optional withConplay "conplay"; From 62934e6beda42c01a5cbfe512babe34c722bb517 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 7 Aug 2024 23:47:56 +0200 Subject: [PATCH 016/491] libsForQt5.qttools: Reorder outputs vs propagatedBuildInputs We usually order them the other way around. --- pkgs/development/libraries/qt-5/modules/qttools.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix index b55c5329ee7a4..4554cb5cb3c9e 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools.nix +++ b/pkgs/development/libraries/qt-5/modules/qttools.nix @@ -9,16 +9,18 @@ qtModule { pname = "qttools"; - propagatedBuildInputs = [ - qtbase - qtdeclarative - ]; + outputs = [ "out" "dev" "bin" ]; + propagatedBuildInputs = [ + qtbase + qtdeclarative + ]; + patches = [ # fixQtBuiltinPaths overwrites builtin paths we should keep (substituteAll { From 6d237d891cca996abfa684ad45b5a9eb986b82ef Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 8 Aug 2024 21:06:40 +0000 Subject: [PATCH 017/491] libmpg123: 1.32.6 -> 1.32.7 --- pkgs/applications/audio/mpg123/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index f7480557eb5e6..9fe4e925c13a1 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -22,11 +22,11 @@ assert withConplay -> !libOnly; stdenv.mkDerivation rec { pname = "${lib.optionalString libOnly "lib"}mpg123"; - version = "1.32.6"; + version = "1.32.7"; src = fetchurl { url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2"; - hash = "sha256-zN0dCrwx1z2LQ1/GWMeQSdCpBbMGabakKgOtFp3GCeY="; + hash = "sha256-PIkZJDcHlRysDjw5u/KGU7yv/EPJj/FoAaJzUNuPDyE="; }; outputs = [ "out" "dev" "man" ] ++ lib.optional withConplay "conplay"; From 925c2dc6723bc3a9251b5f8fdae92cdfc6c3309a Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 13 Aug 2024 22:06:40 +0100 Subject: [PATCH 018/491] lksctp-tools: 1.0.19 -> 1.0.20 Changes: https://github.com/sctp/lksctp-tools/compare/v1.0.19...v1.0.20 --- pkgs/os-specific/linux/lksctp-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/lksctp-tools/default.nix b/pkgs/os-specific/linux/lksctp-tools/default.nix index 5ddf19c96e861..89c1dfd3937d1 100644 --- a/pkgs/os-specific/linux/lksctp-tools/default.nix +++ b/pkgs/os-specific/linux/lksctp-tools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "lksctp-tools"; - version = "1.0.19"; + version = "1.0.20"; src = fetchFromGitHub { owner = "sctp"; repo = "lksctp-tools"; rev = "v${version}"; - hash = "sha256-QEgk9OPFCI5WknUDkqfswApCFeOF+620frQWMyQq2Mk="; + hash = "sha256-z7Je2qwDPr1sp5z8nhYsJIyJxDvHW7lw97JAdPY09NE="; }; nativeBuildInputs = [ autoreconfHook ]; From f80f5263194ca2d7fc1735ff5080869ae130e268 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:13:41 -0700 Subject: [PATCH 019/491] man-db: use libiconvReal on FreeBSD man-db has extremely strict requirements about the behavior of iconv, since it bundles a copycat script manconv. Not every iconv is appropriate for this, so use the "real" one on the bad platforms. --- pkgs/tools/misc/man-db/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix index 9e717cad275ab..894481fc3fd49 100644 --- a/pkgs/tools/misc/man-db/default.nix +++ b/pkgs/tools/misc/man-db/default.nix @@ -5,6 +5,7 @@ , gzip , lib , libiconv +, libiconvReal , libpipeline , makeWrapper , nixosTests @@ -28,8 +29,9 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ autoreconfHook groff makeWrapper pkg-config zstd ]; - buildInputs = [ libpipeline db groff ]; # (Yes, 'groff' is both native and build input) - nativeCheckInputs = [ libiconv /* for 'iconv' binary */ ]; + buildInputs = [ libpipeline db groff ] # (Yes, 'groff' is both native and build input) + ++ lib.optional stdenv.isFreeBSD libiconvReal; + nativeCheckInputs = [ (if stdenv.isFreeBSD then libiconvReal else libiconv) ]; # for 'iconv' binary; make very sure it matches buildinput libiconv patches = [ ./systemwide-man-db-conf.patch From e9940f7cf34ea15e9fa564ca57b91ac2c7ed9a22 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Fri, 19 Jul 2024 22:18:14 -0700 Subject: [PATCH 020/491] man-db: Use unspecified/all manual directly layout on FreeBSD It's unclear if this nixpkgs bundling conventions are compatible with the BSD layout, but the testcases certainly aren't. https://gitlab.com/man-db/man-db/-/issues/41 --- pkgs/tools/misc/man-db/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix index 894481fc3fd49..e88a189854f64 100644 --- a/pkgs/tools/misc/man-db/default.nix +++ b/pkgs/tools/misc/man-db/default.nix @@ -61,6 +61,8 @@ stdenv.mkDerivation rec { "ac_cv_func__set_invalid_parameter_handler=no" "ac_cv_func_posix_fadvise=no" "ac_cv_func_mempcpy=no" + ] ++ lib.optionals stdenv.hostPlatform.isFreeBSD [ + "--enable-mandirs=" ]; preConfigure = '' From 37976256c89959b32792bdd27968659b168c1c8e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 13 Aug 2024 22:01:33 +0100 Subject: [PATCH 021/491] sqlite, sqlite-analyzer: 3.46.0 -> 3.46.1 Changes: https://www.sqlite.org/draft/releaselog/current.html --- pkgs/development/libraries/sqlite/default.nix | 4 ++-- pkgs/development/libraries/sqlite/tools.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index 27b2e4c993fd9..b9d12d8ad7a74 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -16,13 +16,13 @@ in stdenv.mkDerivation rec { pname = "sqlite${lib.optionalString interactive "-interactive"}"; - version = "3.46.0"; + version = "3.46.1"; # nixpkgs-update: no auto update # NB! Make sure to update ./tools.nix src (in the same directory). src = fetchurl { url = "https://sqlite.org/2024/sqlite-autoconf-${archiveVersion version}.tar.gz"; - hash = "sha256-b45qezNSc3SIFvmztiu9w3Koid6HgtfwSMZTpEdBen0="; + hash = "sha256-Z9P+bSaObq3crjcn/OWPzI6cU4ab3Qegxh443fKWUHE="; }; outputs = [ "bin" "dev" "out" ]; diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix index 2b843c0b22e0b..fef6d2603b681 100644 --- a/pkgs/development/libraries/sqlite/tools.nix +++ b/pkgs/development/libraries/sqlite/tools.nix @@ -4,12 +4,12 @@ let archiveVersion = import ./archive-version.nix lib; mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec { inherit pname; - version = "3.46.0"; + version = "3.46.1"; # nixpkgs-update: no auto update src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2024/sqlite-src-${archiveVersion version}.zip"; - hash = "sha256-BwNiEJvraJn2V5dXG5i4gkyPQ39bKSb4juBo2Y7zaOw="; + hash = "sha256-3vP8KS657MRE9sGVDlx52EYu1eez1gX9YVLRReHVq7Q="; }; nativeBuildInputs = [ unzip ]; From dcb8a6f5e7bf0c31ffe0422638bee799dd36063f Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Thu, 15 Aug 2024 17:56:49 -0700 Subject: [PATCH 022/491] lsof: Fix build on FreeBSD The FreeBSD kernel sources are required to build lsof, and ed is required to parse them. --- pkgs/development/tools/misc/lsof/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix index b43030594d3d1..60b656f08a6a9 100644 --- a/pkgs/development/tools/misc/lsof/default.nix +++ b/pkgs/development/tools/misc/lsof/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, buildPackages, perl, which, ncurses, nukeReferences }: +{ lib, stdenv, fetchFromGitHub, buildPackages, perl, which, ncurses, nukeReferences, freebsd, ed }: let dialect = with lib; last (splitString "-" stdenv.hostPlatform.system); @@ -26,12 +26,15 @@ stdenv.mkDerivation rec { ''; depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ nukeReferences perl which ]; + nativeBuildInputs = [ nukeReferences perl which ed ]; buildInputs = [ ncurses ]; # Stop build scripts from searching global include paths LSOF_INCLUDE = "${lib.getDev stdenv.cc.libc}/include"; - configurePhase = "LINUX_CONF_CC=$CC_FOR_BUILD LSOF_CC=$CC LSOF_AR=\"$AR cr\" LSOF_RANLIB=$RANLIB ./Configure -n ${dialect}"; + configurePhase = let genericFlags = "LSOF_CC=$CC LSOF_AR=\"$AR cr\" LSOF_RANLIB=$RANLIB"; + linuxFlags = lib.optionalString stdenv.isLinux "LINUX_CONF_CC=$CC_FOR_BUILD"; + freebsdFlags = lib.optionalString stdenv.isFreeBSD "FREEBSD_SYS=${freebsd.sys.src}/sys"; + in "${genericFlags} ${linuxFlags} ${freebsdFlags} ./Configure -n ${dialect}"; preBuild = '' for filepath in $(find dialects/${dialect} -type f); do From a1e47e382f912cdde6ebccb8a886eb7311a2fbb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 17 Aug 2024 02:24:41 -0700 Subject: [PATCH 023/491] python312Packages.markdown: 3.6 -> 3.7 Diff: https://github.com/Python-Markdown/markdown/compare/refs/tags/3.6...3.7 Changelog: https://github.com/Python-Markdown/markdown/blob/refs/tags/3.7/docs/changelog.md --- pkgs/development/python-modules/markdown/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/markdown/default.nix b/pkgs/development/python-modules/markdown/default.nix index f0858ca0da909..f99269fb3608a 100644 --- a/pkgs/development/python-modules/markdown/default.nix +++ b/pkgs/development/python-modules/markdown/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "markdown"; - version = "3.6"; + version = "3.7"; pyproject = true; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "Python-Markdown"; repo = "markdown"; rev = "refs/tags/${version}"; - hash = "sha256-jGo9/ZS2EhMDl/o1ref7Owqckuc7am578Ojmcz2aWIE="; + hash = "sha256-bIBen693MC56k4LZ+8vhbvP+E3myFXoaXpNHOlnIdG8="; }; build-system = [ setuptools ]; From 5c05007e39ac79a88980d7d86ab6ea9c1eaf29bf Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 18 Aug 2024 07:15:15 +0100 Subject: [PATCH 024/491] librsvg: 2.58.2 -> 2.58.3 Changes: https://gitlab.gnome.org/GNOME/librsvg/-/releases/2.58.3 --- pkgs/development/libraries/librsvg/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index e8426b97cec50..dfcd906679de9 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "librsvg"; - version = "2.58.2"; + version = "2.58.3"; outputs = [ "out" "dev" ] ++ lib.optionals withIntrospection [ "devdoc" @@ -50,13 +50,13 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://gnome/sources/librsvg/${lib.versions.majorMinor finalAttrs.version}/librsvg-${finalAttrs.version}.tar.xz"; - hash = "sha256-GOnXDAjPJfUNYQ1tWvVxVh1nz0F5+WLgQmZHXfbi4iQ="; + hash = "sha256-SfKaCpL0wtGaLLQelqsvzn61veQYUMipFPz2VeMRCUQ="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit (finalAttrs) src; name = "librsvg-deps-${finalAttrs.version}"; - hash = "sha256-E0bXSxWI0MkJmNvl8gxklXHgy4zlkiee59+s0h4Gw5s="; + hash = "sha256-pTd3H4ZYwsCb4C6gijE0gRWZ4Mq6gGGmwXE3nKGILhw="; # TODO: move this to fetchCargoTarball dontConfigure = true; }; From 3e508761b4a87f30409a1447abef8269a54f906b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 5 Aug 2024 22:56:16 +0100 Subject: [PATCH 025/491] binutils-unwrapped: 2.42 -> 2.43.1 Changes: - https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00001.html - https://mail.gnu.org/archive/html/info-gnu/2024-08/msg00003.html --- pkgs/development/tools/misc/binutils/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index 491bfc19ae0fc..3910928995d39 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -33,12 +33,12 @@ assert enableGoldDefault -> enableGold; let inherit (stdenv) buildPlatform hostPlatform targetPlatform; - version = "2.42"; + version = "2.43.1"; srcs = { normal = fetchurl { url = "mirror://gnu/binutils/binutils-${version}.tar.bz2"; - hash = "sha256-qlSFDr2lBkxyzU7C2bBWwpQlKZFIY1DZqXqypt/frxI="; + hash = "sha256-vsqsXSleA3WHtjpC+tV/49nXuD9HjrJLZ/nuxdDxhy8="; }; vc4-none = fetchFromGitHub { owner = "itszor"; From cac05caee918edcd60929d1b6b7ad1389dc7e757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 18 Aug 2024 14:42:18 -0700 Subject: [PATCH 026/491] python312Packages.pyopenssl: 24.1.0 -> 24.2.1 Diff: https://github.com/pyca/pyopenssl/compare/refs/tags/24.1.0...24.2.1 Changelog: https://github.com/pyca/pyopenssl/blob/24.2.1/CHANGELOG.rst --- .../python-modules/pyopenssl/default.nix | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index b9691b2a2827d..253b6c8699d63 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -2,7 +2,7 @@ lib, stdenv, buildPythonPackage, - fetchPypi, + fetchFromGitHub, openssl, setuptools, cryptography, @@ -15,13 +15,14 @@ buildPythonPackage rec { pname = "pyopenssl"; - version = "24.1.0"; + version = "24.2.1"; pyproject = true; - src = fetchPypi { - pname = "pyOpenSSL"; - inherit version; - hash = "sha256-yr7Uv6pd+fGhbA72Sgy2Uxi1zQd6ftp9aXATHKL0Gm8="; + src = fetchFromGitHub { + owner = "pyca"; + repo = "pyopenssl"; + rev = "refs/tags/${version}"; + hash = "sha256-/TQnDWdycN4hQ7ZGvBhMJEZVafmL+0wy9eJ8hC6rfio="; }; outputs = [ @@ -30,19 +31,17 @@ buildPythonPackage rec { "doc" ]; + build-system = [ setuptools ]; + nativeBuildInputs = [ openssl - setuptools sphinxHook sphinx-rtd-theme ]; - postPatch = '' - # remove cryptography pin - sed -i "/cryptography/ s/,<[0-9]*//g" setup.py - ''; + pythonRelaxDeps = [ "cryptography" ]; - propagatedBuildInputs = [ cryptography ]; + dependencies = [ cryptography ]; nativeCheckInputs = [ pretend From 88b08cbccfc4deba9846aa662ec9062af3014a36 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 19 Aug 2024 21:37:29 +0100 Subject: [PATCH 027/491] media-player-info: 24 -> 26 Changes: - https://gitlab.freedesktop.org/media-player-info/media-player-info/-/tags/26 - https://gitlab.freedesktop.org/media-player-info/media-player-info/-/tags/25 --- pkgs/data/misc/media-player-info/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/data/misc/media-player-info/default.nix b/pkgs/data/misc/media-player-info/default.nix index 74fb444152968..bf7fe4da30205 100644 --- a/pkgs/data/misc/media-player-info/default.nix +++ b/pkgs/data/misc/media-player-info/default.nix @@ -1,16 +1,19 @@ -{ lib, stdenv, fetchurl, pkg-config, python3, udev, systemd }: +{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, python3, udev, systemd }: stdenv.mkDerivation rec { pname = "media-player-info"; - version = "24"; + version = "26"; - src = fetchurl { - url = "https://www.freedesktop.org/software/media-player-info/${pname}-${version}.tar.gz"; - sha256 = "0d0i7av8v369hzvlynwlrbickv1brlzsmiky80lrjgjh1gdldkz6"; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "media-player-info"; + repo = "media-player-info"; + rev = version; + hash = "sha256-VoMr5Lxy6u/BA/9t65/S8AW41YU0FLp6eftYUVdoMjY="; }; buildInputs = [ udev systemd ]; - nativeBuildInputs = [ pkg-config python3 ]; + nativeBuildInputs = [ autoreconfHook pkg-config python3 ]; postPatch = '' patchShebangs ./tools From 4ac3fe32a0e250db2f615f65507abd8e632d9cb0 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 21 Aug 2024 21:56:01 +0100 Subject: [PATCH 028/491] freetype: 2.13.2 -> 2.13.3 Changes: https://sourceforge.net/projects/freetype/files/freetype2/2.13.3/ --- pkgs/development/libraries/freetype/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix index 8ff0005d0ff07..98e19988a0647 100644 --- a/pkgs/development/libraries/freetype/default.nix +++ b/pkgs/development/libraries/freetype/default.nix @@ -38,11 +38,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "freetype"; - version = "2.13.2"; + version = "2.13.3"; src = let inherit (finalAttrs) pname version; in fetchurl { url = "mirror://savannah/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-EpkcTlXFBt1/m3ZZM+Yv0r4uBtQhUF15UKEy5PG7SE0="; + sha256 = "sha256-BVA1BmbUJ8dNrrhdWse7NTrLpfdpVjlZlTEanG8GMok="; }; propagatedBuildInputs = [ zlib bzip2 brotli libpng ]; # needed when linking against freetype From e739636d81c3557b3fa48d27f1a6ab54bb577e6d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Aug 2024 03:35:17 +0000 Subject: [PATCH 029/491] libmaxminddb: 1.10.0 -> 1.11.0 --- pkgs/development/libraries/libmaxminddb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix index 9a944abbb1ecb..f86e7d256040f 100644 --- a/pkgs/development/libraries/libmaxminddb/default.nix +++ b/pkgs/development/libraries/libmaxminddb/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libmaxminddb"; - version = "1.10.0"; + version = "1.11.0"; src = fetchurl { url = meta.homepage + "/releases/download/${version}/${pname}-${version}.tar.gz"; - sha256 = "sha256-Xm23LfQjriJb/oiXBp9t70D6qJMfRWuZ15uLTWZMZnE="; + sha256 = "sha256-su6nmpb+13rU1sOew0/tg9Rfy3WjHFiVaBPVjc8wsZ8="; }; meta = with lib; { From 16f3c7ebcbf08cfdab815c225f3858fbb7eef545 Mon Sep 17 00:00:00 2001 From: Nathan Henrie Date: Sun, 14 Jul 2024 09:14:59 -0600 Subject: [PATCH 030/491] rustPlatform.buildRustPackage: provide debug symbols on darwin Currently we cannot debug rust binaries on darwin (via lldb). The debug symbols seem to be provided by default in a number of files in `target/debug/deps/*.rcgu.o`. As far as I can tell these have hardcoded paths referring to the ephemeral build directory. However, `split-debuginfo=packed` conveniently produces a `.dSYM` file that can be copied to `$out/bin/` and immediately provide debugging information. Fixes https://github.com/NixOS/nixpkgs/issues/262131 --- pkgs/build-support/rust/build-rust-package/default.nix | 5 +++++ pkgs/build-support/rust/hooks/cargo-install-hook.sh | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index a1727c91ba366..1698ed90eeb36 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -97,6 +97,11 @@ assert useSysroot -> !(args.doCheck or true); stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "cargoLock" ]) // lib.optionalAttrs useSysroot { RUSTFLAGS = "--sysroot ${sysroot} " + (args.RUSTFLAGS or ""); +} // lib.optionalAttrs (stdenv.isDarwin && buildType == "debug") { + RUSTFLAGS = + "-C split-debuginfo=packed " + + lib.optionalString useSysroot "--sysroot ${sysroot} " + + (args.RUSTFLAGS or ""); } // { inherit buildAndTestSubdir cargoDeps; diff --git a/pkgs/build-support/rust/hooks/cargo-install-hook.sh b/pkgs/build-support/rust/hooks/cargo-install-hook.sh index 24a6e6fa9eb3f..4cf7840220a5a 100644 --- a/pkgs/build-support/rust/hooks/cargo-install-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-install-hook.sh @@ -36,6 +36,11 @@ cargoInstallHook() { -maxdepth 1 \ -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \ -print0 | xargs -r -0 cp -t $out/lib + + # If present, copy any .dSYM directories for debugging on darwin + # https://github.com/NixOS/nixpkgs/issues/330036 + find "${releaseDir}" -maxdepth 1 -name '*.dSYM' -exec cp -RLt $out/bin/ {} + + rmdir --ignore-fail-on-non-empty $out/lib $out/bin runHook postInstall From b232187bd35144521d52e5905c6a0652b41cb1a8 Mon Sep 17 00:00:00 2001 From: Roland Coeurjoly Date: Sun, 25 Aug 2024 18:02:28 +0200 Subject: [PATCH 031/491] bluez: substitute --replace with --replace-fail --- pkgs/by-name/bl/bluez/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix index 1a459bba189b5..77e7502ec323c 100644 --- a/pkgs/by-name/bl/bluez/package.nix +++ b/pkgs/by-name/bl/bluez/package.nix @@ -64,8 +64,8 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' substituteInPlace tools/hid2hci.rules \ - --replace /sbin/udevadm ${systemdMinimal}/bin/udevadm \ - --replace "hid2hci " "$out/lib/udev/hid2hci " + --replace-fail /sbin/udevadm ${systemdMinimal}/bin/udevadm \ + --replace-fail "hid2hci " "$out/lib/udev/hid2hci " '' + # Disable some tests: # - test-mesh-crypto depends on the following kernel settings: From 76289d6e29b1b3f0da47e4256aebd52f235ee920 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 30 Jul 2024 21:14:55 +0100 Subject: [PATCH 032/491] cryptsetup: 2.7.3 -> 2.7.4 Changes: https://gitlab.com/cryptsetup/cryptsetup/-/compare/v2.7.3...v2.7.4?from_project_id=195655&straight=false --- pkgs/os-specific/linux/cryptsetup/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix index 044daf8484677..c6e75de9bea71 100644 --- a/pkgs/os-specific/linux/cryptsetup/default.nix +++ b/pkgs/os-specific/linux/cryptsetup/default.nix @@ -14,14 +14,14 @@ stdenv.mkDerivation rec { pname = "cryptsetup"; - version = "2.7.3"; + version = "2.7.4"; outputs = [ "bin" "out" "dev" "man" ]; separateDebugInfo = true; src = fetchurl { url = "mirror://kernel/linux/utils/cryptsetup/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-t3KuT23wzucgCyjOqWDk2q/yogPS/VAr6rPBMXsHpFY="; + hash = "sha256-3OKZA6WPe3dP5hGR5+belV3g9A2eJ7ACj/zzQ4wOlIA="; }; patches = [ From 690fbfaf335ced358faf059f9844f485fc01e7c6 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 20 Aug 2024 22:01:15 +0100 Subject: [PATCH 033/491] svt-av1: 2.2.0 -> 2.2.1 Changes: https://gitlab.com/AOMediaCodec/SVT-AV1/-/tags/v2.2.1 --- pkgs/tools/video/svt-av1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix index e9d2c4b571fe7..1b515b792c798 100644 --- a/pkgs/tools/video/svt-av1/default.nix +++ b/pkgs/tools/video/svt-av1/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "svt-av1"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitLab { owner = "AOMediaCodec"; repo = "SVT-AV1"; rev = "v${finalAttrs.version}"; - hash = "sha256-LkTcy+CiuhlRnQsjNMA0hTVRVx7pbYs1ujMWjLrhvEU="; + hash = "sha256-/JWFO4eT8bNvhdqJ6S0mGRIP0+aUTbDrlzqzwRqJOog="; }; nativeBuildInputs = [ From b3dd92e2139a75c79d996f6758681eee83da6672 Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Mon, 26 Aug 2024 01:55:21 +0300 Subject: [PATCH 034/491] nodejs: fix libv8 object files list --- pkgs/development/web/nodejs/nodejs.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 96c8d9f645519..dbe759fac7e46 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -346,7 +346,13 @@ let # assemble a static v8 library and put it in the 'libv8' output mkdir -p $libv8/lib pushd out/Release/obj - find . -path "./torque_*/**/*.o" -or -path "./v8*/**/*.o" | sort -u >files + find . -path "**/torque_*/**/*.o" -or -path "**/v8*/**/*.o" \ + -and -not -name "torque.*" \ + -and -not -name "mksnapshot.*" \ + -and -not -name "gen-regexp-special-case.*" \ + -and -not -name "bytecode_builtins_list_generator.*" \ + | sort -u >files + test -s files # ensure that the list is not empty $AR -cqs $libv8/lib/libv8.a @files popd From 123aa0e8179c3bbc36da894b6183d39983fd30c7 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 27 Aug 2024 08:33:52 +0100 Subject: [PATCH 035/491] libdrm: 2.4.122 -> 2.4.123 Changes: https://lists.x.org/archives/xorg-announce/2024-August/003528.html --- pkgs/development/libraries/libdrm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index f4d54722327d4..bb81836e131ae 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "libdrm"; - version = "2.4.122"; + version = "2.4.123"; src = fetchurl { url = "https://dri.freedesktop.org/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-2fUHm3d9/8qTAMzFaxCpNYjN+8nd4vrhEZQN+2KS8lE="; + hash = "sha256-ormFZ6FJp0sPUOkegl+cAxXYbnvpt0OU2uiymMqtt54="; }; outputs = [ "out" "dev" "bin" ]; From a816544a3d78c67889d5f41e5a2bc0d8c0178667 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 27 Aug 2024 13:28:46 +0000 Subject: [PATCH 036/491] nghttp2: 1.62.1 -> 1.63.0 --- pkgs/development/libraries/nghttp2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix index fbe3e2a92f150..7c5f7b94d7985 100644 --- a/pkgs/development/libraries/nghttp2/default.nix +++ b/pkgs/development/libraries/nghttp2/default.nix @@ -32,11 +32,11 @@ assert enableJemalloc -> enableApp; stdenv.mkDerivation rec { pname = "nghttp2"; - version = "1.62.1"; + version = "1.63.0"; src = fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-OWbsgv2n/DgFBtNyomDY2bbpRr5N6u8f7MGnS0gJrj0="; + sha256 = "sha256-YHsXRVTSKoKLxTLR1zT+D3KbXV7SB/LxLpamLoPynFU="; }; outputs = [ "out" "dev" "lib" "doc" "man" ]; From b6c502550997f700e267b9ea7290a5adc2016d00 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 28 Aug 2024 21:14:31 +0100 Subject: [PATCH 037/491] libpipeline: 1.5.7 -> 1.5.8 Changes: https://gitlab.com/libpipeline/libpipeline/-/compare/1.5.7...1.5.8?from_project_id=772510&straight=false --- pkgs/development/libraries/libpipeline/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix index 3aeb79b46af87..01eea0e89ce57 100644 --- a/pkgs/development/libraries/libpipeline/default.nix +++ b/pkgs/development/libraries/libpipeline/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libpipeline"; - version = "1.5.7"; + version = "1.5.8"; src = fetchurl { url = "mirror://savannah/libpipeline/libpipeline-${version}.tar.gz"; - sha256 = "sha256-uLRRlJiQIqeewTF/ZKKnWxVRsqVb6gb2dwTLKi5GkLA="; + hash = "sha256-GxIDyhUszWOYPD8hEvf+b6Wv1FMhjt5RU9GzHhG7hAU="; }; patches = lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ]; From 48d2e61a94dadce25aacd58d169c7c7fd4bc47bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Mancilla?= Date: Wed, 28 Aug 2024 19:42:14 -0400 Subject: [PATCH 038/491] zeromq: modernize --- pkgs/development/libraries/zeromq/4.x.nix | 44 +++++++++++++---------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix index d8509c8fc3f4b..be4bf7575868b 100644 --- a/pkgs/development/libraries/zeromq/4.x.nix +++ b/pkgs/development/libraries/zeromq/4.x.nix @@ -1,30 +1,38 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, asciidoc -, pkg-config -, libsodium -, enableDrafts ? false +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + libsodium, + asciidoc, + enableDrafts ? false, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "zeromq"; version = "4.3.5"; src = fetchFromGitHub { owner = "zeromq"; repo = "libzmq"; - rev = "v${version}"; - sha256 = "sha256-q2h5y0Asad+fGB9haO4Vg7a1ffO2JSb7czzlhmT3VmI="; + rev = "v${finalAttrs.version}"; + hash = "sha256-q2h5y0Asad+fGB9haO4Vg7a1ffO2JSb7czzlhmT3VmI="; }; - nativeBuildInputs = [ cmake asciidoc pkg-config ]; + nativeBuildInputs = [ + cmake + pkg-config + asciidoc + ]; + buildInputs = [ libsodium ]; doCheck = false; # fails all the tests (ctest) - cmakeFlags = lib.optional enableDrafts "-DENABLE_DRAFTS=ON"; + cmakeFlags = [ + (lib.cmakeBool "ENABLE_DRAFTS" enableDrafts) + ]; postPatch = '' substituteInPlace CMakeLists.txt \ @@ -32,12 +40,12 @@ stdenv.mkDerivation rec { --replace '$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} ''; - meta = with lib; { + meta = { branch = "4"; homepage = "http://www.zeromq.org"; description = "Intelligent Transport Layer"; - license = licenses.mpl20; - platforms = platforms.all; - maintainers = with maintainers; [ fpletz ]; + license = lib.licenses.mpl20; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ fpletz ]; }; -} +}) From 774ed19961843d91316b9020e925e390b3caeeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Mancilla?= Date: Wed, 28 Aug 2024 19:43:23 -0400 Subject: [PATCH 039/491] zeromq: create and install man pages --- pkgs/development/libraries/zeromq/4.x.nix | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix index be4bf7575868b..3c3933e400c50 100644 --- a/pkgs/development/libraries/zeromq/4.x.nix +++ b/pkgs/development/libraries/zeromq/4.x.nix @@ -6,6 +6,7 @@ pkg-config, libsodium, asciidoc, + xmlto, enableDrafts ? false, }: @@ -24,6 +25,7 @@ stdenv.mkDerivation (finalAttrs: { cmake pkg-config asciidoc + xmlto ]; buildInputs = [ libsodium ]; @@ -40,6 +42,29 @@ stdenv.mkDerivation (finalAttrs: { --replace '$'{prefix}/'$'{CMAKE_INSTALL_INCLUDEDIR} '$'{CMAKE_INSTALL_FULL_INCLUDEDIR} ''; + postBuild = '' + # From https://gitlab.archlinux.org/archlinux/packaging/packages/zeromq/-/blob/main/PKGBUILD + # man pages aren't created when using cmake + # https://github.com/zeromq/libzmq/issues/4160 + pushd ../doc + for FILE in *.txt; do + asciidoc \ + -d manpage \ + -b docbook \ + -f asciidoc.conf \ + -a zmq_version="${finalAttrs.version}" \ + "''${FILE}" + xmlto --skip-validation man "''${FILE%.txt}.xml" + done + popd + ''; + + postInstall = '' + # Install manually created man pages + install -vDm644 -t "$out/share/man/man3" ../doc/*.3 + install -vDm644 -t "$out/share/man/man7" ../doc/*.7 + ''; + meta = { branch = "4"; homepage = "http://www.zeromq.org"; From d35a532382bd4a0134b0a0ebd7fa2994b5bd0ff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 12 Aug 2024 13:38:51 +0200 Subject: [PATCH 040/491] python312Packages.lxml: 5.2.2 -> 5.3.0 Changelog: https://github.com/lxml/lxml/releases/tag/lxml-5.3.0 --- pkgs/development/python-modules/lxml/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix index bc09e20503e9a..d2aa92fca5def 100644 --- a/pkgs/development/python-modules/lxml/default.nix +++ b/pkgs/development/python-modules/lxml/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "lxml"; - version = "5.2.2"; + version = "5.3.0"; pyproject = true; src = fetchFromGitHub { owner = "lxml"; repo = "lxml"; rev = "refs/tags/lxml-${version}"; - hash = "sha256-c9r2uqjXmQOXyPCsJTzi1OatkQ9rhJbKqpxaoFz2l18="; + hash = "sha256-xhKtqsh5FfgXt1fKUhN/Aib/004P7epArv3/XxDSBtw="; }; # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs From d4dbbff784ae584366ea0238f435d901ef2005b3 Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Sat, 3 Aug 2024 21:51:43 +0300 Subject: [PATCH 041/491] selenium-manager: 4.22.0 -> 4.24.0 --- pkgs/by-name/se/selenium-manager/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/se/selenium-manager/package.nix b/pkgs/by-name/se/selenium-manager/package.nix index 47b6e2c16c16e..2efcfc7b4b27e 100644 --- a/pkgs/by-name/se/selenium-manager/package.nix +++ b/pkgs/by-name/se/selenium-manager/package.nix @@ -7,18 +7,18 @@ rustPlatform.buildRustPackage rec { pname = "selenium-manager"; - version = "4.22.0"; + version = "4.24.0"; src = fetchFromGitHub { owner = "SeleniumHQ"; repo = "selenium"; rev = "selenium-${version}"; - hash = "sha256-qBuZgI5SSBwxbSBrAT0W/HzzV2JmPL00hPJ6s57QTeg="; + hash = "sha256-AsQr9kGv2dxkiFzptDA0D27OXZjYj7oDKz2oEQ2qW7s="; }; sourceRoot = "${src.name}/rust"; - cargoHash = "sha256-1CPUOAfBfUeZt5S8t5SM3oyrNwXKHplhHG5idVy4YrE="; + cargoHash = "sha256-mirEeOi6CfKjb8ZuqardJeYy9EGnpsw5fkUw7umhkro="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration From f9c61918596e60ad1ab9f6d625c47543039bc527 Mon Sep 17 00:00:00 2001 From: Pavel Sobolev Date: Sat, 3 Aug 2024 22:42:00 +0300 Subject: [PATCH 042/491] python3Packages.selenium: 4.22.0 -> 4.24.0 --- .../python-modules/selenium/default.nix | 6 ++- .../dont-build-the-selenium-manager.patch | 37 +++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/python-modules/selenium/dont-build-the-selenium-manager.patch diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix index 9009d6bf3c4fe..6e4f62039c1af 100644 --- a/pkgs/development/python-modules/selenium/default.nix +++ b/pkgs/development/python-modules/selenium/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "selenium"; - version = "4.22.0"; + version = "4.24.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -29,9 +29,11 @@ buildPythonPackage rec { repo = "selenium"; # check if there is a newer tag with or without -python suffix rev = "refs/tags/selenium-${version}"; - hash = "sha256-qBuZgI5SSBwxbSBrAT0W/HzzV2JmPL00hPJ6s57QTeg="; + hash = "sha256-AsQr9kGv2dxkiFzptDA0D27OXZjYj7oDKz2oEQ2qW7s="; }; + patches = [ ./dont-build-the-selenium-manager.patch ]; + preConfigure = '' cd py ''; diff --git a/pkgs/development/python-modules/selenium/dont-build-the-selenium-manager.patch b/pkgs/development/python-modules/selenium/dont-build-the-selenium-manager.patch new file mode 100644 index 0000000000000..51db7aaf0e195 --- /dev/null +++ b/pkgs/development/python-modules/selenium/dont-build-the-selenium-manager.patch @@ -0,0 +1,37 @@ +From e52d75248a5d18bcf965591eb240a11a23147634 Mon Sep 17 00:00:00 2001 +From: Pavel Sobolev +Date: Sat, 3 Aug 2024 22:38:49 +0300 +Subject: [PATCH] Don't build the Selenium Manager. + +--- + py/setup.py | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/py/setup.py b/py/setup.py +index a71007f..fdda74e 100755 +--- a/py/setup.py ++++ b/py/setup.py +@@ -19,7 +19,6 @@ from distutils.command.install import INSTALL_SCHEMES + from os.path import dirname, join, abspath + from setuptools import setup + from setuptools.command.install import install +-from setuptools_rust import Binding, RustExtension + + + for scheme in INSTALL_SCHEMES.values(): +@@ -84,12 +83,6 @@ setup_args = { + "typing_extensions~=4.9", + "websocket-client~=1.8", + ], +- 'rust_extensions': [ +- RustExtension( +- {"selenium-manager": "selenium.webdriver.common.selenium-manager"}, +- binding=Binding.Exec +- ) +- ], + 'zip_safe': False + } + +-- +2.45.2 + From 9987b44d937d4169a3e4c0180912e7e99556f48b Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 1 Sep 2024 07:16:07 +0100 Subject: [PATCH 043/491] tcpdump: 4.99.4 -> 4.99.5 Changes: https://www.tcpdump.org/index.html#latest-releases --- pkgs/tools/networking/tcpdump/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index 996466901201d..b61f42eae308e 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "tcpdump"; - version = "4.99.4"; + version = "4.99.5"; src = fetchurl { url = "https://www.tcpdump.org/release/tcpdump-${version}.tar.gz"; - hash = "sha256-AjIjG7LynWvyQm5woIp+DGOg1ZqbRIY7f14jV6bkn+o="; + hash = "sha256-jHWFbgCt3urfcNrWfJ/z3TaFNrK4Vjq/aFTXx2TNOts="; }; postPatch = '' From 7cdaa0b80c9da64b2acb6cc8e8f73d2f4489aaeb Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 1 Sep 2024 22:06:00 +0200 Subject: [PATCH 044/491] protobuf: protobuf_25 -> protobuf_28 Bump default protobuf from 25.4 to 28.0, as well as the corresponding python package. Changelog: https://github.com/protocolbuffers/protobuf/releases/tag/v28.0 Diff: https://github.com/protocolbuffers/protobuf/compare/v25.4...v28.0 --- pkgs/development/libraries/protobuf/generic.nix | 6 ++---- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/python-packages.nix | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix index 71f8e90b774a2..7fcabb9f1836d 100644 --- a/pkgs/development/libraries/protobuf/generic.nix +++ b/pkgs/development/libraries/protobuf/generic.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "protocolbuffers"; repo = "protobuf"; - rev = "v${version}"; + rev = "refs/tags/v${version}"; inherit hash; }; @@ -89,9 +89,7 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { - pythonProtobuf = python3.pkgs.protobuf.override (_: { - protobuf = finalAttrs.finalPackage; - }); + pythonProtobuf = python3.pkgs.protobuf; inherit grpc; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce1cdfdeff141..9f43ea8d398c6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23147,7 +23147,7 @@ with pkgs; prospector = callPackage ../development/tools/prospector { }; - protobuf = protobuf_25; + protobuf = protobuf_28; inherit ({ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 079d58d61c12d..b5e3f377a07b8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10894,7 +10894,7 @@ self: super: with self; { protobuf5 = callPackage ../development/python-modules/protobuf/default.nix { }; # If a protobuf upgrade causes many Python packages to fail, please pin it here to the previous version. - protobuf = protobuf4; + protobuf = protobuf5; protobuf3-to-dict = callPackage ../development/python-modules/protobuf3-to-dict { }; From 7f39165cca05d34ac547b179a58f311d4f46440c Mon Sep 17 00:00:00 2001 From: Robert Rose Date: Wed, 28 Aug 2024 09:44:41 +0200 Subject: [PATCH 045/491] grpc: 1.62.1 -> 1.66.1 Diff: https://github.com/grpc/grpc/compare/v1.62.1...v1.66.1 Changelog: https://github.com/grpc/grpc/releases/tag/v1.66.1 --- pkgs/development/libraries/grpc/default.nix | 7 ++++--- .../libraries/grpc/dynamic-lookup-darwin.patch | 11 +++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/libraries/grpc/dynamic-lookup-darwin.patch diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 2110755a17197..831fbe6884ad9 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { pname = "grpc"; - version = "1.62.1"; # N.B: if you change this, please update: + version = "1.66.1"; # N.B: if you change this, please update: # pythonPackages.grpcio-tools # pythonPackages.grpcio-status @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { owner = "grpc"; repo = "grpc"; rev = "v${version}"; - hash = "sha256-L0bn6Bg36UKIRxznH9o4T7WXUqMwFjr8ybeQfbUi8xM="; + hash = "sha256-CmQUUbIYPWRS7q7OX+TmkTvoqtJAUEwhL/lev8JdB8U="; fetchSubmodules = true; }; @@ -40,7 +40,8 @@ stdenv.mkDerivation rec { url = "https://github.com/lopsided98/grpc/commit/a9b917666234f5665c347123d699055d8c2537b2.patch"; hash = "sha256-Lm0GQsz/UjBbXXEE14lT0dcRzVmCKycrlrdBJj+KLu8="; }) - ]; + # fix build of 1.63.0 and newer on darwin: https://github.com/grpc/grpc/issues/36654 + ] ++ (lib.optional stdenv.hostPlatform.isDarwin ./dynamic-lookup-darwin.patch); nativeBuildInputs = [ cmake pkg-config ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) grpc; diff --git a/pkgs/development/libraries/grpc/dynamic-lookup-darwin.patch b/pkgs/development/libraries/grpc/dynamic-lookup-darwin.patch new file mode 100644 index 0000000000000..d72ffcc721907 --- /dev/null +++ b/pkgs/development/libraries/grpc/dynamic-lookup-darwin.patch @@ -0,0 +1,11 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 053b9e3784..0979b504da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38083,3 +38083,6 @@ generate_pkgconfig( + "-lgrpcpp_otel_plugin" + "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib" + "grpcpp_otel_plugin.pc") ++ ++target_link_options(upb_textformat_lib PRIVATE -Wl,-undefined,dynamic_lookup) ++target_link_options(upb_json_lib PRIVATE -Wl,-undefined,dynamic_lookup) From c3a791bf5ea492b83b4b0ba0e89ea1166f2f78f8 Mon Sep 17 00:00:00 2001 From: Robert Rose Date: Wed, 28 Aug 2024 09:54:49 +0200 Subject: [PATCH 046/491] python3Packages.grpcio-status: 1.64.1 -> 1.66.1 --- pkgs/development/python-modules/grpcio-status/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/grpcio-status/default.nix b/pkgs/development/python-modules/grpcio-status/default.nix index 2486ba8aa7cda..e72822cbd68d8 100644 --- a/pkgs/development/python-modules/grpcio-status/default.nix +++ b/pkgs/development/python-modules/grpcio-status/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "grpcio-status"; - version = "1.64.1"; + version = "1.66.1"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "grpcio_status"; inherit version; - hash = "sha256-xQvRTrZQbYWApsVTvqRj18CEmbLA6T9tGGTF6Oq7EGY="; + hash = "sha256-s/fTTMxG2D/qUmHuo3hhdEWfdjwx9uNPHSTrptUV0CQ="; }; postPatch = '' From cf29a07f09f8bdb46198265a2a995cb750194b54 Mon Sep 17 00:00:00 2001 From: Robert Rose Date: Wed, 28 Aug 2024 09:55:28 +0200 Subject: [PATCH 047/491] python3Packages.grpcio-tools: 1.64.1 -> 1.66.1 --- pkgs/development/python-modules/grpcio-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix index 7d859b3af7cd5..cb7b6ba70f156 100644 --- a/pkgs/development/python-modules/grpcio-tools/default.nix +++ b/pkgs/development/python-modules/grpcio-tools/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "grpcio-tools"; - version = "1.64.1"; + version = "1.66.1"; format = "setuptools"; src = fetchPypi { pname = "grpcio_tools"; inherit version; - hash = "sha256-crNVC5GtuDVGVuzw9tHUYRKZBEuuEfsefMHRu2a4wes="; + hash = "sha256-UFX/6EDqj1BcMDeL4Cr7Tb7LM0gOVU3r4Qtj1rL2QcM="; }; postPatch = '' From a0eb45841d2b9fb312968a5a8f31be3c7e43c55e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Mancilla?= Date: Sun, 1 Sep 2024 21:11:17 -0400 Subject: [PATCH 048/491] zeromq: add passthru.tests --- pkgs/development/libraries/zeromq/4.x.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix index 3c3933e400c50..c5738c77a08aa 100644 --- a/pkgs/development/libraries/zeromq/4.x.nix +++ b/pkgs/development/libraries/zeromq/4.x.nix @@ -8,6 +8,13 @@ asciidoc, xmlto, enableDrafts ? false, + # for passthru.tests + azmq, + cppzmq, + czmq, + zmqpp, + ffmpeg, + python3, }: stdenv.mkDerivation (finalAttrs: { @@ -65,6 +72,17 @@ stdenv.mkDerivation (finalAttrs: { install -vDm644 -t "$out/share/man/man7" ../doc/*.7 ''; + passthru.tests = { + inherit + azmq + cppzmq + czmq + zmqpp + ; + pyzmq = python3.pkgs.pyzmq; + ffmpeg = ffmpeg.override { withZmq = true; }; + }; + meta = { branch = "4"; homepage = "http://www.zeromq.org"; From e597af558361ee4a917eb1ad4b2809204ca244f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Mancilla?= Date: Wed, 28 Aug 2024 19:43:53 -0400 Subject: [PATCH 049/491] zeromq: enable curve support --- pkgs/development/libraries/zeromq/4.x.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix index c5738c77a08aa..6801eddc178f0 100644 --- a/pkgs/development/libraries/zeromq/4.x.nix +++ b/pkgs/development/libraries/zeromq/4.x.nix @@ -40,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: { doCheck = false; # fails all the tests (ctest) cmakeFlags = [ + (lib.cmakeBool "WITH_LIBSODIUM" true) + (lib.cmakeBool "ENABLE_CURVE" true) (lib.cmakeBool "ENABLE_DRAFTS" enableDrafts) ]; From 187b315b0f640649efefdf52084b6c15cd0a45f2 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 1 Sep 2024 22:56:03 +0200 Subject: [PATCH 050/491] protobuf: add GaetanLepage as maintainer --- pkgs/development/libraries/protobuf/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix index 7fcabb9f1836d..075f0ac68173c 100644 --- a/pkgs/development/libraries/protobuf/generic.nix +++ b/pkgs/development/libraries/protobuf/generic.nix @@ -106,7 +106,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.bsd3; platforms = lib.platforms.all; homepage = "https://protobuf.dev/"; - maintainers = [ ]; + maintainers = with lib.maintainers; [ GaetanLepage ]; mainProgram = "protoc"; }; }) From 818996edf8d5a61e97ef37357a88d1c59a6ebeb5 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Sep 2024 10:31:37 +0200 Subject: [PATCH 051/491] libwacom,libwacom-surface: 2.12.2 -> 2.13.0 --- pkgs/by-name/li/libwacom/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/libwacom/package.nix b/pkgs/by-name/li/libwacom/package.nix index e8bf5c74f71da..50d2451e94299 100644 --- a/pkgs/by-name/li/libwacom/package.nix +++ b/pkgs/by-name/li/libwacom/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libwacom"; - version = "2.12.2"; + version = "2.13.0"; outputs = [ "out" @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "linuxwacom"; repo = "libwacom"; rev = "libwacom-${finalAttrs.version}"; - hash = "sha256-dxnXh+O/8q8ShsPbpqvaBPNQR6lJBphBolYTmcJEF/0="; + hash = "sha256-OJQe0GdndgpvW4aJdgSKWw+u3ng1pn3FgdcA81jfmkQ="; }; postPatch = '' From b26982f96ab46d8c9111dfa92f93868b3ae9ff20 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 2 Sep 2024 15:07:18 +0200 Subject: [PATCH 052/491] protobuf: add testVersion check --- pkgs/development/libraries/protobuf/generic.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix index 075f0ac68173c..75137ea599473 100644 --- a/pkgs/development/libraries/protobuf/generic.nix +++ b/pkgs/development/libraries/protobuf/generic.nix @@ -18,6 +18,8 @@ , grpc , enableShared ? !stdenv.hostPlatform.isStatic +, testers +, protobuf , ... }: @@ -91,6 +93,7 @@ stdenv.mkDerivation (finalAttrs: { tests = { pythonProtobuf = python3.pkgs.protobuf; inherit grpc; + version = testers.testVersion { package = protobuf; }; }; inherit abseil-cpp; From 391c332090fd49bee0d702c5ba3b25615b96d27a Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 2 Sep 2024 10:06:04 +0200 Subject: [PATCH 053/491] python311Packages.tensorflow: pin protobuf python to python311Packages.protobuf4 --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b5e3f377a07b8..508faf10c908d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15540,7 +15540,7 @@ self: super: with self; { ).override { protobuf = protobufTF; }; - protobuf-pythonTF = self.protobuf.override { + protobuf-pythonTF = self.protobuf4.override { protobuf = protobufTF; }; grpcioTF = self.grpcio.override { From 4c41bfc129701046b6929079860c4f3cc308d7aa Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 2 Sep 2024 11:03:56 +0200 Subject: [PATCH 054/491] or-tools: pin protobuf python to python312Packages.protobuf4 --- pkgs/development/libraries/science/math/or-tools/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix index cb4670204d112..8e7f2e26f7a3d 100644 --- a/pkgs/development/libraries/science/math/or-tools/default.nix +++ b/pkgs/development/libraries/science/math/or-tools/default.nix @@ -102,7 +102,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ abseil-cpp protobuf - (python.pkgs.protobuf.override { protobuf = protobuf; }) + (python.pkgs.protobuf4.override { protobuf = protobuf; }) python.pkgs.numpy ]; nativeCheckInputs = [ From 8f4eb776fbbf9b5ae48ef5c696d4cd5aee7a7e6f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 2 Sep 2024 12:45:51 +0200 Subject: [PATCH 055/491] ola: pin protobuf python to python312Packages.protobuf4 --- pkgs/applications/misc/ola/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/ola/default.nix b/pkgs/applications/misc/ola/default.nix index 8d4d4df4ef755..f58b418d52f06 100644 --- a/pkgs/applications/misc/ola/default.nix +++ b/pkgs/applications/misc/ola/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { python3 ]; propagatedBuildInputs = [ - (python3.pkgs.protobuf.override { protobuf = protobuf; }) + (python3.pkgs.protobuf4.override { protobuf = protobuf; }) python3.pkgs.numpy ]; From b64a75b72f87050fd986038d17af18ade92af688 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 15 Aug 2024 10:13:38 +0200 Subject: [PATCH 056/491] gst_all_1.gst-plugins-base: disable introspection if unavailable --- pkgs/development/libraries/gstreamer/base/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 3d55425190f6b..06ec7d629b3ca 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -19,6 +19,8 @@ , libvisual , tremor # provides 'virbisidec' , libGL +, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages +, buildPackages , gobject-introspection , enableX11 ? stdenv.isLinux , libXext @@ -73,6 +75,7 @@ stdenv.mkDerivation (finalAttrs: { orc glib gstreamer + ] ++ lib.optionals withIntrospection [ gobject-introspection ] ++ lib.optionals enableDocumentation [ hotdoc @@ -119,6 +122,7 @@ stdenv.mkDerivation (finalAttrs: { "-Dexamples=disabled" # requires many dependencies and probably not useful for our users # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices "-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}" + (lib.mesonEnable "introspection" withIntrospection) (lib.mesonEnable "doc" enableDocumentation) ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "-Dtests=disabled" From 611ad1cb6f46fa2e3358cc98d441ca524b030ba1 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Mon, 2 Sep 2024 15:35:59 +0200 Subject: [PATCH 057/491] nss_latest: 3.103 -> 3.104 https://github.com/nss-dev/nss/blob/NSS_3_104_BRANCH/doc/rst/releases/nss_3_104.rst --- pkgs/development/libraries/nss/latest.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nss/latest.nix b/pkgs/development/libraries/nss/latest.nix index 22eca6fec1098..b2d0402323742 100644 --- a/pkgs/development/libraries/nss/latest.nix +++ b/pkgs/development/libraries/nss/latest.nix @@ -5,6 +5,6 @@ # Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert import ./generic.nix { - version = "3.103"; - hash = "sha256-e57HN50lHT4+nkdZPyixpWFyTD0c+xZBk23BhmIumV8="; + version = "3.104"; + hash = "sha256-TEGEKocapU5OTqx69n8nrn/X3SZr49d1alHM73UnDJw="; } From 4fd0cbfb5bf2c664d5bf845cd125975dbafc0427 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Mon, 2 Sep 2024 15:36:53 +0200 Subject: [PATCH 058/491] cacert: 3.101.1 -> 3.104 https://github.com/nss-dev/nss/blob/NSS_3_104_BRANCH/doc/rst/releases/nss_3_104.rst --- pkgs/data/misc/cacert/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix index be45a9c464678..d98a50f34fe40 100644 --- a/pkgs/data/misc/cacert/default.nix +++ b/pkgs/data/misc/cacert/default.nix @@ -20,7 +20,7 @@ let blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist); extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings); - srcVersion = "3.101.1"; + srcVersion = "3.104"; version = if nssOverride != null then nssOverride.version else srcVersion; meta = with lib; { homepage = "https://curl.haxx.se/docs/caextract.html"; @@ -37,7 +37,7 @@ let owner = "nss-dev"; repo = "nss"; rev = "NSS_${lib.replaceStrings ["."] ["_"] version}_RTM"; - hash = "sha256-KcRiOUbdFnH618MFM6uxmRn+/Jn4QMHtv1BELXrCAX4="; + hash = "sha256-TEGEKocapU5OTqx69n8nrn/X3SZr49d1alHM73UnDJw="; }; dontBuild = true; From 2f7222d34d9bd99616cc4ab190475e31e59ff4db Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:49:17 +0100 Subject: [PATCH 059/491] gst_all_1.gstreamer: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index e8f873555d70b..746243f064448 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "gstreamer"; - version = "1.24.3"; + version = "1.24.7"; outputs = [ "bin" @@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { inherit (finalAttrs) pname version; in fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-EiXvSjKfrhytxexyfaskmtVn6AcoeUk1Yc65HtNKpBQ="; + hash = "sha256-wOdbEkxSu3oMPc23NLKtJg6nKGqHRc8upinUyEnmqVg="; }; depsBuildBuild = [ From 830fd9c48bf4a5fc00e8fbdf940730998c41d5af Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:49:27 +0100 Subject: [PATCH 060/491] gst_all_1.gst-plugins-base: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/base/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 06ec7d629b3ca..731ac039da62f 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "gst-plugins-base"; - version = "1.24.3"; + version = "1.24.7"; outputs = [ "out" "dev" ]; @@ -59,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: { inherit (finalAttrs) pname version; in fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-8QlDl+qnky8G5X67sHWqM6osduS3VjChawLI1K9Ggy4="; + hash = "sha256-FSjRdGo5Mpn1rBfr8ToypmAgLx4p0KhSoiUPagWaL9o="; }; strictDeps = true; From 4f18a0a9feae87fda6035b127579075608d9eadb Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:49:36 +0100 Subject: [PATCH 061/491] gst_all_1.gst-plugins-good: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/good/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 40c9cbc769c08..9dd9c6ed41e32 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -58,13 +58,13 @@ assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch32); stdenv.mkDerivation rec { pname = "gst-plugins-good"; - version = "1.24.3"; + version = "1.24.7"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-FQ+RTmHcBWALaLiMoQPHzCJxMBWOOJ6p6hWfQFCi67A="; + hash = "sha256-dZrLEebeg3P/jLteerjrmjhjG+gc8kIgJnsAHrVVk8E="; }; patches = [ From 376d22b787a4c0593d363fa0ab9488120809598a Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:49:46 +0100 Subject: [PATCH 062/491] gst_all_1.gst-plugins-bad: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/bad/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index bf27c6f25d7be..5935bd440e731 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -114,13 +114,13 @@ stdenv.mkDerivation rec { pname = "gst-plugins-bad"; - version = "1.24.3"; + version = "1.24.7"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-6Q8mx9ycdvSqWZt1jP1tjBDWoLnLJluiw8m984iFWPg="; + hash = "sha256-ddUT/AumNfsfOXhtiQtz+6xfS8iP858qn/YvS49CjyI="; }; patches = [ From 12eaa68d405a8bdedc1833d20dec9514492682cd Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:49:55 +0100 Subject: [PATCH 063/491] gst_all_1.gst-plugins-ugly: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/ugly/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index 6f8ac715af505..44efbffd22f7b 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -25,13 +25,13 @@ stdenv.mkDerivation rec { pname = "gst-plugins-ugly"; - version = "1.24.3"; + version = "1.24.7"; outputs = [ "out" "dev" ]; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-TJUTQcTGSGMLb+EjTsET2B3S0khSm/K1R44K0HfIDtM="; + hash = "sha256-PclU/FP+GIg2cDIqHCFePGUpA24KabMPZHgc1AwmhZM="; }; nativeBuildInputs = [ From d8e8d2560e1a870f3fae85eea5855728e66c1619 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:50:07 +0100 Subject: [PATCH 064/491] gst_all_1.gst-libav: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/libav/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix index 38a553ec8669a..06cd16b05c275 100644 --- a/pkgs/development/libraries/gstreamer/libav/default.nix +++ b/pkgs/development/libraries/gstreamer/libav/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "gst-libav"; - version = "1.24.3"; + version = "1.24.7"; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-2cWxUkaKRcH6g1FBBCIJCnGScHrXTS4aQ2f1JU4YjZE="; + hash = "sha256-w+QXm6GDwtMQHt+H/3DdB+cox2al/uNObs3tdspYAt8="; }; outputs = [ "out" "dev" ]; From e21f9ba00e7d37e74bf2a89bc0f4fa1799ae7c9d Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:50:17 +0100 Subject: [PATCH 065/491] gst_all_1.gst-vaapi: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/vaapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix index db154403ffb33..7430e9875e119 100644 --- a/pkgs/development/libraries/gstreamer/vaapi/default.nix +++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { pname = "gstreamer-vaapi"; - version = "1.24.3"; + version = "1.24.7"; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-hF8u/g3KjasjTd6PsJHaLNBqnSpoNCK1bctoiVT5Bw4="; + hash = "sha256-OqXtnX9LWny2DYsDcNmD1ZOV3lRu52cEQBGA/Q/V7oY="; }; outputs = [ From 3f2e9f2ee84030cce0e5a82524b0c59f5c336db6 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:50:25 +0100 Subject: [PATCH 066/491] gst_all_1.gst-rtsp-server: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/rtsp-server/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix index b6d2b6464e41e..58c9486d98554 100644 --- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix +++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "gst-rtsp-server"; - version = "1.24.3"; + version = "1.24.7"; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-YmKOzKeLj1tRxZpNYCxl6SBf/FDDyDzWH6sfY0i2NWU="; + hash = "sha256-2ceOXNC+rTC/XnSvgOQefVAGGUYX/b9EuIvibla76Pk="; }; outputs = [ From aa1c0501b91f2e93d332f56c71092bc1ffbe7f87 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:50:34 +0100 Subject: [PATCH 067/491] gst_all_1.gst-devtools: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/devtools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix index 1232224faa131..99991bbaca6fc 100644 --- a/pkgs/development/libraries/gstreamer/devtools/default.nix +++ b/pkgs/development/libraries/gstreamer/devtools/default.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { pname = "gst-devtools"; - version = "1.24.3"; + version = "1.24.7"; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-uREUov2Vj0Ks9EEYbofivsk1OO81qfgkgREZc2D/sjc="; + hash = "sha256-56p6I/pYfVjcWnu1Hvta159vKkxZh1ZMZvYztbvTixc="; }; outputs = [ From afacb0789d35e2ef591bf5e48b5164c6f704df28 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:50:44 +0100 Subject: [PATCH 068/491] gst_all_1.gst-editing-services: 1.24.3 -> 1.24.7 --- pkgs/development/libraries/gstreamer/ges/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix index 89830f3aed312..df6c944de8d73 100644 --- a/pkgs/development/libraries/gstreamer/ges/default.nix +++ b/pkgs/development/libraries/gstreamer/ges/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pname = "gst-editing-services"; - version = "1.24.3"; + version = "1.24.7"; outputs = [ "out" @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-z3QyFWiLATkFzSyff+3aIeLTTIRDQJkMbqJdEKA3KT8="; + hash = "sha256-sjzDEqI/q3F+S2A/ByvkIJhPucndIHfiBraqmxHfKdg="; }; nativeBuildInputs = [ From c129df75b68338d3b3b3b0892d5d78133ed850a4 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 16:50:54 +0100 Subject: [PATCH 069/491] python3Packages.gst-python: 1.24.3 -> 1.24.7 --- pkgs/development/python-modules/gst-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix index 27d4d0f869641..ab476729c66fa 100644 --- a/pkgs/development/python-modules/gst-python/default.nix +++ b/pkgs/development/python-modules/gst-python/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "gst-python"; - version = "1.24.3"; + version = "1.24.7"; format = "other"; @@ -26,7 +26,7 @@ buildPythonPackage rec { src = fetchurl { url = "https://gstreamer.freedesktop.org/src/gst-python/${pname}-${version}.tar.xz"; - hash = "sha256-7Ns+K6lOosgrk6jHFdWn4E+XJqiDjAprF2lJKP0ehZU="; + hash = "sha256-bD7gKyDICobiQkWwYQLa4A4BdobydAdib0TcA6w8pTo="; }; # Python 2.x is not supported. From 69b18ff3ea8b8df4b85b0ce58ff2ce26f0e38163 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 2 Sep 2024 19:41:24 +0100 Subject: [PATCH 070/491] gst_all_1.gst-plugins-bad: add patch for macOS < 12 SDK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This now references `kVTVideoDecoderReferenceMissingErr`, which was added in the macOS 12 SDK. Unfortunately, our 12.3 SDK doesn’t work to build this package currently. This should hopefully be fixed after the SDK rework. --- .../gstreamer/bad/darwin-old-sdk-fix.patch | 49 +++++++++++++++++++ .../libraries/gstreamer/bad/default.nix | 5 ++ 2 files changed, 54 insertions(+) create mode 100644 pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch diff --git a/pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch b/pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch new file mode 100644 index 0000000000000..b525eaa7d55b8 --- /dev/null +++ b/pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch @@ -0,0 +1,49 @@ +From 816f2ccad16413a4961a0001fc02d8874d4fde47 Mon Sep 17 00:00:00 2001 +From: Alessandro Bono +Date: Wed, 10 Jul 2024 15:33:34 +0200 +Subject: [PATCH] vtdec: Use kVTVideoDecoderReferenceMissingErr only when + defined + +The enum value is declared present since macOS 10.8+[1]. Howerver, +the compilation now fails with the 10.15 SDK: +``` +../sys/applemedia/vtdec.c:1219:12: error: use of undeclared identifier 'kVTVideoDecoderReferenceMissingErr'; did you mean 'kVTVideoDecoderMalfunctionErr'? + case kVTVideoDecoderReferenceMissingErr: + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + kVTVideoDecoderMalfunctionErr +/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h:40:2: note: 'kVTVideoDecoderMalfunctionErr' declared here + kVTVideoDecoderMalfunctionErr = -12911, // c.f. -8960 + ^ +1 error generated. +``` + +Put the enum usage under #ifdef. When missing, the behavior will be +the same as before commit a5c437c6430cdce603e46e09400beb4c5b9f5374. + +[1] https://developer.apple.com/documentation/videotoolbox/kvtvideodecoderreferencemissingerr?language=objc +--- + sys/applemedia/vtdec.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c +index 57fcbf9928a5..517c15365b52 100644 +--- a/sys/applemedia/vtdec.c ++++ b/sys/applemedia/vtdec.c +@@ -1216,12 +1216,14 @@ gst_vtdec_session_output_callback (void *decompression_output_ref_con, + + if (status != noErr) { + switch (status) { ++#ifdef kVTVideoDecoderReferenceMissingErr + case kVTVideoDecoderReferenceMissingErr: + /* ReferenceMissingErr is not critical, when it occurs the frame + * usually has the kVTDecodeInfo_FrameDropped flag set. Log only for debugging purposes. */ + GST_DEBUG_OBJECT (vtdec, "ReferenceMissingErr when decoding frame %d", + frame->decode_frame_number); + break; ++#endif + #ifndef HAVE_IOS + case codecBadDataErr: /* SW decoder on macOS uses a different code from the hardware one... */ + #endif +-- +GitLab + diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index 5935bd440e731..fff2fdd3cb08f 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -129,6 +129,11 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; inherit (addDriverRunpath) driverLink; }) + + # vtdec: Use kVTVideoDecoderReferenceMissingErr only when defined + # + # TODO: Remove this when the build with the newer SDK works. + ./darwin-old-sdk-fix.patch ]; nativeBuildInputs = [ From 21c0129841005c2887037d3e2468944cd92b977e Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 3 Sep 2024 04:14:28 +0800 Subject: [PATCH 071/491] treewide: handle prePhases __structuredAttrs-agnostically Always specify the prePhases attribute as a list instead of a string. Append elements to the prePhases Bash variable using appendToVar instead of string or Bash array concatenation. --- pkgs/applications/graphics/gimp/plugins/default.nix | 4 ++-- pkgs/build-support/release/debian-build.nix | 2 +- pkgs/build-support/setup-hooks/keep-build-tree.sh | 2 +- pkgs/build-support/setup-hooks/move-build-tree.sh | 2 +- pkgs/by-name/ha/hare/setup-hook.sh | 2 +- pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh | 2 +- pkgs/development/libraries/qt-5/hooks/qmake-hook.sh | 2 +- pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh | 2 +- pkgs/development/libraries/qt-6/hooks/qmake-hook.sh | 2 +- pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 667a1d505751a..5280a1ae719e3 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -17,7 +17,7 @@ let pluginDerivation = attrs: let name = attrs.name or "${attrs.pname}-${attrs.version}"; in stdenv.mkDerivation ({ - prePhases = "extraLib"; + prePhases = [ "extraLib" ]; extraLib = '' installScripts(){ mkdir -p $out/${gimp.targetScriptDir}/${name}; @@ -54,7 +54,7 @@ let }); scriptDerivation = {src, ...}@attrs : pluginDerivation ({ - prePhases = "extraLib"; + prePhases = [ "extraLib" ]; dontUnpack = true; installPhase = '' runHook preInstall diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix index ab84a504b54c6..e73b39c4e6b62 100644 --- a/pkgs/build-support/release/debian-build.nix +++ b/pkgs/build-support/release/debian-build.nix @@ -18,7 +18,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( prefix = "/usr"; - prePhases = "installExtraDebsPhase sysInfoPhase"; + prePhases = [ "installExtraDebsPhase" "sysInfoPhase" ]; } // removeAttrs args ["vmTools" "lib"] // diff --git a/pkgs/build-support/setup-hooks/keep-build-tree.sh b/pkgs/build-support/setup-hooks/keep-build-tree.sh index 754900bfc337a..653149bdf26fd 100644 --- a/pkgs/build-support/setup-hooks/keep-build-tree.sh +++ b/pkgs/build-support/setup-hooks/keep-build-tree.sh @@ -1,4 +1,4 @@ -prePhases+=" moveBuildDir" +appendToVar prePhases moveBuildDir moveBuildDir() { mkdir -p $out/.build diff --git a/pkgs/build-support/setup-hooks/move-build-tree.sh b/pkgs/build-support/setup-hooks/move-build-tree.sh index 2718070f39338..625f87965f39b 100644 --- a/pkgs/build-support/setup-hooks/move-build-tree.sh +++ b/pkgs/build-support/setup-hooks/move-build-tree.sh @@ -1,4 +1,4 @@ -prePhases+=" moveBuildDir" +appendToVar prePhases moveBuildDir moveBuildDir() { mkdir -p $out/.build diff --git a/pkgs/by-name/ha/hare/setup-hook.sh b/pkgs/by-name/ha/hare/setup-hook.sh index 3a427fd70328f..388ed9bcf25f4 100644 --- a/pkgs/by-name/ha/hare/setup-hook.sh +++ b/pkgs/by-name/ha/hare/setup-hook.sh @@ -18,7 +18,7 @@ echoCmd "HAREPATH" "$HAREPATH" echoCmd "hare" "$(command -v hare)" echoCmd "hare-native" "$(command -v hare-native)" ' -prePhases+=("hareSetStdlibPhase" "hareInfoPhase") +appendToVar prePhases hareSetStdlibPhase hareInfoPhase readonly hare_unconditional_flags="@hare_unconditional_flags@" case "${hareBuildType:-"release"}" in diff --git a/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh b/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh index cac55cb560175..512070df83fa7 100644 --- a/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh +++ b/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh @@ -73,6 +73,6 @@ configureNuget() { } if [[ -z ${dontConfigureNuget-} ]]; then - prePhases+=(createNugetDirs) + appendToVar prePhases createNugetDirs preConfigurePhases+=(configureNuget) fi diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh index f52de4e51df2e..855efb5e6c0fd 100644 --- a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh @@ -20,7 +20,7 @@ qmakePrePhase() { # do the stripping ourselves (needed for separateDebugInfo) prependToVar qmakeFlags "CONFIG+=nostrip" } -prePhases+=" qmakePrePhase" +appendToVar prePhases qmakePrePhase qmakeConfigurePhase() { runHook preConfigure diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh index 1b57d676e1fc5..8f1fe0e6c6ffd 100644 --- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh @@ -107,6 +107,6 @@ qtPreHook() { exit 1 fi } -prePhases+=" qtPreHook" +appendToVar prePhases qtPreHook fi diff --git a/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh index 84b2fb153d9f8..1f696be3e738c 100644 --- a/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh +++ b/pkgs/development/libraries/qt-6/hooks/qmake-hook.sh @@ -13,7 +13,7 @@ qmakePrePhase() { "NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?}" \ "NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?}" } -prePhases+=" qmakePrePhase" +appendToVar prePhases qmakePrePhase qmakeConfigurePhase() { runHook preConfigure diff --git a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh index 5006d6b65530c..15a824f1cb45c 100644 --- a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh @@ -81,7 +81,7 @@ else # Only set up Qt once. exit 1 fi } - prePhases+=" qtPreHook" + appendToVar prePhases qtPreHook addQtModulePrefix() { addToSearchPath QT_ADDITIONAL_PACKAGES_PREFIX_PATH $1 From 5d42a8b38c1ae022307a9eed02d655720bca7481 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 3 Sep 2024 04:14:28 +0800 Subject: [PATCH 072/491] treewide: handle preConfigurePhases __structuredAttrs-agnostically Always specify the preConfigurePhases attribute as a list instead of a string. Append elements to the preConfigurePhases Bash variable using appendToVar instead of string or Bash array concatenation. --- pkgs/build-support/coq/default.nix | 2 +- pkgs/build-support/release/source-tarball.nix | 2 +- pkgs/build-support/setup-hooks/autoreconf.sh | 2 +- .../setup-hooks/update-autotools-gnu-config-scripts.sh | 2 +- pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh | 2 +- pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh | 2 +- pkgs/development/libraries/liquidfun/default.nix | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/build-support/coq/default.nix b/pkgs/build-support/coq/default.nix index e55e22215daaf..cafd2421f21d5 100644 --- a/pkgs/build-support/coq/default.nix +++ b/pkgs/build-support/coq/default.nix @@ -146,7 +146,7 @@ stdenv.mkDerivation (removeAttrs ({ }) // (optionalAttrs (args?useMelquiondRemake) rec { COQUSERCONTRIB = "$out/lib/coq/${coq.coq-version}/user-contrib"; - preConfigurePhases = "autoconf"; + preConfigurePhases = [ "autoconf" ]; configureFlags = [ "--libdir=${COQUSERCONTRIB}/${useMelquiondRemake.logpath or ""}" ]; buildPhase = "./remake -j$NIX_BUILD_CORES"; installPhase = "./remake install"; diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix index fbc8bc6b258b6..3c88ca980ba0b 100644 --- a/pkgs/build-support/release/source-tarball.nix +++ b/pkgs/build-support/release/source-tarball.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation ( showBuildStats = true; - preConfigurePhases = "autoconfPhase"; + preConfigurePhases = [ "autoconfPhase" ]; postPhases = "finalPhase"; # Autoconfiscate the sources. diff --git a/pkgs/build-support/setup-hooks/autoreconf.sh b/pkgs/build-support/setup-hooks/autoreconf.sh index bb168aad4c51d..3d12a17b78c14 100644 --- a/pkgs/build-support/setup-hooks/autoreconf.sh +++ b/pkgs/build-support/setup-hooks/autoreconf.sh @@ -1,4 +1,4 @@ -preConfigurePhases="${preConfigurePhases:-} autoreconfPhase" +appendToVar preConfigurePhases autoreconfPhase autoreconfPhase() { runHook preAutoreconf diff --git a/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh b/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh index ebd3afa05d94b..0c5e1a81c7af1 100644 --- a/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh +++ b/pkgs/build-support/setup-hooks/update-autotools-gnu-config-scripts.sh @@ -1,4 +1,4 @@ -preConfigurePhases+=" updateAutotoolsGnuConfigScriptsPhase" +appendToVar preConfigurePhases updateAutotoolsGnuConfigScriptsPhase updateAutotoolsGnuConfigScriptsPhase() { if [ -n "${dontUpdateAutotoolsGnuConfigScripts-}" ]; then return; fi diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh b/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh index 05ddc6a172ff7..57a7a6c8995a9 100644 --- a/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh +++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh @@ -10,5 +10,5 @@ xdtAutogenPhase() { } if [ -z "${dontUseXdtAutogenPhase-}" ]; then - preConfigurePhases+=(xdtAutogenPhase) + appendToVar preConfigurePhases xdtAutogenPhase fi diff --git a/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh b/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh index 512070df83fa7..d635d16703364 100644 --- a/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh +++ b/pkgs/development/compilers/dotnet/dotnet-sdk-setup-hook.sh @@ -74,5 +74,5 @@ configureNuget() { if [[ -z ${dontConfigureNuget-} ]]; then appendToVar prePhases createNugetDirs - preConfigurePhases+=(configureNuget) + appendToVar preConfigurePhases configureNuget fi diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix index 6ab138016d19c..2e12f5903444c 100644 --- a/pkgs/development/libraries/liquidfun/default.nix +++ b/pkgs/development/libraries/liquidfun/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { sourceRoot = "liquidfun/Box2D"; - preConfigurePhases = "preConfigure"; + preConfigurePhases = [ "preConfigure" ]; preConfigure = '' sed -i Box2D/Common/b2Settings.h -e 's@b2_maxPolygonVertices .*@b2_maxPolygonVertices 15@' From 385d523a8e578dbd046b2345c8b034ddc164e12d Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 3 Sep 2024 04:14:28 +0800 Subject: [PATCH 073/491] treewide: handle preInstallPhases __structuredAttrs-agnostically Always specify the preInstallPhases attribute as a list instead of a string. Append elements to the preInstallPhases Bash variable using appendToVar instead of string or Bash array concatenation. --- pkgs/desktops/gnustep/make/setup-hook.sh | 2 +- .../interpreters/python/hooks/python-runtime-deps-check-hook.sh | 2 +- pkgs/development/libraries/glib/setup-hook.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnustep/make/setup-hook.sh b/pkgs/desktops/gnustep/make/setup-hook.sh index 0bfbd35f45f5b..202084cc671dc 100644 --- a/pkgs/desktops/gnustep/make/setup-hook.sh +++ b/pkgs/desktops/gnustep/make/setup-hook.sh @@ -18,7 +18,7 @@ addGnustepInstallFlags() { ) } -preInstallPhases+=" addGnustepInstallFlags" +appendToVar preInstallPhases addGnustepInstallFlags addGNUstepEnvVars() { local filename diff --git a/pkgs/development/interpreters/python/hooks/python-runtime-deps-check-hook.sh b/pkgs/development/interpreters/python/hooks/python-runtime-deps-check-hook.sh index 43a2f9b88745e..dc888262ea0d8 100644 --- a/pkgs/development/interpreters/python/hooks/python-runtime-deps-check-hook.sh +++ b/pkgs/development/interpreters/python/hooks/python-runtime-deps-check-hook.sh @@ -16,5 +16,5 @@ pythonRuntimeDepsCheckHook() { if [ -z "${dontCheckRuntimeDeps-}" ]; then echo "Using pythonRuntimeDepsCheckHook" - preInstallPhases+=" pythonRuntimeDepsCheckHook" + appendToVar preInstallPhases pythonRuntimeDepsCheckHook fi diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh index 8ead5510ec4f0..9eabf8a679a9b 100644 --- a/pkgs/development/libraries/glib/setup-hook.sh +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -12,7 +12,7 @@ addEnvHooks "$targetOffset" make_glib_find_gsettings_schemas glibPreInstallPhase() { makeFlagsArray+=("gsettingsschemadir=${!outputLib}/share/gsettings-schemas/$name/glib-2.0/schemas/") } -preInstallPhases+=" glibPreInstallPhase" +appendToVar preInstallPhases glibPreInstallPhase glibPreFixupPhase() { # Move gschemas in case the install flag didn't help From 054c5f0e106d8a0169582fed4c1b2ba86647f73d Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 3 Sep 2024 04:14:28 +0800 Subject: [PATCH 074/491] treewide: handle preDistPhases __structuredAttrs-agnostically Always specify the preDistPhases attribute as a list instead of a string. Append elements to the preDistPhases Bash variable using appendToVar instead of string or Bash array concatenation. Handle element insertion before a specific element using string substitution as before, but handle both structured and unstructured attributes. --- .../vim/plugins/neovim-require-check-hook.sh | 2 +- .../editors/vim/plugins/vim-command-check-hook.sh | 2 +- pkgs/build-support/make-darwin-bundle/default.nix | 2 +- .../octave-write-required-octave-packages-hook.sh | 2 +- .../hooks/write-required-octave-packages-hook.sh | 2 +- .../python/hooks/pytest-check-hook.sh | 2 +- .../python/hooks/python-catch-conflicts-hook.sh | 2 +- .../python/hooks/python-imports-check-hook.sh | 2 +- .../hooks/python-remove-bin-bytecode-hook.sh | 2 +- .../interpreters/python/hooks/sphinx-hook.sh | 2 +- .../python/hooks/unittest-check-hook.sh | 2 +- .../python-modules/pytest-forked/setup-hook.sh | 15 +++++++++++---- .../python-modules/pytest-xdist/setup-hook.sh | 15 +++++++++++---- pkgs/development/python-modules/pytest/7.nix | 4 ++-- .../development/python-modules/pytest/default.nix | 4 ++-- .../python2-modules/pytest/default.nix | 4 ++-- .../manifest-requirements-check-hook.sh | 2 +- 17 files changed, 40 insertions(+), 26 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh index 0c6a0010845d7..e901e4fd27742 100644 --- a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh +++ b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh @@ -16,6 +16,6 @@ neovimRequireCheckHook () { } echo "Using neovimRequireCheckHook" -preDistPhases+=" neovimRequireCheckHook" +appendToVar preDistPhases neovimRequireCheckHook diff --git a/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh b/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh index c4ddd8e0c5af7..402910fd0cbde 100644 --- a/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh +++ b/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh @@ -21,5 +21,5 @@ vimCommandCheckHook () { } echo "Using vimCommandCheckHook" -preDistPhases+=" vimCommandCheckHook" +appendToVar preDistPhases vimCommandCheckHook diff --git a/pkgs/build-support/make-darwin-bundle/default.nix b/pkgs/build-support/make-darwin-bundle/default.nix index 52dd54b0b2c4d..a80ebf8fac9e6 100644 --- a/pkgs/build-support/make-darwin-bundle/default.nix +++ b/pkgs/build-support/make-darwin-bundle/default.nix @@ -22,5 +22,5 @@ writeShellScript "make-darwin-bundle-${name}" ('' ${writeDarwinBundle}/bin/write-darwin-bundle "''${!outputBin}" "${name}" "${exec}" } - preDistPhases+=" makeDarwinBundlePhase" + appendToVar preDistPhases makeDarwinBundlePhase '') diff --git a/pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh b/pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh index 64e87d68246f1..fb808485a36ab 100644 --- a/pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh +++ b/pkgs/development/interpreters/octave/hooks/octave-write-required-octave-packages-hook.sh @@ -13,5 +13,5 @@ octaveWriteRequiredOctavePackagesPhase() { # Yes its a bit long... if [ -z "${dontWriteRequiredOctavePackagesPhase-}" ]; then echo "Using octaveWriteRequiredOctavePackagesPhase" - preDistPhases+=" octaveWriteRequiredOctavePackagesPhase" + appendToVar preDistPhases octaveWriteRequiredOctavePackagesPhase fi diff --git a/pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh b/pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh index 032ea398ac568..6c5de6e4fc4fc 100644 --- a/pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh +++ b/pkgs/development/interpreters/octave/hooks/write-required-octave-packages-hook.sh @@ -13,5 +13,5 @@ writeRequiredOctavePackagesPhase() { # Yes its a bit long... if [ -z "${dontWriteRequiredOctavePackagesPhase-}" ]; then echo "Using writeRequiredOctavePackagesPhase" - preDistPhases+=" writeRequiredOctavePackagesPhase" + appendToVar preDistPhases writeRequiredOctavePackagesPhase fi diff --git a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh index 06694e79e4928..a9e82674c5f89 100644 --- a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh +++ b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh @@ -58,5 +58,5 @@ function pytestCheckPhase() { if [ -z "${dontUsePytestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then echo "Using pytestCheckPhase" - preDistPhases+=" pytestCheckPhase" + appendToVar preDistPhases pytestCheckPhase fi diff --git a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh index 0abcad3c42f23..6ba3d7f65cb40 100644 --- a/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh +++ b/pkgs/development/interpreters/python/hooks/python-catch-conflicts-hook.sh @@ -6,5 +6,5 @@ pythonCatchConflictsPhase() { } if [ -z "${dontUsePythonCatchConflicts-}" ]; then - preDistPhases+=" pythonCatchConflictsPhase" + appendToVar preDistPhases pythonCatchConflictsPhase fi diff --git a/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh b/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh index b65d6e745247e..f4ef271ac1b22 100644 --- a/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh +++ b/pkgs/development/interpreters/python/hooks/python-imports-check-hook.sh @@ -18,5 +18,5 @@ pythonImportsCheckPhase () { if [ -z "${dontUsePythonImportsCheck-}" ]; then echo "Using pythonImportsCheckPhase" - preDistPhases+=" pythonImportsCheckPhase" + appendToVar preDistPhases pythonImportsCheckPhase fi diff --git a/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh b/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh index 1180694294dbe..d67c0c5573536 100644 --- a/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh +++ b/pkgs/development/interpreters/python/hooks/python-remove-bin-bytecode-hook.sh @@ -13,5 +13,5 @@ pythonRemoveBinBytecodePhase () { } if [ -z "${dontUsePythonRemoveBinBytecode-}" ]; then - preDistPhases+=" pythonRemoveBinBytecodePhase" + appendToVar preDistPhases pythonRemoveBinBytecodePhase fi diff --git a/pkgs/development/interpreters/python/hooks/sphinx-hook.sh b/pkgs/development/interpreters/python/hooks/sphinx-hook.sh index 0307e83d94799..0f32a6ec0e824 100644 --- a/pkgs/development/interpreters/python/hooks/sphinx-hook.sh +++ b/pkgs/development/interpreters/python/hooks/sphinx-hook.sh @@ -69,4 +69,4 @@ installSphinxPhase() { runHook postInstallSphinx } -preDistPhases+=" buildSphinxPhase installSphinxPhase" +appendToVar preDistPhases buildSphinxPhase installSphinxPhase diff --git a/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh b/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh index f4bd34747730e..64ecb13cbc718 100644 --- a/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh +++ b/pkgs/development/interpreters/python/hooks/unittest-check-hook.sh @@ -13,5 +13,5 @@ unittestCheckPhase() { if [ -z "${dontUseUnittestCheck-}" ] && [ -z "${installCheckPhase-}" ]; then echo "Using unittestCheckPhase" - preDistPhases+=" unittestCheckPhase" + appendToVar preDistPhases unittestCheckPhase fi diff --git a/pkgs/development/python-modules/pytest-forked/setup-hook.sh b/pkgs/development/python-modules/pytest-forked/setup-hook.sh index e613feadf8346..0eff690e9079e 100644 --- a/pkgs/development/python-modules/pytest-forked/setup-hook.sh +++ b/pkgs/development/python-modules/pytest-forked/setup-hook.sh @@ -16,10 +16,17 @@ pytestForkedHook() { # until we have dependency mechanism in generic builder, we need to use this ugly hack. if [ -z "${dontUsePytestForked-}" ] && [ -z "${dontUsePytestCheck-}" ]; then - if [[ " ${preDistPhases:-} " =~ " pytestCheckPhase " ]]; then - preDistPhases+=" " - preDistPhases="${preDistPhases/ pytestCheckPhase / pytestForkedHook pytestCheckPhase }" + if [[ " ${preDistPhases[*]:-} " =~ " pytestCheckPhase " ]]; then + _preDistPhases="${preDistPhases[*]} " + _preDistPhases="${_preDistPhases/ pytestCheckPhase / pytestForkedHook pytestCheckPhase }" + if [[ -n "${__structuredAttrs-}" ]]; then + preDistPhases=() + else + preDistPhases="" + fi + appendToVar preDistPhases $_preDistPhases + unset _preDistPhases else - preDistPhases+=" pytestForkedHook" + appendToVar preDistPhases pytestForkedHook fi fi diff --git a/pkgs/development/python-modules/pytest-xdist/setup-hook.sh b/pkgs/development/python-modules/pytest-xdist/setup-hook.sh index 4c6473cea64dc..9819e0d3ec7d2 100644 --- a/pkgs/development/python-modules/pytest-xdist/setup-hook.sh +++ b/pkgs/development/python-modules/pytest-xdist/setup-hook.sh @@ -8,10 +8,17 @@ pytestXdistHook() { # until we have dependency mechanism in generic builder, we need to use this ugly hack. if [ -z "${dontUsePytestXdist-}" ] && [ -z "${dontUsePytestCheck-}" ]; then - if [[ " ${preDistPhases:-} " =~ " pytestCheckPhase " ]]; then - preDistPhases+=" " - preDistPhases="${preDistPhases/ pytestCheckPhase / pytestXdistHook pytestCheckPhase }" + if [[ " ${preDistPhases[*]:-} " =~ " pytestCheckPhase " ]]; then + _preDistPhases="${preDistPhases[*]} " + _preDistPhases="${_preDistPhases/ pytestCheckPhase / pytestXdistHook pytestCheckPhase }" + if [[ -n "${__structuredAttrs-}" ]]; then + preDistPhases=() + else + preDistPhases="" + fi + appendToVar preDistPhases $_preDistPhases + unset _preDistPhases else - preDistPhases+=" pytestXdistHook" + appendToVar preDistPhases pytestXdistHook fi fi diff --git a/pkgs/development/python-modules/pytest/7.nix b/pkgs/development/python-modules/pytest/7.nix index 8ca33b158e5ce..3468bc73c0988 100644 --- a/pkgs/development/python-modules/pytest/7.nix +++ b/pkgs/development/python-modules/pytest/7.nix @@ -87,7 +87,7 @@ let pytestcachePhase() { find $out -name .pytest_cache -type d -exec rm -rf {} + } - preDistPhases+=" pytestcachePhase" + appendToVar preDistPhases pytestcachePhase # pytest generates it's own bytecode files to improve assertion messages. # These files similar to cpython's bytecode files but are never laoded @@ -100,7 +100,7 @@ let # https://github.com/pytest-dev/pytest/blob/7.2.1/src/_pytest/assertion/rewrite.py#L51-L53 find $out -name "*-pytest-*.py[co]" -delete } - preDistPhases+=" pytestRemoveBytecodePhase" + appendToVar preDistPhases pytestRemoveBytecodePhase ''; pythonImportsCheck = [ "pytest" ]; diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index fc5ca9c2a37b8..1dcc23658394b 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -84,7 +84,7 @@ buildPythonPackage rec { pytestcachePhase() { find $out -name .pytest_cache -type d -exec rm -rf {} + } - preDistPhases+=" pytestcachePhase" + appendToVar preDistPhases pytestcachePhase # pytest generates it's own bytecode files to improve assertion messages. # These files similar to cpython's bytecode files but are never laoded @@ -97,7 +97,7 @@ buildPythonPackage rec { # https://github.com/pytest-dev/pytest/blob/7.2.1/src/_pytest/assertion/rewrite.py#L51-L53 find $out -name "*-pytest-*.py[co]" -delete } - preDistPhases+=" pytestRemoveBytecodePhase" + appendToVar preDistPhases pytestRemoveBytecodePhase ''; pythonImportsCheck = [ "pytest" ]; diff --git a/pkgs/development/python2-modules/pytest/default.nix b/pkgs/development/python2-modules/pytest/default.nix index 0edfd3039112d..fa086eb46c7c8 100644 --- a/pkgs/development/python2-modules/pytest/default.nix +++ b/pkgs/development/python2-modules/pytest/default.nix @@ -42,7 +42,7 @@ buildPythonPackage rec { find $out -name .pytest_cache -type d -exec rm -rf {} + } - preDistPhases+=" pytestcachePhase" + appendToVar preDistPhases pytestcachePhase # pytest generates it's own bytecode files to improve assertion messages. # These files similar to cpython's bytecode files but are never laoded @@ -55,7 +55,7 @@ buildPythonPackage rec { # https://github.com/pytest-dev/pytest/blob/4.6.11/src/_pytest/assertion/rewrite.py#L32-L47 find $out -name "*-PYTEST.py[co]" -delete } - preDistPhases+=" pytestRemoveBytecodePhase" + appendToVar preDistPhases pytestRemoveBytecodePhase ''; meta = with lib; { diff --git a/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.sh b/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.sh index 74f29ca399ed0..1fb366d13b437 100644 --- a/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.sh +++ b/pkgs/servers/home-assistant/build-custom-component/manifest-requirements-check-hook.sh @@ -21,5 +21,5 @@ function manifestCheckPhase() { if [ -z "${dontCheckManifest-}" ] && [ -z "${installCheckPhase-}" ]; then echo "Using manifestCheckPhase" - preDistPhases+=" manifestCheckPhase" + appendToVar preDistPhases manifestCheckPhase fi From 758056dac763e5368470673ae63c6fa637ba93d1 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 3 Sep 2024 04:14:28 +0800 Subject: [PATCH 075/491] treewide: handle postPhases __structuredAttrs-agnostically Always specify the postPhases attribute as a list instead of a string. Append elements to the postPhases Bash variable using appendToVar instead of string or Bash array concatenation. --- pkgs/build-support/release/binary-tarball.nix | 2 +- pkgs/build-support/release/source-tarball.nix | 2 +- .../setup-hooks/enable-coverage-instrumentation.sh | 2 +- pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh | 2 +- pkgs/build-support/setup-hooks/move-build-tree.sh | 2 +- .../interpreters/python/hooks/python-recompile-bytecode-hook.sh | 2 +- pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh | 2 +- pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/build-support/release/binary-tarball.nix b/pkgs/build-support/release/binary-tarball.nix index 37c5f8c7ee86d..aeaa8edb52beb 100644 --- a/pkgs/build-support/release/binary-tarball.nix +++ b/pkgs/build-support/release/binary-tarball.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation ( prefix = "/usr/local"; - postPhases = "finalPhase"; + postPhases = [ "finalPhase" ]; } // args // diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix index 3c88ca980ba0b..4effd63f740bb 100644 --- a/pkgs/build-support/release/source-tarball.nix +++ b/pkgs/build-support/release/source-tarball.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation ( showBuildStats = true; preConfigurePhases = [ "autoconfPhase" ]; - postPhases = "finalPhase"; + postPhases = [ "finalPhase" ]; # Autoconfiscate the sources. autoconfPhase = '' diff --git a/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh index 2b48fea4ff0bf..61e9ed5705f47 100644 --- a/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh +++ b/pkgs/build-support/setup-hooks/enable-coverage-instrumentation.sh @@ -1,4 +1,4 @@ -postPhases+=" cleanupBuildDir" +appendToVar postPhases cleanupBuildDir # Force GCC to build with coverage instrumentation. Also disable # optimisation, since it may confuse things. diff --git a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh index 9108b4c50355c..d6a03019dc51a 100644 --- a/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh +++ b/pkgs/build-support/setup-hooks/make-coverage-analysis-report.sh @@ -1,4 +1,4 @@ -postPhases+=" coverageReportPhase" +appendToVar postPhases coverageReportPhase coverageReportPhase() { lcov --directory . --capture --output-file app.info diff --git a/pkgs/build-support/setup-hooks/move-build-tree.sh b/pkgs/build-support/setup-hooks/move-build-tree.sh index 625f87965f39b..29495e1d9f298 100644 --- a/pkgs/build-support/setup-hooks/move-build-tree.sh +++ b/pkgs/build-support/setup-hooks/move-build-tree.sh @@ -5,7 +5,7 @@ moveBuildDir() { cd $out/.build } -postPhases+=" removeBuildDir" +appendToVar postPhases removeBuildDir removeBuildDir() { rm -rf $out/.build diff --git a/pkgs/development/interpreters/python/hooks/python-recompile-bytecode-hook.sh b/pkgs/development/interpreters/python/hooks/python-recompile-bytecode-hook.sh index 649d0c17ea0c8..7ac8c2d5cc72e 100644 --- a/pkgs/development/interpreters/python/hooks/python-recompile-bytecode-hook.sh +++ b/pkgs/development/interpreters/python/hooks/python-recompile-bytecode-hook.sh @@ -20,5 +20,5 @@ pythonRecompileBytecodePhase () { } if [ -z "${dontUsePythonRecompileBytecode-}" ]; then - postPhases+=" pythonRecompileBytecodePhase" + appendToVar postPhases pythonRecompileBytecodePhase fi diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh index 8f1fe0e6c6ffd..1b189d24d9eef 100644 --- a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh @@ -97,7 +97,7 @@ postPatchMkspecs() { fi } if [ -z "${dontPatchMkspecs-}" ]; then - postPhases="${postPhases-}${postPhases:+ }postPatchMkspecs" + appendToVar postPhases postPatchMkspecs fi qtPreHook() { diff --git a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh index 15a824f1cb45c..1ccfbd0cba383 100644 --- a/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh +++ b/pkgs/development/libraries/qt-6/hooks/qtbase-setup-hook.sh @@ -71,7 +71,7 @@ else # Only set up Qt once. fi } if [ -z "${dontPatchMkspecs-}" ]; then - postPhases="${postPhases-}${postPhases:+ }postPatchMkspecs" + appendToVar postPhases postPatchMkspecs fi qtPreHook() { From 5ec4f676b47936aa3ccf7122ead2002ab67a5008 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Tue, 3 Sep 2024 05:52:40 +0800 Subject: [PATCH 076/491] doc/stdenv: document the format of *Phases Require the elements of *Phases not to contain spaces. Require the *Phases attribute to be specified as Nix Language lists. --- doc/stdenv/stdenv.chapter.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index 35330305f1891..2ef71687b2c69 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -518,8 +518,10 @@ There are a number of variables that control what phases are executed and in wha Specifies the phases. You can change the order in which phases are executed, or add new phases, by setting this variable. If it’s not set, the default value is used, which is `$prePhases unpackPhase patchPhase $preConfigurePhases configurePhase $preBuildPhases buildPhase checkPhase $preInstallPhases installPhase fixupPhase installCheckPhase $preDistPhases distPhase $postPhases`. +The elements of `phases` must not contain spaces. If `phases` is specified as a Nix Language attribute, it should be specified as lists instead of strings. The same rules apply to the `*Phases` variables. + It is discouraged to set this variable, as it is easy to miss some important functionality hidden in some of the less obviously needed phases (like `fixupPhase` which patches the shebang of scripts). -Usually, if you just want to add a few phases, it’s more convenient to set one of the variables below (such as `preInstallPhases`). +Usually, if you just want to add a few phases, it’s more convenient to set one of the `*Phases` variables below. ##### `prePhases` {#var-stdenv-prePhases} From 4776a9cb746c7ad81f1cd9e97030351793ee2917 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 3 Sep 2024 06:46:21 +0100 Subject: [PATCH 077/491] xterm: 393 -> 394 Changes: https://invisible-island.net/xterm/xterm.log.html#xterm_394 --- pkgs/applications/terminal-emulators/xterm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix index 79c069838ba85..41f3b5bd8b3f2 100644 --- a/pkgs/applications/terminal-emulators/xterm/default.nix +++ b/pkgs/applications/terminal-emulators/xterm/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "393"; + version = "394"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - hash = "sha256-3Dq/Uz1mrj20nmeDsOHinw5NBFtLPax5el6Tvic17Hs="; + hash = "sha256-oqDLIG6wQj3tw0eU9cLTjIM5DS3REGtmq6CWDDqXbHo="; }; patches = [ ./sixel-256.support.patch ]; From dc629a75abe995ff0734bcbe769755cb7985bfd6 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 3 Sep 2024 06:51:12 +0100 Subject: [PATCH 078/491] libpcap: 1.10.4 -> 1.10.5 Changes: https://git.tcpdump.org/libpcap/blob/HEAD:/CHANGES --- pkgs/development/libraries/libpcap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index 7256e49226057..6810671dd7b1c 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { pname = "libpcap"; - version = "1.10.4"; + version = "1.10.5"; src = fetchurl { url = "https://www.tcpdump.org/release/${pname}-${version}.tar.gz"; - hash = "sha256-7RmgOD+tcuOtQ1/SOdfNgNZJFrhyaVUBWdIORxYOvl8="; + hash = "sha256-N87ZChmjAqfzLkWCJKAMNlwReQXCzTWsVEtogKgUiPA="; }; buildInputs = lib.optionals stdenv.isLinux [ libnl ] From e4bf5a79e903aeba8b25db6deb31af52aca14b84 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 3 Sep 2024 06:57:59 +0100 Subject: [PATCH 079/491] ell: 0.67 -> 0.68, iwd: 2.19 -> 2.20 Changes: - https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ChangeLog?h=0.68 - https://git.kernel.org/pub/scm/network/wireless/iwd.git/tree/ChangeLog?h=2.20 --- pkgs/os-specific/linux/ell/default.nix | 4 ++-- pkgs/os-specific/linux/iwd/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix index 6514937463619..e5ae448284ebb 100644 --- a/pkgs/os-specific/linux/ell/default.nix +++ b/pkgs/os-specific/linux/ell/default.nix @@ -9,14 +9,14 @@ stdenv.mkDerivation rec { pname = "ell"; - version = "0.67"; + version = "0.68"; outputs = [ "out" "dev" ]; src = fetchgit { url = "https://git.kernel.org/pub/scm/libs/ell/ell.git"; rev = version; - hash = "sha256-PIxPhKqsxybkLQerkQ15kTRh0oW812lWbCGEig11KQk="; + hash = "sha256-1T2VL/7vSIVVmJQ3n3+swFE/faUTT3mHaskdi/TUJFY="; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index f19c73f7bfc5d..bc75892e37caa 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -13,12 +13,12 @@ stdenv.mkDerivation rec { pname = "iwd"; - version = "2.19"; + version = "2.20"; src = fetchgit { url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git"; rev = version; - hash = "sha256-LIzcV8OvtHItMpgFVHDQhUisD3kaMPMESd3cgOaIu/8="; + hash = "sha256-jKYF4wW/wKyOMrgxxU7AU0XN677X1vVjrPgjnX/gOqc="; }; outputs = [ "out" "man" "doc" ] From b174220283d1011e40b360db043154f9de8d7bda Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Tue, 3 Sep 2024 12:00:00 +0000 Subject: [PATCH 080/491] python3Packages.sphinxcontrib-jquery: fix build with doCheck=false for example when cross compiling --- .../python-modules/sphinxcontrib-jquery/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/sphinxcontrib-jquery/default.nix b/pkgs/development/python-modules/sphinxcontrib-jquery/default.nix index 66047794eceaf..afc005af66ef0 100644 --- a/pkgs/development/python-modules/sphinxcontrib-jquery/default.nix +++ b/pkgs/development/python-modules/sphinxcontrib-jquery/default.nix @@ -39,10 +39,13 @@ buildPythonPackage rec { pythonImportsCheck = [ "sphinxcontrib.jquery" ]; + dependencies = [ + sphinx + ]; + nativeCheckInputs = [ defusedxml pytestCheckHook - sphinx ]; pythonNamespaces = [ "sphinxcontrib" ]; From 0852f8eb8481cfa310a131017a0e73f2333c8bba Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 15 Aug 2024 11:05:15 +0200 Subject: [PATCH 081/491] rustc: expose platform lists Previously, it wasn't possible to access the list of platforms we can build Rust programs for outside of buildRustPackage. This was a problem for packages that have optional Rust components, like gstreamer or Meson, as there was no way to only build the Rust parts for supported platforms. Now it's possible to get that information from rustc's passthru. --- .../rust/build-rust-package/default.nix | 17 ++-------- .../rust/rustc-wrapper/default.nix | 4 ++- pkgs/development/compilers/rust/binary.nix | 31 +++++++++++++++++++ pkgs/development/compilers/rust/rustc.nix | 19 +++--------- 4 files changed, 41 insertions(+), 30 deletions(-) diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index 40b7a61812328..d2f90be8240c6 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -151,23 +151,10 @@ stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "carg strictDeps = true; meta = meta // { - badPlatforms = meta.badPlatforms or [] ++ [ - # Rust is currently unable to target the n32 ABI - lib.systems.inspect.patterns.isMips64n32 - ]; - } // lib.optionalAttrs (rustc.meta ? platforms) { + badPlatforms = meta.badPlatforms or [] ++ rustc.badTargetPlatforms; # default to Rust's platforms platforms = lib.intersectLists meta.platforms or lib.platforms.all - (rustc.meta.platforms ++ [ - # Platforms without host tools from - # https://doc.rust-lang.org/nightly/rustc/platform-support.html - "armv7a-darwin" - "armv5tel-linux" "armv7a-linux" "m68k-linux" "mips-linux" - "mips64-linux" "mipsel-linux" "mips64el-linux" "riscv32-linux" - "armv6l-netbsd" "mipsel-netbsd" "riscv64-netbsd" - "x86_64-redox" - "wasm32-wasi" - ]); + rustc.targetPlatforms; }; }) diff --git a/pkgs/build-support/rust/rustc-wrapper/default.nix b/pkgs/build-support/rust/rustc-wrapper/default.nix index 0defa63550293..0b16740ae5bbf 100644 --- a/pkgs/build-support/rust/rustc-wrapper/default.nix +++ b/pkgs/build-support/rust/rustc-wrapper/default.nix @@ -30,7 +30,9 @@ runCommand "${rustc-unwrapped.pname}-wrapper-${rustc-unwrapped.version}" { }; passthru = { - inherit (rustc-unwrapped) pname version src llvm llvmPackages; + inherit (rustc-unwrapped) + pname version src llvm llvmPackages + tier1TargetPlatforms targetPlatforms badTargetPlatforms; unwrapped = rustc-unwrapped; }; diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix index 10e944515df76..f972a932f3088 100644 --- a/pkgs/development/compilers/rust/binary.nix +++ b/pkgs/development/compilers/rust/binary.nix @@ -61,6 +61,37 @@ rec { dontStrip = true; setupHooks = ./setup-hook.sh; + + passthru = rec { + tier1TargetPlatforms = [ + # Platforms with host tools from + # https://doc.rust-lang.org/nightly/rustc/platform-support.html + "x86_64-darwin" "i686-darwin" "aarch64-darwin" + "i686-freebsd" "x86_64-freebsd" + "x86_64-solaris" + "aarch64-linux" "armv6l-linux" "armv7l-linux" "i686-linux" + "loongarch64-linux" "powerpc64-linux" "powerpc64le-linux" + "riscv64-linux" "s390x-linux" "x86_64-linux" + "aarch64-netbsd" "armv7l-netbsd" "i686-netbsd" "powerpc-netbsd" + "x86_64-netbsd" + "i686-openbsd" "x86_64-openbsd" + "i686-windows" "x86_64-windows" + ]; + targetPlatforms = tier1TargetPlatforms ++ [ + # Platforms without host tools from + # https://doc.rust-lang.org/nightly/rustc/platform-support.html + "armv7a-darwin" + "armv5tel-linux" "armv7a-linux" "m68k-linux" "mips-linux" + "mips64-linux" "mipsel-linux" "mips64el-linux" "riscv32-linux" + "armv6l-netbsd" "mipsel-netbsd" "riscv64-netbsd" + "x86_64-redox" + "wasm32-wasi" + ]; + badTargetPlatforms = [ + # Rust is currently unable to target the n32 ABI + lib.systems.inspect.patterns.isMips64n32 + ]; + }; }; rustc = wrapRustc rustc-unwrapped; diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 509f255fda782..9fcc2ca923fb8 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -303,6 +303,7 @@ in stdenv.mkDerivation (finalAttrs: { passthru = { llvm = llvmShared; inherit llvmPackages; + inherit (rustc) tier1TargetPlatforms targetPlatforms badTargetPlatforms; tests = { inherit fd ripgrep wezterm; } // lib.optionalAttrs stdenv.hostPlatform.isLinux { inherit firefox thunderbird; }; @@ -313,19 +314,9 @@ in stdenv.mkDerivation (finalAttrs: { description = "Safe, concurrent, practical language"; maintainers = with maintainers; [ havvy ] ++ teams.rust.members; license = [ licenses.mit licenses.asl20 ]; - platforms = [ - # Platforms with host tools from - # https://doc.rust-lang.org/nightly/rustc/platform-support.html - "x86_64-darwin" "i686-darwin" "aarch64-darwin" - "i686-freebsd" "x86_64-freebsd" - "x86_64-solaris" - "aarch64-linux" "armv6l-linux" "armv7l-linux" "i686-linux" - "loongarch64-linux" "powerpc64-linux" "powerpc64le-linux" - "riscv64-linux" "s390x-linux" "x86_64-linux" - "aarch64-netbsd" "armv7l-netbsd" "i686-netbsd" "powerpc-netbsd" - "x86_64-netbsd" - "i686-openbsd" "x86_64-openbsd" - "i686-windows" "x86_64-windows" - ]; + platforms = rustc.tier1TargetPlatforms; + # If rustc can't target a platform, we also can't build rustc for + # that platform. + badPlatforms = rustc.badTargetPlatforms; }; }) From 28adcaa9b9e7069a0eeb22fc47c52eb2d5587d27 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 15 Aug 2024 11:09:00 +0200 Subject: [PATCH 082/491] gst_all_1.gstreamer: disable Rust if unavailable --- pkgs/development/libraries/gstreamer/core/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index e8f873555d70b..20290c8c19b20 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -15,8 +15,11 @@ , lib , Cocoa , CoreServices -, rustc , testers +, rustc +, withRust ? + lib.any (lib.meta.platformMatch stdenv.hostPlatform) rustc.targetPlatforms && + lib.all (p: !lib.meta.platformMatch stdenv.hostPlatform p) rustc.badTargetPlatforms , gobject-introspection , buildPackages , withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages @@ -62,11 +65,12 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper glib bash-completion - rustc ] ++ lib.optionals stdenv.isLinux [ libcap # for setcap binary ] ++ lib.optionals withIntrospection [ gobject-introspection + ] ++ lib.optionals withRust [ + rustc ] ++ lib.optionals enableDocumentation [ hotdoc ]; @@ -91,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those "-Dexamples=disabled" # requires many dependencies and probably not useful for our users + (lib.mesonEnable "ptp-helper" withRust) (lib.mesonEnable "introspection" withIntrospection) (lib.mesonEnable "doc" enableDocumentation) (lib.mesonEnable "libunwind" withLibunwind) From da19f27bd463b3e76a40f18a2076927a90840589 Mon Sep 17 00:00:00 2001 From: Artturin Date: Sun, 1 Sep 2024 22:57:01 +0300 Subject: [PATCH 083/491] geocode-glib.tests.installed-tests: Fix Were added in https://www.github.com/GNOME/geocode-glib/commit/c670fb9afe886f26448a8a4654a3b52a90386c1f https://hydra.nixos.org/build/270814594/log --- nixos/tests/installed-tests/geocode-glib.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/tests/installed-tests/geocode-glib.nix b/nixos/tests/installed-tests/geocode-glib.nix index fcb38c96ab0f6..76a32ee2849ab 100644 --- a/nixos/tests/installed-tests/geocode-glib.nix +++ b/nixos/tests/installed-tests/geocode-glib.nix @@ -4,8 +4,10 @@ makeInstalledTest { testConfig = { i18n.supportedLocales = [ "en_US.UTF-8/UTF-8" - # The tests require this locale available. + # The tests require these locales. "en_GB.UTF-8/UTF-8" + "cs_CZ.UTF-8/UTF-8" + "sv_SE.UTF-8/UTF-8" ]; }; From a93d6723672cd2ea229778ff5361fd656f6f9f57 Mon Sep 17 00:00:00 2001 From: Artturin Date: Sun, 1 Sep 2024 23:53:38 +0300 Subject: [PATCH 084/491] gjs.tests.installedTests: Fix `glib`'s typelib was split from `gobject-introspection`. `ImportError: Typelib file for namespace 'GObject', version '2.0' not found` --- pkgs/development/libraries/gjs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix index 604435cee5105..bf1e854e811c9 100644 --- a/pkgs/development/libraries/gjs/default.nix +++ b/pkgs/development/libraries/gjs/default.nix @@ -28,7 +28,7 @@ let testDeps = [ - gtk3 atk pango.out gdk-pixbuf harfbuzz + gtk3 atk pango.out gdk-pixbuf harfbuzz glib.out ]; in stdenv.mkDerivation (finalAttrs: { pname = "gjs"; From 6ed699e2d9381731bec9761dcd9d5279dff42711 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 3 Sep 2024 21:39:42 +0100 Subject: [PATCH 085/491] cairo: 1.18.0 -> 1.18.2 Changes: https://www.cairographics.org/news/cairo-1.18.2/ --- pkgs/development/libraries/cairo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index 28809ade8ae4a..af1babc307ddf 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -13,11 +13,11 @@ in stdenv.mkDerivation (finalAttrs: let inherit (finalAttrs) pname version; in { pname = "cairo"; - version = "1.18.0"; + version = "1.18.2"; src = fetchurl { url = "https://cairographics.org/${if lib.mod (builtins.fromJSON (lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${pname}-${version}.tar.xz"; - hash = "sha256-JDoHNrl4oz3uKfnMp1IXM7eKZbVBggb+970cPUzxC2Q="; + hash = "sha256-piubtCQl6ETMPW3d4EP/Odur7dFULrpXout5+FiJ1Fo="; }; outputs = [ "out" "dev" "devdoc" ]; From 3500e97c8efc9fd28c44059e2a5b0acbbe469236 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 3 Sep 2024 21:06:52 +0000 Subject: [PATCH 086/491] hwdata: 0.385 -> 0.386 --- pkgs/os-specific/linux/hwdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix index 0fd5af8c5da7e..35c86c7d7a226 100644 --- a/pkgs/os-specific/linux/hwdata/default.nix +++ b/pkgs/os-specific/linux/hwdata/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hwdata"; - version = "0.385"; + version = "0.386"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${version}"; - hash = "sha256-IGyERrqlX+VcbDUGykQ8h87uzbOA6DUm6nTZMgYQYKg="; + hash = "sha256-JN/Y/hNyeqUS5RY5nXs5tLMwQoc0s0e6j9bl06FIbMg="; }; configureFlags = [ "--datadir=${placeholder "out"}/share" ]; From ccff8b60ace758f7deb58767429249b7ee06666c Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 4 Sep 2024 03:14:56 +0200 Subject: [PATCH 087/491] python312Packages.sqlalchemy: 2.0.32 -> 2.0.33 https://github.com/sqlalchemy/sqlalchemy/releases/tag/rel_2_0_33 --- pkgs/development/python-modules/sqlalchemy/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix index 426be56eea9d4..9e52a7d4cae6c 100644 --- a/pkgs/development/python-modules/sqlalchemy/default.nix +++ b/pkgs/development/python-modules/sqlalchemy/default.nix @@ -41,7 +41,7 @@ buildPythonPackage rec { pname = "sqlalchemy"; - version = "2.0.32"; + version = "2.0.33"; pyproject = true; disabled = pythonOlder "3.7"; @@ -50,14 +50,11 @@ buildPythonPackage rec { owner = "sqlalchemy"; repo = "sqlalchemy"; rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-B0T4GsTIis2ZZykRnNOFfhyfW4qU/waXeP0BS5+G1IM="; + hash = "sha256-VZtQm56mDOzU6cqUdBR7TTA67sJZi9CL9F+ug5vjcZk="; }; postPatch = '' sed -i '/tag_build = dev/d' setup.cfg - - substituteInPlace pyproject.toml \ - --replace-fail "setuptools>=61.0,<69.3" "setuptools" ''; nativeBuildInputs = [ setuptools ] ++ lib.optionals (!isPyPy) [ cython ]; From 22813e9165f4d104d0af6b7e615807553856fc31 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Sep 2024 04:15:04 +0000 Subject: [PATCH 088/491] libbpf: 1.4.5 -> 1.4.6 --- pkgs/os-specific/linux/libbpf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix index 1875848889866..b5e4b22dabf08 100644 --- a/pkgs/os-specific/linux/libbpf/default.nix +++ b/pkgs/os-specific/linux/libbpf/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "libbpf"; - version = "1.4.5"; + version = "1.4.6"; src = fetchFromGitHub { owner = "libbpf"; repo = "libbpf"; rev = "v${version}"; - hash = "sha256-GQbx3LaGrFTwEtUsP7V/Y1Keoa4dSmDxhmSTsML+tVk="; + hash = "sha256-TGwGEYapanhp2RjnH6Mo+kQFmqFEX0LcAZTCk6SyIk8="; }; nativeBuildInputs = [ pkg-config ]; From e8e964f492020e2823bc194a4c235396aeb0e9d7 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 4 Sep 2024 09:44:11 +0300 Subject: [PATCH 089/491] qt5: 5.15.14 -> 5.15.15 --- .../libraries/qt-5/5.15/srcs-generated.json | 160 +++++++++--------- pkgs/development/libraries/qt-5/5.15/srcs.nix | 2 +- 2 files changed, 81 insertions(+), 81 deletions(-) diff --git a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json index 96c3621307c6a..7949a05a61b88 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs-generated.json +++ b/pkgs/development/libraries/qt-5/5.15/srcs-generated.json @@ -1,202 +1,202 @@ { "qt3d": { "url": "https://invent.kde.org/qt/qt/qt3d.git", - "rev": "9bf4d03e2515f7c454647d54542330b6e90f8191", - "sha256": "1w1lq332q270vld7sz0xqpa0f7mvi5gizycfsx9zz9c73qy4idlp" + "rev": "84b2eae328fdff5d633af0a9563272c93f6ec074", + "sha256": "0h5jmm02xyfzq9pkba3xl3kw6710azj1plshm4v9brgjq524vkpj" }, "qtactiveqt": { "url": "https://invent.kde.org/qt/qt/qtactiveqt.git", - "rev": "91bfd21f86c450b129ac2dde9d33b32e140d8a0c", - "sha256": "06fbiggjq1c1z1wgx63ir8rj1ppd1c046xwz4nzsrf1pi8dqcyl7" + "rev": "8f8e9fcc03f506cf27b0bb090c5120eaa15c6e19", + "sha256": "10ihi1m6ysqd5mig4bmiv2hq9qs06j9xrc6sx0iy1w0ihnhclzyx" }, "qtandroidextras": { "url": "https://invent.kde.org/qt/qt/qtandroidextras.git", - "rev": "197a7e05cda87a4645f30c8ef5044b342442ebd1", - "sha256": "0j5al7h2gy67cb2lj4yymdsidr1dcvvahqfysbdl2lwz3zzpdql1" + "rev": "305cce86cb62c0d2cac1209dd50f15caf2f21c2a", + "sha256": "1rdlxzr7ld6i0j3xwxwxhf467z46zaycynqhim4mfhi76fi309vz" }, "qtbase": { "url": "https://invent.kde.org/qt/qt/qtbase.git", - "rev": "2b9835f5c9bcfe3105b60a8dd33c1db7d8611378", - "sha256": "1yms1r42yps06bg8gjbzb5y7x03ks11vg97s2j7r1aplp7kjf7wm" + "rev": "ab13e81917207959785ad0185a3a9974e552a7f5", + "sha256": "0p6xymjvhwiqvyh7pn1zkglfjnmhb3c0xfb62xnsd0rbp0xaw7ws" }, "qtcharts": { "url": "https://invent.kde.org/qt/qt/qtcharts.git", - "rev": "7315c48bcec88014e78165bbda54abfcd557e0af", - "sha256": "043lbxkaw53qah9ny4nbpp8g7q4rq9x2k21vkprk7nim66d6pmy3" + "rev": "0c97aae7dc242ac0710e09397672ad878761157a", + "sha256": "1zivl0gzbbfxa2hq4vwi2yc6k9hl9aln4aw96hd9jb7pw2n03crx" }, "qtconnectivity": { "url": "https://invent.kde.org/qt/qt/qtconnectivity.git", - "rev": "99f30db37c63447c59d5fac15bc8feb832a7fd04", - "sha256": "09v76kb7fx7bq4vplyk3cf7il3a6f9p673z1l28nrv4w308bhqfy" + "rev": "f2a9c5d1235d88cc26f2cfa348a037b65e31a5ae", + "sha256": "0r9c7f9g4l4dik1kvs239ahm8hx20kfj2lcd946fn71cz0fqri9z" }, "qtdatavis3d": { "url": "https://invent.kde.org/qt/qt/qtdatavis3d.git", - "rev": "79cd0fb6cafcd42e4037ae1363fda3bc2cec934a", - "sha256": "19y33v3l4crzrk7qf5qhx7phxkiax14c2q4xjd1klw7n333d43cq" + "rev": "e5c03e4431eed6c4654c20fb2d2a20485cff522d", + "sha256": "0s6b3sclyyq6hmmn535ksdkckfw02yqbqzrd502p7fb2cakynhjc" }, "qtdeclarative": { "url": "https://invent.kde.org/qt/qt/qtdeclarative.git", - "rev": "50c8def854806485d66aabcf6918e8b987032e55", - "sha256": "0qvw72w0m1q4yg4l35rh7ydqgp35xqfwpq0pc7q5578n1xspihhn" + "rev": "310c124dac82d711ab15309a9cb0b9d95db9ea8f", + "sha256": "082hp6brizrfr90vla315kjri4ym9vkd1qnjlyx8f9p3sgdmplyn" }, "qtdoc": { "url": "https://invent.kde.org/qt/qt/qtdoc.git", - "rev": "bc4503b8b70f4cd435d6e64a9e6c623ca44b9fcd", - "sha256": "0pvimmw5c6gh6xi2iblzyikgaw7cr8gqjdvyappcahjpalxxsjbw" + "rev": "7c8712064b1aefcf880bbc82138e96bd4909b36e", + "sha256": "06n8mn0y0sjq2znd0k2m5slaf2rcj4p8pxwayp7pyfig3mj9qf34" }, "qtgamepad": { "url": "https://invent.kde.org/qt/qt/qtgamepad.git", - "rev": "b1c2f272f69e222a532485e6f820776c220b3535", - "sha256": "1zga6sa901g0fpqyjlyj73s2f94yjm0z3599gngnlvvd7jsnlgnv" + "rev": "e9109dadba5c8f2419af67139106b4c30f90332e", + "sha256": "1xk42wbpl83rywjscw0kriw4vap2xv41p17pcr8pagrhijnhhjpg" }, "qtgraphicaleffects": { "url": "https://invent.kde.org/qt/qt/qtgraphicaleffects.git", - "rev": "2c39e673d6c15a84dcc7882d3772fa04cc79f9ed", - "sha256": "177xkhi3syx6r3my5rly5bncgjfhdvgrhf6fw5ajqplik6yln4pq" + "rev": "4d3d395d14d4a956ac5b30afa859321c1e1934e4", + "sha256": "1xwq8n2h5079xm1zbyg7nk4ln53pmbjp0s35a6clhcx40mrw9b80" }, "qtimageformats": { "url": "https://invent.kde.org/qt/qt/qtimageformats.git", - "rev": "4e4f5fc6bdac96f5281a3ebeb0fee78df7b1a498", - "sha256": "1w68v55y1l1biv7krzv9vmi2czz84jk89f4pymq3ri1w3y4rc1id" + "rev": "9f658c2093e81d1dc3333e594cc1aa4b0990e221", + "sha256": "13h43hc9yzskqi30yx1wi9ia4nbrgxlwk0zh4dprcwc7p8sgwz76" }, "qtlocation": { "url": "https://invent.kde.org/qt/qt/qtlocation.git", - "rev": "3beb9c810611337fde61d89aa981e9f177a9ede9", - "sha256": "1fwn9x3n01dlkhw53n12z5kb06qj2lmangzvj3fjr5ff0yy47df9" + "rev": "e0a477d04f35495ba6eeda8578d1311dba623270", + "sha256": "104x4drmfxx2d599hzsigiy6m69y0b7n811wgm3wyhqmiay85jvl" }, "qtlottie": { "url": "https://invent.kde.org/qt/qt/qtlottie.git", - "rev": "b8c1fa109dce6f8bff9f55738d2f1e21ff677796", - "sha256": "0qydaqj8945hikby7a9529i0g5ycpvhws6y0zc566jv50qida725" + "rev": "bdbd77ef5529b894699fe8d01642e75230e59f24", + "sha256": "13b4hfnvl9as1bwn2zaw3nlxkd8yg0phssnahc5hw07xm8z11vsm" }, "qtmacextras": { "url": "https://invent.kde.org/qt/qt/qtmacextras.git", - "rev": "e66cba7cf02aa8aecce03540cd167621f2cda5f0", - "sha256": "0q7d3lh3fpkrakxx1sqx9csa7l7rxzskcavbidxb5298jxn49wn8" + "rev": "3ffd97b730fb635e0ada0b5b6f4894a128286cb1", + "sha256": "1fgpm2aa8wc65bq426xckkrwgb2h1c9hl9d454rgl5sl3xg4r61w" }, "qtmultimedia": { "url": "https://invent.kde.org/qt/qt/qtmultimedia.git", - "rev": "53069c9c6eb52b744333812f42aed36c3db6e752", - "sha256": "0y8km2mp5mj1zw1v3acsdvzrc1jyiwpxy3rmif5ssn40wwxifilp" + "rev": "85fe63b98703ced6c5568c52af77b50e6ddf1edc", + "sha256": "129pdvhrahi2r30lfhqjvyird2pb9z58xc807wab779cqi5l2v5g" }, "qtnetworkauth": { "url": "https://invent.kde.org/qt/qt/qtnetworkauth.git", - "rev": "28180f28c98e329676463e24cef0097cba45bc00", - "sha256": "1g6clwmrpdvl9m6flyrk4vlckjnjv3phqhy1xbxlra3zcfn3357r" + "rev": "17d6ed940cea4ead62f4055184d4fc69bf06b789", + "sha256": "0w5225fj5rhzz2jq8qpbaajg011j9xpxb3w83sn9zgnr39jgknl2" }, "qtpurchasing": { "url": "https://invent.kde.org/qt/qt/qtpurchasing.git", - "rev": "d4903bf08c576a6c085278c1960a2676cd83dca7", - "sha256": "04bry3ys15bd6kaiwyb8fh037s50mcplircpzvrwdc1h8milx7y7" + "rev": "6922c0e403e94ac9c2336706bc3df1e2da217a1f", + "sha256": "0jg6z309dj0lm4gdbvqiyprkrqiwr9cg9qhrni2q4dimg7ywci31" }, "qtquick3d": { "url": "https://invent.kde.org/qt/qt/qtquick3d.git", - "rev": "ad229f0c135f74801fba2bcd22c78abc0e3cf1d2", - "sha256": "17jdsahdw72l5lpbng8733qv2fp2qkfzlzrayzigz2slfdqgjxnk" + "rev": "880d7aa04f3cc331c9bc7ba4ca71d7091480ea6d", + "sha256": "1gwsba3zkal7cjninridxvvilrh2iqc2qsrn9izha7m51li1kc7a" }, "qtquickcontrols": { "url": "https://invent.kde.org/qt/qt/qtquickcontrols.git", - "rev": "9325659ec390eda5b160736a926ba58ccb445cce", - "sha256": "0r1kkn6pr6yynk8x2ggkfqqrh27g1qra102ilglj7chsmrp92xgc" + "rev": "fe98f874f89abe9b96edadb812cfa9b1488679f0", + "sha256": "1j843wfhm9xn0sd86faxg0aabdsxyjjvfrq9nfx00r7a0sb1giga" }, "qtquickcontrols2": { "url": "https://invent.kde.org/qt/qt/qtquickcontrols2.git", - "rev": "69fea340f8f4c483a9b2889e4e24a4b1b52ebc87", - "sha256": "0v6g146ryabks0sff5dgyx42690xckaqpx44c6g7x0b0w24lj6ws" + "rev": "d0537c14e71d0959f96592b20103033b128f9c0b", + "sha256": "123njm1ph04l7842c1q01737xfk4hfwpcdlk7pipyfvyjgpyq7bb" }, "qtquicktimeline": { "url": "https://invent.kde.org/qt/qt/qtquicktimeline.git", - "rev": "bf6c73064c82b07fcb1f7e72c263b249e137e224", - "sha256": "0pnn5ds6sxls8i6pzzmraalvln2pabgga3gnv761b2skgkv26gnq" + "rev": "a0a95b50f2477823f9400b07e76e516555f16dc0", + "sha256": "0kcxjgcqs7l5yvxl53a7sr7sk959r3wcwyg6w5krbk0sf9sdf48b" }, "qtremoteobjects": { "url": "https://invent.kde.org/qt/qt/qtremoteobjects.git", - "rev": "3873bdc809ca8d58d91968cb0de34da26646bc79", - "sha256": "0bncsi45zjwd6q3g40gxdqxqq4zhjrgw7xnxj1v53npbyw4vd0h5" + "rev": "289bbabdff28b4362351f3d91abf75130c9cf666", + "sha256": "11x172lkajaqq2d7hyd30wny5mi6hw4p78nqhj0j2gh3kpw6x06c" }, "qtscxml": { "url": "https://invent.kde.org/qt/qt/qtscxml.git", - "rev": "6834b183966d08d9f061642ee7ea2d482cbbf073", - "sha256": "1h88idcfcsbpx2x2djcg1lzazadm676miz19x6n0n6n4gwp46738" + "rev": "02e1e963ec9492bb1620b3ac3fc6ffc2ff280778", + "sha256": "01m13rz3df05n2c44a16l532faj3516903p1zhp0b3hlgy2jw6k9" }, "qtsensors": { "url": "https://invent.kde.org/qt/qt/qtsensors.git", - "rev": "bf0b718cd0b6c7823e9d2037d3bdece44185f444", - "sha256": "1my7ls1nsaf26kh3hn75jjnxp6gm0ilyfzcczqps0xj7xj9bzwzd" + "rev": "b97c60bee7505eb3901579abc4751f35ba7b303e", + "sha256": "0i60av9ykbsgxizw9i31mnfr87fm4kygwdmcxk4829pmscvcv91s" }, "qtserialbus": { "url": "https://invent.kde.org/qt/qt/qtserialbus.git", - "rev": "616bc5b962cdcacb1c1ba985d7236392e9cadb8c", - "sha256": "0njahb52kshci23xw89j1rgffmrmric8kz54dzmqsmlcqp181qkh" + "rev": "77dae896b13e36969fefdfa25d711e455d58597b", + "sha256": "08yr35mzzyqianhi66bd3iaw48yynrfv6izqsp23s5bggh5arh9r" }, "qtserialport": { "url": "https://invent.kde.org/qt/qt/qtserialport.git", - "rev": "34c19c6441cd440dc65b59ae7670eadf099d51f8", - "sha256": "0hiqfvz5jc6ha6ln8jl8vv4ijsdz55f3zp801dbh2r68cmf9qsrm" + "rev": "aa2ffdbd7295db9e5814070d1432a0b77c59cfce", + "sha256": "08lqzygmb40b060g47zqfxs87s1s0946xy18c7jsqy0i6cl6wl1k" }, "qtspeech": { "url": "https://invent.kde.org/qt/qt/qtspeech.git", - "rev": "8ad0f08ad7e2a8d27dc5e69806812c6a3f298946", - "sha256": "0pyiiqj18c2gvbqvgnaki2hzcizi1lam82x761y2lp717sgb09v9" + "rev": "71574a57103f0da64ce5e4c0ac6d70141496d5e8", + "sha256": "1kjpx8v80r9hp2ispgz2gxrhs8l09zpq09ylwc69gxqr6y7xrjj8" }, "qtsvg": { "url": "https://invent.kde.org/qt/qt/qtsvg.git", - "rev": "690128b2b8fb6d6fbdc43b2b2633f0f1de3f0638", - "sha256": "1iiml673isnqakjzspq5gf6818zmmd7pj6z9y2jwxb2xkkn8ahpc" + "rev": "26fdcaff0d3d6bf6f5c847e833006577a6e8ba7d", + "sha256": "0n4m6a6v66fdx4cyiyzaqqgyryf4n350xzxmibr7rrbzz7z8afrz" }, "qttools": { "url": "https://invent.kde.org/qt/qt/qttools.git", - "rev": "f82ed367d1b80b69d738cfcde534b75854a45476", - "sha256": "1pv7af4z3f9d1ifqjwbf7fhgglpnjfby8h2fg5h114mpils661bn" + "rev": "0378d3e541f40bc9c5433eac70d3949ddff9cfc4", + "sha256": "0jzncvjp07gwykfxp9nrp2nbcrfpjlpy6r2cgb8wqq1pkjy0nkg4" }, "qttranslations": { "url": "https://invent.kde.org/qt/qt/qttranslations.git", - "rev": "c601106c8b5d5495f951c8ea0ad6a9e171416ae0", - "sha256": "0w8ggzc4sxfa1y3n40m24zxp59c2y1mfb2c7zdd8nmlrg7xnqsf0" + "rev": "07ae7ea7c94225e73c8eddc9f3f89edc863e83e0", + "sha256": "177g0iavfk5kim8wibfa5d4h23cf0kfhx7hmaz20afwf5cwxb47z" }, "qtvirtualkeyboard": { "url": "https://invent.kde.org/qt/qt/qtvirtualkeyboard.git", - "rev": "7389450a5de5fdd210f1459abcf73621ec0496bd", - "sha256": "1hv8yi4lq3mdxqkcln2b75drdyfiaqj63khzvy09gdf1x6fyjnn5" + "rev": "e62c1219caef25182ba85383834be04eefce12bf", + "sha256": "09rhxkycz4w5k800sd88mzg8dd0gjbry4ylcj1pbhvnm6xrzw6fz" }, "qtwayland": { "url": "https://invent.kde.org/qt/qt/qtwayland.git", - "rev": "75f434f14499eb47ede2cb66f0946527bf555791", - "sha256": "17d7bcc3v55ywakaybp88c493bfx63vyiz7n8f5kcijj5q5hdf1r" + "rev": "6b1ba1cd0e1389d13e59b94e65da8f20a89ba03f", + "sha256": "127s7b76f7k1iha3crdv0z5gvm65g3lk97jzp7wl1afmv2vnfq7v" }, "qtwebchannel": { "url": "https://invent.kde.org/qt/qt/qtwebchannel.git", - "rev": "fca83088ef430f96257d2014e77d08bd350259af", - "sha256": "1jc7myns24mzfnfybzzjqkpnl235c0fm0zqkai55xwi3vcv9xyr5" + "rev": "ad85920e02049bf7ba06366046498e8366a98e8e", + "sha256": "1z28ass00f7jm2wq5kb3rkx6q861092gvpb58ivnqn753jd95ban" }, "qtwebglplugin": { "url": "https://invent.kde.org/qt/qt/qtwebglplugin.git", - "rev": "3681356904277e055759693551357e7e488d1be9", - "sha256": "14v9r4mhqq453dzkc5gvv660gq11zsmzngvwgi44srhzcx7k1qqv" + "rev": "0d29f1cd46331caf1b5169eb037d573680454348", + "sha256": "1ar4fs9c5av8zy19k05ygkzwcsv131c561z349wzxbj9j5qyzb6d" }, "qtwebsockets": { "url": "https://invent.kde.org/qt/qt/qtwebsockets.git", - "rev": "dbbdc64b804f7c4d0ed92198aaab49b07fa15e7f", - "sha256": "1gbgga8qy26nxxq0537hm3h6la04xb6m4cc2aifjhhhj8py95170" + "rev": "0231c7c3a17c0320601e7766e7e701db5b9eb0dc", + "sha256": "020lynaz4aw84y2dkc72nckhlpmv41nwfdssr1s8a27r4dk58p5a" }, "qtwebview": { "url": "https://invent.kde.org/qt/qt/qtwebview.git", - "rev": "bbb1891595aba23ff3c6d137aa74442f9e54479b", - "sha256": "0j59r6dj4wvassng39whnidd6nzhndwssfwjppppqbs5xy57zh2z" + "rev": "70030514bdaf993517556209503075db15bd1c61", + "sha256": "1cj0fqk41nb63as1br6zkwgpxxznc29hp5xlv2hnlcwc2mbfh2c4" }, "qtwinextras": { "url": "https://invent.kde.org/qt/qt/qtwinextras.git", - "rev": "907009a4f7e5d2b99805547caf4b901bdbb0d4d6", - "sha256": "0aam2imp4rkbrjir5gsk4ja7vf7vv68ybsh7qchavb3zdmjsvxcd" + "rev": "e1773a917239c5b548ebd9e2ab34a687ffb949e4", + "sha256": "1rvv9cpgfy62j1l15lz7p65g00jmy9k0gcmn5i0xlx9dgs35yw6b" }, "qtx11extras": { "url": "https://invent.kde.org/qt/qt/qtx11extras.git", - "rev": "6c3605fcb3b34e55951f597e06c135d97dfa6cd7", - "sha256": "0dqmw2yqh5b5ayq93px2na50ghfk55y55zsgwraxglly0zgm39w9" + "rev": "ff2cc0065a3504e6043b47b1b4601fcdce62eefb", + "sha256": "16m05j8iznjlsvp41pzm0yqfji42ryw5r6ypzy5avij0by0wdkir" }, "qtxmlpatterns": { "url": "https://invent.kde.org/qt/qt/qtxmlpatterns.git", - "rev": "087f6f35bd027f940818b1696d0aad822e034377", - "sha256": "0y3hkz7ss6iibpfr7dc855bzhdanz79ix0jm6b28viqjy3bdzgar" + "rev": "330c47bab8333d6dc7d4ab838afb81f29b6a32d0", + "sha256": "10slr93nfc53pzv94xw2h7wzcvzbgbr72yj06jvjr9q6jfv3qgkk" } } diff --git a/pkgs/development/libraries/qt-5/5.15/srcs.nix b/pkgs/development/libraries/qt-5/5.15/srcs.nix index 60ce4e4daf495..8de92625f8a51 100644 --- a/pkgs/development/libraries/qt-5/5.15/srcs.nix +++ b/pkgs/development/libraries/qt-5/5.15/srcs.nix @@ -1,7 +1,7 @@ { lib, fetchgit, fetchFromGitHub }: let - version = "5.15.14"; + version = "5.15.15"; mk = name: args: { From e6d3c8bf32122bebff96929232372149ddaf28c8 Mon Sep 17 00:00:00 2001 From: Steven Keuchel Date: Fri, 16 Aug 2024 12:09:24 +0200 Subject: [PATCH 090/491] gn: 2020-03-09 -> 2024-05-13 --- pkgs/development/tools/build-managers/gn/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix index 508a821d74950..c3af8fe72dd0d 100644 --- a/pkgs/development/tools/build-managers/gn/default.nix +++ b/pkgs/development/tools/build-managers/gn/default.nix @@ -1,10 +1,10 @@ { callPackage, ... } @ args: callPackage ./generic.nix args { - # Note: Please use the recommended version for Chromium, e.g.: - # https://git.archlinux.org/svntogit/packages.git/tree/trunk/chromium-gn-version.sh?h=packages/gn - rev = "fd3d768bcfd44a8d9639fe278581bd9851d0ce3a"; - revNum = "1718"; # git describe HEAD --match initial-commit | cut -d- -f3 - version = "2020-03-09"; - sha256 = "1asc14y8by7qcn10vbk467hvx93s30pif8r0brissl0sihsaqazr"; + # Note: Please use the recommended version for Chromium stabe, i.e. from + # /pkgs/applications/networking/browsers/chromium/upstream-info.nix + rev = "df98b86690c83b81aedc909ded18857296406159"; + revNum = "2168"; # git describe $rev --match initial-commit | cut -d- -f3 + version = "2024-05-13"; + sha256 = "sha256-mNoQeHSSM+rhR0UHrpbyzLJC9vFqfxK1SD0X8GiRsqw="; } From 23ed77af70a8239d66c6bfd6e20283f2cc6d59d1 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 2 Sep 2024 21:17:09 +0100 Subject: [PATCH 091/491] wayland-protocols: 1.36 -> 1.37 Changes: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/compare/1.36...1.37?from_project_id=2891&straight=false --- pkgs/development/libraries/wayland/protocols.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix index 1be88f3a6d023..79aaa69696dfc 100644 --- a/pkgs/development/libraries/wayland/protocols.nix +++ b/pkgs/development/libraries/wayland/protocols.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "wayland-protocols"; - version = "1.36"; + version = "1.37"; doCheck = stdenv.hostPlatform == stdenv.buildPlatform && # https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/48 @@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://gitlab.freedesktop.org/wayland/${finalAttrs.pname}/-/releases/${finalAttrs.version}/downloads/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; - hash = "sha256-cf1N4F55+aHKVZ+sMMH4Nl+hA0ZCL5/nlfdNd7nvfpI="; + hash = "sha256-pw6b6STy6GiOaCTc6vYYj6rNWuIY36yNCj0JdiEe8yY="; }; postPatch = lib.optionalString finalAttrs.doCheck '' From cb5552c7a5f70618343bb6d3dcd01cf685c09349 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Sep 2024 14:47:19 +0000 Subject: [PATCH 092/491] umockdev: 0.18.3 -> 0.18.4 --- pkgs/development/libraries/umockdev/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix index 38b36267ef34c..662a1237e471b 100644 --- a/pkgs/development/libraries/umockdev/default.nix +++ b/pkgs/development/libraries/umockdev/default.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "umockdev"; - version = "0.18.3"; + version = "0.18.4"; outputs = [ "bin" "out" "dev" "devdoc" ]; src = fetchurl { url = "https://github.com/martinpitt/umockdev/releases/download/${finalAttrs.version}/umockdev-${finalAttrs.version}.tar.xz"; - hash = "sha256-q6lcMjA3yELxYXkxJgIxuFV9EZqiiRy8qLgR/MVZKUo="; + hash = "sha256-EVMG8Xvnj4yZ4gZS4t7M3UjfOHNr8A609D/vw4CaMZw="; }; patches = [ From 3a41bcd617109a6161d702f7458d4a508a499a5a Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 4 Sep 2024 17:22:03 +0200 Subject: [PATCH 093/491] mongodb-ce: remove custom `curl` override --- pkgs/by-name/mo/mongodb-ce/package.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/by-name/mo/mongodb-ce/package.nix b/pkgs/by-name/mo/mongodb-ce/package.nix index ba527df395642..d3dc490bdcfe8 100644 --- a/pkgs/by-name/mo/mongodb-ce/package.nix +++ b/pkgs/by-name/mo/mongodb-ce/package.nix @@ -49,11 +49,7 @@ stdenv.mkDerivation (finalAttrs: { dontStrip = true; buildInputs = [ - # Remove this after https://github.com/NixOS/nixpkgs/pull/336712 - # has landed in `nixpkgs-unstable` - (curl.overrideAttrs (old: { - configureFlags = old.configureFlags ++ [ "--enable-versioned-symbols" ]; - })).dev + curl.dev openssl.dev stdenv.cc.cc.lib ]; From 0c77b5d3741c726f1ccb9891dab456f9e2ff885f Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 4 Sep 2024 18:51:32 +0200 Subject: [PATCH 094/491] python312Packages.sqlalchemy: 2.0.33 -> 2.0.34 https://github.com/sqlalchemy/sqlalchemy/releases/tag/rel_2_0_34 --- pkgs/development/python-modules/sqlalchemy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix index 9e52a7d4cae6c..a213059d6a791 100644 --- a/pkgs/development/python-modules/sqlalchemy/default.nix +++ b/pkgs/development/python-modules/sqlalchemy/default.nix @@ -41,7 +41,7 @@ buildPythonPackage rec { pname = "sqlalchemy"; - version = "2.0.33"; + version = "2.0.34"; pyproject = true; disabled = pythonOlder "3.7"; @@ -50,7 +50,7 @@ buildPythonPackage rec { owner = "sqlalchemy"; repo = "sqlalchemy"; rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-VZtQm56mDOzU6cqUdBR7TTA67sJZi9CL9F+ug5vjcZk="; + hash = "sha256-5nnMh8pEG6rXiy0nk9SKjIOY+htXNx9eHTEtNOkLrd8="; }; postPatch = '' From 121787aa4da29d2c337780c91453d002b3bc553b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 1 Sep 2024 12:27:13 +0300 Subject: [PATCH 095/491] python312Packages.pythran: 0.15.0 -> 0.16.1 --- pkgs/development/python-modules/pythran/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pythran/default.nix b/pkgs/development/python-modules/pythran/default.nix index e74a9d62b210f..c1fce200011b5 100644 --- a/pkgs/development/python-modules/pythran/default.nix +++ b/pkgs/development/python-modules/pythran/default.nix @@ -25,14 +25,14 @@ let in buildPythonPackage rec { pname = "pythran"; - version = "0.15.0"; + version = "0.16.1"; pyproject = true; src = fetchFromGitHub { owner = "serge-sans-paille"; repo = "pythran"; rev = "refs/tags/${version}"; - hash = "sha256-TpD8YZnnv48PKYrUqR0/qvJG1XRbcMBcrkcERh6Q4q0="; + hash = "sha256-wiQmShniYZmB8hk/MC5FWFf1s5vqEHiYBkXTo4OeZ+E="; }; patches = [ From 3695d3e3b0decd7fdc0774dc0c998065821449f3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Sep 2024 21:11:02 +0000 Subject: [PATCH 096/491] libaom: 3.9.1 -> 3.10.0 --- pkgs/development/libraries/libaom/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix index 8f4afbf5a3e04..e289a421fa6fb 100644 --- a/pkgs/development/libraries/libaom/default.nix +++ b/pkgs/development/libraries/libaom/default.nix @@ -13,11 +13,11 @@ let in stdenv.mkDerivation rec { pname = "libaom"; - version = "3.9.1"; + version = "3.10.0"; src = fetchzip { url = "https://aomedia.googlesource.com/aom/+archive/v${version}.tar.gz"; - hash = "sha256-XQ1sekNZDUAiYP/HriYRj4+40PAvE/OiyG9bbrdg63I="; + hash = "sha256-7xtIT8zalh1XJfVKWeC/+jAkhOuFHw6Q0+c2YMtDark="; stripRoot = false; }; From 897b3162c511dee343f7896ca3aa33a2f0b4a418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 4 Sep 2024 18:08:19 -0700 Subject: [PATCH 097/491] python312Packages.pikepdf: 9.1.1 -> 9.2.1 Diff: https://github.com/pikepdf/pikepdf/compare/v9.1.1...v9.2.1 Changelog: https://github.com/pikepdf/pikepdf/blob/v9.2.1/docs/releasenotes/version9.rst --- pkgs/development/python-modules/pikepdf/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index 2f3ace4dd7e59..da280313c9e9c 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.1.1"; + version = "9.2.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -33,14 +33,14 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "pikepdf"; repo = "pikepdf"; - rev = "v${version}"; + rev = "refs/tags/v${version}"; # The content of .git_archival.txt is substituted upon tarball creation, # which creates indeterminism if master no longer points to the tag. # See https://github.com/jbarlow83/OCRmyPDF/issues/841 postFetch = '' rm "$out/.git_archival.txt" ''; - hash = "sha256-++je4tKnXr504Yl9VBH9dc9fycDrMstRN5hu4s/oe9w="; + hash = "sha256-k50Wg/JvHgOULocUsYRjYH+q1M+5DTFLBZzHC6io+To="; }; patches = [ From d71d9e86b1f9ff0e979276f0a9afa3774db48d39 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 5 Sep 2024 22:05:30 +0100 Subject: [PATCH 098/491] tzdata: 2024a -> 2024b Changes: https://github.com/eggert/tz/blob/2024b/NEWS --- pkgs/data/misc/tzdata/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 522b2da68ca5c..939b75218f4fe 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation (finalAttrs: { pname = "tzdata"; - version = "2024a"; + version = "2024b"; srcs = [ (fetchurl { url = "https://data.iana.org/time-zones/releases/tzdata${finalAttrs.version}.tar.gz"; - hash = "sha256-DQQ0RZrL0gWaeo2h8zBKhKhlkfbtacYkj/+lArbt/+M="; + hash = "sha256-cOdU2xJqjQ2z0W1rTLX37B4E1fJhJV5FWKZ/6S055VA="; }) (fetchurl { url = "https://data.iana.org/time-zones/releases/tzcode${finalAttrs.version}.tar.gz"; - hash = "sha256-gAcolK3/WkWPHRQ+FuTKHYsqEiycU5naSCy2jLpqH/g="; + hash = "sha256-XkOPxEliSQavFqGP9Fc3OfDNqYYuXsKNO8sZy67Q9nI="; }) ]; @@ -45,11 +45,10 @@ stdenv.mkDerivation (finalAttrs: { "CFLAGS+=-DRESERVE_STD_EXT_IDS" ]; + enableParallelBuilding = true; + doCheck = true; - # everything except for: - # - check_web, because that needs curl and wants to talk to https://validator.w3.org - # - check_now, because that depends on the current time - checkTarget = "check_back check_character_set check_white_space check_links check_name_lengths check_slashed_abbrs check_sorted check_tables check_ziguard check_zishrink check_tzs"; + checkTarget = "check"; installFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "zic=${buildPackages.tzdata.bin}/bin/zic" From 6a2b44571d592f155fbcbb30bb6956383bac36ee Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 6 Sep 2024 09:38:26 +0100 Subject: [PATCH 099/491] hwdata: 0.386 -> 0.387 Changes: https://github.com/vcrhonek/hwdata/releases/tag/v0.387 --- pkgs/os-specific/linux/hwdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix index 35c86c7d7a226..f730d192fbe55 100644 --- a/pkgs/os-specific/linux/hwdata/default.nix +++ b/pkgs/os-specific/linux/hwdata/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hwdata"; - version = "0.386"; + version = "0.387"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${version}"; - hash = "sha256-JN/Y/hNyeqUS5RY5nXs5tLMwQoc0s0e6j9bl06FIbMg="; + hash = "sha256-DaoghSLLH795YGFE31eTebPCnWBIQJI6yVI/khywEgc="; }; configureFlags = [ "--datadir=${placeholder "out"}/share" ]; From 954cea5708a7a197fba7dc3a8068876c7edbe4d5 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 6 Sep 2024 15:36:09 +0200 Subject: [PATCH 100/491] libsForQt5.qttools: Add LLVM for qdoc Since our Qt5 packaging uses outputs, we don't need to hide this behind an option like with Qt6. --- .../modules/qttools-QT_HOST_DATA-refs.patch | 20 +++++++++-- .../qttools-libclang-main-header.patch | 34 +++++++++++++++++++ .../libraries/qt-5/modules/qttools.nix | 11 ++++++ 3 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/libraries/qt-5/modules/qttools-libclang-main-header.patch diff --git a/pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch b/pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch index dba4c5533fb7f..6247cc971b0f5 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch +++ b/pkgs/development/libraries/qt-5/modules/qttools-QT_HOST_DATA-refs.patch @@ -1,12 +1,13 @@ -From 985a5b530e27372a0766ce897c621026928abfbb Mon Sep 17 00:00:00 2001 +From b54dd2923448f2ae7402cf2364f40337d6c3cb6d Mon Sep 17 00:00:00 2001 From: OPNA2608 -Date: Wed, 7 Aug 2024 22:16:42 +0200 +Date: Wed, 7 Aug 2024 22:47:00 +0200 Subject: [PATCH] Patch QT_HOST_DATA references --- src/linguist/linguist.pro | 2 +- + src/qdoc/qdoc.pro | 2 +- src/qtattributionsscanner/qtattributionsscanner.pro | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/linguist/linguist.pro b/src/linguist/linguist.pro index 7638c7710..bd8798818 100644 @@ -21,6 +22,19 @@ index 7638c7710..bd8798818 100644 cmake_linguist_macros_file.input = $$PWD/Qt5LinguistToolsMacros.cmake CMAKE_PACKAGE_VERSION = $$MODULE_VERSION cmake_linguist_config_file.output = $$MODULE_BASE_OUTDIR/lib/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake +diff --git a/src/qdoc/qdoc.pro b/src/qdoc/qdoc.pro +index db4b25cf1..19592d50b 100644 +--- a/src/qdoc/qdoc.pro ++++ b/src/qdoc/qdoc.pro +@@ -151,7 +151,7 @@ load(qt_build_paths) + equals(QMAKE_HOST.os, Windows): CMAKE_BIN_SUFFIX = ".exe" + + cmake_qdoc_config_file.input = $$PWD/Qt5DocToolsConfig.cmake.in +-cmake_qdoc_config_version_file.input = $$[QT_HOST_DATA/src]/mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in ++cmake_qdoc_config_version_file.input = @qtbaseDev@/mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in + CMAKE_PACKAGE_VERSION = $$MODULE_VERSION + cmake_qdoc_config_file.output = $$MODULE_BASE_OUTDIR/lib/cmake/Qt5DocTools/Qt5DocToolsConfig.cmake + cmake_qdoc_config_version_file.output = $$MODULE_BASE_OUTDIR/lib/cmake/Qt5DocTools/Qt5DocToolsConfigVersion.cmake diff --git a/src/qtattributionsscanner/qtattributionsscanner.pro b/src/qtattributionsscanner/qtattributionsscanner.pro index d645a22a9..5d4239f83 100644 --- a/src/qtattributionsscanner/qtattributionsscanner.pro diff --git a/pkgs/development/libraries/qt-5/modules/qttools-libclang-main-header.patch b/pkgs/development/libraries/qt-5/modules/qttools-libclang-main-header.patch new file mode 100644 index 0000000000000..2f042d69c666c --- /dev/null +++ b/pkgs/development/libraries/qt-5/modules/qttools-libclang-main-header.patch @@ -0,0 +1,34 @@ +From a1fb301a0b9b59f420454be1ebeb05ce0547da2c Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Fri, 6 Sep 2024 14:20:05 +0200 +Subject: [PATCH] Patch includedir for libclang main header + +--- + src/qdoc/configure.pri | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/qdoc/configure.pri b/src/qdoc/configure.pri +index 4f3d77603..8fe8bc439 100644 +--- a/src/qdoc/configure.pri ++++ b/src/qdoc/configure.pri +@@ -71,7 +71,7 @@ defineTest(qtConfTest_libclang) { + LLVM_INSTALL_DIR = $$system("$$candidate --prefix 2>$$QMAKE_SYSTEM_NULL_DEVICE") + !isEmpty(LLVM_INSTALL_DIR) { + CLANG_INCLUDEPATH = $$system("$$candidate --includedir 2>/dev/null") +- LIBCLANG_MAIN_HEADER = $$CLANG_INCLUDEPATH/clang-c/Index.h ++ LIBCLANG_MAIN_HEADER = @libclangDev@/include/clang-c/Index.h + !exists($$LIBCLANG_MAIN_HEADER) { + !isEmpty(LLVM_INSTALL_DIR): \ + qtLog("Cannot find libclang's main header file, candidate: $${LIBCLANG_MAIN_HEADER}.") +@@ -121,7 +121,7 @@ defineTest(qtConfTest_libclang) { + return(false) + } + +- LIBCLANG_MAIN_HEADER = $$CLANG_INCLUDEPATH/clang-c/Index.h ++ LIBCLANG_MAIN_HEADER = @libclangDev@/include/clang-c/Index.h + !exists($$LIBCLANG_MAIN_HEADER) { + !isEmpty(LLVM_INSTALL_DIR): \ + qtLog("Cannot find libclang's main header file, candidate: $${LIBCLANG_MAIN_HEADER}.") +-- +2.44.1 + diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix index 4554cb5cb3c9e..d65c03cb49485 100644 --- a/pkgs/development/libraries/qt-5/modules/qttools.nix +++ b/pkgs/development/libraries/qt-5/modules/qttools.nix @@ -5,6 +5,7 @@ qtbase, qtdeclarative, substituteAll, + llvmPackages, }: qtModule { @@ -16,6 +17,11 @@ qtModule { "bin" ]; + buildInputs = with llvmPackages; [ + libclang + libllvm + ]; + propagatedBuildInputs = [ qtbase qtdeclarative @@ -27,6 +33,11 @@ qtModule { src = ./qttools-QT_HOST_DATA-refs.patch; qtbaseDev = lib.getDev qtbase; }) + + (substituteAll { + src = ./qttools-libclang-main-header.patch; + libclangDev = lib.getDev llvmPackages.libclang; + }) ]; devTools = [ From ef83d631b1541a31a218fe77611c240fc0476fcf Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 6 Sep 2024 16:53:50 +0200 Subject: [PATCH 101/491] python312Packages.cffi: 1.17.0 -> 1.17.1 https://github.com/python-cffi/cffi/releases/tag/v1.17.1 --- pkgs/development/python-modules/cffi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix index 199324d0e4207..5156e654715b2 100644 --- a/pkgs/development/python-modules/cffi/default.nix +++ b/pkgs/development/python-modules/cffi/default.nix @@ -21,12 +21,12 @@ if isPyPy then else buildPythonPackage rec { pname = "cffi"; - version = "1.17.0"; + version = "1.17.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-8xV2JLdVi5FMsDn9Gvc15egEmofIF8whUQmtHId533Y="; + hash = "sha256-HDnGAWwyvEjdVFYZUOvWg24WcPKuRhKPZ89J54nFKCQ="; }; patches = From 7557a74c6a6ae7ef0849e32adcfc077046a34ae2 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 29 Aug 2024 20:58:07 +0100 Subject: [PATCH 102/491] liburcu: 0.14.0 -> 0.14.1 Changes: https://github.com/urcu/userspace-rcu/blob/v0.14.1/ChangeLog --- pkgs/development/libraries/liburcu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix index b1a091d12b3d9..1759fab7d319d 100644 --- a/pkgs/development/libraries/liburcu/default.nix +++ b/pkgs/development/libraries/liburcu/default.nix @@ -1,12 +1,12 @@ { lib, stdenv, fetchurl, perl }: stdenv.mkDerivation rec { - version = "0.14.0"; + version = "0.14.1"; pname = "liburcu"; src = fetchurl { url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; - sha256 = "sha256-ykO/Jh1NOSz/IN+uRAg2YDvwCfziT9ybJpfYN6IjnU8="; + hash = "sha256-IxrLE9xuwCPoNqDwZm9qq0fcYh7LHSzZ2cIvkiZ4q8A="; }; outputs = [ "out" "dev" "doc" ]; From 1ed22ba8937e29608a5bab9e76d054a753643aae Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Sat, 7 Sep 2024 00:44:51 +0200 Subject: [PATCH 103/491] ffmpeg: remove withOgg does not do anything --- pkgs/development/libraries/ffmpeg/generic.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 4e8226c1904a4..5367a4439f218 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -83,7 +83,6 @@ , withMysofa ? withFullDeps # HRTF support via SOFAlizer , withNvdec ? withHeadlessDeps && withNvcodec , withNvenc ? withHeadlessDeps && withNvcodec -, withOgg ? withHeadlessDeps # Ogg container used by vorbis & theora , withOpenal ? withFullDeps # OpenAL 1.1 capture support , withOpencl ? withFullDeps , withOpencoreAmrnb ? withFullDeps && withVersion3 # AMR-NB de/encoder @@ -263,7 +262,6 @@ , libjxl , libmodplug , libmysofa -, libogg , libopenmpt , libopus , libplacebo @@ -764,7 +762,6 @@ stdenv.mkDerivation (finalAttrs: { ++ optionals withModplug [ libmodplug ] ++ optionals withMp3lame [ lame ] ++ optionals withMysofa [ libmysofa ] - ++ optionals withOgg [ libogg ] ++ optionals withOpenal [ openal ] ++ optionals withOpencl [ ocl-icd opencl-headers ] ++ optionals (withOpencoreAmrnb || withOpencoreAmrwb) [ opencore-amr ] From 9550eb8922a4ff28fcdc14b32bd28553d050dd8c Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 7 Sep 2024 06:03:19 +0200 Subject: [PATCH 104/491] python312: 3.12.5 -> 3.12.6 https://docs.python.org/release/3.12.6/whatsnew/changelog.html --- pkgs/development/interpreters/python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index a35418857d52f..e87cd1cfcd3e9 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -20,10 +20,10 @@ sourceVersion = { major = "3"; minor = "12"; - patch = "5"; + patch = "6"; suffix = ""; }; - hash = "sha256-+oouEsXmILCfU+ZbzYdVDS5aHi4Ev4upkdzFUROHY5c="; + hash = "sha256-GZllgpjPL7g33/7Y/zwDPvDJjvIM9zxdX2a+1auJaXw="; }; }; From a161af2daadfd38583ee45ed4b200ca21617fb74 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 7 Sep 2024 06:06:06 +0200 Subject: [PATCH 105/491] python311: 3.11.9 -> 3.11.10 https://docs.python.org/release/3.11.10/whatsnew/changelog.html --- pkgs/development/interpreters/python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index e87cd1cfcd3e9..1e2d08d419f60 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -73,10 +73,10 @@ in { sourceVersion = { major = "3"; minor = "11"; - patch = "9"; + patch = "10"; suffix = ""; }; - hash = "sha256-mx6JZSP8UQaREmyGRAbZNgo9Hphqy9pZzaV7Wr2kW4c="; + hash = "sha256-B6Q1bpEpAOYaFcsJSaBsSgUBLiE+zWtOhND2equ+43I="; inherit (darwin) configd; inherit passthruFun; }; From 41723c52fa412d1c3fdb16ffc413fd6205014119 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 7 Sep 2024 07:14:29 +0100 Subject: [PATCH 106/491] expat: 2.6.2 -> 2.6.3 Changes: https://github.com/libexpat/libexpat/blob/R_2_6_3/expat/Changes --- pkgs/development/libraries/expat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index bb97ca8728e0b..2db3a0428db5d 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -17,7 +17,7 @@ # files. let - version = "2.6.2"; + version = "2.6.3"; tag = "R_${lib.replaceStrings ["."] ["_"] version}"; in stdenv.mkDerivation (finalAttrs: { @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = with finalAttrs; "https://github.com/libexpat/libexpat/releases/download/${tag}/${pname}-${version}.tar.xz"; - hash = "sha256-7hS0xdiQixvsN62TdgfqsYPU2YBqCK3uRyw8MSHSc2Q="; + hash = "sha256-J02yVKaXm95arUBHY6cElWlA5GWEPyqb2e168i4sDvw="; }; strictDeps = true; From a48704428792db4901fd41bc940f4e610a4edd00 Mon Sep 17 00:00:00 2001 From: Michael Stahnke Date: Sat, 7 Sep 2024 01:53:28 -0500 Subject: [PATCH 107/491] ruby: 3.3.4 -> 3.3.5 (#340137) Fixes: CVE-2024-43398 Fixes: CVE-2024-41946 Fixes: CVE-2024-41123 Fixes: CVE-2024-39908 --- pkgs/development/interpreters/ruby/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 596c778c0ff5b..136341f56b597 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -313,8 +313,8 @@ in { }; ruby_3_3 = generic { - version = rubyVersion "3" "3" "4" ""; - hash = "sha256-/mow+X1U4Cl2jy3fSSNpnEFs28Om6W2z4tVxbH25ajQ="; + version = rubyVersion "3" "3" "5" ""; + hash = "sha256-N4GjUEIiwvJstLnrnBoS2/SUTTZs4kqf+M+Z7LznUZY="; cargoHash = "sha256-GeelTMRFIyvz1QS2L+Q3KAnyQy7jc0ejhx3TdEFVEbk="; }; From 384f9f83363bce439aba5b345dcdc43e0ac95533 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Mon, 29 Jul 2024 23:46:40 +0200 Subject: [PATCH 108/491] perl: 5.38.2 -> 5.40.0 - perl: perl538 -> perl540 - perl: disable parallel building as it fails for 5.40 - perlPackages: perl538Packages -> perl540Packages - perlCross: 84db4c7 -> 1.6 --- .../interpreters/perl/cross540.patch | 224 +++++++++++++++++ .../development/interpreters/perl/default.nix | 8 + .../interpreters/perl/interpreter.nix | 16 +- .../perl/no-sys-dirs-5.40.0.patch | 237 ++++++++++++++++++ pkgs/stdenv/linux/default.nix | 3 +- pkgs/top-level/all-packages.nix | 7 +- 6 files changed, 486 insertions(+), 9 deletions(-) create mode 100644 pkgs/development/interpreters/perl/cross540.patch create mode 100644 pkgs/development/interpreters/perl/no-sys-dirs-5.40.0.patch diff --git a/pkgs/development/interpreters/perl/cross540.patch b/pkgs/development/interpreters/perl/cross540.patch new file mode 100644 index 0000000000000..0736c16d4f455 --- /dev/null +++ b/pkgs/development/interpreters/perl/cross540.patch @@ -0,0 +1,224 @@ +From: =?UTF-8?q?Christian=20K=C3=B6gler?= +Date: Mon, 10 Apr 2023 22:12:24 +0200 +Subject: [PATCH] miniperl compatible modules + +CPAN::Meta +ExtUtils::MakeMaker +JSON::PP +Data::Dumper + +Updated for perl v5.40.0 by marcus@means.no + +--- + + # safe if given an unblessed reference +diff --git a/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm b/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm +index 746abd63bc..c55d7cd2d0 100644 +--- a/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm ++++ b/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm +@@ -1,6 +1,7 @@ + use 5.008001; # sane UTF-8 support + use strict; + use warnings; ++no warnings 'experimental::builtin'; + package CPAN::Meta::YAML; # git description: v1.68-2-gcc5324e + # XXX-INGY is 5.8.1 too old/broken for utf8? + # XXX-XDG Lancaster consensus was that it was sufficient until +@@ -650,27 +651,29 @@ sub _dump_string { + join '', map { "$_\n" } @lines; + } + +-sub _has_internal_string_value { ++# taken from cpan/JSON-PP/lib/JSON/PP.pm ++sub _looks_like_number { + my $value = shift; +- my $b_obj = B::svref_2object(\$value); # for round trip problem +- return $b_obj->FLAGS & B::SVf_POK(); ++ no warnings 'numeric'; ++ # if the utf8 flag is on, it almost certainly started as a string ++ return if utf8::is_utf8($value); ++ # detect numbers ++ # string & "" -> "" ++ # number & "" -> 0 (with warning) ++ # nan and inf can detect as numbers, so check with * 0 ++ return unless length((my $dummy = "") & $value); ++ return unless 0 + $value eq $value; ++ return 1 if $value * 0 == 0; ++ return -1; # inf/nan + } + + sub _dump_scalar { + my $string = $_[1]; + my $is_key = $_[2]; +- # Check this before checking length or it winds up looking like a string! +- my $has_string_flag = _has_internal_string_value($string); + return '~' unless defined $string; + return "''" unless length $string; +- if (Scalar::Util::looks_like_number($string)) { +- # keys and values that have been used as strings get quoted +- if ( $is_key || $has_string_flag ) { +- return qq['$string']; +- } +- else { +- return $string; +- } ++ if (_looks_like_number($string)) { ++ return qq['$string']; + } + if ( $string =~ /[\x00-\x09\x0b-\x0d\x0e-\x1f\x7f-\x9f\'\n]/ ) { + $string =~ s/\\/\\\\/g; +@@ -800,9 +803,6 @@ sub errstr { + # Helper functions. Possibly not needed. + + +-# Use to detect nv or iv +-use B; +- + # XXX-INGY Is flock CPAN::Meta::YAML's responsibility? + # Some platforms can't flock :-( + # XXX-XDG I think it is. When reading and writing files, we ought +@@ -822,35 +822,8 @@ sub _can_flock { + } + } + +- +-# XXX-INGY Is this core in 5.8.1? Can we remove this? +-# XXX-XDG Scalar::Util 1.18 didn't land until 5.8.8, so we need this +-##################################################################### +-# Use Scalar::Util if possible, otherwise emulate it +- +-use Scalar::Util (); + BEGIN { +- local $@; +- if ( eval { Scalar::Util->VERSION(1.18); } ) { +- *refaddr = *Scalar::Util::refaddr; +- } +- else { +- eval <<'END_PERL'; +-# Scalar::Util failed to load or too old +-sub refaddr { +- my $pkg = ref($_[0]) or return undef; +- if ( !! UNIVERSAL::can($_[0], 'can') ) { +- bless $_[0], 'Scalar::Util::Fake'; +- } else { +- $pkg = undef; +- } +- "$_[0]" =~ /0x(\w+)/; +- my $i = do { no warnings 'portable'; hex $1 }; +- bless $_[0], $pkg if defined $pkg; +- $i; +-} +-END_PERL +- } ++ *refaddr = *builtin::refaddr; + } + + delete $CPAN::Meta::YAML::{refaddr}; +diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm +index 3604eae402..991f69d275 100644 +--- a/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm ++++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Merge.pm +@@ -1,12 +1,13 @@ + use strict; + use warnings; ++no warnings 'experimental::builtin'; + + package CPAN::Meta::Merge; + + our $VERSION = '2.150010'; + + use Carp qw/croak/; +-use Scalar::Util qw/blessed/; ++use builtin qw/blessed/; + use CPAN::Meta::Converter 2.141170; + + sub _is_identical { +diff --git a/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm b/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm +index d4e93fd8a5..809da68d02 100644 +--- a/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm ++++ b/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm +@@ -1,6 +1,7 @@ + use 5.006; + use strict; + use warnings; ++no warnings 'experimental::builtin'; + package CPAN::Meta::Prereqs; + + our $VERSION = '2.150010'; +@@ -14,7 +15,6 @@ our $VERSION = '2.150010'; + #pod =cut + + use Carp qw(confess); +-use Scalar::Util qw(blessed); + use CPAN::Meta::Requirements 2.121; + + #pod =method new +@@ -168,7 +168,12 @@ sub types_in { + sub with_merged_prereqs { + my ($self, $other) = @_; + +- my @other = blessed($other) ? $other : @$other; ++ eval 'require Scalar::Util'; ++ my @other = unless($@){ ++ Scalar::Util::blessed($other) ? $other : @$other; ++ }else{ ++ builtin::blessed($other) ? $other : @$other; ++ } + + my @prereq_objs = ($self, @other); + +diff --git a/cpan/JSON-PP/lib/JSON/PP.pm b/cpan/JSON-PP/lib/JSON/PP.pm +index fc8fcbc8f0..cda7b90c65 100644 +--- a/cpan/JSON-PP/lib/JSON/PP.pm ++++ b/cpan/JSON-PP/lib/JSON/PP.pm +@@ -4,6 +4,7 @@ package JSON::PP; + + use 5.008; + use strict; ++no warnings 'experimental::builtin'; + + use Exporter (); + BEGIN { our @ISA = ('Exporter') } +diff --git a/dist/Data-Dumper/Dumper.pm b/dist/Data-Dumper/Dumper.pm +index bb6d3caedb..0c2fde4743 100644 +--- a/dist/Data-Dumper/Dumper.pm ++++ b/dist/Data-Dumper/Dumper.pm +@@ -11,6 +11,7 @@ package Data::Dumper; + + use strict; + use warnings; ++no warnings 'experimental::builtin'; + + #$| = 1; + +@@ -125,8 +126,7 @@ sub new { + # Packed numeric addresses take less memory. Plus pack is faster than sprintf + + sub format_refaddr { +- require Scalar::Util; +- pack "J", Scalar::Util::refaddr(shift); ++ pack "J", builtin::refaddr(shift); + }; + + # +@@ -282,9 +282,8 @@ sub _dump { + warn "WARNING(Freezer method call failed): $@" if $@; + } + +- require Scalar::Util; +- my $realpack = Scalar::Util::blessed($val); +- my $realtype = $realpack ? Scalar::Util::reftype($val) : ref $val; ++ my $realpack = builtin::blessed($val); ++ my $realtype = $realpack ? builtin::reftype($val) : ref $val; + $id = format_refaddr($val); + + # Note: By this point $name is always defined and of non-zero length. +@@ -576,7 +575,7 @@ sub _dump { + # here generates a different result. So there are actually "three" different + # implementations of Data::Dumper (kind of sort of) but we only test two. + elsif (!defined &_vstring +- and ref $ref eq 'VSTRING' || eval{Scalar::Util::isvstring($val)}) { ++ and ref $ref eq 'VSTRING') { + $out .= sprintf "v%vd", $val; + } + # \d here would treat "1\x{660}" as a safe decimal number diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 76a51dc8cb3ee..71357c7d739ca 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -69,4 +69,12 @@ in rec { sha256 = "sha256-oKMVNEUet7g8fWWUpJdUOlTUiLyQygD140diV39AZV4="; inherit passthruFun; }; + + # Maint version + perl540 = callPackage ./interpreter.nix { + self = perl540; + version = "5.40.0"; + sha256 = "sha256-x0A0jzVzljJ6l5XT6DI7r9D+ilx4NfwcuroMyN/nFh8="; + inherit passthruFun; + }; } diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index 2afdcded3db4b..2d40e8d638401 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -68,11 +68,13 @@ stdenv.mkDerivation (rec { # Do not look in /usr etc. for dependencies. ++ lib.optional (lib.versionOlder version "5.38.0") ./no-sys-dirs-5.31.patch - ++ lib.optional (lib.versionAtLeast version "5.38.0") ./no-sys-dirs-5.38.0.patch + ++ lib.optional ((lib.versions.majorMinor version) == "5.38") ./no-sys-dirs-5.38.0.patch + ++ lib.optional ((lib.versions.majorMinor version) == "5.40") ./no-sys-dirs-5.40.0.patch ++ lib.optional stdenv.isSunOS ./ld-shared.patch ++ lib.optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ] - ++ lib.optional crossCompiling ./cross.patch; + ++ lib.optional (crossCompiling && (lib.versionAtLeast version "5.40.0")) ./cross540.patch + ++ lib.optional (crossCompiling && (lib.versionOlder version "5.40.0")) ./cross.patch; # This is not done for native builds because pwd may need to come from # bootstrap tools when building bootstrap perl. @@ -128,7 +130,7 @@ stdenv.mkDerivation (rec { dontAddPrefix = !crossCompiling; - enableParallelBuilding = !crossCompiling; + enableParallelBuilding = false; # perl includes the build date, the uname of the build system and the # username of the build user in some files. @@ -156,6 +158,10 @@ stdenv.mkDerivation (rec { OLD_ZLIB = False GZIP_OS_CODE = AUTO_DETECT USE_ZLIB_NG = False + '' + lib.optionalString (lib.versionAtLeast version "5.40.0") '' + ZLIB_INCLUDE = ${zlib.dev}/include + ZLIB_LIB = ${zlib.out}/lib + '' + '' EOF '' + lib.optionalString stdenv.isDarwin '' substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" "" @@ -241,14 +247,14 @@ stdenv.mkDerivation (rec { mainProgram = "perl"; }; } // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec { - crossVersion = "84db4c71ae3d3b01fb2966cd15a060a7be334710"; # Nov 29, 2023 + crossVersion = "1.6"; perl-cross-src = fetchFromGitHub { name = "perl-cross-${crossVersion}"; owner = "arsv"; repo = "perl-cross"; rev = crossVersion; - sha256 = "sha256-1Zqw4sy/lD2nah0Z8rAE11tSpq1Ym9nBbatDczR+mxs="; + sha256 = "sha256-TVDLxw8ctl64LSfLfB4/WLYlSTO31GssSzmdVfqkBmg="; }; depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ]; diff --git a/pkgs/development/interpreters/perl/no-sys-dirs-5.40.0.patch b/pkgs/development/interpreters/perl/no-sys-dirs-5.40.0.patch new file mode 100644 index 0000000000000..cf4894b337ab1 --- /dev/null +++ b/pkgs/development/interpreters/perl/no-sys-dirs-5.40.0.patch @@ -0,0 +1,237 @@ +diff --git a/Configure b/Configure +index 4da7088bff..1a86e0a77d 100755 +--- a/Configure ++++ b/Configure +@@ -108,15 +108,7 @@ if test -d c:/. || ( uname -a | grep -i 'os\(/\|\)2' 2>&1 ) 2>&1 >/dev/null ; th + fi + + : Proper PATH setting +-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' +-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" +-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" +-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" +-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" +-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" +-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" +-paths="$paths /sbin /usr/sbin /usr/libexec" +-paths="$paths /system/gnu_library/bin" ++paths='' + + for p in $paths + do +@@ -1459,8 +1451,7 @@ groupstype='' + i_whoami='' + : Possible local include directories to search. + : Set locincpth to "" in a hint file to defeat local include searches. +-locincpth="/usr/local/include /opt/local/include /usr/gnu/include" +-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" ++locincpth="" + : + : no include file wanted by default + inclwanted='' +@@ -1474,19 +1465,12 @@ DEBUGGING='' + archobjs='' + libnames='' + : change the next line if compiling for Xenix/286 on Xenix/386 +-xlibpth='/usr/lib/386 /lib/386' ++xlibpth='' + : Possible local library directories to search. +-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" +-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" ++loclibpth="" + + : general looking path for locating libraries +-glibpth="/lib /usr/lib $xlibpth" +-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" +-test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" +-test -f /shlib/libc.so && glibpth="/shlib $glibpth" +-test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64" +- +-: Private path used by Configure to find libraries. Its value ++glibpth="" + : is prepended to libpth. This variable takes care of special + : machines, like the mips. Usually, it should be empty. + plibpth='' +@@ -1519,8 +1503,6 @@ libswanted="cl pthread socket bind inet ndbm gdbm dbm db malloc dl ld" + libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD" + : We probably want to search /usr/shlib before most other libraries. + : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. +-glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` +-glibpth="/usr/shlib $glibpth" + : Do not use vfork unless overridden by a hint file. + usevfork=false + +@@ -2585,7 +2567,6 @@ uname + zip + " + pth=`echo $PATH | sed -e "s/$p_/ /g"` +-pth="$pth $sysroot/lib $sysroot/usr/lib" + for file in $loclist; do + eval xxx=\$$file + case "$xxx" in +@@ -5032,7 +5013,7 @@ esac + : Set private lib path + case "$plibpth" in + '') if ./mips; then +- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib" ++ plibpth="$incpath/usr/lib" + fi;; + esac + case "$libpth" in +@@ -8869,13 +8850,8 @@ esac + echo " " + case "$sysman" in + '') +- syspath='/usr/share/man/man1 /usr/man/man1' +- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" +- syspath="$syspath /usr/man/u_man/man1" +- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" +- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" +- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" +- sysman=`./loc . /usr/man/man1 $syspath` ++ syspath='' ++ sysman='' + ;; + esac + if $test -d "$sysman"; then +@@ -21740,9 +21716,10 @@ $rm_try tryp + case "$full_ar" in + '') full_ar=$ar ;; + esac ++full_ar=ar + + : Store the full pathname to the sed program for use in the C program +-full_sed=$sed ++full_sed=sed + + : see what type gids are declared as in the kernel + echo " " +diff --git a/hints/freebsd.sh b/hints/freebsd.sh +index 70bb90ee95..6580219c17 100644 +--- a/hints/freebsd.sh ++++ b/hints/freebsd.sh +@@ -127,21 +127,21 @@ case "$osvers" in + objformat=`/usr/bin/objformat` + if [ x$objformat = xaout ]; then + if [ -e /usr/lib/aout ]; then +- libpth="/usr/lib/aout /usr/local/lib /usr/lib" +- glibpth="/usr/lib/aout /usr/local/lib /usr/lib" ++ libpth="" ++ glibpth="" + fi + lddlflags='-Bshareable' + else +- libpth="/usr/lib /usr/local/lib" +- glibpth="/usr/lib /usr/local/lib" ++ libpth="" ++ glibpth="" + ldflags="-Wl,-E " + lddlflags="-shared " + fi + cccdlflags='-DPIC -fPIC' + ;; + *) +- libpth="/usr/lib /usr/local/lib" +- glibpth="/usr/lib /usr/local/lib" ++ libpth="" ++ glibpth="" + ldflags="-Wl,-E " + lddlflags="-shared " + cccdlflags='-DPIC -fPIC' +diff --git a/hints/linux.sh b/hints/linux.sh +index 83ba0c5c97..d7b6ce04fe 100644 +--- a/hints/linux.sh ++++ b/hints/linux.sh +@@ -176,27 +176,6 @@ case "$optimize" in + ;; + esac + +-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries +-# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us +-# where to look. We don't want gcc's own libraries, however, so we +-# filter those out. +-# This could be conditional on Ubuntu, but other distributions may +-# follow suit, and this scheme seems to work even on rather old gcc's. +-# This unconditionally uses gcc because even if the user is using another +-# compiler, we still need to find the math library and friends, and I don't +-# know how other compilers will cope with that situation. +-# Morever, if the user has their own gcc earlier in $PATH than the system gcc, +-# we don't want its libraries. So we try to prefer the system gcc +-# Still, as an escape hatch, allow Configure command line overrides to +-# plibpth to bypass this check. +-if [ -x /usr/bin/gcc ] ; then +- gcc=/usr/bin/gcc +-# clang also provides -print-search-dirs +-elif ${cc:-cc} --version 2>/dev/null | grep -q -e '^clang version' -e ' clang version'; then +- gcc=${cc:-cc} +-else +- gcc=gcc +-fi + + case "$plibpth" in + '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | +@@ -234,31 +213,6 @@ case "$usequadmath" in + ;; + esac + +-case "$libc" in +-'') +-# If you have glibc, then report the version for ./myconfig bug reporting. +-# (Configure doesn't need to know the specific version since it just uses +-# gcc to load the library for all tests.) +-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they +-# are insufficiently precise to distinguish things like +-# libc-2.0.6 and libc-2.0.7. +- for p in $plibpth +- do +- for trylib in libc.so.6 libc.so +- do +- if $test -e $p/$trylib; then +- libc=`ls -l $p/$trylib | awk '{print $NF}'` +- if $test "X$libc" != X; then +- break +- fi +- fi +- done +- if $test "X$libc" != X; then +- break +- fi +- done +- ;; +-esac + + if ${sh:-/bin/sh} -c exit; then + echo '' +@@ -337,32 +291,6 @@ sparc*) + ;; + esac + +-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than +-# true libraries. The scripts cause binding against static +-# version of -lgdbm which is a bad idea. So if we have 'nm' +-# make sure it can read the file +-# NI-S 2003/08/07 +-case "$nm" in +- '') ;; +- *) +- for p in $plibpth +- do +- if $test -r $p/libndbm.so; then +- if $nm $p/libndbm.so >/dev/null 2>&1 ; then +- echo 'Your shared -lndbm seems to be a real library.' +- _libndbm_real=1 +- break +- fi +- fi +- done +- if $test "X$_libndbm_real" = X; then +- echo 'Your shared -lndbm is not a real library.' +- set `echo X "$libswanted "| sed -e 's/ ndbm / /'` +- shift +- libswanted="$*" +- fi +- ;; +-esac + + # Linux on Synology. + if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 91ea577570f2c..145af4a1b567a 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -308,7 +308,8 @@ in # This is not an issue for the final stdenv, because this perl # won't be included in the final stdenv and won't be exported to # top-level pkgs as an override either. - perl = super.perl.override { enableThreading = false; enableCrypt = false; }; + # FIXME: Pinning this stage to 538 as 540 doesn't build in stage1 atm + perl = super.perl538.override { enableThreading = false; enableCrypt = false; }; }; # `gettext` comes with obsolete config.sub/config.guess that don't recognize LoongArch64. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3413b374975de..247ff4911c9ac 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24517,13 +24517,14 @@ with pkgs; ### DEVELOPMENT / PERL MODULES perlInterpreters = import ../development/interpreters/perl { inherit callPackage; }; - inherit (perlInterpreters) perl536 perl538; + inherit (perlInterpreters) perl536 perl538 perl540; perl536Packages = recurseIntoAttrs perl536.pkgs; perl538Packages = recurseIntoAttrs perl538.pkgs; + perl540Packages = recurseIntoAttrs perl540.pkgs; - perl = perl538; - perlPackages = perl538Packages; + perl = perl540; + perlPackages = perl540Packages; ack = perlPackages.ack; From 95434d510b1383a834f240cb545d1cccd36603ff Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Thu, 1 Aug 2024 00:00:27 +0200 Subject: [PATCH 109/491] top-level/release-perl.nix: init Hydra job set for perlPackages --- pkgs/top-level/release-perl.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 pkgs/top-level/release-perl.nix diff --git a/pkgs/top-level/release-perl.nix b/pkgs/top-level/release-perl.nix new file mode 100644 index 0000000000000..2443c7efa6fe5 --- /dev/null +++ b/pkgs/top-level/release-perl.nix @@ -0,0 +1,19 @@ +/* + This is the Hydra jobset for the `perl-updates` branch in Nixpkgs. + The jobset can be tested by: + + $ hydra-eval-jobs pkgs/top-level/release-perl.nix +*/ + +{ + supportedSystems ? [ + "x86_64-linux" + "aarch64-linux" + ], +}: + +let + inherit (import ./release-lib.nix { inherit supportedSystems; }) mapTestOn packagePlatforms pkgs; + +in +mapTestOn { perlPackages = packagePlatforms pkgs.perlPackages; } From fb4a18673377f7f4014e16f8d3d50a0f311ca86a Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 21:00:18 +0200 Subject: [PATCH 110/491] perlPackages.BKeywords: 1.26 -> 1.27 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 22f907f80b92f..396d14aff68f0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1856,10 +1856,10 @@ with self; { BKeywords = buildPerlPackage { pname = "B-Keywords"; - version = "1.26"; + version = "1.27"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.26.tar.gz"; - hash = "sha256-LaoVXS8mf7De3Yf4pMT7VmOHn8EGUXse4lg1Pvh67TQ="; + url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.27.tar.gz"; + hash = "sha256-7xC5CF5nTqpBfMt9aS+2zZj3u2feKhJ+ujRX2K5YfP8="; }; meta = { description = "Lists of reserved barewords and symbol names"; From d6d704d3ed2253e2726075dcef5e4d6ccba824a0 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 21:01:33 +0200 Subject: [PATCH 111/491] perlPackages.GetoptLongDescriptive: 0.111 -> 0.114 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 396d14aff68f0..dc25d00372760 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -10767,10 +10767,10 @@ with self; { GetoptLongDescriptive = buildPerlPackage { pname = "Getopt-Long-Descriptive"; - version = "0.111"; + version = "0.114"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.111.tar.gz"; - hash = "sha256-m40V/K8Y/ddAJGtDjw5+uRS4McUdnXCMCZ7Kd2YiB20="; + url = "mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.114.tar.gz"; + hash = "sha256-QQ6EIRSpy/0/06X9JIqWcDwHxdh5sqpfnbAzPyMnYBY="; }; buildInputs = [ CPANMetaCheck TestFatal TestWarnings ]; propagatedBuildInputs = [ ParamsValidate SubExporter ]; From b5f4b26cdad19eb7e0b7d0f224f75456ea8edea8 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 21:44:26 +0200 Subject: [PATCH 112/491] perlPackages.po4a: 0.71 -> 0.73 --- pkgs/development/perl-modules/Po4a/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/perl-modules/Po4a/default.nix b/pkgs/development/perl-modules/Po4a/default.nix index f15697fbf3792..dee562e6820c0 100644 --- a/pkgs/development/perl-modules/Po4a/default.nix +++ b/pkgs/development/perl-modules/Po4a/default.nix @@ -10,6 +10,7 @@ , docbook_sgml_dtd_41 , opensp , bash +, fetchpatch , perl , buildPerlPackage , ModuleBuild @@ -25,11 +26,11 @@ buildPerlPackage rec { pname = "po4a"; - version = "0.71"; + version = "0.73"; src = fetchurl { url = "https://github.com/mquinson/po4a/releases/download/v${version}/po4a-${version}.tar.gz"; - hash = "sha256-xXJAHknMEXV8bTBgkW/ftagzJR7R1K65ibZnBLzyg/k="; + hash = "sha256-bxj4LYyyo3c5QTfqOWzD6BldbNbkVP4CGKoPDjYDjqA="; }; strictDeps = true; @@ -55,6 +56,13 @@ buildPerlPackage rec { kpsewhich-stub glibcLocales ]; + patches = [ + # Needs a patch for 5.40 until the next release + (fetchpatch { + url = "https://github.com/mquinson/po4a/commit/28fe52651eb8096d97d6bd3a97b3168522ba5306.patch"; + hash = "sha256-QUXxkSzcnwRvU+2y2KoBXmtfE8qTZ2BV0StkJHqZehQ="; + }) + ]; # TODO: TermReadKey was temporarily removed from propagatedBuildInputs to unfreeze the build propagatedBuildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [ From 35efbc9044b69bdb9bc5f835a0caee5a2f905585 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 22:05:43 +0200 Subject: [PATCH 113/491] perlPackages.AppMusicChordPro: 6.030 -> 6.050.7 --- pkgs/top-level/perl-packages.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index dc25d00372760..33a4e78faacf3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -898,13 +898,13 @@ with self; { AppMusicChordPro = buildPerlPackage { pname = "App-Music-ChordPro"; - version = "6.030"; + version = "6.050.7"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JV/JV/App-Music-ChordPro-6.030.tar.gz"; - hash = "sha256-a+5H8U5gmYPkrBUyxxwajPQy9m6sWeDlaeHTfg2cwnc="; + url = "mirror://cpan/authors/id/J/JV/JV/App-Music-ChordPro-6.050.7.tar.gz"; + hash = "sha256-tpNsqhoWOPIwprK3ou5tb9oXKih3HEQjm/2c5F9rOoQ="; }; buildInputs = [ ObjectPad ]; - propagatedBuildInputs = [ AppPackager FileLoadLines FileHomeDir IOString ImageInfo PDFAPI2 StringInterpolateNamed TextLayout ] + propagatedBuildInputs = [ AppPackager DataPrinter FileLoadLines FileHomeDir IOString ImageInfo PDFAPI2 StringInterpolateNamed TextLayout ] ++ lib.optionals (!stdenv.isDarwin) [ Wx ]; nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang; @@ -26612,7 +26612,7 @@ with self; { url = "mirror://cpan/authors/id/J/JV/JV/Text-Layout-0.031.tar.gz"; hash = "sha256-EQ4ObbzKIFhKcckNpxBYAdRrXXYd+QmsTfYQbDM3B34="; }; - buildInputs = [ IOString PDFAPI2 ]; + buildInputs = [ IOString ObjectPad PDFAPI2 ]; meta = { description = "Pango style markup formatting"; license = with lib.licenses; [ artistic1 gpl1Plus ]; From 2d5ed902b29bc7e918e878db88fa3d9a99fd439c Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 22:12:41 +0200 Subject: [PATCH 114/491] perlPackages.CodeTidyAll: 0.83 -> 0.84 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 33a4e78faacf3..07b6b6d2c68c6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4021,10 +4021,10 @@ with self; { CodeTidyAll = buildPerlPackage { pname = "Code-TidyAll"; - version = "0.83"; + version = "0.84"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.83.tar.gz"; - hash = "sha256-FqBS0DprF/xYqEqZb68p5C7O124sQMRyc+uKsxzBXKE="; + url = "mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.84.tar.gz"; + hash = "sha256-s8AU4e3X9EBHkJjkHkeHNhBy9QE6ZqX4j5a05Tyisfc="; }; propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ]; buildInputs = [ TestClass TestClassMost TestDeep TestDifferences TestException TestFatal TestMost TestWarn TestWarnings librelative ]; From 204ef75e033157f52b83052210270132b2d3e649 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 22:14:36 +0200 Subject: [PATCH 115/491] perlPackages.DevelSize: 0.83 -> 0.84 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 07b6b6d2c68c6..f668c94da9d1e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7806,10 +7806,10 @@ with self; { DevelSize = buildPerlPackage { pname = "Devel-Size"; - version = "0.83"; + version = "0.84"; src = fetchurl { - url = "mirror://cpan/authors/id/N/NW/NWCLARK/Devel-Size-0.83.tar.gz"; - hash = "sha256-dXpn4KpZrhA+pcoJLL7MAlZE69wyZzFoj/q2+II+9LM="; + url = "mirror://cpan/authors/id/N/NW/NWCLARK/Devel-Size-0.84.tar.gz"; + hash = "sha256-2y5NZfaI2/WSc7XoIQGsPxpm9mWvsFlNzhaLhlCk0OQ="; }; meta = { description = "Perl extension for finding the memory usage of Perl variables"; From aec989ad30d4c9bd4275a949e4e5bcd9355350dd Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 22:22:38 +0200 Subject: [PATCH 116/491] perlPackages.MooseXGetopt: 0.75 -> 0.76 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f668c94da9d1e..1395b52fa69fb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -17561,10 +17561,10 @@ with self; { MooseXGetopt = buildPerlModule { pname = "MooseX-Getopt"; - version = "0.75"; + version = "0.76"; src = fetchurl { - url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.75.tar.gz"; - hash = "sha256-Y/O+W7K8OB6eSLW5XAMw8hcYtmVuj/sZyZ0u4KwU68g="; + url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.76.tar.gz"; + hash = "sha256-/4cxvSsd+DNH37av6coVwE0uzYsojleT0JXq+Va2sCg="; }; buildInputs = [ ModuleBuildTiny MooseXStrictConstructor PathTiny TestDeep TestFatal TestNeeds TestTrap TestWarnings ]; propagatedBuildInputs = [ GetoptLongDescriptive MooseXRoleParameterized ]; From 78ec617b3aa8dd85d401c1e872d70cac89206b51 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 22:50:51 +0200 Subject: [PATCH 117/491] perlPackages.FileLoadLines: 1.021 -> 1.046 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1395b52fa69fb..5b81c82f3c378 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9989,10 +9989,10 @@ with self; { FileLoadLines = buildPerlPackage { pname = "File-LoadLines"; - version = "1.021"; + version = "1.046"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JV/JV/File-LoadLines-1.021.tar.gz"; - hash = "sha256-mOQS98aSYRNPNLh4W926sxVrj0UlU9u1tWytaDuG//A="; + url = "mirror://cpan/authors/id/J/JV/JV/File-LoadLines-1.046.tar.gz"; + hash = "sha256-ebmx0HqFLHJaR/YEa3V9HXDKOvrWP6J6CHCHQ23XK8I="; }; buildInputs = [ TestException ]; meta = { From 66c5dc33cc6e1c70c337a3fb25cbba0d85a7407f Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 22:52:42 +0200 Subject: [PATCH 118/491] perlPackages.TextLayout: 0.031 -> 0.037 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5b81c82f3c378..6c7caae763416 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -26607,10 +26607,10 @@ with self; { TextLayout = buildPerlPackage { pname = "Text-Layout"; - version = "0.031"; + version = "0.037"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JV/JV/Text-Layout-0.031.tar.gz"; - hash = "sha256-EQ4ObbzKIFhKcckNpxBYAdRrXXYd+QmsTfYQbDM3B34="; + url = "mirror://cpan/authors/id/J/JV/JV/Text-Layout-0.037.tar.gz"; + hash = "sha256-WCeTQSR8SBh0BIdkAPBq19qm/nFilVgYXfNnPfCbnOo="; }; buildInputs = [ IOString ObjectPad PDFAPI2 ]; meta = { From 9e51c8eb8f7520e00eaec94075fb7ea498fa091c Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 23:07:09 +0200 Subject: [PATCH 119/491] perlPackages.ObjectPad: 0.804 -> 0.809 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6c7caae763416..8fad892e5ea44 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -19496,10 +19496,10 @@ with self; { ObjectPad = buildPerlModule { pname = "Object-Pad"; - version = "0.804"; + version = "0.809"; src = fetchurl { - url = "mirror://cpan/authors/id/P/PE/PEVANS/Object-Pad-0.804.tar.gz"; - hash = "sha256-z4jSquGKKHHX1/MPi6bU7lv5U+IP3KileME8dB0W0a0="; + url = "mirror://cpan/authors/id/P/PE/PEVANS/Object-Pad-0.809.tar.gz"; + hash = "sha256-EpUKZkwGB+o/ynSA82XfVNF0YpH0XrsO2AkXt0+xXvU="; }; buildInputs = [ Test2Suite TestFatal TestRefcount ]; perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC"; From 0671159daebe5dd5b75b06cb11040dba1fc6c134 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Fri, 2 Aug 2024 23:11:05 +0200 Subject: [PATCH 120/491] perlPackages.XSParseKeyword: 0.38 -> 0.44 --- pkgs/top-level/perl-packages.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8fad892e5ea44..a34776a179794 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -28952,12 +28952,13 @@ with self; { XSParseKeyword = buildPerlModule { pname = "XS-Parse-Keyword"; - version = "0.38"; + version = "0.44"; src = fetchurl { - url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.38.tar.gz"; - hash = "sha256-JQDEeGnPXKjGHdI8Z7rav2a48e+14nkgdlfBzmk+IR4="; + url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.44.tar.gz"; + hash = "sha256-ohrnkiGSfvwR2J2MnbMt9swgsxacX2kuGSEUriNNdhI="; }; buildInputs = [ ExtUtilsCChecker Test2Suite ]; + propagatedBuildInputs = [ FileShareDir ]; perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC"; meta = { description = "XS functions to assist in parsing keyword syntax"; From 2a1179ccb838f11b596f5f8029ca30f06e27f2f4 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Sat, 3 Aug 2024 13:08:28 +0200 Subject: [PATCH 121/491] perlPackages.EncodeIMAPUTF7: patch to fix build with 540 --- pkgs/development/perl-modules/encode-imaputf7.patch | 13 +++++++++++++ pkgs/top-level/perl-packages.nix | 3 +++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/perl-modules/encode-imaputf7.patch diff --git a/pkgs/development/perl-modules/encode-imaputf7.patch b/pkgs/development/perl-modules/encode-imaputf7.patch new file mode 100644 index 0000000000000..93842cf288bcf --- /dev/null +++ b/pkgs/development/perl-modules/encode-imaputf7.patch @@ -0,0 +1,13 @@ +diff --git a/lib/Encode/IMAPUTF7.pm b/lib/Encode/IMAPUTF7.pm +index 07835b9..411c57f 100644 +--- a/lib/Encode/IMAPUTF7.pm ++++ b/lib/Encode/IMAPUTF7.pm +@@ -9,6 +9,8 @@ __PACKAGE__->Define('IMAP-UTF-7', 'imap-utf-7'); + our $VERSION = '1.05'; + use MIME::Base64; + use Encode; ++use Exporter 'import'; ++our @EXPORT_OK = qw(encode decode); + + # + # Algorithms taken from Unicode::String by Gisle Aas diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a34776a179794..b4e957772fdb3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8790,6 +8790,9 @@ with self; { description = "IMAP modified UTF-7 encoding"; license = with lib.licenses; [ artistic1 gpl1Plus ]; }; + patches = [ + ../development/perl-modules/encode-imaputf7.patch + ]; }; EncodeJIS2K = buildPerlPackage { From 7f567ed707640f2ef83e353daa327bea919c557a Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Sun, 4 Aug 2024 18:55:28 +0200 Subject: [PATCH 122/491] perlPackages.MouseXGetOpt: remove failing tests to fix build --- pkgs/top-level/perl-packages.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b4e957772fdb3..4420b80d1b2bc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -17458,11 +17458,12 @@ with self; { url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Getopt-0.38.tar.gz"; hash = "sha256-3j6o70Ut2VAeqMTtqHRLciRgJgKwRpJgft19YrefA48="; }; - patches = [ - ../development/perl-modules/MouseX-Getopt-gld-tests.patch - ]; buildInputs = [ ModuleBuildTiny MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ]; propagatedBuildInputs = [ GetoptLongDescriptive Mouse ]; + preCheck = '' + # Remove tests that fail due to updated Getopt::Long::Descriptive + rm -f t/109_help_flag.t t/107_no_auto_help.t t/104_override_usage.t t/110_sort_usage_by_attr_order.t + ''; meta = { description = "Mouse role for processing command line options"; homepage = "https://github.com/gfx/mousex-getopt"; From 8df266da79c83c40f5aceacace6d838878f61b2d Mon Sep 17 00:00:00 2001 From: Tobias Mayer Date: Sat, 7 Sep 2024 14:41:35 +0200 Subject: [PATCH 123/491] pkgsStatic.perl: fix build --- .../interpreters/perl/interpreter.nix | 40 ++++++++++++++----- .../perl-modules/generic/default.nix | 2 +- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index 2d40e8d638401..b95adaf8287d4 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -28,7 +28,7 @@ assert (enableCrypt -> (libxcrypt != null)); let - crossCompiling = stdenv.buildPlatform != stdenv.hostPlatform; + crossCompiling = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform); libc = if stdenv.cc.libc or null != null then stdenv.cc.libc else "/usr"; libcInc = lib.getDev libc; libcLib = lib.getLib libc; @@ -99,12 +99,31 @@ stdenv.mkDerivation (rec { # Miniperl needs -lm. perl needs -lrt. configureFlags = (if crossCompiling - then [ "-Dlibpth=\"\"" "-Dglibpth=\"\"" "-Ddefault_inc_excludes_dot" ] - else [ "-de" "-Dcc=cc" ]) + then [ + "-Dlibpth=\"\"" + "-Dglibpth=\"\"" + "-Ddefault_inc_excludes_dot" + ] + else ([ + "-de" + "-Dprefix=${placeholder "out"}" + "-Dman1dir=${placeholder "out"}/share/man/man1" + "-Dman3dir=${placeholder "out"}/share/man/man3" + ] ++ + (if stdenv.hostPlatform.isStatic + then [ + "-Dcc=${stdenv.cc.targetPrefix}cc" + "-Dnm=${stdenv.cc.targetPrefix}nm" + "-Dar=${stdenv.cc.targetPrefix}ar" + "-Uusedl" + ] + else [ + "-Dcc=cc" + "-Duseshrplib" + ]))) ++ [ "-Uinstallusrbinperl" "-Dinstallstyle=lib/perl5" - ] ++ lib.optional (!crossCompiling) "-Duseshrplib" ++ [ "-Dlocincpth=${libcInc}/include" "-Dloclibpth=${libcLib}/lib" ] @@ -112,12 +131,6 @@ stdenv.mkDerivation (rec { ++ lib.optional stdenv.isSunOS "-Dcc=gcc" ++ lib.optional enableThreading "-Dusethreads" ++ lib.optional (!enableCrypt) "-A clear:d_crypt_r" - ++ lib.optional stdenv.hostPlatform.isStatic "--all-static" - ++ lib.optionals (!crossCompiling) [ - "-Dprefix=${placeholder "out"}" - "-Dman1dir=${placeholder "out"}/share/man/man1" - "-Dman3dir=${placeholder "out"}/share/man/man3" - ] ++ lib.optionals (stdenv.isFreeBSD && crossCompiling && enableCrypt) [ # https://github.com/Perl/perl5/issues/22295 # configure cannot figure out that we have crypt automatically, but we really do @@ -126,6 +139,11 @@ stdenv.mkDerivation (rec { configureScript = lib.optionalString (!crossCompiling) "${stdenv.shell} ./Configure"; + postConfigure = lib.optionalString stdenv.hostPlatform.isStatic '' + substituteInPlace Makefile \ + --replace-fail "AR = ar" "AR = ${stdenv.cc.targetPrefix}ar" + ''; + dontAddStaticConfigureFlags = true; dontAddPrefix = !crossCompiling; @@ -246,7 +264,7 @@ stdenv.mkDerivation (rec { priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl` mainProgram = "perl"; }; -} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec { +} // lib.optionalAttrs crossCompiling rec { crossVersion = "1.6"; perl-cross-src = fetchFromGitHub { diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix index e7afedf5d63cd..73c09f4dbe9f5 100644 --- a/pkgs/development/perl-modules/generic/default.nix +++ b/pkgs/development/perl-modules/generic/default.nix @@ -43,7 +43,7 @@ lib.throwIf (attrs ? name) "buildPerlPackage: `name` (\"${attrs.name}\") is depr builder = ./builder.sh; buildInputs = buildInputs ++ [ perl ]; - nativeBuildInputs = nativeBuildInputs ++ (if stdenv.buildPlatform != stdenv.hostPlatform then [ perl.mini ] else [ perl ]); + nativeBuildInputs = nativeBuildInputs ++ (if !(stdenv.buildPlatform.canExecute stdenv.hostPlatform) then [ perl.mini ] else [ perl ]); inherit outputs src doCheck checkTarget enableParallelBuilding; env = { From f6c80f8fc7fd57835ddecd1ed4d252cdf92b1f9b Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Thu, 22 Aug 2024 22:25:35 +0200 Subject: [PATCH 124/491] perl536: remove --- pkgs/top-level/all-packages.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 247ff4911c9ac..01c063ecc1e4c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24517,9 +24517,8 @@ with pkgs; ### DEVELOPMENT / PERL MODULES perlInterpreters = import ../development/interpreters/perl { inherit callPackage; }; - inherit (perlInterpreters) perl536 perl538 perl540; + inherit (perlInterpreters) perl538 perl540; - perl536Packages = recurseIntoAttrs perl536.pkgs; perl538Packages = recurseIntoAttrs perl538.pkgs; perl540Packages = recurseIntoAttrs perl540.pkgs; @@ -35425,8 +35424,8 @@ with pkgs; deliantra-server = callPackage ../games/deliantra/server.nix { # perl538 defines 'struct object' in sv.h. many conflicts result - perl = perl536; - perlPackages = perl536Packages; + perl = perl540; + perlPackages = perl540Packages; }; deliantra-arch = callPackage ../games/deliantra/arch.nix { }; deliantra-maps = callPackage ../games/deliantra/maps.nix { }; @@ -37705,7 +37704,7 @@ with pkgs; curl ]; }); - perl = perl536; + perl = perl540; }; megam = callPackage ../applications/science/misc/megam { From 097e28b021759fe1e829769c0d23438b9d725b13 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Thu, 22 Aug 2024 22:25:05 +0200 Subject: [PATCH 125/491] unit: perl536 -> perl540 --- pkgs/servers/http/unit/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index 31f4b8bec1009..fbdc8d82fd8ef 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -3,8 +3,8 @@ , withPython3 ? true, python3, ncurses , withPHP81 ? true, php81 , withPHP82 ? false, php82 -, withPerl536 ? false, perl536 -, withPerl538 ? true, perl538 +, withPerl538 ? false, perl540 +, withPerl540 ? true, perl538 , withRuby_3_1 ? true, ruby_3_1 , withRuby_3_2 ? false, ruby_3_2 , withSSL ? true, openssl ? null @@ -43,8 +43,8 @@ in stdenv.mkDerivation rec { ++ optionals withPython3 [ python3 ncurses ] ++ optional withPHP81 php81-unit ++ optional withPHP82 php82-unit - ++ optional withPerl536 perl536 ++ optional withPerl538 perl538 + ++ optional withPerl540 perl540 ++ optional withRuby_3_1 ruby_3_1 ++ optional withRuby_3_2 ruby_3_2 ++ optional withSSL openssl; @@ -65,8 +65,8 @@ in stdenv.mkDerivation rec { ${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"} ${optionalString withPHP81 "./configure php --module=php81 --config=${php81-unit.unwrapped.dev}/bin/php-config --lib-path=${php81-unit}/lib"} ${optionalString withPHP82 "./configure php --module=php81 --config=${php82-unit.unwrapped.dev}/bin/php-config --lib-path=${php82-unit}/lib"} - ${optionalString withPerl536 "./configure perl --module=perl536 --perl=${perl536}/bin/perl"} ${optionalString withPerl538 "./configure perl --module=perl538 --perl=${perl538}/bin/perl"} + ${optionalString withPerl540 "./configure perl --module=perl540 --perl=${perl540}/bin/perl"} ${optionalString withRuby_3_1 "./configure ruby --module=ruby31 --ruby=${ruby_3_1}/bin/ruby"} ${optionalString withRuby_3_2 "./configure ruby --module=ruby32 --ruby=${ruby_3_2}/bin/ruby"} ''; From 0724f3cc5673a91e4d68c47ae1d0ef8cdb11510e Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Thu, 22 Aug 2024 22:23:49 +0200 Subject: [PATCH 126/491] macvim: 178 -> 179, perl536 -> perl540 --- pkgs/applications/editors/vim/macvim.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix index 0cca3d97538fd..64119b78709f4 100644 --- a/pkgs/applications/editors/vim/macvim.nix +++ b/pkgs/applications/editors/vim/macvim.nix @@ -8,7 +8,7 @@ , cscope , ruby_3_2 , tcl -, perl536 +, perl540 , luajit , darwin , libiconv @@ -17,8 +17,7 @@ # Try to match MacVim's documented script interface compatibility let - # Perl 5.30 - closest we get is 5.36. 5.38 is currently failing - perl = perl536; + perl = perl540; # Ruby 3.2 ruby = ruby_3_2; @@ -35,13 +34,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "macvim"; - version = "178"; + version = "179"; src = fetchFromGitHub { owner = "macvim-dev"; repo = "macvim"; rev = "release-${finalAttrs.version}"; - hash = "sha256-JYh5fyaYuME/Lk67vrf1hYOIcAkEbwtslcnI9KRzHa8="; + hash = "sha256-L9LVXyeA09aMtNf+b/Oo+eLpeVEKTD1/oNWCiFn5FbU="; }; enableParallelBuilding = true; From c01953dae814229bde0f724c01c2d51ba65640e0 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sat, 7 Sep 2024 18:33:30 +0200 Subject: [PATCH 127/491] perlPackages.ApacheDB: mark as broken https://rt.cpan.org/Public/Bug/Display.html?id=148727 --- pkgs/top-level/perl-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4420b80d1b2bc..bc36c047fce2f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -699,6 +699,7 @@ with self; { meta = { description = "Run the interactive Perl debugger under mod_perl"; license = with lib.licenses; [ artistic1 gpl1Plus ]; + broken = true; # DB.c:(.text+0x153): undefined reference to `Perl_init_debugger' }; }; From f5413cd9d49fbb148f23017bf24db8aa0f4314cd Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sat, 7 Sep 2024 18:35:18 +0200 Subject: [PATCH 128/491] perlPackages.CGICompile: disable unstable test --- pkgs/top-level/perl-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bc36c047fce2f..743b2cd69137b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3131,6 +3131,7 @@ with self; { }; propagatedBuildInputs = [ Filepushd SubName ]; buildInputs = [ CGI CaptureTiny ModuleBuildTiny SubIdentify Switch TestNoWarnings TestRequires TryTiny ]; + preCheck = "rm t/race-conditions.t"; # this test is unstable meta = { description = "Compile .cgi scripts to a code reference like ModPerl::Registry"; homepage = "https://github.com/miyagawa/CGI-Compile"; From 816958c88efed3305b1fcdf686ddccdb9c57a93f Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sat, 7 Sep 2024 18:41:32 +0200 Subject: [PATCH 129/491] perlPackages.AuthenModAuthPubTkt: disable unstable test --- pkgs/top-level/perl-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 743b2cd69137b..309d680eb6f33 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1418,6 +1418,7 @@ with self; { # -dss1 doesn't exist for dgst in openssl 1.1, -sha1 can also handle DSA keys now sed -i 's|-dss1|-sha1|' lib/Authen/ModAuthPubTkt.pm ''; + preCheck = "rm t/04-verify-dsa.t"; # remove unstable test: https://rt.cpan.org/Ticket/Display.html?id=110752 meta = { description = "Generate Tickets (Signed HTTP Cookies) for mod_auth_pubtkt protected websites"; license = with lib.licenses; [ artistic1 gpl1Plus ]; From 92b0f7cb13eb6d28cc5f929a32d7a294da2896c4 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 27 Aug 2024 22:32:16 +0100 Subject: [PATCH 130/491] ffmpeg: ffmpeg_6 -> ffmpeg_7 --- nixos/doc/manual/release-notes/rl-2411.section.md | 11 ++++++++--- pkgs/development/libraries/ffmpeg/default.nix | 6 +++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 92f690772ea63..ee749a2185d7f 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -391,9 +391,6 @@ - The `services.mxisd` module has been removed as both [mxisd](https://github.com/kamax-matrix/mxisd) and [ma1sd](https://github.com/ma1uta/ma1sd) are not maintained any longer. Consequently the package `pkgs.ma1sd` has also been removed. -- `ffmpeg_5` has been removed. Please use the unversioned `ffmpeg`, - pin a newer version, or if necessary pin `ffmpeg_4` for compatibility. - - The `xdg.portal.gtkUsePortal` option has been removed, as it had been deprecated for over 2 years. Using the `GTK_USE_PORTAL` environment variable in this manner is not intended nor encouraged by the GTK developers, but can still be done manually via `environment.sessionVariables`. - The `services.trust-dns` module has been renamed to `services.hickory-dns`. @@ -425,6 +422,14 @@ - Minimal installer ISOs are no longer built on the small channel. Please obtain installer images from the full release channels. +- The default FFmpeg version is now 7, and FFmpeg 5 has been removed. + Please prefer using the package variants without a version suffix, + or pin FFmpeg 6 or 4 if necessary for compatibility. + Note that we keep old versions around only as required + to support packages in the tree, + and FFmpeg 4 especially should be avoided in favour of newer versions + as it may be removed soon. + ## Other Notable Changes {#sec-release-24.11-notable-changes} diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index f6a6403435e8b..35964e0b202b7 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -54,7 +54,7 @@ rec { # update to ffmpeg # Packages which use ffmpeg as a library, should pin to the relevant major # version number which the upstream support. - ffmpeg = ffmpeg_6; - ffmpeg-headless = ffmpeg_6-headless; - ffmpeg-full = ffmpeg_6-full; + ffmpeg = ffmpeg_7; + ffmpeg-headless = ffmpeg_7-headless; + ffmpeg-full = ffmpeg_7-full; } From 342fb8a152c05354a2c9dc455fcbc1fc394a2912 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 27 Aug 2024 22:50:55 +0100 Subject: [PATCH 131/491] ffmpeg: adjust update and pinning advice It is best to keep as many FFmpeg dependencies unpinned as possible, so that only the packages that actually break are kept behind on old versions. I ran into many cases recently where a package was pinned to an old version of FFmpeg but worked fine with the latest one, making the older versions look more necessary than they actually were. This will make it easier to find packages that need intervention to be updated to newer versions and speed up the process of jettisoning old FFmpeg versions. The cost of potentially holding back the default version for a little while to let major parts of the ecosystem catch up is minor by comparison, especially since it has happened with 7 anyway due to Darwin problems. --- pkgs/development/libraries/ffmpeg/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index 35964e0b202b7..62913482deb61 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -50,10 +50,16 @@ rec { ffmpeg_7-headless = mkFFmpeg v7 "headless"; ffmpeg_7-full = mkFFmpeg v7 "full"; - # Please make sure this is updated to the latest version on the next major - # update to ffmpeg - # Packages which use ffmpeg as a library, should pin to the relevant major - # version number which the upstream support. + # Please make sure this is updated to new major versions once they + # build and work on all the major platforms. If absolutely necessary + # due to severe breaking changes, the bump can wait a little bit to + # give the most proactive users time to migrate, but don’t hold off + # for too long. + # + # Packages which depend on FFmpeg should generally use these + # unversioned aliases to allow for quicker migration to new releases, + # but can pin one of the versioned variants if they do not work with + # the current default version. ffmpeg = ffmpeg_7; ffmpeg-headless = ffmpeg_7-headless; ffmpeg-full = ffmpeg_7-full; From 61922738bbdfee7c34dffb8ab6facc04b015011e Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 27 Aug 2024 22:52:44 +0100 Subject: [PATCH 132/491] treewide: optimistically unpin FFmpeg 7 dependencies Per the adjusted FFmpeg pinning advice, packages that work on the default version should use the unversioned variants to ease the migration to future versions and reduce the number of packages that end up referencing old versions. I have left HandBrake pinned as it builds a custom patched FFmpeg. --- nixos/modules/services/video/go2rtc/default.nix | 4 ++-- pkgs/applications/audio/audacity/default.nix | 6 +++--- pkgs/applications/audio/keyfinder-cli/default.nix | 4 ++-- pkgs/applications/audio/moc/default.nix | 4 ++-- pkgs/applications/audio/pianobar/default.nix | 4 ++-- pkgs/applications/emulators/retroarch/default.nix | 4 ++-- pkgs/applications/graphics/openboard/default.nix | 4 ++-- pkgs/applications/kde/ffmpegthumbs.nix | 4 ++-- pkgs/applications/science/networking/sumo/default.nix | 4 ++-- pkgs/applications/video/dvdstyler/default.nix | 4 ++-- pkgs/applications/video/mplayer/default.nix | 4 ++-- pkgs/applications/video/simplescreenrecorder/default.nix | 4 ++-- pkgs/applications/video/webcamoid/default.nix | 4 ++-- pkgs/by-name/at/attract-mode/package.nix | 4 ++-- pkgs/by-name/cc/ccextractor/package.nix | 8 ++++---- pkgs/by-name/fe/febio-studio/package.nix | 4 ++-- pkgs/by-name/me/metadata/package.nix | 6 +++--- pkgs/by-name/mu/musly/package.nix | 4 ++-- pkgs/development/libraries/chromaprint/default.nix | 4 ++-- pkgs/development/libraries/mediastreamer/default.nix | 4 ++-- pkgs/development/libraries/pangolin/default.nix | 4 ++-- pkgs/development/libraries/qt-5/modules/qtwebengine.nix | 4 ++-- pkgs/development/libraries/qt-6/modules/qtmultimedia.nix | 4 ++-- pkgs/development/libraries/qt-6/modules/qtwebengine.nix | 4 ++-- pkgs/development/octave-modules/video/default.nix | 4 ++-- .../development/python-modules/ffmpeg-python/default.nix | 9 +++------ pkgs/games/hedgewars/default.nix | 4 ++-- pkgs/games/ultrastardx/default.nix | 4 ++-- pkgs/misc/screensavers/electricsheep/default.nix | 4 ++-- pkgs/os-specific/linux/guvcview/default.nix | 4 ++-- pkgs/servers/guacamole-server/default.nix | 4 ++-- pkgs/servers/misc/oven-media-engine/default.nix | 4 ++-- pkgs/servers/photoprism/default.nix | 4 ++-- pkgs/tools/audio/loudgain/default.nix | 4 ++-- pkgs/tools/graphics/vulkan-cts/default.nix | 4 ++-- pkgs/tools/video/untrunc-anthwlock/default.nix | 4 ++-- pkgs/tools/video/xjadeo/default.nix | 4 ++-- pkgs/tools/wayland/wl-screenrec/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 4 +--- 39 files changed, 82 insertions(+), 87 deletions(-) diff --git a/nixos/modules/services/video/go2rtc/default.nix b/nixos/modules/services/video/go2rtc/default.nix index 3121ce4737c75..f74c172907feb 100644 --- a/nixos/modules/services/video/go2rtc/default.nix +++ b/nixos/modules/services/video/go2rtc/default.nix @@ -55,8 +55,8 @@ in ffmpeg = { bin = mkOption { type = path; - default = lib.getExe pkgs.ffmpeg_7-headless; - defaultText = literalExpression "lib.getExe pkgs.ffmpeg_7-headless"; + default = lib.getExe pkgs.ffmpeg-headless; + defaultText = literalExpression "lib.getExe pkgs.ffmpeg-headless"; description = '' The ffmpeg package to use for transcoding. ''; diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index bdedb3b9579b1..281cd130b4ac4 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -30,7 +30,7 @@ , libid3tag , libopus , libuuid -, ffmpeg_7 +, ffmpeg , soundtouch , pcre , portaudio # given up fighting their portaudio.patch? @@ -95,7 +95,7 @@ stdenv.mkDerivation rec { buildInputs = [ expat - ffmpeg_7 + ffmpeg file flac gtk3 @@ -179,7 +179,7 @@ stdenv.mkDerivation rec { postFixup = lib.optionalString stdenv.isLinux '' wrapProgram "$out/bin/audacity" \ "''${gappsWrapperArgs[@]}" \ - --prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg_7 ]} \ + --prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg ]} \ --suffix AUDACITY_MODULES_PATH : "$out/lib/audacity/modules" \ --suffix AUDACITY_PATH : "$out/share/audacity" '' + lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix index 1a4ac86cc2139..8c6e2692a6402 100644 --- a/pkgs/applications/audio/keyfinder-cli/default.nix +++ b/pkgs/applications/audio/keyfinder-cli/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, ffmpeg_7, libkeyfinder, fftw }: +{ lib, stdenv, fetchFromGitHub, ffmpeg, libkeyfinder, fftw }: stdenv.mkDerivation rec { pname = "keyfinder-cli"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { hash = "sha256-9/+wzPTaQ5PfPiqTZ5EuHdswXJgfgnvAul/FeeDbbJA="; }; - buildInputs = [ ffmpeg_7 libkeyfinder fftw ]; + buildInputs = [ ffmpeg libkeyfinder fftw ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index a7ad6590aa6bb..8e0554245c16a 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -16,7 +16,7 @@ , musepackSupport ? true, libmpc, libmpcdec, taglib , vorbisSupport ? true, libvorbis , speexSupport ? true, speex -, ffmpegSupport ? true, ffmpeg_7 +, ffmpegSupport ? true, ffmpeg , sndfileSupport ? true, libsndfile , wavpackSupport ? true, wavpack # Misc @@ -74,7 +74,7 @@ stdenv.mkDerivation { ++ lib.optionals musepackSupport [ libmpc libmpcdec taglib ] ++ lib.optional vorbisSupport libvorbis ++ lib.optional speexSupport speex - ++ lib.optional ffmpegSupport ffmpeg_7 + ++ lib.optional ffmpegSupport ffmpeg ++ lib.optional sndfileSupport libsndfile ++ lib.optional wavpackSupport wavpack # Misc diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix index 11116c7ffa5fd..b1a4825a88c81 100644 --- a/pkgs/applications/audio/pianobar/default.nix +++ b/pkgs/applications/audio/pianobar/default.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, lib, stdenv, pkg-config, libao, json_c, libgcrypt, ffmpeg_7, curl }: +{ fetchFromGitHub, lib, stdenv, pkg-config, libao, json_c, libgcrypt, ffmpeg, curl }: stdenv.mkDerivation rec { pname = "pianobar"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - libao json_c libgcrypt ffmpeg_7 curl + libao json_c libgcrypt ffmpeg curl ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix index 83cb0b2bbc63f..547e9c84d4dd8 100644 --- a/pkgs/applications/emulators/retroarch/default.nix +++ b/pkgs/applications/emulators/retroarch/default.nix @@ -8,7 +8,7 @@ , alsa-lib , dbus , fetchFromGitHub -, ffmpeg_7 +, ffmpeg , flac , freetype , gamemode @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { lib.optional (runtimeLibs != [ ]) makeWrapper; buildInputs = [ - ffmpeg_7 + ffmpeg flac freetype libGL diff --git a/pkgs/applications/graphics/openboard/default.nix b/pkgs/applications/graphics/openboard/default.nix index 363114fdaafbd..1b65e77b1a5c6 100644 --- a/pkgs/applications/graphics/openboard/default.nix +++ b/pkgs/applications/graphics/openboard/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchFromGitHub, fetchpatch2, copyDesktopItems, makeDesktopItem, qmake , qtbase, qtxmlpatterns, qttools, qtwebengine, libGL, fontconfig, openssl, poppler, wrapQtAppsHook -, ffmpeg_7, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg +, ffmpeg, libva, alsa-lib, SDL, x264, libvpx, libvorbis, libtheora, libogg , libopus, lame, fdk_aac, libass, quazip, libXext, libXfixes }: let @@ -68,7 +68,7 @@ in stdenv.mkDerivation (finalAttrs: { fontconfig openssl poppler - ffmpeg_7 + ffmpeg libva alsa-lib SDL diff --git a/pkgs/applications/kde/ffmpegthumbs.nix b/pkgs/applications/kde/ffmpegthumbs.nix index 9b0da69d71fa3..360da8ede775a 100644 --- a/pkgs/applications/kde/ffmpegthumbs.nix +++ b/pkgs/applications/kde/ffmpegthumbs.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, extra-cmake-modules, - ffmpeg_7, kio, taglib + ffmpeg, kio, taglib }: mkDerivation { @@ -11,5 +11,5 @@ mkDerivation { maintainers = [ lib.maintainers.ttuegel ]; }; nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ ffmpeg_7 kio taglib ]; + buildInputs = [ ffmpeg kio taglib ]; } diff --git a/pkgs/applications/science/networking/sumo/default.nix b/pkgs/applications/science/networking/sumo/default.nix index 4906b0b80c769..88127f6db4fce 100644 --- a/pkgs/applications/science/networking/sumo/default.nix +++ b/pkgs/applications/science/networking/sumo/default.nix @@ -1,4 +1,4 @@ -{ lib, bzip2, cmake, eigen, fetchFromGitHub, ffmpeg_7, fox_1_6, gdal, +{ lib, bzip2, cmake, eigen, fetchFromGitHub, ffmpeg, fox_1_6, gdal, git, gl2ps, gpp , gtest, jdk, libGL, libGLU, libX11, libjpeg, libpng, libtiff, libxcrypt, openscenegraph , proj, python3, python3Packages, stdenv, swig, xercesc, xorg, zlib }: @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { buildInputs = [ bzip2 eigen - ffmpeg_7 + ffmpeg fox_1_6 gdal gl2ps diff --git a/pkgs/applications/video/dvdstyler/default.nix b/pkgs/applications/video/dvdstyler/default.nix index 7ec4658aee321..55c2c271980de 100644 --- a/pkgs/applications/video/dvdstyler/default.nix +++ b/pkgs/applications/video/dvdstyler/default.nix @@ -7,7 +7,7 @@ , docbook-xsl-nons , dvdauthor , dvdplusrwtools -, ffmpeg_7 +, ffmpeg , flex , fontconfig , gettext @@ -55,7 +55,7 @@ in stdenv.mkDerivation rec { cdrtools dvdauthor dvdplusrwtools - ffmpeg_7 + ffmpeg fontconfig glib libexif diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix index 1608585de795a..58ed655f86a32 100644 --- a/pkgs/applications/video/mplayer/default.nix +++ b/pkgs/applications/video/mplayer/default.nix @@ -1,4 +1,4 @@ -{ config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg_7 +{ config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg , aalibSupport ? true, aalib , fontconfigSupport ? true, fontconfig, freefont_ttf , fribidiSupport ? true, fribidi @@ -86,7 +86,7 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ pkg-config yasm ]; - buildInputs = [ freetype ffmpeg_7 ] + buildInputs = [ freetype ffmpeg ] ++ lib.optional aalibSupport aalib ++ lib.optional fontconfigSupport fontconfig ++ lib.optional fribidiSupport fribidi diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index 9b503abab6a1f..d02c7cffaad3d 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg_7, libjack2, libX11, libXext, libXinerama, qtx11extras +{ lib, stdenv, mkDerivation, fetchFromGitHub, alsa-lib, ffmpeg, libjack2, libX11, libXext, libXinerama, qtx11extras , libXfixes, libGLU, libGL, pkg-config, libpulseaudio, libv4l, qtbase, qttools, cmake, ninja, nix-update-script }: @@ -29,7 +29,7 @@ mkDerivation rec { nativeBuildInputs = [ pkg-config cmake ninja ]; buildInputs = [ - alsa-lib ffmpeg_7 libjack2 libX11 libXext libXfixes libXinerama libGLU libGL + alsa-lib ffmpeg libjack2 libX11 libXext libXfixes libXinerama libGLU libGL libpulseaudio libv4l qtbase qttools qtx11extras ]; diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix index 15f6313c42154..0118d6c09be0f 100644 --- a/pkgs/applications/video/webcamoid/default.nix +++ b/pkgs/applications/video/webcamoid/default.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub, fetchpatch2, pkg-config, libxcb, mkDerivation, cmake , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2 -, ffmpeg_7, gst_all_1, libpulseaudio, alsa-lib, jack2 +, ffmpeg, gst_all_1, libpulseaudio, alsa-lib, jack2 , v4l-utils }: mkDerivation rec { pname = "webcamoid"; @@ -24,7 +24,7 @@ mkDerivation rec { buildInputs = [ libxcb qtbase qtdeclarative qtquickcontrols qtquickcontrols2 - ffmpeg_7 + ffmpeg gst_all_1.gstreamer gst_all_1.gst-plugins-base alsa-lib libpulseaudio jack2 v4l-utils diff --git a/pkgs/by-name/at/attract-mode/package.nix b/pkgs/by-name/at/attract-mode/package.nix index 87328a78ce6fe..60968cfb85a02 100644 --- a/pkgs/by-name/at/attract-mode/package.nix +++ b/pkgs/by-name/at/attract-mode/package.nix @@ -4,7 +4,7 @@ fetchFromGitHub, pkg-config, expat, - ffmpeg_7, + ffmpeg, freetype, libarchive, libjpeg, @@ -32,7 +32,7 @@ stdenv.mkDerivation { buildInputs = [ expat - ffmpeg_7 + ffmpeg freetype libarchive libjpeg diff --git a/pkgs/by-name/cc/ccextractor/package.nix b/pkgs/by-name/cc/ccextractor/package.nix index 0ddfdfe3f3c8c..293784acd4220 100644 --- a/pkgs/by-name/cc/ccextractor/package.nix +++ b/pkgs/by-name/cc/ccextractor/package.nix @@ -18,7 +18,7 @@ zlib, utf8proc, freetype, - ffmpeg_7, + ffmpeg, libarchive, curl, libiconv, @@ -75,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: { zlib utf8proc freetype - ffmpeg_7 + ffmpeg libarchive curl libiconv @@ -101,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: { ]; env = { - FFMPEG_INCLUDE_DIR = "${lib.getDev ffmpeg_7}/include"; + FFMPEG_INCLUDE_DIR = "${lib.getDev ffmpeg}/include"; # Upstream’s FFmpeg binding crate needs an explicit path to a shared # object to do dynamic linking. The key word is *an* explicit path; @@ -120,7 +120,7 @@ stdenv.mkDerivation (finalAttrs: { "swresample" "swscale" ]; - ffmpegLibDir = "${lib.getLib ffmpeg_7}/lib"; + ffmpegLibDir = "${lib.getLib ffmpeg}/lib"; ffmpegLibExt = stdenv.hostPlatform.extensions.library; ffmpegLibPath = ffmpegLibName: "${ffmpegLibDir}/lib${ffmpegLibName}.${ffmpegLibExt}"; ffmpegLinkerScript = writeTextFile { diff --git a/pkgs/by-name/fe/febio-studio/package.nix b/pkgs/by-name/fe/febio-studio/package.nix index 654046067dc80..c37c7f3fe2419 100644 --- a/pkgs/by-name/fe/febio-studio/package.nix +++ b/pkgs/by-name/fe/febio-studio/package.nix @@ -16,7 +16,7 @@ tetgenSupport ? true, tetgen, ffmpegSupport ? true, - ffmpeg_7, + ffmpeg, dicomSupport ? false, dcmtk, withModelRepo ? true, @@ -75,7 +75,7 @@ stdenv'.mkDerivation (finalAttrs: { libssh ] ++ lib.optional tetgenSupport tetgen - ++ lib.optional ffmpegSupport ffmpeg_7 + ++ lib.optional ffmpegSupport ffmpeg ++ lib.optional dicomSupport dcmtk; meta = { diff --git a/pkgs/by-name/me/metadata/package.nix b/pkgs/by-name/me/metadata/package.nix index 23f20f53452c2..03e8666009e4f 100644 --- a/pkgs/by-name/me/metadata/package.nix +++ b/pkgs/by-name/me/metadata/package.nix @@ -1,7 +1,7 @@ { lib , fetchFromGitHub , pkg-config -, ffmpeg_7 +, ffmpeg , rustPlatform , glib , installShellFiles @@ -35,11 +35,11 @@ rustPlatform.buildRustPackage rec { ''; buildInputs = [ - ffmpeg_7 + ffmpeg glib ]; - env.FFMPEG_DIR = ffmpeg_7.dev; + env.FFMPEG_DIR = ffmpeg.dev; meta = { description = "Media metadata parser and formatter designed for human consumption, powered by FFmpeg"; diff --git a/pkgs/by-name/mu/musly/package.nix b/pkgs/by-name/mu/musly/package.nix index 25938c2059fab..07cb806a21f08 100644 --- a/pkgs/by-name/mu/musly/package.nix +++ b/pkgs/by-name/mu/musly/package.nix @@ -6,7 +6,7 @@ ninja, pkg-config, eigen, - ffmpeg_7, + ffmpeg, libresample, kissfft, }: @@ -47,7 +47,7 @@ stdenv.mkDerivation { buildInputs = [ eigen - ffmpeg_7 + ffmpeg libresample kissfft ]; diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix index 934a4b04a96b3..8169c208d0c99 100644 --- a/pkgs/development/libraries/chromaprint/default.nix +++ b/pkgs/development/libraries/chromaprint/default.nix @@ -5,7 +5,7 @@ , fetchpatch2 , cmake , ninja -, ffmpeg_7 +, ffmpeg , darwin , zlib }: @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja ]; - buildInputs = [ ffmpeg_7 ] ++ lib.optionals stdenv.isDarwin + buildInputs = [ ffmpeg ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Accelerate CoreGraphics CoreVideo zlib ]); cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ]; diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix index cdd1eb3bdbf7c..03efb5d57a703 100644 --- a/pkgs/development/libraries/mediastreamer/default.nix +++ b/pkgs/development/libraries/mediastreamer/default.nix @@ -3,7 +3,7 @@ , cmake , fetchFromGitLab , fetchpatch2 -, ffmpeg_7 +, ffmpeg , glew , gsm , lib @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { bzrtp ortp - ffmpeg_7 + ffmpeg glew libX11 libXext diff --git a/pkgs/development/libraries/pangolin/default.nix b/pkgs/development/libraries/pangolin/default.nix index 600c7b0eb0585..3c20fe7bf497c 100644 --- a/pkgs/development/libraries/pangolin/default.nix +++ b/pkgs/development/libraries/pangolin/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, libGL, glew -, xorg, ffmpeg_7, libjpeg, libpng, libtiff, eigen +, xorg, ffmpeg, libjpeg, libpng, libtiff, eigen , Carbon, Cocoa }: @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { libGL glew xorg.libX11 - ffmpeg_7 + ffmpeg libjpeg libpng libtiff diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index 1a63c9508c055..5663ffb413b8a 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -25,7 +25,7 @@ , ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication , MediaPlayer, MediaAccessibility, SecurityInterface, Vision, CoreML, OpenDirectory, Accelerate , cups, openbsm, xcbuild, writeScriptBin -, ffmpeg_7 ? null +, ffmpeg ? null , lib, stdenv , version ? null , qtCompatVersion @@ -232,7 +232,7 @@ qtModule ({ harfbuzz icu libevent - ffmpeg_7 + ffmpeg ] ++ lib.optionals (!stdenv.isDarwin) [ dbus zlib minizip snappy nss protobuf jsoncpp diff --git a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix index 83bcb4c2a0d4a..8cdabc32b657a 100644 --- a/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix +++ b/pkgs/development/libraries/qt-6/modules/qtmultimedia.nix @@ -13,7 +13,7 @@ , gst-plugins-good , gst-libav , gst-vaapi -, ffmpeg_7 +, ffmpeg , libva , libpulseaudio , wayland @@ -28,7 +28,7 @@ qtModule { pname = "qtmultimedia"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ffmpeg_7 ] + buildInputs = [ ffmpeg ] ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ libunwind orc ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libpulseaudio alsa-lib wayland libXrandr libva ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [ elfutils ]; diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix index 8da3b7b628427..2cb57c80077a8 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix @@ -50,7 +50,7 @@ , systemd , pipewire , gn -, ffmpeg_7 +, ffmpeg , lib , stdenv , glib @@ -237,7 +237,7 @@ qtModule { lcms2 libevent - ffmpeg_7 + ffmpeg ] ++ lib.optionals stdenv.hostPlatform.isLinux [ dbus zlib diff --git a/pkgs/development/octave-modules/video/default.nix b/pkgs/development/octave-modules/video/default.nix index c95d78590cc0a..798607fb34be9 100644 --- a/pkgs/development/octave-modules/video/default.nix +++ b/pkgs/development/octave-modules/video/default.nix @@ -3,7 +3,7 @@ , lib , fetchFromGitHub , pkg-config -, ffmpeg_7 +, ffmpeg }: buildOctavePackage rec { @@ -22,7 +22,7 @@ buildOctavePackage rec { ]; propagatedBuildInputs = [ - ffmpeg_7 + ffmpeg ]; meta = with lib; { diff --git a/pkgs/development/python-modules/ffmpeg-python/default.nix b/pkgs/development/python-modules/ffmpeg-python/default.nix index c337d64dc7ee7..b7ae441c9f7ea 100644 --- a/pkgs/development/python-modules/ffmpeg-python/default.nix +++ b/pkgs/development/python-modules/ffmpeg-python/default.nix @@ -2,12 +2,12 @@ lib, buildPythonPackage, fetchFromGitHub, - substituteAll, + replaceVars, fetchpatch2, setuptools, pytestCheckHook, pytest-mock, - ffmpeg_7, + ffmpeg, }: buildPythonPackage { @@ -23,10 +23,7 @@ buildPythonPackage { }; patches = [ - (substituteAll { - src = ./ffmpeg-location.patch; - ffmpeg = ffmpeg_7; - }) + (replaceVars ./ffmpeg-location.patch { inherit ffmpeg; }) # Remove dependency on `future` # https://github.com/kkroening/ffmpeg-python/pull/795 diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix index 351dd15c417fb..76cebf4b27690 100644 --- a/pkgs/games/hedgewars/default.nix +++ b/pkgs/games/hedgewars/default.nix @@ -1,4 +1,4 @@ -{ stdenv, SDL2_image_2_6, SDL2_ttf, SDL2_net, fpc, haskell, ffmpeg_7, libglut +{ stdenv, SDL2_image_2_6, SDL2_ttf, SDL2_net, fpc, haskell, ffmpeg, libglut , lib, fetchurl, cmake, pkg-config, lua5_1, SDL2, SDL2_mixer , zlib, libpng, libGL, libGLU, physfs , qtbase, qttools, wrapQtAppsHook @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image_2_6 fpc lua5_1 llvm # hard-requirement on aarch64, for some reason not strictly necessary on x86-64 - ffmpeg_7 libglut physfs + ffmpeg libglut physfs qtbase ] ++ lib.optional withServer ghc; diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix index bd07544712ad5..ad0c894014e63 100644 --- a/pkgs/games/ultrastardx/default.nix +++ b/pkgs/games/ultrastardx/default.nix @@ -13,7 +13,7 @@ , SDL2_gfx , SDL2_mixer , SDL2_net, SDL2_ttf -, ffmpeg_7 +, ffmpeg , sqlite , zlib , libX11 @@ -25,7 +25,7 @@ let sharedLibs = [ pcre portaudio freetype SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf - sqlite lua zlib libX11 libGLU libGL ffmpeg_7 + sqlite lua zlib libX11 libGLU libGL ffmpeg ]; in stdenv.mkDerivation rec { diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix index a75c725c0dbcf..2f7038195b3ef 100644 --- a/pkgs/misc/screensavers/electricsheep/default.nix +++ b/pkgs/misc/screensavers/electricsheep/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , autoreconfHook , wxGTK32 -, ffmpeg_7 +, ffmpeg , lua5_1 , curl , libpng @@ -34,7 +34,7 @@ stdenv.mkDerivation { buildInputs = [ wxGTK32 - ffmpeg_7 + ffmpeg lua5_1 curl libpng diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix index e41f5c8e3c524..cc7353f087e6c 100644 --- a/pkgs/os-specific/linux/guvcview/default.nix +++ b/pkgs/os-specific/linux/guvcview/default.nix @@ -5,7 +5,7 @@ , pkg-config , portaudio , SDL2 -, ffmpeg_7 +, ffmpeg , udev , libusb1 , libv4l @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { buildInputs = [ SDL2 alsa-lib - ffmpeg_7 + ffmpeg libusb1 libv4l portaudio diff --git a/pkgs/servers/guacamole-server/default.nix b/pkgs/servers/guacamole-server/default.nix index 0a6fa5dd89a27..42bf481e252ac 100644 --- a/pkgs/servers/guacamole-server/default.nix +++ b/pkgs/servers/guacamole-server/default.nix @@ -6,7 +6,7 @@ , autoPatchelfHook , autoreconfHook , cairo -, ffmpeg_7-headless +, ffmpeg-headless , freerdp , libjpeg_turbo , libpng @@ -61,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ cairo - ffmpeg_7-headless + ffmpeg-headless freerdp libjpeg_turbo libossp_uuid diff --git a/pkgs/servers/misc/oven-media-engine/default.nix b/pkgs/servers/misc/oven-media-engine/default.nix index 20241ab89060a..4d69b4b9e4dcd 100644 --- a/pkgs/servers/misc/oven-media-engine/default.nix +++ b/pkgs/servers/misc/oven-media-engine/default.nix @@ -6,7 +6,7 @@ , perl , openssl , zlib -, ffmpeg_7 +, ffmpeg , libvpx , libopus , libuuid @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; nativeBuildInputs = [ bc pkg-config perl ]; - buildInputs = [ openssl srt zlib ffmpeg_7 libvpx libopus srtp jemalloc pcre2 libuuid hiredis ]; + buildInputs = [ openssl srt zlib ffmpeg libvpx libopus srtp jemalloc pcre2 libuuid hiredis ]; preBuild = '' cd src diff --git a/pkgs/servers/photoprism/default.nix b/pkgs/servers/photoprism/default.nix index 0c39ad8b6b810..85ba70c5027a9 100644 --- a/pkgs/servers/photoprism/default.nix +++ b/pkgs/servers/photoprism/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, stdenv, fetchFromGitHub, fetchzip, darktable, rawtherapee, ffmpeg_7, libheif, exiftool, imagemagick, makeWrapper, testers +{ pkgs, lib, stdenv, fetchFromGitHub, fetchzip, darktable, rawtherapee, ffmpeg, libheif, exiftool, imagemagick, makeWrapper, testers , nixosTests , librsvg }: @@ -64,7 +64,7 @@ stdenv.mkDerivation { --set PHOTOPRISM_RAWTHERAPEE_BIN ${rawtherapee}/bin/rawtherapee-cli \ --set PHOTOPRISM_HEIFCONVERT_BIN ${libheif}/bin/heif-convert \ --set PHOTOPRISM_RSVGCONVERT_BIN ${librsvg}/bin/rsvg-convert \ - --set PHOTOPRISM_FFMPEG_BIN ${ffmpeg_7}/bin/ffmpeg \ + --set PHOTOPRISM_FFMPEG_BIN ${ffmpeg}/bin/ffmpeg \ --set PHOTOPRISM_EXIFTOOL_BIN ${exiftool}/bin/exiftool \ --set PHOTOPRISM_IMAGEMAGICK_BIN ${imagemagick}/bin/convert diff --git a/pkgs/tools/audio/loudgain/default.nix b/pkgs/tools/audio/loudgain/default.nix index 54c5c457b1d2a..2794ba52e89e6 100644 --- a/pkgs/tools/audio/loudgain/default.nix +++ b/pkgs/tools/audio/loudgain/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, ffmpeg_7, libebur128 +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, ffmpeg, libebur128 , libresample, taglib, zlib }: stdenv.mkDerivation rec { @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ ffmpeg_7 libebur128 libresample taglib zlib ]; + buildInputs = [ ffmpeg libebur128 libresample taglib zlib ]; postInstall = '' sed -e "1aPATH=$out/bin:\$PATH" -i "$out/bin/rgbpm" diff --git a/pkgs/tools/graphics/vulkan-cts/default.nix b/pkgs/tools/graphics/vulkan-cts/default.nix index 5b7356c3054e3..885a17e7a6941 100644 --- a/pkgs/tools/graphics/vulkan-cts/default.nix +++ b/pkgs/tools/graphics/vulkan-cts/default.nix @@ -3,7 +3,7 @@ , fetchurl , runCommand , cmake -, ffmpeg_7 +, ffmpeg , glslang , libdrm , libglvnd @@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { ''; buildInputs = [ - ffmpeg_7 + ffmpeg libdrm libffi libglvnd diff --git a/pkgs/tools/video/untrunc-anthwlock/default.nix b/pkgs/tools/video/untrunc-anthwlock/default.nix index 0bdbe29d3ee98..9598e9a7b15f6 100644 --- a/pkgs/tools/video/untrunc-anthwlock/default.nix +++ b/pkgs/tools/video/untrunc-anthwlock/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, ffmpeg_7, libui, unstableGitUpdater, wrapGAppsHook3 }: +{ lib, stdenv, fetchFromGitHub, ffmpeg, libui, unstableGitUpdater, wrapGAppsHook3 }: stdenv.mkDerivation { pname = "untrunc-anthwlock"; @@ -13,7 +13,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ wrapGAppsHook3 ]; - buildInputs = [ ffmpeg_7 libui ]; + buildInputs = [ ffmpeg libui ]; buildPhase = '' runHook preBuild diff --git a/pkgs/tools/video/xjadeo/default.nix b/pkgs/tools/video/xjadeo/default.nix index 3bda4a8230382..7abb717f00cd0 100644 --- a/pkgs/tools/video/xjadeo/default.nix +++ b/pkgs/tools/video/xjadeo/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg_7, freetype, libGLU +{ lib, stdenv, autoreconfHook, fetchFromGitHub, ffmpeg, freetype, libGLU , libjack2, liblo, libX11, libXv, pkg-config, portmidi, xorg }: stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ - ffmpeg_7 + ffmpeg libjack2 libX11 xorg.libXext diff --git a/pkgs/tools/wayland/wl-screenrec/default.nix b/pkgs/tools/wayland/wl-screenrec/default.nix index 2ffdbf95de1aa..47fecd9850c81 100644 --- a/pkgs/tools/wayland/wl-screenrec/default.nix +++ b/pkgs/tools/wayland/wl-screenrec/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , pkg-config , libdrm -, ffmpeg_7 +, ffmpeg , wayland }: @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ wayland libdrm - ffmpeg_7 + ffmpeg ]; doCheck = false; # tests use host compositor, etc diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3bb5a00bd7708..347af5805ae92 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5603,9 +5603,7 @@ with pkgs; medusa = callPackage ../tools/security/medusa { }; - megasync = libsForQt5.callPackage ../applications/misc/megasync { - ffmpeg = ffmpeg_7; - }; + megasync = libsForQt5.callPackage ../applications/misc/megasync { }; megacmd = callPackage ../applications/misc/megacmd { }; From 5ad11f7f8d3fca93bd926fb0cae43819305b88bd Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 27 Aug 2024 22:32:16 +0100 Subject: [PATCH 133/491] python3Packages.av: 12.3.0 -> 13.0.0 Includes support for FFmpeg 7. --- pkgs/development/python-modules/av/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix index a030344e8f4c3..f8a4d0b16eb7e 100644 --- a/pkgs/development/python-modules/av/default.nix +++ b/pkgs/development/python-modules/av/default.nix @@ -6,7 +6,7 @@ fetchFromGitHub, fetchurl, linkFarm, - ffmpeg_6-headless, + ffmpeg-headless, numpy, pillow, pkg-config, @@ -17,16 +17,16 @@ buildPythonPackage rec { pname = "av"; - version = "12.3.0"; + version = "13.0.0"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "PyAV-Org"; repo = "PyAV"; rev = "refs/tags/v${version}"; - hash = "sha256-ezeYv55UzNnnYDjrMz5YS5g2pV6U/Fxx3e2bCoPP3eI="; + hash = "sha256-blvtHSUqSl9xAM4t+dFJWmXiOjtnAUC9nicMaUY1zuU="; }; build-system = [ @@ -36,7 +36,7 @@ buildPythonPackage rec { nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ffmpeg_6-headless ]; + buildInputs = [ ffmpeg-headless ]; preCheck = let From 845e8ef8a391db0c564534b3483e8ea457a0bba7 Mon Sep 17 00:00:00 2001 From: Zhong Jianxin Date: Fri, 6 Sep 2024 11:12:33 +0800 Subject: [PATCH 134/491] ffmpeg: Enable vid-stab by default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [Vidstab][1] is an useful ffmpeg video stabilization filter. Both [Debian][2] and [Archlinux][3] enable it on default ffmpeg build, we should also enable it on default ffmpeg in nixpkgs. On the `master` branch, closure size for ffmpeg-headless went up 182.9KiB. ``` $ nix store diff-closures nixpkgs#ffmpeg-headless^bin .#ffmpeg-headless^bin ffmpeg-headless: +18.1 KiB vid.stab-unstable: ∅ → 2022-05-30, +164.8 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/kwihalx7ryh51ghcp8f1hhy8skbdh8w9-ffmpeg-headless-6.1.2-bin >>> /nix/store/ps62y85p9jgjbf2x9s97199mpqnd0ggz-ffmpeg-headless-6.1.2-bin Added packages: [A.] #1 vid.stab-unstable 2022-05-30 Closure size: 78 -> 79 (4 paths added, 3 paths removed, delta +1, disk usage +182.9KiB). ``` [1]: http://public.hronopik.de/vid.stab/ [2]: https://salsa.debian.org/multimedia-team/ffmpeg/-/blob/debian/7%256.1.1-5/debian/control#L158 [3]: https://gitlab.archlinux.org/archlinux/packaging/packages/ffmpeg/-/blob/2-6.1.1-7/PKGBUILD?ref_type=tags#L73 --- pkgs/development/libraries/ffmpeg/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 4e8226c1904a4..8e2f433ab9bce 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -119,7 +119,7 @@ , withVaapi ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD) # Vaapi hardware acceleration , withVdpau ? withSmallDeps && !stdenv.hostPlatform.isMinGW # Vdpau hardware acceleration , withVideoToolbox ? withHeadlessDeps && stdenv.isDarwin # Apple VideoToolbox -, withVidStab ? withFullDeps && withGPL # Video stabilization +, withVidStab ? withHeadlessDeps && withGPL # Video stabilization , withVmaf ? withFullDeps && !stdenv.isAarch64 && lib.versionAtLeast version "5" # Netflix's VMAF (Video Multi-Method Assessment Fusion) , withVoAmrwbenc ? withFullDeps && withVersion3 # AMR-WB encoder , withVorbis ? withHeadlessDeps # Vorbis de/encoding, native encoder exists From 3ca95fad40371179821d3a5f37b5c6f0287cc916 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Sep 2024 18:36:37 +0200 Subject: [PATCH 135/491] libarchive: inherit badPlatforms from acl --- pkgs/development/libraries/libarchive/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix index 09a96e829e330..ef4b82ba203ad 100644 --- a/pkgs/development/libraries/libarchive/default.nix +++ b/pkgs/development/libraries/libarchive/default.nix @@ -123,6 +123,7 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.bsd3; maintainers = with maintainers; [ jcumming AndersonTorres ]; platforms = platforms.all; + inherit (acl.meta) badPlatforms; }; passthru.tests = { From ad28bfd5ec47f873b7b789b46f668a470fffa665 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Sep 2024 18:36:58 +0200 Subject: [PATCH 136/491] elfutils: fix building for Microblaze --- pkgs/development/tools/misc/elfutils/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index 78c88f3420e96..7aca041b3c003 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, fetchpatch, pkg-config, musl-fts , musl-obstack, m4, zlib, zstd, bzip2, bison, flex, gettext, xz, setupDebugInfoDirs , argp-standalone -, enableDebuginfod ? true, sqlite, curl, libmicrohttpd, libarchive +, enableDebuginfod ? lib.meta.availableOn stdenv.hostPlatform libarchive, sqlite, curl, libmicrohttpd, libarchive , gitUpdater }: @@ -73,6 +73,10 @@ stdenv.mkDerivation rec { "--enable-deterministic-archives" (lib.enableFeature enableDebuginfod "libdebuginfod") (lib.enableFeature enableDebuginfod "debuginfod") + + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 + # Versioned symbols are nice to have, but we can do without. + (lib.enableFeature (!stdenv.hostPlatform.isMicroBlaze) "symbol-versioning") ] ++ lib.optional (stdenv.targetPlatform.useLLVM or false) "--disable-demangler" ++ lib.optionals stdenv.cc.isClang [ "CFLAGS=-Wno-unused-private-field" From 808d4738b9846095868d850c877b865221de9c2c Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 4 Aug 2024 11:35:22 +0200 Subject: [PATCH 137/491] shadow: disable libbsd when unavailable libbsd is not supported on all architectures, e.g. microblaze. --- pkgs/os-specific/linux/shadow/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index 98cb0c061ef59..390719a3c9eae 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -2,10 +2,11 @@ , runtimeShell, nixosTests , autoreconfHook, bison, flex , docbook_xml_dtd_45, docbook_xsl -, itstool, libbsd, libxml2, libxslt +, itstool, libxml2, libxslt , libxcrypt, pkg-config , glibcCross ? null , pam ? null +, withLibbsd ? lib.meta.availableOn stdenv.hostPlatform libbsd, libbsd , withTcb ? lib.meta.availableOn stdenv.hostPlatform tcb, tcb }: let @@ -37,8 +38,9 @@ stdenv.mkDerivation rec { pkg-config ]; - buildInputs = [ libbsd libxcrypt ] + buildInputs = [ libxcrypt ] ++ lib.optional (pam != null && stdenv.isLinux) pam + ++ lib.optional withLibbsd libbsd ++ lib.optional withTcb tcb; patches = [ @@ -66,6 +68,7 @@ stdenv.mkDerivation rec { "--with-group-name-max-length=32" "--with-bcrypt" "--with-yescrypt" + (lib.withFeature withLibbsd "libbsd") ] ++ lib.optional (stdenv.hostPlatform.libc != "glibc") "--disable-nscd" ++ lib.optional withTcb "--with-tcb"; From b3c1bb1762fceefe9520ae0e442fdd2cce0fca31 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sun, 8 Sep 2024 11:58:54 +0200 Subject: [PATCH 138/491] protobufc: fix compatibility with new protobuf --- .../libraries/protobufc/default.nix | 6 ++ .../protobufc/recent_protobuf_compat.patch | 80 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 pkgs/development/libraries/protobufc/recent_protobuf_compat.patch diff --git a/pkgs/development/libraries/protobufc/default.nix b/pkgs/development/libraries/protobufc/default.nix index 5a39725275508..73c2d7fba157d 100644 --- a/pkgs/development/libraries/protobufc/default.nix +++ b/pkgs/development/libraries/protobufc/default.nix @@ -19,6 +19,12 @@ stdenv.mkDerivation rec { hash = "sha256-Dkpcc7ZfvAIVY91trRiHuiRFcUGUbQxbheYKTBcq80I="; }; + patches = [ + # https://github.com/protobuf-c/protobuf-c/issues/709 + # https://github.com/protobuf-c/protobuf-c/pull/711 + ./recent_protobuf_compat.patch + ]; + outputs = [ "out" "dev" "lib" ]; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/pkgs/development/libraries/protobufc/recent_protobuf_compat.patch b/pkgs/development/libraries/protobufc/recent_protobuf_compat.patch new file mode 100644 index 0000000000000..c2d340e1a7f6d --- /dev/null +++ b/pkgs/development/libraries/protobufc/recent_protobuf_compat.patch @@ -0,0 +1,80 @@ +diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc +index ca0ad34..c6d8a24 100644 +--- a/protoc-c/c_file.cc ++++ b/protoc-c/c_file.cc +@@ -117,14 +117,7 @@ FileGenerator::~FileGenerator() {} + void FileGenerator::GenerateHeader(io::Printer* printer) { + std::string filename_identifier = FilenameIdentifier(file_->name()); + +- int min_header_version = 1000000; +-#if GOOGLE_PROTOBUF_VERSION >= 4023000 +- if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) { +-#else +- if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) { +-#endif +- min_header_version = 1003000; +- } ++ const int min_header_version = 1003000; + + // Generate top of header. + printer->Print( +diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h +index b8b44aa..4aeb579 100644 +--- a/protoc-c/c_generator.h ++++ b/protoc-c/c_generator.h +@@ -93,6 +93,12 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator { + const std::string& parameter, + OutputDirectory* output_directory, + std::string* error) const; ++ ++#if GOOGLE_PROTOBUF_VERSION >= 5026000 ++ uint64_t GetSupportedFeatures() const { return CodeGenerator::FEATURE_SUPPORTS_EDITIONS; } ++ Edition GetMinimumEdition() const { return Edition::EDITION_PROTO2; } ++ Edition GetMaximumEdition() const { return Edition::EDITION_PROTO3; } ++#endif + }; + + } // namespace c +diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h +index 062d330..be28b60 100644 +--- a/protoc-c/c_helpers.h ++++ b/protoc-c/c_helpers.h +@@ -70,10 +70,6 @@ + #include + #include + +-#if GOOGLE_PROTOBUF_VERSION >= 4023000 +-# include +-#endif +- + namespace google { + namespace protobuf { + namespace compiler { +@@ -173,13 +169,21 @@ struct NameIndex + int compare_name_indices_by_name(const void*, const void*); + + // Return the syntax version of the file containing the field. +-// This wrapper is needed to be able to compile against protobuf2. + inline int FieldSyntax(const FieldDescriptor* field) { +-#if GOOGLE_PROTOBUF_VERSION >= 4023000 +- return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2; +-#else +- return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2; +-#endif ++ auto proto = FileDescriptorProto(); ++ field->file()->CopyTo(&proto); ++ ++ if (proto.has_syntax()) { ++ auto syntax = proto.syntax(); ++ assert(syntax == "proto2" || syntax == "proto3"); ++ if (syntax == "proto2") { ++ return 2; ++ } else if (syntax == "proto3") { ++ return 3; ++ } ++ } ++ ++ return 2; + } + + // Work around changes in protobuf >= 22.x without breaking compilation against From 5097974f8e231d14862ed2def077cc7c775f608e Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Tue, 3 Sep 2024 20:18:31 +0100 Subject: [PATCH 139/491] python312Packages.webob: 1.8.7 -> 1.8.8 addresses CVE-2024-42353 switch to github source as pypi isn't up to date --- pkgs/development/python-modules/webob/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/webob/default.nix b/pkgs/development/python-modules/webob/default.nix index e574d78da108e..141976d0e077a 100644 --- a/pkgs/development/python-modules/webob/default.nix +++ b/pkgs/development/python-modules/webob/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, setuptools, legacy-cgi, pytestCheckHook, @@ -11,15 +11,16 @@ buildPythonPackage rec { pname = "webob"; - version = "1.8.7"; + version = "1.8.8"; pyproject = true; disabled = pythonOlder "3.7"; - src = fetchPypi { - pname = "WebOb"; - inherit version; - hash = "sha256-tk71FBvlWc+t5EjwRPpFwiYDUe3Lao72t+AMfc7wwyM="; + src = fetchFromGitHub { + owner = "Pylons"; + repo = "webob"; + rev = "refs/tags/${version}"; + hash = "sha256-QN0UMLzO0g8Oalnn5GlOulXUxtXOx89jeeEvJV53rVs="; }; build-system = [ setuptools ]; From 1a171ee732761a15ed743b9fe36b0e387c74f79b Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Tue, 3 Sep 2024 21:47:44 +0100 Subject: [PATCH 140/491] python312Packages.webob: add some key reverse dependencies to passthru.tests --- pkgs/development/python-modules/webob/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/webob/default.nix b/pkgs/development/python-modules/webob/default.nix index 141976d0e077a..1f1ca85873804 100644 --- a/pkgs/development/python-modules/webob/default.nix +++ b/pkgs/development/python-modules/webob/default.nix @@ -7,6 +7,11 @@ pytestCheckHook, pythonAtLeast, pythonOlder, + + # for passthru.tests + pyramid, + routes, + tokenlib, }: buildPythonPackage rec { @@ -38,6 +43,10 @@ buildPythonPackage rec { "tests/test_client_functional.py" ]; + passthru.tests = { + inherit pyramid routes tokenlib; + }; + meta = with lib; { description = "WSGI request and response object"; homepage = "https://webob.org/"; From 762d2c1971be733238f05d0dd17aeb7954972f0f Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sun, 8 Sep 2024 19:33:54 +0200 Subject: [PATCH 141/491] unit: clean up withPerl arguments Only provide one `withPerl` argument instead of one per perl version provided by nixpkgs. --- pkgs/servers/http/unit/default.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index fbdc8d82fd8ef..d9ebb18bc3936 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -3,8 +3,7 @@ , withPython3 ? true, python3, ncurses , withPHP81 ? true, php81 , withPHP82 ? false, php82 -, withPerl538 ? false, perl540 -, withPerl540 ? true, perl538 +, withPerl ? true, perl , withRuby_3_1 ? true, ruby_3_1 , withRuby_3_2 ? false, ruby_3_2 , withSSL ? true, openssl ? null @@ -43,8 +42,7 @@ in stdenv.mkDerivation rec { ++ optionals withPython3 [ python3 ncurses ] ++ optional withPHP81 php81-unit ++ optional withPHP82 php82-unit - ++ optional withPerl538 perl538 - ++ optional withPerl540 perl540 + ++ optional withPerl perl ++ optional withRuby_3_1 ruby_3_1 ++ optional withRuby_3_2 ruby_3_2 ++ optional withSSL openssl; @@ -65,8 +63,7 @@ in stdenv.mkDerivation rec { ${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"} ${optionalString withPHP81 "./configure php --module=php81 --config=${php81-unit.unwrapped.dev}/bin/php-config --lib-path=${php81-unit}/lib"} ${optionalString withPHP82 "./configure php --module=php81 --config=${php82-unit.unwrapped.dev}/bin/php-config --lib-path=${php82-unit}/lib"} - ${optionalString withPerl538 "./configure perl --module=perl538 --perl=${perl538}/bin/perl"} - ${optionalString withPerl540 "./configure perl --module=perl540 --perl=${perl540}/bin/perl"} + ${optionalString withPerl "./configure perl --module=perl --perl=${perl}/bin/perl"} ${optionalString withRuby_3_1 "./configure ruby --module=ruby31 --ruby=${ruby_3_1}/bin/ruby"} ${optionalString withRuby_3_2 "./configure ruby --module=ruby32 --ruby=${ruby_3_2}/bin/ruby"} ''; From 67ecdcbb971c8a807dd6837af9bb78864b996318 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sun, 8 Sep 2024 19:45:16 +0200 Subject: [PATCH 142/491] unit: add nixos tests for perl --- nixos/tests/all-tests.nix | 1 + nixos/tests/web-servers/unit-perl.nix | 46 +++++++++++++++++++++++++++ pkgs/servers/http/unit/default.nix | 5 ++- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/web-servers/unit-perl.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f8e0eb190bf5d..f548a02551af8 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1055,6 +1055,7 @@ in { unbound = handleTest ./unbound.nix {}; unifi = handleTest ./unifi.nix {}; unit-php = handleTest ./web-servers/unit-php.nix {}; + unit-perl = handleTest ./web-servers/unit-perl.nix {}; upnp.iptables = handleTest ./upnp.nix { useNftables = false; }; upnp.nftables = handleTest ./upnp.nix { useNftables = true; }; uptermd = handleTest ./uptermd.nix {}; diff --git a/nixos/tests/web-servers/unit-perl.nix b/nixos/tests/web-servers/unit-perl.nix new file mode 100644 index 0000000000000..e632221747cf5 --- /dev/null +++ b/nixos/tests/web-servers/unit-perl.nix @@ -0,0 +1,46 @@ +import ../make-test-python.nix ( + { pkgs, ... }: + let + testdir = pkgs.writeTextDir "www/app.psgi" '' + my $app = sub { + return [ + "200", + [ "Content-Type" => "text/plain" ], + [ "Hello, Perl on Unit!" ], + ]; + }; + ''; + + in + { + name = "unit-perl-test"; + meta.maintainers = with pkgs.lib.maintainers; [ sgo ]; + + nodes.machine = + { + config, + lib, + pkgs, + ... + }: + { + services.unit = { + enable = true; + config = pkgs.lib.strings.toJSON { + listeners."*:8080".application = "perl"; + applications.perl = { + type = "perl"; + script = "${testdir}/www/app.psgi"; + }; + }; + }; + }; + testScript = '' + machine.wait_for_unit("unit.service") + machine.wait_for_open_port(8080) + + response = machine.succeed("curl -f -vvv -s http://127.0.0.1:8080/") + assert "Hello, Perl on Unit!" in response, "Hello world" + ''; + } +) diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix index d9ebb18bc3936..255d702caf5e6 100644 --- a/pkgs/servers/http/unit/default.nix +++ b/pkgs/servers/http/unit/default.nix @@ -68,7 +68,10 @@ in stdenv.mkDerivation rec { ${optionalString withRuby_3_2 "./configure ruby --module=ruby32 --ruby=${ruby_3_2}/bin/ruby"} ''; - passthru.tests.unit-php = nixosTests.unit-php; + passthru.tests = { + unit-perl = nixosTests.unit-perl; + unit-php = nixosTests.unit-php; + }; meta = with lib; { description = "Dynamic web and application server, designed to run applications in multiple languages"; From 9df84d4c9a57dfc0e34874816b96e3a8e995516b Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 18:46:36 +0200 Subject: [PATCH 143/491] swiftpm: support structuredAttrs in setup hook Currently no problematic package using multiple swiftpmFlags in nixpkgs to test. --- pkgs/development/compilers/swift/swiftpm/setup-hook.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/swift/swiftpm/setup-hook.sh b/pkgs/development/compilers/swift/swiftpm/setup-hook.sh index 160fbb1ccca31..24408ce0a1431 100644 --- a/pkgs/development/compilers/swift/swiftpm/setup-hook.sh +++ b/pkgs/development/compilers/swift/swiftpm/setup-hook.sh @@ -10,8 +10,8 @@ swiftpmBuildPhase() { local flagsArray=( -j $buildCores -c "${swiftpmBuildConfig-release}" - $swiftpmFlags "${swiftpmFlagsArray[@]}" ) + concatTo flagsArray swiftpmFlags swiftpmFlagsArray echoCmd 'build flags' "${flagsArray[@]}" TERM=dumb swift-build "${flagsArray[@]}" @@ -35,8 +35,8 @@ swiftpmCheckPhase() { local flagsArray=( -j $buildCores -c "${swiftpmBuildConfig-release}" - $swiftpmFlags "${swiftpmFlagsArray[@]}" ) + concatTo flagsArray swiftpmFlags swiftpmFlagsArray echoCmd 'check flags' "${flagsArray[@]}" TERM=dumb swift-test "${flagsArray[@]}" @@ -53,8 +53,8 @@ fi swiftpmBinPath() { local flagsArray=( -c "${swiftpmBuildConfig-release}" - $swiftpmFlags "${swiftpmFlagsArray[@]}" ) + concatTo flagsArray swiftpmFlags swiftpmFlagsArray swift-build --show-bin-path "${flagsArray[@]}" } From fc37487ab215e7df8e73f9b2a07cb455c1071b1c Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 20:49:48 +0200 Subject: [PATCH 144/491] swiftpm: shellcheck setup hook --- pkgs/development/compilers/swift/swiftpm/setup-hook.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/swift/swiftpm/setup-hook.sh b/pkgs/development/compilers/swift/swiftpm/setup-hook.sh index 24408ce0a1431..260d874ebfd78 100644 --- a/pkgs/development/compilers/swift/swiftpm/setup-hook.sh +++ b/pkgs/development/compilers/swift/swiftpm/setup-hook.sh @@ -1,3 +1,5 @@ +# shellcheck shell=bash + # Build using 'swift-build'. swiftpmBuildPhase() { runHook preBuild @@ -8,7 +10,7 @@ swiftpmBuildPhase() { fi local flagsArray=( - -j $buildCores + -j "$buildCores" -c "${swiftpmBuildConfig-release}" ) concatTo flagsArray swiftpmFlags swiftpmFlagsArray @@ -33,7 +35,7 @@ swiftpmCheckPhase() { fi local flagsArray=( - -j $buildCores + -j "$buildCores" -c "${swiftpmBuildConfig-release}" ) concatTo flagsArray swiftpmFlags swiftpmFlagsArray From e6ca54fdedb1b3b8a72fd9fb9adc7cf4ecb1d447 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 24 Aug 2024 23:26:03 +0200 Subject: [PATCH 145/491] gradle: support structuredAttrs in setup hook Tested atlauncher with and without structuredAttrs. --- pkgs/development/tools/build-managers/gradle/setup-hook.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/gradle/setup-hook.sh b/pkgs/development/tools/build-managers/gradle/setup-hook.sh index a16742414b12d..6c9c927f0c45b 100644 --- a/pkgs/development/tools/build-managers/gradle/setup-hook.sh +++ b/pkgs/development/tools/build-managers/gradle/setup-hook.sh @@ -29,7 +29,9 @@ gradleConfigureHook() { } gradle() { - command gradle $gradleFlags "${gradleFlagsArray[@]}" "$@" + local flagsArray=() + concatTo flagsArray gradleFlags gradleFlagsArray + command gradle "${flagsArray[@]}" "$@" } gradleBuildPhase() { From 3d22a726812072354c4a4046018b2a302946d72a Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 21:38:22 +0200 Subject: [PATCH 146/491] xcbuild: support structuredAttrs in setup hook Tested darwin.libutil with and without structuredAttrs. --- pkgs/development/tools/xcbuild/setup-hook.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/xcbuild/setup-hook.sh b/pkgs/development/tools/xcbuild/setup-hook.sh index f4b5abf2d8d38..cd8bfa59f1fb0 100644 --- a/pkgs/development/tools/xcbuild/setup-hook.sh +++ b/pkgs/development/tools/xcbuild/setup-hook.sh @@ -3,9 +3,12 @@ xcbuildBuildPhase() { runHook preBuild - echo "running xcodebuild" + local flagsArray=() + concatTo flagsArray xcbuildFlags - xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates $xcbuildFlags build + echoCmd 'running xcodebuild' "${flagsArray[@]}" + + xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates "${flagsArray[@]}" build runHook postBuild } From 96ddeee42a4c2b373dfe3235da427e3b93463838 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 21:33:26 +0200 Subject: [PATCH 147/491] extra-cmake-modules: support structuredAttrs in hooks --- .../extra-cmake-modules/setup-hook.sh | 78 ++++++++-------- .../extra-cmake-modules/ecm-hook.sh | 90 +++++++++---------- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh index 8d86ab1d54ade..e576dbb4ec73b 100644 --- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh +++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh @@ -6,53 +6,53 @@ addEnvHooks "$targetOffset" ecmEnvHook ecmPostHook() { # Because we need to use absolute paths here, we must set *all* the paths. - cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" - cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" - cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" - cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" - cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/libexec" - cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" - cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" - cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" - cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputBin}/share" - cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputBin}/share" - cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputBin}/share/doc/HTML" - cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputBin}/share/config.kcfg" - cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputBin}/share/kconf_update" - cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputBin}/share/kservices5" - cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputBin}/share/kservicetypes5" - cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputBin}/share/kxmlgui5" - cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputBin}/share/knotifications5" - cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons" - cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" - cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds" - cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates" - cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers" - cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputBin}/share/applications" - cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputBin}/share/desktop-directories" - cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputBin}/share/mime/packages" - cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputBin}/share/appdata" - cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputBin}/share/man" - cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputBin}/share/info" - cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputBin}/share/dbus-1" - cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputBin}/share/dbus-1/interfaces" - cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputBin}/share/dbus-1/services" - cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputBin}/share/dbus-1/system-services" - cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputBin}/etc" - cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg" - cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart" + appendToVar cmakeFlags "-DKDE_INSTALL_EXECROOTDIR=${!outputBin}" + appendToVar cmakeFlags "-DKDE_INSTALL_BINDIR=${!outputBin}/bin" + appendToVar cmakeFlags "-DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" + appendToVar cmakeFlags "-DKDE_INSTALL_LIBDIR=${!outputLib}/lib" + appendToVar cmakeFlags "-DKDE_INSTALL_LIBEXECDIR=${!outputLib}/libexec" + appendToVar cmakeFlags "-DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" + appendToVar cmakeFlags "-DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" + appendToVar cmakeFlags "-DKDE_INSTALL_LOCALSTATEDIR=/var" + appendToVar cmakeFlags "-DKDE_INSTALL_DATAROOTDIR=${!outputBin}/share" + appendToVar cmakeFlags "-DKDE_INSTALL_DATADIR=${!outputBin}/share" + appendToVar cmakeFlags "-DKDE_INSTALL_DOCBUNDLEDIR=${!outputBin}/share/doc/HTML" + appendToVar cmakeFlags "-DKDE_INSTALL_KCFGDIR=${!outputBin}/share/config.kcfg" + appendToVar cmakeFlags "-DKDE_INSTALL_KCONFUPDATEDIR=${!outputBin}/share/kconf_update" + appendToVar cmakeFlags "-DKDE_INSTALL_KSERVICES5DIR=${!outputBin}/share/kservices5" + appendToVar cmakeFlags "-DKDE_INSTALL_KSERVICETYPES5DIR=${!outputBin}/share/kservicetypes5" + appendToVar cmakeFlags "-DKDE_INSTALL_KXMLGUI5DIR=${!outputBin}/share/kxmlgui5" + appendToVar cmakeFlags "-DKDE_INSTALL_KNOTIFY5RCDIR=${!outputBin}/share/knotifications5" + appendToVar cmakeFlags "-DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons" + appendToVar cmakeFlags "-DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" + appendToVar cmakeFlags "-DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds" + appendToVar cmakeFlags "-DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates" + appendToVar cmakeFlags "-DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers" + appendToVar cmakeFlags "-DKDE_INSTALL_APPDIR=${!outputBin}/share/applications" + appendToVar cmakeFlags "-DKDE_INSTALL_DESKTOPDIR=${!outputBin}/share/desktop-directories" + appendToVar cmakeFlags "-DKDE_INSTALL_MIMEDIR=${!outputBin}/share/mime/packages" + appendToVar cmakeFlags "-DKDE_INSTALL_METAINFODIR=${!outputBin}/share/appdata" + appendToVar cmakeFlags "-DKDE_INSTALL_MANDIR=${!outputBin}/share/man" + appendToVar cmakeFlags "-DKDE_INSTALL_INFODIR=${!outputBin}/share/info" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSDIR=${!outputBin}/share/dbus-1" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSINTERFACEDIR=${!outputBin}/share/dbus-1/interfaces" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSSERVICEDIR=${!outputBin}/share/dbus-1/services" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputBin}/share/dbus-1/system-services" + appendToVar cmakeFlags "-DKDE_INSTALL_SYSCONFDIR=${!outputBin}/etc" + appendToVar cmakeFlags "-DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg" + appendToVar cmakeFlags "-DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart" if [ "$(uname)" = "Darwin" ]; then - cmakeFlags+=" -DKDE_INSTALL_BUNDLEDIR=${!outputBin}/Applications/KDE" + appendToVar cmakeFlags "-DKDE_INSTALL_BUNDLEDIR=${!outputBin}/Applications/KDE" fi if [ -n "${qtPluginPrefix-}" ]; then - cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix" - cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix" + appendToVar cmakeFlags "-DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix" + appendToVar cmakeFlags "-DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix" fi if [ -n "${qtQmlPrefix-}" ]; then - cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" + appendToVar cmakeFlags "-DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" fi } postHooks+=(ecmPostHook) diff --git a/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh b/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh index 1f60ba1aed929..c635816777f52 100644 --- a/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh +++ b/pkgs/kde/frameworks/extra-cmake-modules/ecm-hook.sh @@ -12,60 +12,60 @@ ecmPostHook() { # Because we need to use absolute paths here, we must set *all* the paths. # Keep this in sync with https://github.com/KDE/extra-cmake-modules/blob/master/kde-modules/KDEInstallDirs6.cmake if [ "$(uname)" = "Darwin" ]; then - cmakeFlags+=" -DKDE_INSTALL_BUNDLEDIR=${!outputBin}/Applications/KDE" + appendToVar cmakeFlags "-DKDE_INSTALL_BUNDLEDIR=${!outputBin}/Applications/KDE" fi - cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}" - cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin" - cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" - cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib" - cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/libexec" - cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" + appendToVar cmakeFlags "-DKDE_INSTALL_EXECROOTDIR=${!outputBin}" + appendToVar cmakeFlags "-DKDE_INSTALL_BINDIR=${!outputBin}/bin" + appendToVar cmakeFlags "-DKDE_INSTALL_SBINDIR=${!outputBin}/sbin" + appendToVar cmakeFlags "-DKDE_INSTALL_LIBDIR=${!outputLib}/lib" + appendToVar cmakeFlags "-DKDE_INSTALL_LIBEXECDIR=${!outputLib}/libexec" + appendToVar cmakeFlags "-DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake" if [ -n "${qtPluginPrefix-}" ]; then - cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix" - cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix" + appendToVar cmakeFlags "-DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix" + appendToVar cmakeFlags "-DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix" fi if [ -n "${qtQmlPrefix-}" ]; then - cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" + appendToVar cmakeFlags "-DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix" fi - cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" - cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var" - cmakeFlags+=" -DKDE_INSTALL_SHAREDSTATEDIR=/com" # ??? - cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputBin}/share" - cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputBin}/share" - cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputBin}/share/doc/HTML" - cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputBin}/share/config.kcfg" - cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputBin}/share/kconf_update" - cmakeFlags+=" -DKDE_INSTALL_KAPPTEMPLATESDIR=${!outputDev}/share/kdevappwizard/templates" - cmakeFlags+=" -DKDE_INSTALL_KFILETEMPLATESDIR=${!outputDev}/share/kdevfiletemplates/templates" - cmakeFlags+=" -DKDE_INSTALL_KXMLGUIDIR=${!outputBin}/share/kxmlgui5" # Yes, this needs to be 5 and not 6. Don't ask. - cmakeFlags+=" -DKDE_INSTALL_KNOTIFYRCDIR=${!outputBin}/share/knotifications6" - cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons" - cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" - cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds" - cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates" - cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers" - cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputBin}/share/applications" - cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputBin}/share/desktop-directories" - cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputBin}/share/mime/packages" - cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputBin}/share/appdata" - cmakeFlags+=" -DKDE_INSTALL_QTQCHDIR=${!outputLib}/share/doc/qch" - cmakeFlags+=" -DKDE_INSTALL_QCHDIR=${!outputLib}/share/doc/qch" - cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputBin}/share/man" - cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputBin}/share/info" - cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputBin}/share/dbus-1" - cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputBin}/share/dbus-1/interfaces" - cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputBin}/share/dbus-1/services" - cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputBin}/share/dbus-1/system-services" - cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputBin}/etc" - cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg" - cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart" - cmakeFlags+=" -DKDE_INSTALL_LOGGINGCATEGORIESDIR=${!outputLib}/share/qlogging-categories6" - cmakeFlags+=" -DKDE_INSTALL_SYSTEMDUNITDIR=${!outputBin}/lib/systemd" - cmakeFlags+=" -DKDE_INSTALL_SYSTEMDUSERUNITDIR=${!outputBin}/share/systemd/user" + appendToVar cmakeFlags "-DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include" + appendToVar cmakeFlags "-DKDE_INSTALL_LOCALSTATEDIR=/var" + appendToVar cmakeFlags "-DKDE_INSTALL_SHAREDSTATEDIR=/com" # ??? + appendToVar cmakeFlags "-DKDE_INSTALL_DATAROOTDIR=${!outputBin}/share" + appendToVar cmakeFlags "-DKDE_INSTALL_DATADIR=${!outputBin}/share" + appendToVar cmakeFlags "-DKDE_INSTALL_DOCBUNDLEDIR=${!outputBin}/share/doc/HTML" + appendToVar cmakeFlags "-DKDE_INSTALL_KCFGDIR=${!outputBin}/share/config.kcfg" + appendToVar cmakeFlags "-DKDE_INSTALL_KCONFUPDATEDIR=${!outputBin}/share/kconf_update" + appendToVar cmakeFlags "-DKDE_INSTALL_KAPPTEMPLATESDIR=${!outputDev}/share/kdevappwizard/templates" + appendToVar cmakeFlags "-DKDE_INSTALL_KFILETEMPLATESDIR=${!outputDev}/share/kdevfiletemplates/templates" + appendToVar cmakeFlags "-DKDE_INSTALL_KXMLGUIDIR=${!outputBin}/share/kxmlgui5" # Yes, this needs to be 5 and not 6. Don't ask. + appendToVar cmakeFlags "-DKDE_INSTALL_KNOTIFYRCDIR=${!outputBin}/share/knotifications6" + appendToVar cmakeFlags "-DKDE_INSTALL_ICONDIR=${!outputBin}/share/icons" + appendToVar cmakeFlags "-DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale" + appendToVar cmakeFlags "-DKDE_INSTALL_SOUNDDIR=${!outputBin}/share/sounds" + appendToVar cmakeFlags "-DKDE_INSTALL_TEMPLATEDIR=${!outputBin}/share/templates" + appendToVar cmakeFlags "-DKDE_INSTALL_WALLPAPERDIR=${!outputBin}/share/wallpapers" + appendToVar cmakeFlags "-DKDE_INSTALL_APPDIR=${!outputBin}/share/applications" + appendToVar cmakeFlags "-DKDE_INSTALL_DESKTOPDIR=${!outputBin}/share/desktop-directories" + appendToVar cmakeFlags "-DKDE_INSTALL_MIMEDIR=${!outputBin}/share/mime/packages" + appendToVar cmakeFlags "-DKDE_INSTALL_METAINFODIR=${!outputBin}/share/appdata" + appendToVar cmakeFlags "-DKDE_INSTALL_QTQCHDIR=${!outputLib}/share/doc/qch" + appendToVar cmakeFlags "-DKDE_INSTALL_QCHDIR=${!outputLib}/share/doc/qch" + appendToVar cmakeFlags "-DKDE_INSTALL_MANDIR=${!outputBin}/share/man" + appendToVar cmakeFlags "-DKDE_INSTALL_INFODIR=${!outputBin}/share/info" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSDIR=${!outputBin}/share/dbus-1" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSINTERFACEDIR=${!outputBin}/share/dbus-1/interfaces" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSSERVICEDIR=${!outputBin}/share/dbus-1/services" + appendToVar cmakeFlags "-DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputBin}/share/dbus-1/system-services" + appendToVar cmakeFlags "-DKDE_INSTALL_SYSCONFDIR=${!outputBin}/etc" + appendToVar cmakeFlags "-DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg" + appendToVar cmakeFlags "-DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart" + appendToVar cmakeFlags "-DKDE_INSTALL_LOGGINGCATEGORIESDIR=${!outputLib}/share/qlogging-categories6" + appendToVar cmakeFlags "-DKDE_INSTALL_SYSTEMDUNITDIR=${!outputBin}/lib/systemd" + appendToVar cmakeFlags "-DKDE_INSTALL_SYSTEMDUSERUNITDIR=${!outputBin}/share/systemd/user" } postHooks+=(ecmPostHook) From 4153e8f02f3f8490f209f9276e667ccbd8797397 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 12 Jun 2024 08:41:39 +0200 Subject: [PATCH 148/491] cuda-modules: refactor appending cmakeFlags in setup hook cudaPackages already builts with structuredAttrs, but the cmakeFlags+= pattern incorrectly appends the additional flags to the first array argument with a space - which is now part of that argument itself since #318614, which added support for structuredAttrs to cmake. --- .../cuda-modules/setup-hooks/setup-cuda-hook.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh b/pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh index 6e57c7b1072e1..7799d72873a05 100644 --- a/pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh +++ b/pkgs/development/cuda-modules/setup-hooks/setup-cuda-hook.sh @@ -54,7 +54,8 @@ setupCUDAToolkit_ROOT() { fi done - export cmakeFlags+=" -DCUDAToolkit_INCLUDE_DIR=$CUDAToolkit_INCLUDE_DIR -DCUDAToolkit_ROOT=$CUDAToolkit_ROOT" + appendToVar cmakeFlags "-DCUDAToolkit_INCLUDE_DIR=$CUDAToolkit_INCLUDE_DIR" + appendToVar cmakeFlags "-DCUDAToolkit_ROOT=$CUDAToolkit_ROOT" } preConfigureHooks+=(setupCUDAToolkit_ROOT) @@ -72,8 +73,8 @@ setupCUDAToolkitCompilers() { # https://cmake.org/cmake/help/latest/envvar/CUDAHOSTCXX.html # https://cmake.org/cmake/help/latest/variable/CMAKE_CUDA_HOST_COMPILER.html - export cmakeFlags+=" -DCUDA_HOST_COMPILER=@ccFullPath@" - export cmakeFlags+=" -DCMAKE_CUDA_HOST_COMPILER=@ccFullPath@" + appendToVar cmakeFlags "-DCUDA_HOST_COMPILER=@ccFullPath@" + appendToVar cmakeFlags "-DCMAKE_CUDA_HOST_COMPILER=@ccFullPath@" # For non-CMake projects: # We prepend --compiler-bindir to nvcc flags. @@ -85,7 +86,7 @@ setupCUDAToolkitCompilers() { export CUDAHOSTCXX="@ccFullPath@"; fi - export NVCC_PREPEND_FLAGS+=" --compiler-bindir=@ccRoot@/bin" + appendToVar NVCC_PREPEND_FLAGS "--compiler-bindir=@ccRoot@/bin" # NOTE: We set -Xfatbin=-compress-all, which reduces the size of the compiled # binaries. If binaries grow over 2GB, they will fail to link. This is a problem for us, as @@ -94,7 +95,7 @@ setupCUDAToolkitCompilers() { # # @SomeoneSerge: original comment was made by @ConnorBaker in .../cudatoolkit/common.nix if [[ -z "${dontCompressFatbin-}" ]]; then - export NVCC_PREPEND_FLAGS+=" -Xfatbin=-compress-all" + appendToVar NVCC_PREPEND_FLAGS "-Xfatbin=-compress-all" fi } preConfigureHooks+=(setupCUDAToolkitCompilers) From 01126ae1e7026b2f2690579c55fdc65fa93897b2 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 8 Sep 2024 20:16:24 +0200 Subject: [PATCH 149/491] netbsd: use env. to pass RENAME environment variable This is required to test netbsd.compat with structuredAttrs turned on once the setup hooks support it. --- pkgs/os-specific/bsd/netbsd/pkgs/compat/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/bsd/netbsd/pkgs/compat/package.nix b/pkgs/os-specific/bsd/netbsd/pkgs/compat/package.nix index 40113028bbf15..56db4901c6a80 100644 --- a/pkgs/os-specific/bsd/netbsd/pkgs/compat/package.nix +++ b/pkgs/os-specific/bsd/netbsd/pkgs/compat/package.nix @@ -74,7 +74,7 @@ mkDerivation ( # Makefiles only invoke `$OBJCOPY -x/-X`, so cctools strip works here. "OBJCOPY=${cctools}/bin/strip" ]; - RENAME = "-D"; + env.RENAME = "-D"; passthru.tests = { netbsd-install = install; From c0e250354a8e25c8755fa6b0a1cb09a7325505eb Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 20:23:03 +0200 Subject: [PATCH 150/491] bsd: support structuredAttrs in setup hook Tested netbsd.compat with and without structuredAttrs. --- pkgs/os-specific/bsd/setup-hook.sh | 41 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/pkgs/os-specific/bsd/setup-hook.sh b/pkgs/os-specific/bsd/setup-hook.sh index bc8d372ca8b86..f711e423683b9 100644 --- a/pkgs/os-specific/bsd/setup-hook.sh +++ b/pkgs/os-specific/bsd/setup-hook.sh @@ -35,25 +35,25 @@ addMakeFlags() { export MKUNPRIVED=yes export EXTERNAL_TOOLCHAIN=yes - makeFlags="MACHINE=$MACHINE $makeFlags" - makeFlags="MACHINE_ARCH=$MACHINE_ARCH $makeFlags" - makeFlags="AR=$AR $makeFlags" - makeFlags="CC=$CC $makeFlags" - makeFlags="CPP=$CPP $makeFlags" - makeFlags="CXX=$CXX $makeFlags" - makeFlags="LD=$LD $makeFlags" - makeFlags="STRIP=$STRIP $makeFlags" - - makeFlags="BINDIR=${!outputBin}/bin $makeFlags" - makeFlags="LIBDIR=${!outputLib}/lib $makeFlags" - makeFlags="SHLIBDIR=${!outputLib}/lib $makeFlags" - makeFlags="SHAREDIR=${!outputLib}/share $makeFlags" - makeFlags="INFODIR=${!outputInfo}/share/info $makeFlags" - makeFlags="DOCDIR=${!outputDoc}/share/doc $makeFlags" - makeFlags="LOCALEDIR=${!outputLib}/share/locale $makeFlags" + prependToVar makeFlags "MACHINE=$MACHINE" + prependToVar makeFlags "MACHINE_ARCH=$MACHINE_ARCH" + prependToVar makeFlags "AR=$AR" + prependToVar makeFlags "CC=$CC" + prependToVar makeFlags "CPP=$CPP" + prependToVar makeFlags "CXX=$CXX" + prependToVar makeFlags "LD=$LD" + prependToVar makeFlags "STRIP=$STRIP" + + prependToVar makeFlags "BINDIR=${!outputBin}/bin" + prependToVar makeFlags "LIBDIR=${!outputLib}/lib" + prependToVar makeFlags "SHLIBDIR=${!outputLib}/lib" + prependToVar makeFlags "SHAREDIR=${!outputLib}/share" + prependToVar makeFlags "INFODIR=${!outputInfo}/share/info" + prependToVar makeFlags "DOCDIR=${!outputDoc}/share/doc" + prependToVar makeFlags "LOCALEDIR=${!outputLib}/share/locale" # Parallel building. Needs the space. - makeFlags="-j $NIX_BUILD_CORES $makeFlags" + prependToVar makeFlags "-j $NIX_BUILD_CORES" } setBSDSourceDir() { @@ -74,10 +74,9 @@ includesPhase() { if [ -z "${skipIncludesPhase:-}" ]; then runHook preIncludes - local flagsArray=( - $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} - includes - ) + local flagsArray=() + concatTo flagsArray makeFlags makeFlagsArray + flagsArray+=(includes) echoCmd 'includes flags' "${flagsArray[@]}" make ${makefile:+-f $makefile} "${flagsArray[@]}" From 88a44bc843212804c01545e621d18f52a6bdfe00 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 21:09:13 +0200 Subject: [PATCH 151/491] bsd: shellcheck setup hook --- pkgs/os-specific/bsd/setup-hook.sh | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/bsd/setup-hook.sh b/pkgs/os-specific/bsd/setup-hook.sh index f711e423683b9..08dfdd4b14b6f 100644 --- a/pkgs/os-specific/bsd/setup-hook.sh +++ b/pkgs/os-specific/bsd/setup-hook.sh @@ -1,3 +1,5 @@ +# shellcheck shell=bash disable=SC2154,SC2164 + # BSD makefiles should be able to detect this # but without they end up using gcc on Darwin stdenv addMakeFlags() { @@ -60,13 +62,13 @@ setBSDSourceDir() { sourceRoot=$PWD/$sourceRoot export BSDSRCDIR=$sourceRoot export _SRC_TOP_=$BSDSRCDIR - cd $sourceRoot + cd "$sourceRoot" } cdBSDPath() { if [ -d "$COMPONENT_PATH" ] then sourceRoot=$sourceRoot/$COMPONENT_PATH - cd $COMPONENT_PATH + cd "$COMPONENT_PATH" fi } @@ -88,19 +90,19 @@ includesPhase() { } moveUsrDir() { - if [ -d $prefix ]; then + if [ -d "$prefix" ]; then # Remove lingering /usr references - if [ -d $prefix/usr ]; then + if [ -d "$prefix/usr" ]; then # Didn't try using rsync yet because per # https://unix.stackexchange.com/questions/127712/merging-folders-with-mv, # it's not neessarily better. - pushd $prefix/usr - find . -type d -exec mkdir -p $out/\{} \; - find . \( -type f -o -type l \) -exec mv \{} $out/\{} \; + pushd "$prefix/usr" + find . -type d -exec mkdir -p "$out/{}" \; + find . \( -type f -o -type l \) -exec mv "{}" "$out/{}" \; popd fi - find $prefix -type d -empty -delete + find "$prefix" -type d -empty -delete fi } From c3470fdfb7c4730cc79cf9bd0e8bee99ced3758d Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 21:41:09 +0200 Subject: [PATCH 152/491] netbsd: support structuredAttrs in setup hook Tested netbsd.lorder with and without __structuredAttrs. --- .../os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh b/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh index 8c3742a76534b..d05461ad10cbd 100644 --- a/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh +++ b/pkgs/os-specific/bsd/netbsd/pkgs/netbsdSetupHook/setup-hook.sh @@ -1,6 +1,6 @@ addNetBSDMakeFlags() { - makeFlags="INCSDIR=${!outputDev}/include $makeFlags" - makeFlags="MANDIR=${!outputMan}/share/man $makeFlags" + prependToVar makeFlags "INCSDIR=${!outputDev}/include" + prependToVar makeFlags "MANDIR=${!outputMan}/share/man" } preConfigureHooks+=(addNetBSDMakeFlags) From 9e836fddfe89e7a06e2094cbc64858c4cd9b2f1f Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 21:42:25 +0200 Subject: [PATCH 153/491] openbsd: support structuredAttrs in setup hook Tested openbsd.lorder with and without __structuredAttrs. --- .../bsd/openbsd/pkgs/openbsdSetupHook/setup-hook.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/bsd/openbsd/pkgs/openbsdSetupHook/setup-hook.sh b/pkgs/os-specific/bsd/openbsd/pkgs/openbsdSetupHook/setup-hook.sh index c0fee276fea3d..e06dbda37c40e 100644 --- a/pkgs/os-specific/bsd/openbsd/pkgs/openbsdSetupHook/setup-hook.sh +++ b/pkgs/os-specific/bsd/openbsd/pkgs/openbsdSetupHook/setup-hook.sh @@ -1,6 +1,6 @@ addOpenBSDMakeFlags() { - makeFlags="INCSDIR=${!outputDev}/include $makeFlags" - makeFlags="MANDIR=${!outputMan}/share/man $makeFlags" + prependToVar makeFlags "INCSDIR=${!outputDev}/include" + prependToVar makeFlags "MANDIR=${!outputMan}/share/man" } fixOpenBSDInstallDirs() { From 202bfa48fd04d3714345e8ed90a33f82befdaf62 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sun, 9 Jun 2024 21:40:05 +0200 Subject: [PATCH 154/491] freebsd: support structuredAttrs in setup hook Couldn't test this, because freebsd.compat is failing with unrelated errors for me. --- .../pkgs/freebsdSetupHook/setup-hook.sh | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh b/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh index 96a3d14c80f7b..ac6e9c12229ae 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh +++ b/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh @@ -1,22 +1,22 @@ setFreeBSDSrcTop() { - makeFlags="SRCTOP=$BSDSRCDIR $makeFlags" + prependToVar makeFlags "SRCTOP=$BSDSRCDIR" } addFreeBSDMakeFlags() { - makeFlags="SBINDIR=${!outputBin}/bin $makeFlags" - makeFlags="LIBEXECDIR=${!outputLib}/libexec $makeFlags" - makeFlags="LIBDATADIR=${!outputLib}/data $makeFlags" - makeFlags="INCLUDEDIR=${!outputDev}/include $makeFlags" - makeFlags="CONFDIR=${!outputBin}/etc $makeFlags" - makeFlags="MANDIR=${!outputMan}/share/man/man $makeFlags" + prependToVar makeFlags "SBINDIR=${!outputBin}/bin" + prependToVar makeFlags "LIBEXECDIR=${!outputLib}/libexec" + prependToVar makeFlags "LIBDATADIR=${!outputLib}/data" + prependToVar makeFlags "INCLUDEDIR=${!outputDev}/include" + prependToVar makeFlags "CONFDIR=${!outputBin}/etc" + prependToVar makeFlags "MANDIR=${!outputMan}/share/man/man" if [ -n "$debug" ]; then - makeFlags="DEBUGFILEDIR=${debug}/lib/debug $makeFlags" + prependToVar makeFlags "DEBUGFILEDIR=${debug}/lib/debug" else - makeFlags="DEBUGFILEDIR=${out}/lib/debug $makeFlags" + prependToVar makeFlags "DEBUGFILEDIR=${out}/lib/debug" fi - echo $makeFlags + echoCmd 'FreeBSD makeFlags' "${makeFlags[@]}" } postUnpackHooks+=(setFreeBSDSrcTop) From 7912e83adeef3bc5788ba857ca019cba9a168f1c Mon Sep 17 00:00:00 2001 From: David McFarland Date: Sun, 8 Sep 2024 23:11:59 -0300 Subject: [PATCH 155/491] treewide: fix typos of enableParallelBuilding --- pkgs/by-name/li/lib3270/package.nix | 2 +- pkgs/by-name/li/libv3270/package.nix | 2 +- pkgs/by-name/pw/pw3270/package.nix | 2 +- pkgs/development/libraries/grpc/default.nix | 2 +- pkgs/development/ocaml-modules/sail/default.nix | 4 ++-- pkgs/tools/system/netdata/default.nix | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/li/lib3270/package.nix b/pkgs/by-name/li/lib3270/package.nix index bdb74eceb2829..119f7a1d6e15e 100644 --- a/pkgs/by-name/li/lib3270/package.nix +++ b/pkgs/by-name/li/lib3270/package.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { NOCONFIGURE=1 sh autogen.sh ''; - enableParallelBuilds = true; + enableParallelBuilding = true; meta = with lib; { description = "TN3270 client Library"; diff --git a/pkgs/by-name/li/libv3270/package.nix b/pkgs/by-name/li/libv3270/package.nix index 4f053f2795c50..3e87f868ec166 100644 --- a/pkgs/by-name/li/libv3270/package.nix +++ b/pkgs/by-name/li/libv3270/package.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { NOCONFIGURE=1 sh ./autogen.sh ''; - enableParallelBuilds = true; + enableParallelBuilding = true; meta = with lib; { description = "3270 Virtual Terminal for GTK"; diff --git a/pkgs/by-name/pw/pw3270/package.nix b/pkgs/by-name/pw/pw3270/package.nix index b46d30355a290..d344b4e2dd2a7 100644 --- a/pkgs/by-name/pw/pw3270/package.nix +++ b/pkgs/by-name/pw/pw3270/package.nix @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { rm -rf $out/share/gsettings-schemas ''; - enableParallelBuilds = true; + enableParallelBuilding = true; meta = with lib; { description = "3270 Emulator for gtk"; diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 2110755a17197..7dbb023bfbffe 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -96,7 +96,7 @@ stdenv.mkDerivation rec { "-Wno-elaborated-enum-base" ]); - enableParallelBuilds = true; + enableParallelBuilding = true; passthru.tests = { inherit (python3.pkgs) grpcio-status grpcio-tools jaxlib; diff --git a/pkgs/development/ocaml-modules/sail/default.nix b/pkgs/development/ocaml-modules/sail/default.nix index c7df6ef503086..56a7ef2ece2fb 100644 --- a/pkgs/development/ocaml-modules/sail/default.nix +++ b/pkgs/development/ocaml-modules/sail/default.nix @@ -52,12 +52,12 @@ buildDunePackage rec { # This doesnt work in this case, as sail includes multiple packages in the same source tree buildPhase = '' runHook preBuild - dune build --release ''${enableParallelBuild:+-j $NIX_BUILD_CORES} + dune build --release ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} runHook postBuild ''; checkPhase = '' runHook preCheck - dune runtest ''${enableParallelBuild:+-j $NIX_BUILD_CORES} + dune runtest ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} runHook postCheck ''; installPhase = '' diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix index 84050ab400dcb..ea8b38f566536 100644 --- a/pkgs/tools/system/netdata/default.nix +++ b/pkgs/tools/system/netdata/default.nix @@ -171,7 +171,7 @@ stdenv.mkDerivation rec { rm -rf $out/{var,usr,etc} ''; - enableParallelBuild = true; + enableParallelBuilding = true; passthru = rec { netdata-go-modules = (buildGoModule { From c51ca826cecee4b78d0334bff0cb2007461c3f40 Mon Sep 17 00:00:00 2001 From: Maximilian Marx Date: Mon, 9 Sep 2024 10:46:29 +0200 Subject: [PATCH 156/491] melpa2nix: update to work with current MELPA recipes MELPA has started to use :rename in the :files attribute of recipes (e.g., for bbdb), which is rejected as an invalid recipe by earlier versions of package-build. --- pkgs/applications/editors/emacs/build-support/melpa.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/build-support/melpa.nix b/pkgs/applications/editors/emacs/build-support/melpa.nix index e129e3ebdeb09..a6e6e7c5d4b1b 100644 --- a/pkgs/applications/editors/emacs/build-support/melpa.nix +++ b/pkgs/applications/editors/emacs/build-support/melpa.nix @@ -12,8 +12,8 @@ let src = fetchFromGitHub { owner = "melpa"; repo = "package-build"; - rev = "c48aa078c01b4f07b804270c4583a0a58ffea1c0"; - sha256 = "sha256-MzPj375upIiYXdQR+wWXv3A1zMqbSrZlH0taLuxx/1M="; + rev = "d5661f1f1996a893fbcbacb4d290c57acab4fb0e"; + hash = "sha256-zVhFR2kLLkCKC+esPBbIk3qOa033YND1HF9GiNI4JM8="; }; patches = [ ./package-build-dont-use-mtime.patch ]; From 799d0c8a7da358ac05323922c87d149376549672 Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Mon, 9 Sep 2024 14:28:43 +0300 Subject: [PATCH 157/491] stdenv: bump required Bash version from 4 to 5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently stdenv requires Bash 4.x that was released in 2009. This change bumps the required version to Bash 5.x (2019, 5 years ago). See https://mywiki.wooledge.org/BashFAQ/061 for more details. Using a relatively modern Bash version allows us to rely on newer features (e.g. ${var@a}) and remove workarounds for older quirks (e.g. https://stackoverflow.com/a/7577209, “old bash empty array problem”). Note that many setup hooks are using features added after 4.0 version, e.g. makeWrapper uses ${var@Q} from 4.4, but some even require >5.0, e.g. cargoBuildHook uses ${var@U} from 5.1. --- pkgs/stdenv/generic/setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 1b4f7a89d358e..d1a0393116314 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -4,9 +4,9 @@ __nixpkgs_setup_set_original=$- set -eu set -o pipefail -if [[ -n "${BASH_VERSINFO-}" && "${BASH_VERSINFO-}" -lt 4 ]]; then +if [[ -n "${BASH_VERSINFO-}" && "${BASH_VERSINFO-}" -lt 5 ]]; then echo "Detected Bash version that isn't supported by Nixpkgs (${BASH_VERSION})" - echo "Please install Bash 4 or greater to continue." + echo "Please install Bash 5 or greater to continue." exit 1 fi From 56a2098698688a02f8be6a43f52570afa5fcda89 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 8 Sep 2024 01:24:35 +0100 Subject: [PATCH 158/491] ocamlPackages.ffmpeg*: pin FFmpeg 6 for now --- pkgs/top-level/ocaml-packages.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index c487541fa2e85..65574e91e1bd9 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -510,31 +510,31 @@ let ffmpeg = callPackage ../development/ocaml-modules/ffmpeg { }; ffmpeg-av = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-av.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox; }; ffmpeg-avcodec = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avcodec.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox; }; ffmpeg-avdevice = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avdevice.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AppKit AudioToolbox AVFoundation Cocoa CoreImage ForceFeedback OpenGL VideoToolbox; }; ffmpeg-avfilter = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avfilter.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AppKit CoreImage OpenGL VideoToolbox; }; ffmpeg-avutil = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-avutil.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) AudioToolbox VideoToolbox; }; ffmpeg-swresample = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swresample.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox; }; ffmpeg-swscale = callPackage ../development/ocaml-modules/ffmpeg/ffmpeg-swscale.nix { - inherit (pkgs) ffmpeg; + ffmpeg = pkgs.ffmpeg_6; inherit (pkgs.darwin.apple_sdk.frameworks) VideoToolbox; }; From a149bd4768f8a4d1eb600302bc31ef8e4da7a0be Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 8 Sep 2024 01:24:35 +0100 Subject: [PATCH 159/491] liquidsoap: pin FFmpeg 6 for now --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 347af5805ae92..5ba479dd4a1b3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9372,7 +9372,7 @@ with pkgs; lesspipe = callPackage ../tools/misc/lesspipe { }; liquidsoap = callPackage ../tools/audio/liquidsoap/full.nix { - ffmpeg = ffmpeg-full; + ffmpeg = ffmpeg_6-full; ocamlPackages = ocaml-ng.ocamlPackages_4_14; }; From 685864af83d81b4c1a8cfa912df10974c5360eb7 Mon Sep 17 00:00:00 2001 From: Maximilian Marx Date: Mon, 9 Sep 2024 19:11:44 +0200 Subject: [PATCH 160/491] emacs.pkgs.melpaPackages.ttl-mode: update recipe Signed-off-by: Maximilian Marx --- .../editors/emacs/elisp-packages/recipes-archive-melpa.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json index 375b589bcb9a3..67a0025d0cf1f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json +++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json @@ -123226,8 +123226,8 @@ }, { "ename": "ttl-mode", - "commit": "0575169e8fb9a2537582f5aa77fc9950f1f1384c", - "sha256": "1fi8xxzwz3h7kgn69h4p1wlvhvia0v8qqh7k64pgh44b2fq040p1", + "commit": "8a7d0c7287d157f45ebcb7a6ba2a776b3ee2bc2d", + "sha256": "1v34axc96n5aqsm9w2j94z8h9mqfa41300lx8aqccwj8a5qwk90k", "fetcher": "github", "repo": "nxg/ttl-mode", "unstable": { From d45c5ab2951fe02aabfe2b7bfce5c80ba4138a1b Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Sat, 31 Aug 2024 23:17:28 +0200 Subject: [PATCH 161/491] ffmpeg: add npp option --- pkgs/development/libraries/ffmpeg/default.nix | 7 ++++++- pkgs/development/libraries/ffmpeg/generic.nix | 11 ++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index f6a6403435e8b..e700ec8d4ba55 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -1,4 +1,8 @@ -{ callPackage, darwin }: +{ + callPackage, + darwin, + cudaPackages, +}: let mkFFmpeg = @@ -14,6 +18,7 @@ let VideoToolbox ; inherit (darwin) xcode; + inherit (cudaPackages) cuda_cudart cuda_nvcc libnpp; } // (initArgs // { inherit ffmpegVariant; }) ); diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 5367a4439f218..746d08398ba9d 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildPackages, removeReferencesTo, addDriverRunpath, pkg-config, perl, texinfo, texinfo6, yasm +{ lib, config, stdenv, buildPackages, removeReferencesTo, addDriverRunpath, pkg-config, perl, texinfo, texinfo6, yasm # You can fetch any upstream version using this derivation by specifying version and hash # NOTICE: Always use this argument to override the version. Do not use overrideAttrs. @@ -81,6 +81,7 @@ , withModplug ? withFullDeps && !stdenv.isDarwin # ModPlug support , withMp3lame ? withHeadlessDeps # LAME MP3 encoder , withMysofa ? withFullDeps # HRTF support via SOFAlizer +, withNpp ? withFullDeps && withUnfree && config.cudaSupport # Nvidia Performance Primitives-based code , withNvdec ? withHeadlessDeps && withNvcodec , withNvenc ? withHeadlessDeps && withNvcodec , withOpenal ? withFullDeps # OpenAL 1.1 capture support @@ -333,6 +334,12 @@ , CoreImage , VideoToolbox , xcode # unfree contains metalcc and metallib +/* + * Cuda Packages + */ +, cuda_cudart +, cuda_nvcc +, libnpp /* * Testing */ @@ -610,6 +617,7 @@ stdenv.mkDerivation (finalAttrs: { (enableFeature withModplug "libmodplug") (enableFeature withMp3lame "libmp3lame") (enableFeature withMysofa "libmysofa") + (enableFeature withNpp "libnpp") (enableFeature withNvdec "nvdec") (enableFeature withNvenc "nvenc") (enableFeature withOpenal "openal") @@ -762,6 +770,7 @@ stdenv.mkDerivation (finalAttrs: { ++ optionals withModplug [ libmodplug ] ++ optionals withMp3lame [ lame ] ++ optionals withMysofa [ libmysofa ] + ++ optionals withNpp [ libnpp cuda_cudart cuda_nvcc ] ++ optionals withOpenal [ openal ] ++ optionals withOpencl [ ocl-icd opencl-headers ] ++ optionals (withOpencoreAmrnb || withOpencoreAmrwb) [ opencore-amr ] From 18d3b57fa0b3ef18a7b10fe021d8d0f26d43641d Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Sat, 31 Aug 2024 23:18:41 +0200 Subject: [PATCH 162/491] ffmpeg: add CudaNVCC option --- pkgs/development/libraries/ffmpeg/generic.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 746d08398ba9d..b5ebc344a559a 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -52,6 +52,7 @@ , withCoreImage ? withHeadlessDeps && stdenv.isDarwin # Apple CoreImage framework , withCuda ? withFullDeps && withNvcodec , withCudaLLVM ? withFullDeps +, withCudaNVCC ? withFullDeps && withUnfree && config.cudaSupport , withCuvid ? withHeadlessDeps && withNvcodec , withDav1d ? withHeadlessDeps # AV1 decoder (focused on speed and correctness) , withDc1394 ? withFullDeps && !stdenv.isDarwin # IIDC-1394 grabbing (ieee 1394) @@ -577,6 +578,7 @@ stdenv.mkDerivation (finalAttrs: { (enableFeature withCoreImage "coreimage") (enableFeature withCuda "cuda") (enableFeature withCudaLLVM "cuda-llvm") + (enableFeature withCudaNVCC "cuda-nvcc") (enableFeature withCuvid "cuvid") (enableFeature withDav1d "libdav1d") (enableFeature withDc1394 "libdc1394") @@ -723,7 +725,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ removeReferencesTo addDriverRunpath perl pkg-config yasm ] # Texinfo version 7.1 introduced breaking changes, which older versions of ffmpeg do not handle. ++ (if versionOlder version "5" then [ texinfo6 ] else [ texinfo ]) - ++ optionals withCudaLLVM [ clang ]; + ++ optionals withCudaLLVM [ clang ] + ++ optionals withCudaNVCC [ cuda_nvcc ]; buildInputs = [] ++ optionals withAlsa [ alsa-lib ] @@ -743,6 +746,7 @@ stdenv.mkDerivation (finalAttrs: { ++ optionals withChromaprint [ chromaprint ] ++ optionals withCodec2 [ codec2 ] ++ optionals withCoreImage [ CoreImage ] + ++ optionals withCudaNVCC [ cuda_cudart cuda_nvcc ] ++ optionals withDav1d [ dav1d ] ++ optionals withDc1394 [ libdc1394 libraw1394 ] ++ optionals withDrm [ libdrm ] From b965ede9638b21e9d0ac0b9b36f763f3686dec40 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Mon, 9 Sep 2024 22:02:23 +0200 Subject: [PATCH 163/491] rust-analyzer: use env. to pass CFG_RELEASE environment variable This is required to test rust-analyzer with structuredAttrs turned on once the cargo setup hooks support it. --- pkgs/development/tools/rust/rust-analyzer/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix index 6326657372c44..33480259334ac 100644 --- a/pkgs/development/tools/rust/rust-analyzer/default.nix +++ b/pkgs/development/tools/rust/rust-analyzer/default.nix @@ -39,7 +39,7 @@ rustPlatform.buildRustPackage rec { buildFeatures = lib.optional useMimalloc "mimalloc"; - CFG_RELEASE = version; + env.CFG_RELEASE = version; inherit doCheck; preCheck = lib.optionalString doCheck '' From 9220a19a4dee6cea4270a4be4855b7de4ac6bf60 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 24 Aug 2024 23:27:19 +0200 Subject: [PATCH 164/491] rust: support structuredAttrs in setup hooks Tested the following packages with and without structuredAttrs: - rust-analyzer: cargo-build-hook, cargo-check-hook - jujutsu: cargo-nextest-hook - kornia-rs: maturin-build-hook --- .../rust/hooks/cargo-build-hook.sh | 35 +++++++------------ .../rust/hooks/cargo-check-hook.sh | 35 +++++++++---------- .../rust/hooks/cargo-nextest-hook.sh | 32 ++++++++--------- .../rust/hooks/maturin-build-hook.sh | 24 +++++++------ 4 files changed, 56 insertions(+), 70 deletions(-) diff --git a/pkgs/build-support/rust/hooks/cargo-build-hook.sh b/pkgs/build-support/rust/hooks/cargo-build-hook.sh index 26dde914f22aa..4c8d434151b1a 100644 --- a/pkgs/build-support/rust/hooks/cargo-build-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-build-hook.sh @@ -1,5 +1,3 @@ -declare -a cargoBuildFlags - cargoBuildHook() { echo "Executing cargoBuildHook" @@ -16,35 +14,28 @@ cargoBuildHook() { pushd "${buildAndTestSubdir}" fi + local flagsArray=( + "-j" "$NIX_BUILD_CORES" + "--target" "@rustHostPlatformSpec@" + "--offline" + ) + if [ "${cargoBuildType}" != "debug" ]; then - cargoBuildProfileFlag="--profile ${cargoBuildType}" + flagsArray+=("--profile" "${cargoBuildType}") fi if [ -n "${cargoBuildNoDefaultFeatures-}" ]; then - cargoBuildNoDefaultFeaturesFlag=--no-default-features + flagsArray+=("--no-default-features") fi if [ -n "${cargoBuildFeatures-}" ]; then - if [ -n "$__structuredAttrs" ]; then - OLDIFS="$IFS" - IFS=','; cargoBuildFeaturesFlag="--features=${cargoBuildFeatures[*]}" - IFS="$OLDIFS" - unset OLDIFS - else - cargoBuildFeaturesFlag="--features=${cargoBuildFeatures// /,}" - fi + flagsArray+=("--features=$(concatStringsSep "," cargoBuildFeatures)") fi - ( - set -x - @setEnv@ cargo build -j $NIX_BUILD_CORES \ - --target @rustHostPlatformSpec@ \ - --offline \ - ${cargoBuildProfileFlag} \ - ${cargoBuildNoDefaultFeaturesFlag} \ - ${cargoBuildFeaturesFlag} \ - ${cargoBuildFlags} - ) + concatTo flagsArray cargoBuildFlags + + echoCmd 'cargoBuildHook flags' "${flagsArray[@]}" + @setEnv@ cargo build "${flagsArray[@]}" if [ ! -z "${buildAndTestSubdir-}" ]; then popd diff --git a/pkgs/build-support/rust/hooks/cargo-check-hook.sh b/pkgs/build-support/rust/hooks/cargo-check-hook.sh index 96b87dbf15b45..a130a64d392d7 100644 --- a/pkgs/build-support/rust/hooks/cargo-check-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-check-hook.sh @@ -1,6 +1,3 @@ -declare -a checkFlags -declare -a cargoTestFlags - cargoCheckHook() { echo "Executing cargoCheckHook" @@ -10,37 +7,37 @@ cargoCheckHook() { pushd "${buildAndTestSubdir}" fi + local flagsArray=("-j" "$NIX_BUILD_CORES") + if [[ -z ${dontUseCargoParallelTests-} ]]; then - threads=$NIX_BUILD_CORES + prependToVar checkFlags "--test-threads=$NIX_BUILD_CORES" else - threads=1 + prependToVar checkFlags "--test-threads=1" fi if [ "${cargoCheckType}" != "debug" ]; then - cargoCheckProfileFlag="--profile ${cargoCheckType}" + flagsArray+=("--profile" "${cargoCheckType}") fi if [ -n "${cargoCheckNoDefaultFeatures-}" ]; then - cargoCheckNoDefaultFeaturesFlag=--no-default-features + flagsArray+=("--no-default-features") fi if [ -n "${cargoCheckFeatures-}" ]; then - cargoCheckFeaturesFlag="--features=${cargoCheckFeatures// /,}" + flagsArray+=("--features=$(concatStringsSep "," cargoCheckFeatures)") fi - argstr="${cargoCheckProfileFlag} ${cargoCheckNoDefaultFeaturesFlag} ${cargoCheckFeaturesFlag} - --target @rustHostPlatformSpec@ --offline ${cargoTestFlags}" - - ( - set -x - cargo test \ - -j $NIX_BUILD_CORES \ - ${argstr} -- \ - --test-threads=${threads} \ - ${checkFlags} \ - ${checkFlagsArray+"${checkFlagsArray[@]}"} + flagsArray+=( + "--target" "@rustHostPlatformSpec@" + "--offline" ) + prependToVar checkFlags "--" + concatTo flagsArray cargoTestFlags checkFlags checkFlagsArray + + echoCmd 'cargoCheckHook flags' "${flagsArray[@]}" + cargo test "${flagsArray[@]}" + if [[ -n "${buildAndTestSubdir-}" ]]; then popd fi diff --git a/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh b/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh index 16d32513a0d01..0304bbc7cb312 100644 --- a/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh @@ -1,6 +1,3 @@ -declare -a checkFlags -declare -a cargoTestFlags - cargoNextestHook() { echo "Executing cargoNextestHook" @@ -10,35 +7,34 @@ cargoNextestHook() { pushd "${buildAndTestSubdir}" fi + local flagsArray=( + "--target" "@rustHostPlatformSpec@" + "--offline" + ) + if [[ -z ${dontUseCargoParallelTests-} ]]; then - threads=$NIX_BUILD_CORES + flagsArray+=("-j" "$NIX_BUILD_CORES") else - threads=1 + flagsArray+=("-j" "1") fi if [ "${cargoCheckType}" != "debug" ]; then - cargoCheckProfileFlag="--cargo-profile ${cargoCheckType}" + flagsArray+=("--cargo-profile" "${cargoCheckType}") fi if [ -n "${cargoCheckNoDefaultFeatures-}" ]; then - cargoCheckNoDefaultFeaturesFlag=--no-default-features + flagsArray+=("--no-default-features") fi if [ -n "${cargoCheckFeatures-}" ]; then - cargoCheckFeaturesFlag="--features=${cargoCheckFeatures// /,}" + flagsArray+=("--features=$(concatStringsSep "," cargoCheckFeatures)") fi - argstr="${cargoCheckProfileFlag} ${cargoCheckNoDefaultFeaturesFlag} ${cargoCheckFeaturesFlag} - --target @rustHostPlatformSpec@ --offline ${cargoTestFlags}" + prependToVar checkFlags "--" + concatTo flagsArray cargoTestFlags checkFlags checkFlagsArray - ( - set -x - cargo nextest run \ - -j ${threads} \ - ${argstr} -- \ - ${checkFlags} \ - ${checkFlagsArray+"${checkFlagsArray[@]}"} - ) + echoCmd 'cargoNextestHook flags' "${flagsArray[@]}" + cargo nextest run "${flagsArray[@]}" if [[ -n "${buildAndTestSubdir-}" ]]; then popd diff --git a/pkgs/build-support/rust/hooks/maturin-build-hook.sh b/pkgs/build-support/rust/hooks/maturin-build-hook.sh index c1e701425f00d..3a5eeb4234b94 100644 --- a/pkgs/build-support/rust/hooks/maturin-build-hook.sh +++ b/pkgs/build-support/rust/hooks/maturin-build-hook.sh @@ -10,19 +10,21 @@ maturinBuildHook() { pushd "${buildAndTestSubdir}" fi - ( - set -x - @setEnv@ maturin build \ - --jobs=$NIX_BUILD_CORES \ - --offline \ - --target @rustTargetPlatformSpec@ \ - --manylinux off \ - --strip \ - --release \ - --out "$dist" \ - ${maturinBuildFlags-} + local flagsArray=( + "--jobs=$NIX_BUILD_CORES" + "--offline" + "--target" "@rustTargetPlatformSpec@" + "--manylinux" "off" + "--strip" + "--release" + "--out" "$dist" ) + concatTo flagsArray maturinBuildFlags + + echoCmd 'maturinBuildHook flags' "${flagsArray[@]}" + @setEnv@ maturin build "${flagsArray[@]}" + if [ ! -z "${buildAndTestSubdir-}" ]; then popd fi From d5013e942e3ae3655f5537ba32792c5c20e73106 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 24 Aug 2024 23:41:25 +0200 Subject: [PATCH 165/491] rust: shellcheck setup hooks --- pkgs/build-support/rust/hooks/cargo-build-hook.sh | 9 ++++++--- pkgs/build-support/rust/hooks/cargo-check-hook.sh | 2 ++ pkgs/build-support/rust/hooks/cargo-nextest-hook.sh | 2 ++ pkgs/build-support/rust/hooks/maturin-build-hook.sh | 6 ++++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/build-support/rust/hooks/cargo-build-hook.sh b/pkgs/build-support/rust/hooks/cargo-build-hook.sh index 4c8d434151b1a..749ebed8b01b7 100644 --- a/pkgs/build-support/rust/hooks/cargo-build-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-build-hook.sh @@ -1,3 +1,5 @@ +# shellcheck shell=bash disable=SC2154,SC2164 + cargoBuildHook() { echo "Executing cargoBuildHook" @@ -7,9 +9,10 @@ cargoBuildHook() { # separateDebugInfo. export "CARGO_PROFILE_${cargoBuildType@U}_STRIP"=false - if [ ! -z "${buildAndTestSubdir-}" ]; then + if [ -n "${buildAndTestSubdir-}" ]; then # ensure the output doesn't end up in the subdirectory - export CARGO_TARGET_DIR="$(pwd)/target" + CARGO_TARGET_DIR="$(pwd)/target" + export CARGO_TARGET_DIR pushd "${buildAndTestSubdir}" fi @@ -37,7 +40,7 @@ cargoBuildHook() { echoCmd 'cargoBuildHook flags' "${flagsArray[@]}" @setEnv@ cargo build "${flagsArray[@]}" - if [ ! -z "${buildAndTestSubdir-}" ]; then + if [ -n "${buildAndTestSubdir-}" ]; then popd fi diff --git a/pkgs/build-support/rust/hooks/cargo-check-hook.sh b/pkgs/build-support/rust/hooks/cargo-check-hook.sh index a130a64d392d7..07eae85d13ee7 100644 --- a/pkgs/build-support/rust/hooks/cargo-check-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-check-hook.sh @@ -1,3 +1,5 @@ +# shellcheck shell=bash disable=SC2154,SC2164 + cargoCheckHook() { echo "Executing cargoCheckHook" diff --git a/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh b/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh index 0304bbc7cb312..4719d1bad8ae9 100644 --- a/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-nextest-hook.sh @@ -1,3 +1,5 @@ +# shellcheck shell=bash disable=SC2154,SC2164 + cargoNextestHook() { echo "Executing cargoNextestHook" diff --git a/pkgs/build-support/rust/hooks/maturin-build-hook.sh b/pkgs/build-support/rust/hooks/maturin-build-hook.sh index 3a5eeb4234b94..2eab2124e70be 100644 --- a/pkgs/build-support/rust/hooks/maturin-build-hook.sh +++ b/pkgs/build-support/rust/hooks/maturin-build-hook.sh @@ -1,3 +1,5 @@ +# shellcheck shell=bash disable=SC2154,SC2164 + maturinBuildHook() { echo "Executing maturinBuildHook" @@ -6,7 +8,7 @@ maturinBuildHook() { # Put the wheel to dist/ so that regular Python tooling can find it. local dist="$PWD/dist" - if [ ! -z "${buildAndTestSubdir-}" ]; then + if [ -n "${buildAndTestSubdir-}" ]; then pushd "${buildAndTestSubdir}" fi @@ -25,7 +27,7 @@ maturinBuildHook() { echoCmd 'maturinBuildHook flags' "${flagsArray[@]}" @setEnv@ maturin build "${flagsArray[@]}" - if [ ! -z "${buildAndTestSubdir-}" ]; then + if [ -n "${buildAndTestSubdir-}" ]; then popd fi From 155fb5be701345e2ae36ff022a9a78bcfdb2e58f Mon Sep 17 00:00:00 2001 From: Ivan Trubach Date: Sun, 1 Sep 2024 00:46:26 +0300 Subject: [PATCH 166/491] openssl: use makeBinaryWrapper instead of makeShellWrapper This changes openssl to use makeBinaryWrapper since makeWrapper uses non-overridable runtimeShell that causes infinite recursion. That is, fetchurl in pkgs/top-level/all-packages.nix is bootstrapped by overriding dependencies to use stdenv.fetchurlBoot. --- pkgs/development/libraries/openssl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 5ddb26798af51..27aea4bb2e341 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, buildPackages, perl, coreutils, writeShellScript -, makeWrapper +, makeBinaryWrapper , withCryptodev ? false, cryptodev , withZlib ? false, zlib , enableSSL2 ? false @@ -70,7 +70,7 @@ let stdenv.cc.isGNU; nativeBuildInputs = - lib.optional (!stdenv.hostPlatform.isWindows) makeWrapper + lib.optional (!stdenv.hostPlatform.isWindows) makeBinaryWrapper ++ [ perl ] ++ lib.optionals static [ removeReferencesTo ]; buildInputs = lib.optional withCryptodev cryptodev From 64bbfed55e056ce168e3f2f8df01bb600e8ee034 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 10 Sep 2024 12:54:12 +0000 Subject: [PATCH 167/491] publicsuffix-list: 0-unstable-2024-08-21 -> 0-unstable-2024-09-10 --- 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 3a46cc980bc33..d12c615487adc 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-08-21"; + version = "0-unstable-2024-09-10"; src = fetchFromGitHub { owner = "publicsuffix"; repo = "list"; - rev = "30c3fc2db5ec0ecbc2efbb798b12459e9a22fffd"; - hash = "sha256-RmSlBl6lHFFvEEG2rsnwMpF9X8tv0VhPwhnke4UxUmA="; + rev = "fbcc4c495e8aed1fe0e90156e6b3796556eb6978"; + hash = "sha256-L6TepLI91IWImX453GO8VNSSle75f0H1IZbFr2qepDA="; }; dontBuild = true; From 5f125d57c34ca17e713c70c96b7a825fa408f18b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 5 Sep 2024 18:22:18 +0200 Subject: [PATCH 168/491] cargo,clippy,rustc,rustfmt: 1.80.1 -> 1.81.0 Fixes: CVE-2024-24576 --- .../compilers/rust/{1_80.nix => 1_81.nix} | 45 +++++++++++-------- pkgs/development/compilers/rust/rustc.nix | 3 ++ pkgs/top-level/all-packages.nix | 8 ++-- 3 files changed, 34 insertions(+), 22 deletions(-) rename pkgs/development/compilers/rust/{1_80.nix => 1_81.nix} (65%) diff --git a/pkgs/development/compilers/rust/1_80.nix b/pkgs/development/compilers/rust/1_81.nix similarity index 65% rename from pkgs/development/compilers/rust/1_80.nix rename to pkgs/development/compilers/rust/1_81.nix index 4c2efcc367f41..77217ba0382a8 100644 --- a/pkgs/development/compilers/rust/1_80.nix +++ b/pkgs/development/compilers/rust/1_81.nix @@ -27,6 +27,7 @@ llvm_18, wrapCCWith, overrideCC, + fetchpatch, }@args: let llvmSharedFor = @@ -46,8 +47,8 @@ let in import ./default.nix { - rustcVersion = "1.80.1"; - rustcSha256 = "sha256-LAuPZDlC3LgQy8xQ8pJWSxtuRNtdX0UJEVOZbfldLcQ="; + rustcVersion = "1.81.0"; + rustcSha256 = "hyRI/r3/MuUMPJCn4V+bstsTHRPFiP6QcbDtiIN8z6c="; llvmSharedForBuild = llvmSharedFor pkgsBuildBuild; llvmSharedForHost = llvmSharedFor pkgsBuildHost; @@ -104,28 +105,35 @@ import ./default.nix # Note: the version MUST be one version prior to the version we're # building - bootstrapVersion = "1.79.0"; + bootstrapVersion = "1.80.1"; # fetch hashes by running `print-hashes.sh ${bootstrapVersion}` bootstrapHashes = { - i686-unknown-linux-gnu = "0a1e371809446cd77dba7abce2afb4efac8d8b2e63483cfe19f1c98bf9ab7855"; - x86_64-unknown-linux-gnu = "628efa8ef0658a7c4199883ee132281f19931448d3cfee4ecfd768898fe74c18"; - x86_64-unknown-linux-musl = "2e4b0e40d027e2b31a40163986b4c04dfd0bce41c706a99f2e82ba473a4383de"; - arm-unknown-linux-gnueabihf = "ce8d8d296277a06e0d2f63a21a0586717e09be3df28c0d1a04bc2c6f85eecc15"; - armv7-unknown-linux-gnueabihf = "31968f88b22058e384dfb3cdf3efe7f60c03481d790300fcffc420d5ba3851f2"; - aarch64-unknown-linux-gnu = "f7d3b31581331b54af97cf3162e65b8c26c8aa14d42f71c1ce9adc1078ef54e5"; - aarch64-unknown-linux-musl = "f8100c806754cd21600ded26546467a1a242db9b9ab8a6a666656e3cc4edfa52"; - x86_64-apple-darwin = "62f018aad30bafa0ef8bff0ed60d5d45e6cadc799769aad9d945509203e9f921"; - aarch64-apple-darwin = "e70a9362975b94df7dbc6e2ed5ceab4254dd32f72ba497ff4a70440ace3f729f"; - powerpc64le-unknown-linux-gnu = "9865eeebb5bb20006367d3148d9116576499ec958d847e22b645f008a1bc4170"; - riscv64gc-unknown-linux-gnu = "c8d38e600ef4dea8b375df2d08153393816ffd3dcab18e4d081ddc19e28b5a40"; - s390x-unknown-linux-gnu = "1e9f1b27ce47d831108e1d1bb6ef7ab86f95bedfea843318292f821142fe1f6c"; - x86_64-unknown-freebsd = "3c8005f488b8dda0fc6d47928868200852106cac2b568934ae9a2e5c89d3a50d"; + i686-unknown-linux-gnu = "1bc0ce998dcf070994ad46292637c5c7368f4bdf1cec1a08baa43af74926be54"; + x86_64-unknown-linux-gnu = "9eedaea9719914a0f4673899aa11693607f25486569913fcca5905ef1da784ec"; + x86_64-unknown-linux-musl = "5b38cc33ed789e15542ee4cbff6fbb11a61d8946b2b1e9e6843386abed398737"; + arm-unknown-linux-gnueabihf = "f07a757846bcc74404380312d7dec4342be887da20e1d5101aaa4cc14d222eb4"; + armv7-unknown-linux-gnueabihf = "1daaf1944f0ba08ae1fcded8698742fdc6ae00027981c5900ea066214137a99d"; + aarch64-unknown-linux-gnu = "4ae791da82be6e7223f4f6cd477799624481aa1011e17c37753a57d257f89198"; + aarch64-unknown-linux-musl = "929d85092b64f69196e8fba2c88ce7a11dd6e4ccd583e4e3363591af041c400f"; + x86_64-apple-darwin = "4fcc0dad8b47066e13877e2839760ef1f40754a90a8fe83ecd4a1f14bf63c71a"; + aarch64-apple-darwin = "170ea11a424d67bbf16df3a4788e0d844ced00490e44c18c366304db1ef8ca6d"; + powerpc64le-unknown-linux-gnu = "0eb2b3efc93cad3baf4653357a4a8a2d5a963ae80dbce8955e1bb4f60e02c659"; + riscv64gc-unknown-linux-gnu = "1c1a70a6a38fb9483d77a330a957ccd436be83d8033a9023fc742ccd8e3ef5ca"; + s390x-unknown-linux-gnu = "ca7f0ede6ec61c9f8bb5ac239c2fd14c1db3b164c58abc934851186489d247df"; + x86_64-unknown-freebsd = "d7f4f66c3cc97616bcd37d9f63ed14c3c22c72a467f308453df2f1b128ffe0bc"; }; - selectRustPackage = pkgs: pkgs.rust_1_80; + selectRustPackage = pkgs: pkgs.rust_1_81; - rustcPatches = [ ]; + rustcPatches = [ + (fetchpatch { + name = "fix-fastCross.patch"; + url = "https://github.com/rust-lang/rust/commit/c15469a7fec811d1a4f69ff26e18c6f383df41d2.patch"; + excludes = [ "src/bootstrap/src/core/build_steps/dist.rs" ]; + hash = "sha256-t8tW0eUZVJu6jUaXo41ZoPblNKisdL6ueoNLaf9Vhog="; + }) + ]; } ( @@ -134,5 +142,6 @@ import ./default.nix "llvm_18" "wrapCCWith" "overrideCC" + "fetchpatch" ] ) diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 9fcc2ca923fb8..d09e2e803068b 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -109,6 +109,9 @@ in stdenv.mkDerivation (finalAttrs: { "--tools=rustc,rustdoc,rust-analyzer-proc-macro-srv" "--enable-rpath" "--enable-vendor" + # For Nixpkgs it makes more sense to use stdenv's linker than + # letting rustc build its own. + "--disable-lld" "--build=${stdenv.buildPlatform.rust.rustcTargetSpec}" "--host=${stdenv.hostPlatform.rust.rustcTargetSpec}" # std is built for all platforms in --target. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc6196fe84148..2f394403afef4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15869,11 +15869,11 @@ with pkgs; wrapRustcWith = { rustc-unwrapped, ... } @ args: callPackage ../build-support/rust/rustc-wrapper args; wrapRustc = rustc-unwrapped: wrapRustcWith { inherit rustc-unwrapped; }; - rust_1_80 = callPackage ../development/compilers/rust/1_80.nix { + rust_1_81 = callPackage ../development/compilers/rust/1_81.nix { inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration; llvm_18 = llvmPackages_18.libllvm; }; - rust = rust_1_80; + rust = rust_1_81; mrustc = callPackage ../development/compilers/mrustc { }; mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { }; @@ -15881,8 +15881,8 @@ with pkgs; openssl = openssl_1_1; }; - rustPackages_1_80 = rust_1_80.packages.stable; - rustPackages = rustPackages_1_80; + rustPackages_1_81 = rust_1_81.packages.stable; + rustPackages = rustPackages_1_81; inherit (rustPackages) cargo cargo-auditable cargo-auditable-cargo-wrapper clippy rustc rustPlatform; From b1a93bb5c45a955dccdae4b70e6e4f85968a4933 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 7 Sep 2024 22:46:33 +0100 Subject: [PATCH 169/491] {telegram-desktop,kotatogram-desktop}.tg_owt: add patch for FFmpeg 7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These are forks of WebRTC, so include the same upstream patch we use for FFmpeg 7 support in Qt 5’s WebEngine. I didn’t bother deduplicating it across these two copy‐pasted expressions since the original authors didn’t either. --- .../telegram/kotatogram-desktop/tg_owt.nix | 13 +++++++++++++ .../telegram/telegram-desktop/tg_owt.nix | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix index e2f3c4ba884ed..5dcfd895f5ed4 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch2 , pkg-config , cmake , ninja @@ -42,6 +43,18 @@ stdenv.mkDerivation { fetchSubmodules = true; }; + patches = [ + # Remove usage of AVCodecContext::reordered_opaque + (fetchpatch2 { + name = "webrtc-ffmpeg-7.patch"; + url = "https://webrtc.googlesource.com/src/+/e7d10047096880feb5e9846375f2da54aef91202%5E%21/?format=TEXT"; + decode = "base64 -d"; + stripLen = 1; + extraPrefix = "src/"; + hash = "sha256-EdwHeVko8uDsP5GTw2ryWiQgRVCAdPc1me6hySdiwMU="; + }) + ]; + postPatch = lib.optionalString stdenv.isLinux '' substituteInPlace src/modules/desktop_capture/linux/wayland/egl_dmabuf.cc \ --replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \ diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix index 64541fc79e97a..425b82f15d9bf 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-desktop/tg_owt.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, pkg-config, cmake, crc32c, @@ -41,6 +42,18 @@ stdenv.mkDerivation { fetchSubmodules = true; }; + patches = [ + # Remove usage of AVCodecContext::reordered_opaque + (fetchpatch2 { + name = "webrtc-ffmpeg-7.patch"; + url = "https://webrtc.googlesource.com/src/+/e7d10047096880feb5e9846375f2da54aef91202%5E%21/?format=TEXT"; + decode = "base64 -d"; + stripLen = 1; + extraPrefix = "src/"; + hash = "sha256-EdwHeVko8uDsP5GTw2ryWiQgRVCAdPc1me6hySdiwMU="; + }) + ]; + outputs = [ "out" "dev" From 11b562f3bfea35d7802cd7bf3968445cc8567d60 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 10 Sep 2024 16:21:48 +0200 Subject: [PATCH 170/491] python312Packages.build: 1.2.1 -> 1.2.2 https://github.com/pypa/build/blob/1.2.2/CHANGELOG.rst --- pkgs/development/python-modules/build/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/build/default.nix b/pkgs/development/python-modules/build/default.nix index b3a8c905bc8b0..13fe6432d4e26 100644 --- a/pkgs/development/python-modules/build/default.nix +++ b/pkgs/development/python-modules/build/default.nix @@ -15,12 +15,13 @@ pythonOlder, setuptools, tomli, + virtualenv, wheel, }: buildPythonPackage rec { pname = "build"; - version = "1.2.1"; + version = "1.2.2"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -29,7 +30,7 @@ buildPythonPackage rec { owner = "pypa"; repo = "build"; rev = "refs/tags/${version}"; - hash = "sha256-G0g+1v19sQMUuQlZKGELZOwwX07i7TIdEdaYzr8bKtI="; + hash = "sha256-pord65+Mg3TmHpAtU6PQAzxAmGtNu6MSxTruJsnA0EE="; }; postPatch = '' @@ -65,6 +66,7 @@ buildPythonPackage rec { pytest-xdist pytestCheckHook setuptools + virtualenv wheel ]; @@ -85,6 +87,9 @@ buildPythonPackage rec { "test_init" "test_output" "test_wheel_metadata" + # Tests require network access to run pip install + "test_verbose_output" + "test_requirement_installation" ] ++ lib.optionals stdenv.isDarwin [ # Expects Apple's Python and its quirks From b2f01b886128a93ec7e9b9d7ac5f071cca08a63b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 31 Aug 2024 19:38:01 +0200 Subject: [PATCH 171/491] python3: get the triple from the build system We don't need the sysconfigdata name at eval time, so trying to reimplement platform_triplet.c in Nix is unnecessarily painful compared to just getting it from the build system after the fact. --- .../interpreters/python/cpython/default.nix | 125 +++++++----------- 1 file changed, 48 insertions(+), 77 deletions(-) diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 56e0be3ea59cb..55400a77ac9a8 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -207,81 +207,29 @@ let inherit hash; }; - # The CPython interpreter contains a _sysconfigdata_ - # module that is imported by the sysconfig and distutils.sysconfig modules. - # The sysconfigdata module is generated at build time and contains settings - # required for building Python extension modules, such as include paths and - # other compiler flags. By default, the sysconfigdata module is loaded from - # the currently running interpreter (ie. the build platform interpreter), but - # when cross-compiling we want to load it from the host platform interpreter. - # This can be done using the _PYTHON_SYSCONFIGDATA_NAME environment variable. - # The _PYTHON_HOST_PLATFORM variable also needs to be set to get the correct - # platform suffix on extension modules. The correct values for these variables - # are not documented, and must be derived from the configure script (see links - # below). - sysconfigdataHook = with stdenv.hostPlatform; with passthru; let - machdep = if isWindows then "win32" else parsed.kernel.name; # win32 is added by Fedora’s patch - - # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L428 - # The configure script uses "arm" as the CPU name for all 32-bit ARM - # variants when cross-compiling, but native builds include the version - # suffix, so we do the same. - pythonHostPlatform = let - cpu = { - # According to PEP600, Python's name for the Power PC - # architecture is "ppc", not "powerpc". Without the Rosetta - # Stone below, the PEP600 requirement that "${ARCH} matches - # the return value from distutils.util.get_platform()" fails. - # https://peps.python.org/pep-0600/ - powerpc = "ppc"; - powerpcle = "ppcle"; - powerpc64 = "ppc64"; - powerpc64le = "ppc64le"; - }.${parsed.cpu.name} or parsed.cpu.name; - in "${machdep}-${cpu}"; - - # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L724 - multiarchCpu = - if isAarch32 then - if parsed.cpu.significantByte.name == "littleEndian" then "arm" else "armeb" - else if isx86_32 then "i386" - else parsed.cpu.name; - - pythonAbiName = let - # python's build doesn't match the nixpkgs abi in some cases. - # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L724 - nixpkgsPythonAbiMappings = { - "gnuabielfv2" = "gnu"; - "muslabielfv2" = "musl"; - }; - pythonAbi = nixpkgsPythonAbiMappings.${parsed.abi.name} or parsed.abi.name; - in - # Python <3.11 doesn't distinguish musl and glibc and always prefixes with "gnu" - if versionOlder version "3.11" then - replaceStrings [ "musl" ] [ "gnu" ] pythonAbi - else - pythonAbi; - - multiarch = - if isDarwin then "darwin" - else if isFreeBSD then "" - else if isWindows then "" - else "${multiarchCpu}-${machdep}-${pythonAbiName}"; - - abiFlags = optionalString isPy37 "m"; - - # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L78 - pythonSysconfigdataName = "_sysconfigdata_${abiFlags}_${machdep}_${multiarch}"; - in '' - sysconfigdataHook() { - if [ "$1" = '${placeholder "out"}' ]; then - export _PYTHON_HOST_PLATFORM='${pythonHostPlatform}' - export _PYTHON_SYSCONFIGDATA_NAME='${pythonSysconfigdataName}' - fi - } - - addEnvHooks "$hostOffset" sysconfigdataHook - ''; + # win32 is added by Fedora’s patch + machdep = if stdenv.hostPlatform.isWindows then + "win32" + else + stdenv.hostPlatform.parsed.kernel.name; + + # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L428 + # The configure script uses "arm" as the CPU name for all 32-bit ARM + # variants when cross-compiling, but native builds include the version + # suffix, so we do the same. + pythonHostPlatform = let + cpu = { + # According to PEP600, Python's name for the Power PC + # architecture is "ppc", not "powerpc". Without the Rosetta + # Stone below, the PEP600 requirement that "${ARCH} matches + # the return value from distutils.util.get_platform()" fails. + # https://peps.python.org/pep-0600/ + powerpc = "ppc"; + powerpcle = "ppcle"; + powerpc64 = "ppc64"; + powerpc64le = "ppc64le"; + }.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name; + in "${machdep}-${cpu}"; execSuffix = stdenv.hostPlatform.extensions.executable; in with passthru; stdenv.mkDerivation (finalAttrs: { @@ -612,8 +560,31 @@ in with passthru; stdenv.mkDerivation (finalAttrs: { # Add CPython specific setup-hook that configures distutils.sysconfig to # always load sysconfigdata from host Python. postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - cat << "EOF" >> "$out/nix-support/setup-hook" - ${sysconfigdataHook} + # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L78 + sysconfigdataName="$(make --eval $'print-sysconfigdata-name: + \t@echo _sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) ' print-sysconfigdata-name)" + + # The CPython interpreter contains a _sysconfigdata_ + # module that is imported by the sysconfig and distutils.sysconfig modules. + # The sysconfigdata module is generated at build time and contains settings + # required for building Python extension modules, such as include paths and + # other compiler flags. By default, the sysconfigdata module is loaded from + # the currently running interpreter (ie. the build platform interpreter), but + # when cross-compiling we want to load it from the host platform interpreter. + # This can be done using the _PYTHON_SYSCONFIGDATA_NAME environment variable. + # The _PYTHON_HOST_PLATFORM variable also needs to be set to get the correct + # platform suffix on extension modules. The correct values for these variables + # are not documented, and must be derived from the configure script (see links + # below). + cat <> "$out/nix-support/setup-hook" + sysconfigdataHook() { + if [ "\$1" = '$out' ]; then + export _PYTHON_HOST_PLATFORM='${pythonHostPlatform}' + export _PYTHON_SYSCONFIGDATA_NAME='$sysconfigdataName' + fi + } + + addEnvHooks "\$hostOffset" sysconfigdataHook EOF ''; From a89244a391f69ebf3c31f7cffef4452c5c57c07d Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 3 Sep 2024 17:29:54 +0200 Subject: [PATCH 172/491] keyutils: backport .pc file for static builds --- pkgs/os-specific/linux/keyutils/default.nix | 2 ++ .../linux/keyutils/pkg-config-static.patch | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/os-specific/linux/keyutils/pkg-config-static.patch diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix index 342626624c7ef..42ae3f2c0382f 100644 --- a/pkgs/os-specific/linux/keyutils/default.nix +++ b/pkgs/os-specific/linux/keyutils/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation rec { # nix-build -E 'with import ./. {}; pkgs.keyutils.override { stdenv = pkgs.clangStdenv; }' ./0001-Remove-unused-function-after_eq.patch + ./pkg-config-static.patch + # Fix build for s390-linux, where size_t is different from ptrdiff_t. (fetchurl { url = "https://lore.kernel.org/keyrings/20230301134250.301819-1-hi@alyssa.is/raw"; diff --git a/pkgs/os-specific/linux/keyutils/pkg-config-static.patch b/pkgs/os-specific/linux/keyutils/pkg-config-static.patch new file mode 100644 index 0000000000000..a4ba141fd2a82 --- /dev/null +++ b/pkgs/os-specific/linux/keyutils/pkg-config-static.patch @@ -0,0 +1,28 @@ +From 4e58e9a45b87f9409d80a559984a3405d8d5a975 Mon Sep 17 00:00:00 2001 +From: Daniel Hill +Date: Tue, 28 Feb 2023 16:57:52 +1300 +Subject: Provide a pkgconfig file with libkeyutils.a + +Signed-off-by: Daniel Hill +Signed-off-by: David Howells +Link: https://lore.kernel.org/r/CAMtG=2qKrGC-QzPENXsV8_7VBbi6sEnA6joV=SL8MQP1pfV8KA@mail.gmail.com/ +--- + Makefile | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile b/Makefile +index 599b145..d8d4ee3 100644 +--- a/Makefile ++++ b/Makefile +@@ -201,6 +201,8 @@ ifeq ($(NO_SOLIB),0) + $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) + mkdir -p $(DESTDIR)$(USRLIBDIR) + $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) ++endif ++ifneq ($(filter 0, $(NO_ARLIB) $(NO_SOLIB)),) + sed \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@prefix\@,$(PREFIX),g' \ +-- +cgit 1.2.3-korg + From bfbe0e92723ed30bf3511383e7a7a734b29921fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 10 Sep 2024 19:29:12 -0700 Subject: [PATCH 173/491] python312Packages.multidict: 6.0.5 -> 6.1.0 Diff: https://github.com/aio-libs/multidict/compare/refs/tags/v6.0.5...v6.1.0 Changelog: https://github.com/aio-libs/multidict/blob/v6.1.0/CHANGES.rst --- .../python-modules/multidict/default.nix | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/multidict/default.nix b/pkgs/development/python-modules/multidict/default.nix index 0321c5deba97d..416df76262f4a 100644 --- a/pkgs/development/python-modules/multidict/default.nix +++ b/pkgs/development/python-modules/multidict/default.nix @@ -1,37 +1,45 @@ { lib, - fetchPypi, + fetchFromGitHub, buildPythonPackage, + pytest-cov-stub, pytestCheckHook, pythonOlder, setuptools, + typing-extensions, }: buildPythonPackage rec { pname = "multidict"; - version = "6.0.5"; + version = "6.1.0"; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-9+MBB17a9QUA8LNBVDxBGU2N865cr0cC8glfPKc92No="; + src = fetchFromGitHub { + owner = "aio-libs"; + repo = "multidict"; + rev = "refs/tags/v${version}"; + hash = "sha256-rvL1XzMNBVBlElE5wznecL3Ku9h4tG9VeqGRd04iPXw="; }; postPatch = '' - substituteInPlace pytest.ini \ - --replace-fail "-p pytest_cov" "" - sed -i '/--cov/d' pytest.ini # `python3 -I -c "import multidict"` fails with ModuleNotFoundError substituteInPlace tests/test_circular_imports.py \ --replace-fail '"-I",' "" ''; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - nativeCheckInputs = [ pytestCheckHook ]; + dependencies = lib.optionals (pythonOlder "3.11") [ + typing-extensions + ]; + + nativeCheckInputs = [ + pytest-cov-stub + pytestCheckHook + ]; preCheck = '' # import from $out From e9cdb2274152ab7e7646406cebec791a47a48c7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 7 Sep 2024 20:46:24 -0600 Subject: [PATCH 174/491] =?UTF-8?q?gcc:=20gcc=5F13=20=E2=86=92=20gcc=5F14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nixos/doc/manual/release-notes/rl-2411.section.md | 2 ++ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 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 ca795a6af6562..b8438c13d4578 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -9,6 +9,8 @@ Users on old macOS versions should consider upgrading to a supported version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS. If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports back to Mac OS X Snow Leopard 10.6. +- GCC now defaults to major version 14 from previous 13. ([GCC Porting Guide](https://gcc.gnu.org/gcc-14/porting_to.html)) + - Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`. - [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK), AMD's open source Vulkan driver, is now available to be configured as `hardware.amdgpu.amdvlk` option. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c484627c12028..ed49b8201c69b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14895,7 +14895,7 @@ with pkgs; default-gcc-version = if (with stdenv.targetPlatform; isVc4 || libc == "relibc") then 6 - else 13; + else 14; gcc = pkgs.${"gcc${toString default-gcc-version}"}; gccFun = callPackage ../development/compilers/gcc; gcc-unwrapped = gcc.cc; From a4145a81d1fdd70a0ac8459a6c5db3786753804e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 7 Sep 2024 21:54:41 -0600 Subject: [PATCH 175/491] treewide: add `-Wno-error=` due to compilation error with gcc_14 --- pkgs/applications/audio/mbrola/default.nix | 5 ++++- pkgs/applications/graphics/gimp/default.nix | 6 +++++- .../networking/browsers/lynx/default.nix | 4 ++++ .../applications/video/obs-studio/default.nix | 1 + pkgs/by-name/gn/gnome-font-viewer/package.nix | 4 ++++ pkgs/by-name/sd/SDL_image/package.nix | 4 ++++ pkgs/by-name/se/seahorse/package.nix | 8 ++++++++ pkgs/by-name/vl/vlc/package.nix | 2 ++ pkgs/development/compilers/colm/default.nix | 4 ++++ pkgs/development/compilers/mcpp/default.nix | 4 ++++ pkgs/development/libraries/aalib/default.nix | 4 ++++ .../libraries/accountsservice/default.nix | 8 ++++++++ pkgs/development/libraries/chmlib/default.nix | 4 ++++ .../libraries/cyrus-sasl/default.nix | 4 ++++ pkgs/development/libraries/ffmpeg/generic.nix | 7 +++++++ pkgs/development/libraries/gtk/2.x.nix | 7 +++++++ .../libraries/gtksourceview/3.x.nix | 4 ++++ pkgs/development/libraries/lcms/default.nix | 4 ++++ .../development/libraries/libcddb/default.nix | 4 ++++ .../development/libraries/libcdio/default.nix | 4 ++++ pkgs/development/libraries/libgee/default.nix | 2 ++ .../libraries/libgphoto2/default.nix | 4 ++++ .../development/libraries/libgpod/default.nix | 7 +++++++ pkgs/development/libraries/libx86/default.nix | 4 ++++ .../development/libraries/mbedtls/generic.nix | 4 ++++ pkgs/development/libraries/polkit/default.nix | 19 +++++++++++-------- .../libraries/unixODBCDrivers/default.nix | 4 ++++ .../libraries/volume-key/default.nix | 7 +++++++ .../python-modules/curl-cffi/default.nix | 5 +++++ .../python-modules/gevent/default.nix | 5 +++++ pkgs/tools/cd-dvd/brasero/default.nix | 4 ++++ pkgs/tools/misc/expect/default.nix | 5 +++++ pkgs/tools/misc/hddtemp/default.nix | 4 ++++ pkgs/tools/networking/vpnc/default.nix | 4 ++++ pkgs/top-level/perl-packages.nix | 13 +++++++++++++ 35 files changed, 173 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/audio/mbrola/default.nix b/pkgs/applications/audio/mbrola/default.nix index 888ae82cdbab5..c67d30fc3dc60 100644 --- a/pkgs/applications/audio/mbrola/default.nix +++ b/pkgs/applications/audio/mbrola/default.nix @@ -26,6 +26,10 @@ let # required for cross compilation makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + installPhase = '' runHook preInstall install -D Bin/mbrola $out/bin/mbrola @@ -49,4 +53,3 @@ in ln -s '${mbrola-voices}/data' "$out/share/mbrola/voices" ln -s '${bin}/bin' "$out/" '' - diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index fe89869809e99..388afd1f45ac1 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -158,7 +158,11 @@ in stdenv.mkDerivation (finalAttrs: { doCheck = true; env = { - NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-DGDK_OSX_BIG_SUR=16"; + NIX_CFLAGS_COMPILE = toString ( + [ ] + ++ lib.optionals stdenv.cc.isGNU [ "-Wno-error=incompatible-pointer-types" ] + ++ lib.optionals stdenv.isDarwin [ "-DGDK_OSX_BIG_SUR=16" ] + ); # Check if librsvg was built with --disable-pixbuf-loader. PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}"; diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix index 1cad8d577710d..51bbb96cbab4f 100644 --- a/pkgs/applications/networking/browsers/lynx/default.nix +++ b/pkgs/applications/networking/browsers/lynx/default.nix @@ -46,6 +46,10 @@ stdenv.mkDerivation rec { nuke-refs cfg_defs.h ''; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + meta = with lib; { description = "Text-mode web browser"; homepage = "https://lynx.invisible-island.net/"; diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index 204f0e1311fab..0d5a667059b09 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -162,6 +162,7 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=sign-compare" # https://github.com/obsproject/obs-studio/issues/10200 + "-Wno-error=stringop-overflow=" ]; dontWrapGApps = true; diff --git a/pkgs/by-name/gn/gnome-font-viewer/package.nix b/pkgs/by-name/gn/gnome-font-viewer/package.nix index c05243ecb5297..070f9f903845f 100644 --- a/pkgs/by-name/gn/gnome-font-viewer/package.nix +++ b/pkgs/by-name/gn/gnome-font-viewer/package.nix @@ -58,6 +58,10 @@ stdenv.mkDerivation rec { # Do not run meson-postinstall.sh preConfigure = "sed -i '2,$ d' meson-postinstall.sh"; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + passthru = { updateScript = gnome.updateScript { packageName = "gnome-font-viewer"; diff --git a/pkgs/by-name/sd/SDL_image/package.nix b/pkgs/by-name/sd/SDL_image/package.nix index ce6824b09d0bd..8e0f0b2f8d959 100644 --- a/pkgs/by-name/sd/SDL_image/package.nix +++ b/pkgs/by-name/sd/SDL_image/package.nix @@ -59,6 +59,10 @@ stdenv.mkDerivation (finalAttrs: { libwebp ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + outputs = [ "out" "dev" diff --git a/pkgs/by-name/se/seahorse/package.nix b/pkgs/by-name/se/seahorse/package.nix index 127dcf23a7a5b..820d71de4a7a0 100644 --- a/pkgs/by-name/se/seahorse/package.nix +++ b/pkgs/by-name/se/seahorse/package.nix @@ -81,6 +81,14 @@ stdenv.mkDerivation rec { patchShebangs build-aux/gpg_check_version.py ''; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=int-conversion" + "-Wno-error=return-mismatch" + ]; + }; + preCheck = '' # Add “org.gnome.crypto.pgp” GSettings schema to path # to make it available for “gpgme-backend” test. diff --git a/pkgs/by-name/vl/vlc/package.nix b/pkgs/by-name/vl/vlc/package.nix index 83154aa249065..6f0957de2b0ec 100644 --- a/pkgs/by-name/vl/vlc/package.nix +++ b/pkgs/by-name/vl/vlc/package.nix @@ -212,6 +212,8 @@ stdenv.mkDerivation (finalAttrs: { # set the path to the compiler BUILDCC = "${pkgsBuildBuild.stdenv.cc}/bin/gcc"; PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER = "wayland-scanner"; + } // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; } // lib.optionalAttrs (!stdenv.hostPlatform.isAarch) { LIVE555_PREFIX = live555; }; diff --git a/pkgs/development/compilers/colm/default.nix b/pkgs/development/compilers/colm/default.nix index 6ec15a0ebdf9a..7db574022bfa2 100644 --- a/pkgs/development/compilers/colm/default.nix +++ b/pkgs/development/compilers/colm/default.nix @@ -13,6 +13,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper asciidoc autoreconfHook ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion"; + }; + doCheck = true; postInstall = '' diff --git a/pkgs/development/compilers/mcpp/default.nix b/pkgs/development/compilers/mcpp/default.nix index 9db55e29ccdb9..b1785a3e05752 100644 --- a/pkgs/development/compilers/mcpp/default.nix +++ b/pkgs/development/compilers/mcpp/default.nix @@ -14,6 +14,10 @@ stdenv.mkDerivation (finalAttrs: { hash= "sha256-T4feegblOeG+NU+c+PAobf8HT8KDSfcINkRAa1hNpkY="; }; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + patches = [ ./readlink.patch ]; diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix index 903364ea27f61..8ab4a8452da73 100644 --- a/pkgs/development/libraries/aalib/default.nix +++ b/pkgs/development/libraries/aalib/default.nix @@ -29,6 +29,10 @@ stdenv.mkDerivation rec { configureFlags = [ "--without-x" "--with-ncurses=${ncurses.dev}" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + postInstall = '' mkdir -p $dev/bin mv $bin/bin/aalib-config $dev/bin/aalib-config diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix index 1a5f03f635bc2..05c72673ded4f 100644 --- a/pkgs/development/libraries/accountsservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -74,6 +74,14 @@ stdenv.mkDerivation rec { libxcrypt ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=deprecated-declarations" + "-Wno-error=implicit-function-declaration" + "-Wno-error=return-mismatch" + ]; + }; + mesonFlags = [ "-Dadmin_group=wheel" "-Dlocalstatedir=/var" diff --git a/pkgs/development/libraries/chmlib/default.nix b/pkgs/development/libraries/chmlib/default.nix index df65e78ff51fa..baa67d8fb267a 100644 --- a/pkgs/development/libraries/chmlib/default.nix +++ b/pkgs/development/libraries/chmlib/default.nix @@ -13,6 +13,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + meta = with lib; { homepage = "http://www.jedrea.com/chmlib"; license = licenses.lgpl2; diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix index 0b151bfc719ae..f8b24e8604cc4 100644 --- a/pkgs/development/libraries/cyrus-sasl/default.nix +++ b/pkgs/development/libraries/cyrus-sasl/default.nix @@ -47,6 +47,10 @@ stdenv.mkDerivation rec { "CFLAGS=-DTIME_WITH_SYS_TIME" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + installFlags = lib.optionals stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ]; passthru.tests = { diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 4e8226c1904a4..e3db6cbda39e8 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -823,6 +823,13 @@ stdenv.mkDerivation (finalAttrs: { buildFlags = [ "all" ] ++ optional buildQtFaststart "tools/qt-faststart"; # Build qt-faststart executable + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=incompatible-pointer-types" + "-Wno-error=int-conversion" + ]; + }; + doCheck = stdenv.hostPlatform == stdenv.buildPlatform; # Fails with SIGABRT otherwise FIXME: Why? diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index ed0900ee1a927..44f6e438ea386 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -116,6 +116,13 @@ stdenv.mkDerivation (finalAttrs: { "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-int" + "-Wno-error=incompatible-pointer-types" + ]; + }; + enableParallelBuilding = true; installFlags = [ diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix index fb5c72e8b34da..6f14a68d48854 100644 --- a/pkgs/development/libraries/gtksourceview/3.x.nix +++ b/pkgs/development/libraries/gtksourceview/3.x.nix @@ -35,6 +35,10 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./3.x-nix_share_path.patch ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + enableParallelBuilding = true; doCheck = stdenv.isLinux; diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix index 9a957a119243d..cdb994578b296 100644 --- a/pkgs/development/libraries/lcms/default.nix +++ b/pkgs/development/libraries/lcms/default.nix @@ -11,6 +11,10 @@ stdenv.mkDerivation rec { patches = [ ./cve-2013-4276.patch ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + outputs = [ "bin" "dev" "out" "man" ]; doCheck = false; # fails with "Error in Linear interpolation (2p): Must be i=8000, But is n=8001" diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix index 11a0c259dfdb1..56459fe07d4f5 100644 --- a/pkgs/development/libraries/libcddb/default.nix +++ b/pkgs/development/libraries/libcddb/default.nix @@ -16,6 +16,10 @@ stdenv.mkDerivation rec { "ac_cv_func_realloc_0_nonnull=yes" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + doCheck = false; # fails 3 of 5 tests with locale errors meta = with lib; { diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix index 820ac97a434f3..90b902a4c88e0 100644 --- a/pkgs/development/libraries/libcdio/default.nix +++ b/pkgs/development/libraries/libcdio/default.nix @@ -35,6 +35,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + doCheck = !stdenv.isDarwin; meta = with lib; { diff --git a/pkgs/development/libraries/libgee/default.nix b/pkgs/development/libraries/libgee/default.nix index 0ae1886ebb62d..0ffa3f5e1713b 100644 --- a/pkgs/development/libraries/libgee/default.nix +++ b/pkgs/development/libraries/libgee/default.nix @@ -36,6 +36,8 @@ stdenv.mkDerivation (finalAttrs: { env = { PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0"; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; + } // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; }; passthru = { diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index c196b137555dd..31f4130d663de 100644 --- a/pkgs/development/libraries/libgphoto2/default.nix +++ b/pkgs/development/libraries/libgphoto2/default.nix @@ -47,6 +47,10 @@ stdenv.mkDerivation rec { # These are mentioned in the Requires line of libgphoto's pkg-config file. propagatedBuildInputs = [ libexif ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + hardeningDisable = [ "format" ]; postInstall = diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix index a81f9587b3be0..5d4e0253be8dc 100644 --- a/pkgs/development/libraries/libgpod/default.nix +++ b/pkgs/development/libraries/libgpod/default.nix @@ -67,6 +67,13 @@ stdenv.mkDerivation rec { libimobiledevice ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-int" + "-Wno-error=incompatible-pointer-types" + ]; + }; + meta = with lib; { homepage = "https://sourceforge.net/projects/gtkpod/"; description = "Library used by gtkpod to access the contents of an ipod"; diff --git a/pkgs/development/libraries/libx86/default.nix b/pkgs/development/libraries/libx86/default.nix index 1abefa8f43749..85b799f3e487a 100644 --- a/pkgs/development/libraries/libx86/default.nix +++ b/pkgs/development/libraries/libx86/default.nix @@ -20,6 +20,10 @@ stdenv.mkDerivation rec { sed -e s@/usr@@ -i Makefile ''; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + meta = with lib; { description = "Real-mode x86 code emulator"; maintainers = with maintainers; [ raskin ]; diff --git a/pkgs/development/libraries/mbedtls/generic.nix b/pkgs/development/libraries/mbedtls/generic.nix index e87a133eb2a10..bb869fea31e49 100644 --- a/pkgs/development/libraries/mbedtls/generic.nix +++ b/pkgs/development/libraries/mbedtls/generic.nix @@ -47,6 +47,10 @@ stdenv.mkDerivation rec { "-DGEN_FILES=off" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=calloc-transposed-args"; + }; + doCheck = true; # Parallel checking causes test failures diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index dd3c6aaea354d..5d3b1042d9e3e 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -116,6 +116,17 @@ stdenv.mkDerivation rec { env = { PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; PKG_CONFIG_SYSTEMD_SYSUSERS_DIR = "${placeholder "out"}/lib/sysusers.d"; + + # HACK: We want to install policy files files to $out/share but polkit + # should read them from /run/current-system/sw/share on a NixOS system. + # Similarly for config files in /etc. + # With autotools, it was possible to override Make variables + # at install time but Meson does not support this + # so we need to convince it to install all files to a temporary + # location using DESTDIR and then move it to proper one in postInstall. + DESTDIR = "dest"; + } // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; }; mesonFlags = [ @@ -131,14 +142,6 @@ stdenv.mkDerivation rec { "-Dsession_tracking=${if useSystemd then "libsystemd-login" else "libelogind"}" ]; - # HACK: We want to install policy files files to $out/share but polkit - # should read them from /run/current-system/sw/share on a NixOS system. - # Similarly for config files in /etc. - # With autotools, it was possible to override Make variables - # at install time but Meson does not support this - # so we need to convince it to install all files to a temporary - # location using DESTDIR and then move it to proper one in postInstall. - env.DESTDIR = "dest"; inherit doCheck; diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix index fe181d37f6bf6..e87f1f9eb9453 100644 --- a/pkgs/development/libraries/unixODBCDrivers/default.nix +++ b/pkgs/development/libraries/unixODBCDrivers/default.nix @@ -52,6 +52,10 @@ buildFlags = if stdenv.isDarwin then [ "maodbc" ] else null; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + installTargets = if stdenv.isDarwin then [ "install/fast" ] else null; # see the top of the file for an explanation diff --git a/pkgs/development/libraries/volume-key/default.nix b/pkgs/development/libraries/volume-key/default.nix index 1991f2d6d7f99..931eaf1d67489 100644 --- a/pkgs/development/libraries/volume-key/default.nix +++ b/pkgs/development/libraries/volume-key/default.nix @@ -35,6 +35,13 @@ stdenv.mkDerivation rec { "pythondir=$(py)/${python3.sitePackages}" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=implicit-function-declaration" + "-Wno-error=int-conversion" + ]; + }; + doCheck = false; # fails 1 out of 1 tests, needs `certutil` meta = with lib; { diff --git a/pkgs/development/python-modules/curl-cffi/default.nix b/pkgs/development/python-modules/curl-cffi/default.nix index 28f8eb2da729f..bb0e353d4d57d 100644 --- a/pkgs/development/python-modules/curl-cffi/default.nix +++ b/pkgs/development/python-modules/curl-cffi/default.nix @@ -1,4 +1,5 @@ { + stdenv, lib, buildPythonPackage, fetchFromGitHub, @@ -31,6 +32,10 @@ buildPythonPackage rec { certifi ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + pythonImportsCheck = [ "curl_cffi" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/gevent/default.nix b/pkgs/development/python-modules/gevent/default.nix index 1e38def4560ec..02df1ed586048 100644 --- a/pkgs/development/python-modules/gevent/default.nix +++ b/pkgs/development/python-modules/gevent/default.nix @@ -1,4 +1,5 @@ { + stdenv, lib, fetchPypi, buildPythonPackage, @@ -54,6 +55,10 @@ buildPythonPackage rec { zope-interface ] ++ lib.optionals (!isPyPy) [ greenlet ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + # Bunch of failures. doCheck = false; diff --git a/pkgs/tools/cd-dvd/brasero/default.nix b/pkgs/tools/cd-dvd/brasero/default.nix index c601c05cbb2ed..34225dd8bd2a2 100644 --- a/pkgs/tools/cd-dvd/brasero/default.nix +++ b/pkgs/tools/cd-dvd/brasero/default.nix @@ -39,6 +39,10 @@ in stdenv.mkDerivation rec { gappsWrapperArgs+=(--prefix PATH : "${binpath}") ''; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + meta = with lib; { description = "Gnome CD/DVD Burner"; homepage = "https://gitlab.gnome.org/GNOME/brasero"; diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix index 102120a8604e4..e86ab381a41c0 100644 --- a/pkgs/tools/misc/expect/default.nix +++ b/pkgs/tools/misc/expect/default.nix @@ -38,6 +38,11 @@ tcl.mkTclDerivation rec { nativeBuildInputs = [ autoreconfHook makeWrapper ]; strictDeps = true; + + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + hardeningDisable = [ "format" ]; postInstall = '' diff --git a/pkgs/tools/misc/hddtemp/default.nix b/pkgs/tools/misc/hddtemp/default.nix index beaa9018d2bfd..17313e8d17ab6 100644 --- a/pkgs/tools/misc/hddtemp/default.nix +++ b/pkgs/tools/misc/hddtemp/default.nix @@ -22,6 +22,10 @@ stdenv.mkDerivation rec { "--with-db-path=${placeholder "out"}/share/hddtemp/hddtemp.db" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + postInstall = '' install -Dm444 ${db} $out/share/hddtemp/hddtemp.db ''; diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix index d5fd324719b42..7a8a6c2b9c5d9 100644 --- a/pkgs/tools/networking/vpnc/default.nix +++ b/pkgs/tools/networking/vpnc/default.nix @@ -27,6 +27,10 @@ stdenv.mkDerivation { "SCRIPT_PATH=${vpnc-scripts}/bin/vpnc-script" ] ++ lib.optional opensslSupport "OPENSSL_GPL_VIOLATION=yes"; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + }; + postPatch = '' patchShebangs src/makeman.pl ''; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 52bf1b19da260..5ead0baa805c7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7305,10 +7305,16 @@ with self; { DBI = buildPerlPackage { pname = "DBI"; version = "1.644"; + src = fetchurl { url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBI-1.644.tar.gz"; hash = "sha256-Ipe5neCeZwhmQLWQaZ4OmC+0adpjqT/ijcFHgtt6U8g="; }; + + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; + postInstall = lib.optionalString (perl ? crossVersion) '' mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI.pm < Date: Sun, 8 Sep 2024 20:16:47 -0600 Subject: [PATCH 176/491] treewide: add `-fpermissive` due to configuration error with gcc_14 --- pkgs/development/libraries/directfb/default.nix | 6 +++++- pkgs/tools/cd-dvd/cdrtools/default.nix | 4 ++++ pkgs/tools/text/sgml/opensp/default.nix | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/directfb/default.nix b/pkgs/development/libraries/directfb/default.nix index be6a2da6566c5..d761804cac23f 100644 --- a/pkgs/development/libraries/directfb/default.nix +++ b/pkgs/development/libraries/directfb/default.nix @@ -65,7 +65,11 @@ stdenv.mkDerivation rec { libXrender ]); - NIX_LDFLAGS = "-lgcc_s"; + env = { + NIX_LDFLAGS = "-lgcc_s"; + } // lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-fpermissive"; + }; configureFlags = [ "--enable-sdl" diff --git a/pkgs/tools/cd-dvd/cdrtools/default.nix b/pkgs/tools/cd-dvd/cdrtools/default.nix index 053aebecaf419..48763928a052f 100644 --- a/pkgs/tools/cd-dvd/cdrtools/default.nix +++ b/pkgs/tools/cd-dvd/cdrtools/default.nix @@ -27,6 +27,10 @@ stdenv.mkDerivation rec { makeFlags = [ "GMAKE_NOWARN=true" "INS_BASE=/" "INS_RBASE=/" "DESTDIR=${placeholder "out"}" ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-fpermissive"; + }; + enableParallelBuilding = false; # parallel building fails on some linux machines hardeningDisable = lib.optional stdenv.hostPlatform.isMusl "fortify"; diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix index a3915a2d664ff..32b659d990f21 100644 --- a/pkgs/tools/text/sgml/opensp/default.nix +++ b/pkgs/tools/text/sgml/opensp/default.nix @@ -50,6 +50,10 @@ stdenv.mkDerivation rec { ++ lib.optional stdenv.cc.isClang autoreconfHook ++ lib.optionals stdenv.isCygwin [ autoconf automake libtool ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-fpermissive"; + }; + doCheck = false; # fails meta = with lib; { From a55b0ea0b170e31b2430ae9680eab435e2c5e9f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sun, 8 Sep 2024 14:28:19 -0600 Subject: [PATCH 177/491] jam: broaden `-std=c89` due to compilation error with gcc_14 --- pkgs/development/tools/build-managers/jam/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/jam/default.nix b/pkgs/development/tools/build-managers/jam/default.nix index bf06954df4dee..76379bd7ecc2e 100644 --- a/pkgs/development/tools/build-managers/jam/default.nix +++ b/pkgs/development/tools/build-managers/jam/default.nix @@ -8,7 +8,7 @@ let nativeBuildInputs = [ bison ]; # Jam uses c89 conventions - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-std=c89"; + env.NIX_CFLAGS_COMPILE = "-std=c89"; # Jambase expects ar to have flags. preConfigure = '' From 0aa06e6e1ca8677a87284720f417b19d1e2978a6 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Fri, 6 Sep 2024 08:49:39 +0100 Subject: [PATCH 178/491] vulkan-headers: build using ninja to fix `gcc-14` compatibility When `vulkan-headers` detects `gcc-14` or above it enables c++ modules support. But make-mased backend does not support it and fails as: $ nix build --impure --expr 'with import ./. {}; vulkan-headers.override {stdenv = gcc14Stdenv; }' -L CMake Error in CMakeLists.txt: The target named "Vulkan-Module" has C++ sources that may use modules, but modules are not supported by this generator: Unix Makefiles Modules are supported only by Ninja, Ninja Multi-Config, and Visual Studio generators for VS 17.4 and newer. See the cmake-cxxmodules(7) manual for details. Use the CMAKE_CXX_SCAN_FOR_MODULES variable to enable or disable scanning. --- pkgs/development/libraries/vulkan-headers/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix index 9b5916810ab0c..11415c013a608 100644 --- a/pkgs/development/libraries/vulkan-headers/default.nix +++ b/pkgs/development/libraries/vulkan-headers/default.nix @@ -1,9 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: +{ lib, stdenv, fetchFromGitHub, cmake, ninja }: stdenv.mkDerivation rec { pname = "vulkan-headers"; version = "1.3.290.0"; - nativeBuildInputs = [ cmake ]; + # Adding `ninja` here to enable Ninja backend. Otherwise on gcc-14 or + # later the build fails as: + # modules are not supported by this generator: Unix Makefiles + nativeBuildInputs = [ cmake ninja ]; # TODO: investigate why isn't found cmakeFlags = lib.optionals stdenv.isDarwin [ "-DVULKAN_HEADERS_ENABLE_MODULE=OFF" ]; From 67222d4174abad58b8821e8d274bbb1d9da5dd6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sun, 8 Sep 2024 19:25:03 -0600 Subject: [PATCH 179/491] afdko: disable failing tests on gcc_14 --- pkgs/development/python-modules/afdko/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/afdko/default.nix b/pkgs/development/python-modules/afdko/default.nix index a0b9efec09c1e..5ca70cdd14986 100644 --- a/pkgs/development/python-modules/afdko/default.nix +++ b/pkgs/development/python-modules/afdko/default.nix @@ -115,6 +115,12 @@ buildPythonPackage rec { "test_hinting_data" "test_waterfallplot" ] + ++ lib.optionals (stdenv.cc.isGNU) [ + # broke in the gcc 13 → 14 update + "test_dump" + "test_input_formats" + "test_other_input_formats" + ] ++ lib.optionals (!runAllTests) [ # Disable slow tests, reduces test time ~25 % "test_report" From b1e9a03960c5f5d83b1e9c955b22ed210f5925f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Wed, 11 Sep 2024 01:14:40 -0600 Subject: [PATCH 180/491] zsh: add backported gcc_14 patch Alpine https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/70300 Buildroot https://lore.kernel.org/all/20240720230500.26fbd225@windsurf/T/ OpenSUSE https://build.opensuse.org/projects/home:jamborm:gcc14fixes/packages/zsh/files/zsh-4c89849c98172c951a9def3690e8647dae76308f.patch OpenWRT https://github.com/openwrt/packages/pull/24346/files --- pkgs/shells/zsh/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index ac8d3aa9a736e..7534b59ef4cd0 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -45,6 +45,13 @@ stdenv.mkDerivation { hash = "sha256-oA8GC8LmuqNKGuPqGfiQVhL5nWb7ArLWGUI6wjpsIW8="; excludes = [ "ChangeLog" ]; }) + ] ++ lib.optionals stdenv.cc.isGNU [ + # Fixes compilation with gcc >= 14. + (fetchpatch { + url = "https://github.com/zsh-users/zsh/commit/4c89849c98172c951a9def3690e8647dae76308f.patch"; + hash = "sha256-l5IHQuIXo0N6ynLlZoQA7wJd/C7KrW3G7nMzfjQINkw="; + excludes = [ "ChangeLog" ]; + }) ]; strictDeps = true; From 1bd53510127c76f26fc064d62776796aae56038c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Wed, 11 Sep 2024 01:41:15 -0600 Subject: [PATCH 181/491] range-v3: use `-std=c++17` due to compilation error with gcc_13 --- pkgs/development/libraries/range-v3/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix index 3ef599887eb4d..15c133dd9316d 100644 --- a/pkgs/development/libraries/range-v3/default.nix +++ b/pkgs/development/libraries/range-v3/default.nix @@ -21,6 +21,10 @@ stdenv.mkDerivation rec { doCheck = !stdenv.isAarch64; checkTarget = "test"; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-std=c++17"; + }; + meta = with lib; { description = "Experimental range library for C++11/14/17"; homepage = "https://github.com/ericniebler/range-v3"; From 246624ddf266c0a27e07d00ac6ca0df50741e828 Mon Sep 17 00:00:00 2001 From: Ganga Ram Date: Wed, 11 Sep 2024 11:27:06 +0400 Subject: [PATCH 182/491] apparmorRulesFromClosure: include more directories Signed-off-by: Ganga Ram --- pkgs/os-specific/linux/apparmor/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index f70ba4c7aad18..4a82ce057454d 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -324,12 +324,16 @@ let , baseRules ? [ "r $path" "r $path/etc/**" - "r $path/share/**" + "mr $path/share/**" # Note that not all libraries are prefixed with "lib", # eg. glibc-2.30/lib/ld-2.30.so "mr $path/lib/**.so*" + "mr $path/lib64/**.so*" # eg. glibc-2.30/lib/gconv/gconv-modules "r $path/lib/**" + "r $path/lib64/**" + # Internal executables + "ixr $path/libexec/**" ] , name ? "" }: rootPaths: runCommand From 4fef1bd39a67ef5251a26ba0d1be4c6d88a5ac3b Mon Sep 17 00:00:00 2001 From: purepani Date: Fri, 23 Aug 2024 16:23:55 -0500 Subject: [PATCH 183/491] python312Packages.mypy: 1.10.1 -> 1.11.2 --- pkgs/development/python-modules/mypy/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix index 0f264d2c86a1c..a75111a7a7cd9 100644 --- a/pkgs/development/python-modules/mypy/default.nix +++ b/pkgs/development/python-modules/mypy/default.nix @@ -32,7 +32,7 @@ buildPythonPackage rec { pname = "mypy"; - version = "1.10.1"; + version = "1.11.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -41,7 +41,7 @@ buildPythonPackage rec { owner = "python"; repo = "mypy"; rev = "refs/tags/v${version}"; - hash = "sha256-joV+elRaAICNQHkYuYtTDjvOUkHPsRkG1OLRvdxeIHc="; + hash = "sha256-5gfqIBtI/G5HARYdXHjYNYNRxeNgrk9dnpSgvMSu9bw="; }; passthru.updateScript = gitUpdater { rev-prefix = "v"; @@ -131,6 +131,7 @@ buildPythonPackage rec { meta = with lib; { description = "Optional static typing for Python"; homepage = "https://www.mypy-lang.org"; + changelog = "https://github.com/python/mypy/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; mainProgram = "mypy"; maintainers = with maintainers; [ lnl7 ]; From 616ab8b0058d049ba6e2f469fe7cf64832f819be Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 27 Aug 2024 07:35:38 -0400 Subject: [PATCH 184/491] msgpack-c: 6.0.2 -> 6.1.0 Diff: https://github.com/msgpack/msgpack-c/compare/c-6.0.2...c-6.1.0 Changelog: https://github.com/msgpack/msgpack-c/blob/refs/tags/c-6.1.0/CHANGELOG.md --- pkgs/development/libraries/msgpack-c/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/msgpack-c/default.nix b/pkgs/development/libraries/msgpack-c/default.nix index 3d8cae18ace05..103831e7c06b5 100644 --- a/pkgs/development/libraries/msgpack-c/default.nix +++ b/pkgs/development/libraries/msgpack-c/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "msgpack-c"; - version = "6.0.2"; + version = "6.1.0"; src = fetchFromGitHub { owner = "msgpack"; repo = "msgpack-c"; rev = "refs/tags/c-${finalAttrs.version}"; - hash = "sha256-Tjgn9ayyPK1mKA4OBr7/VogSzJwh5RZR5BrMNadfqak="; + hash = "sha256-yL1+6w9l1Ccgrh8WXqvHv2yrb9QH+TrHIAFLXGoVuT0="; }; strictDeps = true; From 5cd6d4ec03bf439f9826c783341b3c93c4570a10 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Wed, 11 Sep 2024 08:19:42 -0700 Subject: [PATCH 185/491] systemd: 256.4 -> 256.6 --- pkgs/os-specific/linux/systemd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 5fdb66011ed3c..6f063b16d2bed 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -184,7 +184,7 @@ assert withBootloader -> withEfi; let wantCurl = withRemote || withImportd; wantGcrypt = withResolved || withImportd; - version = "256.4"; + version = "256.6"; # Use the command below to update `releaseTimestamp` on every (major) version # change. More details in the commentary at mesonFlags. @@ -202,7 +202,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "systemd"; repo = "systemd"; rev = "v${version}"; - hash = "sha256-dugBiRgDFpB0eKhhIT3LkA8FhClM0lvvwCMJ+dKtjPM="; + hash = "sha256-HQ8kO7Y23RZJnT9XaiclVSSNRW/ApA0D5QbMHQkN5FM="; }; # On major changes, or when otherwise required, you *must* : From 70f48395b9f51661b03e42db9cc373c0e6c3d1b1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 23 Aug 2024 23:03:17 +0000 Subject: [PATCH 186/491] svt-av1: 2.2.0 -> 2.2.1 --- pkgs/tools/video/svt-av1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix index e9d2c4b571fe7..1b515b792c798 100644 --- a/pkgs/tools/video/svt-av1/default.nix +++ b/pkgs/tools/video/svt-av1/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "svt-av1"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitLab { owner = "AOMediaCodec"; repo = "SVT-AV1"; rev = "v${finalAttrs.version}"; - hash = "sha256-LkTcy+CiuhlRnQsjNMA0hTVRVx7pbYs1ujMWjLrhvEU="; + hash = "sha256-/JWFO4eT8bNvhdqJ6S0mGRIP0+aUTbDrlzqzwRqJOog="; }; nativeBuildInputs = [ From 2a2b88eb557c655c2b4960a8d8f3e23a05a3472c Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 11 Sep 2024 19:28:11 +0200 Subject: [PATCH 187/491] auto-patchelf: fix test for hook Fix suggested by Yann Hamdaoui in https://github.com/NixOS/nixpkgs/pull/340858#issuecomment-2344155304. --- pkgs/test/auto-patchelf-hook/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/test/auto-patchelf-hook/package.nix b/pkgs/test/auto-patchelf-hook/package.nix index 7b8fb5fdfc9ec..37413c7301eef 100644 --- a/pkgs/test/auto-patchelf-hook/package.nix +++ b/pkgs/test/auto-patchelf-hook/package.nix @@ -60,7 +60,6 @@ stdenv.mkDerivation { # Additional phase performing the actual test. installCheckPhase = let allDeps = runtimeDependencies ++ [ - (lib.getLib stdenv.cc.libc) (lib.getLib freetype) ]; in From bc0395ee6f9964065665adf3d365a2f93c3b4ca5 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 24 Aug 2024 23:26:56 +0200 Subject: [PATCH 188/491] auto-patchelf: refactor structuredAttrs support stdenv now provides better tooling to support structuredAttrs without depending on $__structuredAttrs itself. --- .../build-support/setup-hooks/auto-patchelf.sh | 18 +++++------------- pkgs/stdenv/generic/setup.sh | 2 ++ pkgs/test/stdenv/default.nix | 8 ++++---- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh index 59b596d271726..392163646aa8e 100644 --- a/pkgs/build-support/setup-hooks/auto-patchelf.sh +++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh @@ -53,19 +53,11 @@ autoPatchelf() { esac done - if [ -n "$__structuredAttrs" ]; then - local ignoreMissingDepsArray=( "${autoPatchelfIgnoreMissingDeps[@]}" ) - local appendRunpathsArray=( "${appendRunpaths[@]}" ) - local runtimeDependenciesArray=( "${runtimeDependencies[@]}" ) - local patchelfFlagsArray=( "${patchelfFlags[@]}" ) - local autoPatchelfFlagsArray=( "${autoPatchelfFlags[@]}" ) - else - readarray -td' ' ignoreMissingDepsArray < <(echo -n "$autoPatchelfIgnoreMissingDeps") - local appendRunpathsArray=($appendRunpaths) - local runtimeDependenciesArray=($runtimeDependencies) - local patchelfFlagsArray=($patchelfFlags) - local autoPatchelfFlagsArray=($autoPatchelfFlags) - fi + concatTo ignoreMissingDepsArray autoPatchelfIgnoreMissingDeps + concatTo appendRunpathsArray appendRunpaths + concatTo runtimeDependenciesArray runtimeDependencies + concatTo patchelfFlagsArray patchelfFlags + concatTo autoPatchelfFlagsArray autoPatchelfFlags # Check if ignoreMissingDepsArray contains "1" and if so, replace it with # "*", printing a deprecation warning. diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 3c197171e801d..230c18c3e3640 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -389,6 +389,8 @@ appendToVar() { # Arrays are simply concatenated, strings are split on whitespace. # Default values can be passed via name=default. concatTo() { + local - + set -o noglob local -n targetref="$1"; shift local arg default name type for arg in "$@"; do diff --git a/pkgs/test/stdenv/default.nix b/pkgs/test/stdenv/default.nix index 6ed430f5da3fd..0a0e5930d9d48 100644 --- a/pkgs/test/stdenv/default.nix +++ b/pkgs/test/stdenv/default.nix @@ -101,7 +101,7 @@ let ({ inherit name; - string = "a b"; + string = "a *"; list = ["c" "d"]; passAsFile = [ "buildCommand" ] ++ lib.optionals (extraAttrs ? extraTest) [ "extraTest" ]; @@ -116,7 +116,7 @@ let concatTo flagsArray string list notset=e=f empty_array=g empty_string=h declare -p flagsArray [[ "''${flagsArray[0]}" == "a" ]] || (echo "'\$flagsArray[0]' was not 'a'" && false) - [[ "''${flagsArray[1]}" == "b" ]] || (echo "'\$flagsArray[1]' was not 'b'" && false) + [[ "''${flagsArray[1]}" == "*" ]] || (echo "'\$flagsArray[1]' was not '*'" && false) [[ "''${flagsArray[2]}" == "c" ]] || (echo "'\$flagsArray[2]' was not 'c'" && false) [[ "''${flagsArray[3]}" == "d" ]] || (echo "'\$flagsArray[3]' was not 'd'" && false) [[ "''${flagsArray[4]}" == "e=f" ]] || (echo "'\$flagsArray[4]' was not 'e=f'" && false) @@ -127,7 +127,7 @@ let concatTo nonExistant string list notset=e=f empty_array=g empty_string=h declare -p nonExistant [[ "''${nonExistant[0]}" == "a" ]] || (echo "'\$nonExistant[0]' was not 'a'" && false) - [[ "''${nonExistant[1]}" == "b" ]] || (echo "'\$nonExistant[1]' was not 'b'" && false) + [[ "''${nonExistant[1]}" == "*" ]] || (echo "'\$nonExistant[1]' was not '*'" && false) [[ "''${nonExistant[2]}" == "c" ]] || (echo "'\$nonExistant[2]' was not 'c'" && false) [[ "''${nonExistant[3]}" == "d" ]] || (echo "'\$nonExistant[3]' was not 'd'" && false) [[ "''${nonExistant[4]}" == "e=f" ]] || (echo "'\$nonExistant[4]' was not 'e=f'" && false) @@ -344,7 +344,7 @@ in concatTo flagsWithSpaces string listWithSpaces declare -p flagsWithSpaces [[ "''${flagsWithSpaces[0]}" == "a" ]] || (echo "'\$flagsWithSpaces[0]' was not 'a'" && false) - [[ "''${flagsWithSpaces[1]}" == "b" ]] || (echo "'\$flagsWithSpaces[1]' was not 'b'" && false) + [[ "''${flagsWithSpaces[1]}" == "*" ]] || (echo "'\$flagsWithSpaces[1]' was not '*'" && false) [[ "''${flagsWithSpaces[2]}" == "c c" ]] || (echo "'\$flagsWithSpaces[2]' was not 'c c'" && false) [[ "''${flagsWithSpaces[3]}" == "d d" ]] || (echo "'\$flagsWithSpaces[3]' was not 'd d'" && false) ''; From 349dd99ac7fbeb8d60721412a65206951324a227 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 11 Sep 2024 22:32:09 +0200 Subject: [PATCH 189/491] protobuf: 28.0 -> 28.1 Diff: https://github.com/protocolbuffers/protobuf/compare/v28.0...v28.1 Changelog: https://github.com/protocolbuffers/protobuf/releases/v28.1 --- pkgs/development/libraries/protobuf/28.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/protobuf/28.nix b/pkgs/development/libraries/protobuf/28.nix index 215182b3f45ee..a5a03c12ba148 100644 --- a/pkgs/development/libraries/protobuf/28.nix +++ b/pkgs/development/libraries/protobuf/28.nix @@ -2,8 +2,8 @@ callPackage ./generic.nix ( { - version = "28.0"; - hash = "sha256-dAyXtBPeZAhmAOWbG1Phh57fqMmkH2AbDUr+8A+irJQ="; + version = "28.1"; + hash = "sha256-D1NjI6nujLnl4jnw9P2L3U+K58KCTOjLTmJhqTTcGuI="; } // args ) From d72ee974ef5cf3e8551ba733acc484bd543895f2 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 11 Sep 2024 22:32:19 +0200 Subject: [PATCH 190/491] python312Packages.protobuf: 5.28.0 -> 5.28.1 Diff: https://github.com/protocolbuffers/protobuf/compare/v28.0...v28.1 Changelog: https://github.com/protocolbuffers/protobuf/releases/v28.1 --- pkgs/development/python-modules/protobuf/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix index 049833dc1b09d..74cce747222a3 100644 --- a/pkgs/development/python-modules/protobuf/default.nix +++ b/pkgs/development/python-modules/protobuf/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "protobuf"; - version = "5.28.0"; + version = "5.28.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-3edK8Pp3T6mIkiCZkila2/uR2j+pjI9nqIr+j1o0mt0="; + hash = "sha256-Qll+k4+Du38+SzXwOqRSCNSa6NW8tLwQufyCXgq15CM="; }; build-system = [ setuptools ]; @@ -30,10 +30,11 @@ buildPythonPackage rec { "google._upb._message" ]; - meta = with lib; { + meta = { description = "Protocol Buffers are Google's data interchange format"; homepage = "https://developers.google.com/protocol-buffers/"; - license = licenses.bsd3; - maintainers = with maintainers; [ SuperSandro2000 ]; + changelog = "https://github.com/protocolbuffers/protobuf/releases/v${version}"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ SuperSandro2000 ]; }; } From 15f9d09c26267c391b79a1be98e257a888731c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 11 Sep 2024 14:17:05 -0700 Subject: [PATCH 191/491] python312Packages.pytz: 2024.1 -> 2024.2 Changelog: https://launchpad.net/pytz/+announcements --- pkgs/development/python-modules/pytz/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pytz/default.nix b/pkgs/development/python-modules/pytz/default.nix index d99da5d17d18c..2d69cfdb0cfb4 100644 --- a/pkgs/development/python-modules/pytz/default.nix +++ b/pkgs/development/python-modules/pytz/default.nix @@ -8,15 +8,15 @@ buildPythonPackage rec { pname = "pytz"; - version = "2024.1"; + version = "2024.2"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-KilzXqnBi68UtEiEa95aSAMO0mdXhHLYlVzQ50Q6mBI="; + hash = "sha256-KqNVCDxQoPk/pYFwnerAya1lzKip6b6sZgrcvUk8eYo="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; nativeCheckInputs = [ unittestCheckHook ]; From 7e4ac86aa71e437c52f9848e660a492b9eae8612 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 18:38:05 -0300 Subject: [PATCH 192/491] python3Packages.cython: reorder input set --- pkgs/development/python-modules/cython/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index 2d3333ecec6a3..1e26e490766e8 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -1,17 +1,15 @@ { lib, - stdenv, buildPythonPackage, fetchPypi, - setuptools, - python, - pkg-config, gdb, - numpy, ncurses, - - # Reverse dependency - sage, + numpy, + pkg-config, + python, + sage, # Reverse dependency + setuptools, + stdenv, }: let From 54a55ac5294fd55991a0c28d1056efd544b26f05 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 18:54:15 -0300 Subject: [PATCH 193/491] python3Packages.cython: rework checkPhase --- .../python-modules/cython/default.nix | 66 ++++++++++--------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index 1e26e490766e8..bd32e5b250f91 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -12,24 +12,6 @@ stdenv, }: -let - excludedTests = - [ "reimport_from_subinterpreter" ] - # cython's testsuite is not working very well with libc++ - # We are however optimistic about things outside of testsuite still working - ++ lib.optionals (stdenv.cc.isClang or false) [ - "cpdef_extern_func" - "libcpp_algo" - ] - # Some tests in the test suite isn't working on aarch64. Disable them for - # now until upstream finds a workaround. - # Upstream issue here: https://github.com/cython/cython/issues/2308 - ++ lib.optionals stdenv.isAarch64 [ "numpy_memoryview" ] - ++ lib.optionals stdenv.isi686 [ - "future_division" - "overflow_check_longlong" - ]; -in buildPythonPackage rec { pname = "cython"; version = "3.0.11"; @@ -54,21 +36,44 @@ buildPythonPackage rec { env.LC_ALL = "en_US.UTF-8"; - checkPhase = '' - export HOME="$NIX_BUILD_TOP" - ${python.interpreter} runtests.py -j$NIX_BUILD_CORES \ - --no-code-style \ - ${ - lib.optionalString ( - builtins.length excludedTests != 0 - ) ''--exclude="(${builtins.concatStringsSep "|" excludedTests})"'' - } - ''; - # https://github.com/cython/cython/issues/2785 # Temporary solution doCheck = false; - # doCheck = !stdenv.isDarwin; + + checkPhase = + let + excludedTests = + [ "reimport_from_subinterpreter" ] + # cython's testsuite is not working very well with libc++ + # We are however optimistic about things outside of testsuite still working + ++ lib.optionals (stdenv.cc.isClang or false) [ + "cpdef_extern_func" + "libcpp_algo" + ] + # Some tests in the test suite aren't working on aarch64. + # Disable them for now until upstream finds a workaround. + # Upstream issue: https://github.com/cython/cython/issues/2308 + ++ lib.optionals stdenv.isAarch64 [ "numpy_memoryview" ] + ++ lib.optionals stdenv.isi686 [ + "future_division" + "overflow_check_longlong" + ]; + commandline = builtins.concatStringsSep " " ( + [ + "-j$NIX_BUILD_CORES" + "--no-code-style" + ] + ++ lib.optionals (builtins.length excludedTests != 0) [ + ''--exclude="(${builtins.concatStringsSep "|" excludedTests})"'' + ] + ); + in + '' + runHook preCheck + export HOME="$NIX_BUILD_TOP" + ${python.interpreter} runtests.py ${commandline} + runHook postCheck + ''; passthru.tests = { inherit sage; @@ -85,3 +90,4 @@ buildPythonPackage rec { license = lib.licenses.asl20; }; } +# TODO: investigate recursive loop when doCheck is true From eddadbf80f9464fc317030006452c11d3df96208 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 19:01:26 -0300 Subject: [PATCH 194/491] python3Packages.cython: use fetchFromGitHub instead of fetchPypi --- pkgs/development/python-modules/cython/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index bd32e5b250f91..b2ec85b7e02a2 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, gdb, ncurses, numpy, @@ -17,10 +17,11 @@ buildPythonPackage rec { version = "3.0.11"; pyproject = true; - src = fetchPypi { - pname = "cython"; - inherit version; - hash = "sha256-cUbdKvhoK0ymEzGFHmrrzp/lFY51MAND+AwHyoCx+v8="; + src = fetchFromGitHub { + owner = "cython"; + repo = "cython"; + rev = version; + hash = "sha256-ZyDNv95eS9YrVHIh5C/Xq8OvfX1cnI3f9GjA+OfaONA="; }; build-system = [ From 769509f2e3f065e390c17dadc42fe83d59c944a0 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 19:01:54 -0300 Subject: [PATCH 195/491] python3Packages.cython: set strictDeps to true --- pkgs/development/python-modules/cython/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index b2ec85b7e02a2..e65c163b42656 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -41,6 +41,8 @@ buildPythonPackage rec { # Temporary solution doCheck = false; + strictDeps = true; + checkPhase = let excludedTests = From 2bd250be2e3fbc5518d6fe31ba8429c47d739088 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 19:02:46 -0300 Subject: [PATCH 196/491] python3Packages.cython: add pygame-ce to passthru.tests --- pkgs/development/python-modules/cython/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index e65c163b42656..889ca84f6471a 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -6,6 +6,7 @@ ncurses, numpy, pkg-config, + pygame-ce, python, sage, # Reverse dependency setuptools, @@ -79,7 +80,7 @@ buildPythonPackage rec { ''; passthru.tests = { - inherit sage; + inherit pygame-ce sage; }; # force regeneration of generated code in source distributions From 0ce53ae927693ec58b06b864b92c411fff35fa2f Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 19:03:54 -0300 Subject: [PATCH 197/491] python3Packages.cython: reword comment --- pkgs/development/python-modules/cython/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index 889ca84f6471a..739bf5d993627 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -83,7 +83,7 @@ buildPythonPackage rec { inherit pygame-ce sage; }; - # force regeneration of generated code in source distributions + # Force code regeneration in source distributions # https://github.com/cython/cython/issues/5089 setupHook = ./setup-hook.sh; From b51f863da949ce763b9a8a7db5311c7e64d5c6d2 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 19:12:35 -0300 Subject: [PATCH 198/491] python3Packages.cython: add meta.mainProgram And more to meta attrs --- .../python-modules/cython/default.nix | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index 739bf5d993627..080064f519fcf 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -88,10 +88,36 @@ buildPythonPackage rec { setupHook = ./setup-hook.sh; meta = { - changelog = "https://github.com/cython/cython/blob/${version}/CHANGES.rst"; - description = "Optimising static compiler for both the Python programming language and the extended Cython programming language"; homepage = "https://cython.org"; + description = "Optimising static compiler for both the Python and the extended Cython programming languages"; + longDescription = '' + Cython is an optimising static compiler for both the Python programming + language and the extended Cython programming language (based on Pyrex). It + makes writing C extensions for Python as easy as Python itself. + + Cython gives you the combined power of Python and C to let you: + + - write Python code that calls back and forth from and to C or C++ code + natively at any point. + - easily tune readable Python code into plain C performance by adding + static type declarations, also in Python syntax. + - use combined source code level debugging to find bugs in your Python, + Cython and C code. + - interact efficiently with large data sets, e.g. using multi-dimensional + NumPy arrays. + - quickly build your applications within the large, mature and widely used + CPython ecosystem. + - integrate natively with existing code and data from legacy, low-level or + high-performance libraries and applications. + + The Cython language is a superset of the Python language that additionally + supports calling C functions and declaring C types on variables and class + attributes. This allows the compiler to generate very efficient C code + from Cython code. + ''; + changelog = "https://github.com/cython/cython/blob/${version}/CHANGES.rst"; license = lib.licenses.asl20; + mainProgram = "cython"; }; } # TODO: investigate recursive loop when doCheck is true From d85ab646413b11c713f7f6ffc28c8c5b0e64feb9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 8 Sep 2024 19:12:59 -0300 Subject: [PATCH 199/491] python3Packages.cython: add AndersonTorres to meta.maintainers --- pkgs/development/python-modules/cython/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/cython/default.nix b/pkgs/development/python-modules/cython/default.nix index 080064f519fcf..6507e7e72a6a4 100644 --- a/pkgs/development/python-modules/cython/default.nix +++ b/pkgs/development/python-modules/cython/default.nix @@ -118,6 +118,7 @@ buildPythonPackage rec { changelog = "https://github.com/cython/cython/blob/${version}/CHANGES.rst"; license = lib.licenses.asl20; mainProgram = "cython"; + maintainers = with lib.maintainers; [ AndersonTorres ]; }; } # TODO: investigate recursive loop when doCheck is true From 17b3df2861d0ced01ddefa58b6d6fc2571b1c415 Mon Sep 17 00:00:00 2001 From: Manuel Mendez Date: Wed, 19 Jun 2024 14:28:58 -0400 Subject: [PATCH 200/491] rust: Write to .cargo/config.toml instead of .cargo/config Seeing the following new warnings pop up on stderr when cargo was bumped to 1.78: ``` warning: `/build/.cargo/config` is deprecated in favor of `config.toml` note: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml` ``` which happens to break commitmsgfmt builds in nix (#320294). closes #320294 --- pkgs/build-support/rust/fetch-cargo-tarball/default.nix | 2 +- pkgs/build-support/rust/hooks/cargo-setup-hook.sh | 6 +++--- pkgs/build-support/rust/import-cargo-lock.nix | 6 +++--- pkgs/development/compilers/rust/rustc.nix | 2 +- pkgs/development/ruby-modules/gem-config/default.nix | 2 +- pkgs/servers/clickhouse/default.nix | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/build-support/rust/fetch-cargo-tarball/default.nix b/pkgs/build-support/rust/fetch-cargo-tarball/default.nix index c16f3540e6ae2..96db232ce2f53 100644 --- a/pkgs/build-support/rust/fetch-cargo-tarball/default.nix +++ b/pkgs/build-support/rust/fetch-cargo-tarball/default.nix @@ -136,7 +136,7 @@ stdenv.mkDerivation ( # Packages with git dependencies generate non-default cargo configs, so # always install it rather than trying to write a standard default template. - install -D $CARGO_CONFIG $name/.cargo/config; + install -D $CARGO_CONFIG $name/.cargo/config runHook postBuild ''; diff --git a/pkgs/build-support/rust/hooks/cargo-setup-hook.sh b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh index 693c0b08759ea..1c779a6541d8a 100644 --- a/pkgs/build-support/rust/hooks/cargo-setup-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh @@ -22,7 +22,7 @@ cargoSetupPostUnpackHook() { mkdir .cargo fi - config="$cargoDepsCopy/.cargo/config"; + config="$cargoDepsCopy/.cargo/config.toml" if [[ ! -e $config ]]; then config=@defaultConfig@ fi; @@ -30,9 +30,9 @@ cargoSetupPostUnpackHook() { tmp_config=$(mktemp) substitute $config $tmp_config \ --subst-var-by vendor "$cargoDepsCopy" - cat ${tmp_config} >> .cargo/config + cat ${tmp_config} >> .cargo/config.toml - cat >> .cargo/config <<'EOF' + cat >> .cargo/config.toml <<'EOF' @cargoConfig@ EOF diff --git a/pkgs/build-support/rust/import-cargo-lock.nix b/pkgs/build-support/rust/import-cargo-lock.nix index 3db3f0e5e1f04..e88931d0f383d 100644 --- a/pkgs/build-support/rust/import-cargo-lock.nix +++ b/pkgs/build-support/rust/import-cargo-lock.nix @@ -229,7 +229,7 @@ let else "cp $lockFileContentsPath $out/Cargo.lock" } - cat > $out/.cargo/config < $out/.cargo/config.toml <> $out/.cargo/config <> $out/.cargo/config.toml <> $out/.cargo/config + cat "$crate/.cargo-config" >> $out/.cargo/config.toml fi fi done diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index d09e2e803068b..ebd4fc86644eb 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -233,7 +233,7 @@ in stdenv.mkDerivation (finalAttrs: { export JEMALLOC_SYS_WITH_LG_VADDR=48 '' + lib.optionalString (!(finalAttrs.src.passthru.isReleaseTarball or false)) '' mkdir .cargo - cat > .cargo/config <<\EOF + cat > .cargo/config.toml <<\EOF [source.crates-io] replace-with = "vendored-sources" [source.vendored-sources] diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index eb55255191cf3..80a21d426d3f7 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -335,7 +335,7 @@ in rustc.unwrapped ]; preBuild = '' - cat ../.cargo/config > ext/fast_mmaped_file_rs/.cargo/config.toml + cat ../.cargo/config.toml > ext/fast_mmaped_file_rs/.cargo/config.toml sed -i "s|cargo-vendor-dir|$PWD/../cargo-vendor-dir|" ext/fast_mmaped_file_rs/.cargo/config.toml ''; postInstall = '' diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix index 4b5071be7bd2f..d65d82abb76e7 100644 --- a/pkgs/servers/clickhouse/default.nix +++ b/pkgs/servers/clickhouse/default.nix @@ -133,9 +133,9 @@ in mkDerivation rec { pushd rust cargoDeps="$rustDeps" cargoSetupPostUnpackHook rustDepsCopy="$cargoDepsCopy" - cat .cargo/config >> .cargo/config.toml.in - cat .cargo/config >> skim/.cargo/config.toml.in - rm .cargo/config + cat .cargo/config.toml >> .cargo/config.toml.in + cat .cargo/config.toml >> skim/.cargo/config.toml.in + rm .cargo/config.toml popd popd From adde4b71d336d7e3eb7ae64c29030ff27cb3c832 Mon Sep 17 00:00:00 2001 From: Jack Wilsdon Date: Thu, 12 Sep 2024 02:20:59 +0100 Subject: [PATCH 201/491] lz4: 1.9.4 -> 1.10.0 --- .../0001-Create-a-unified-lz4-target.patch | 34 ------------------- pkgs/tools/compression/lz4/default.nix | 8 ++--- 2 files changed, 2 insertions(+), 40 deletions(-) delete mode 100644 pkgs/tools/compression/lz4/0001-Create-a-unified-lz4-target.patch diff --git a/pkgs/tools/compression/lz4/0001-Create-a-unified-lz4-target.patch b/pkgs/tools/compression/lz4/0001-Create-a-unified-lz4-target.patch deleted file mode 100644 index 4092d232a0a32..0000000000000 --- a/pkgs/tools/compression/lz4/0001-Create-a-unified-lz4-target.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 14fca2e93bd783c0ad2362af6d69801c2073765d Mon Sep 17 00:00:00 2001 -From: Tobias Mayer -Date: Sun, 23 Jun 2024 20:16:00 +0200 -Subject: [PATCH] Create a unified lz4 target - -Includes changes from -* https://github.com/lz4/lz4/pull/1372 -* https://github.com/lz4/lz4/pull/1413 ---- - build/cmake/CMakeLists.txt | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt -index eb7007b..07ddd2b 100644 ---- a/build/cmake/CMakeLists.txt -+++ b/build/cmake/CMakeLists.txt -@@ -130,6 +130,14 @@ if(BUILD_STATIC_LIBS) - POSITION_INDEPENDENT_CODE ${LZ4_POSITION_INDEPENDENT_LIB}) - list(APPEND LZ4_LIBRARIES_BUILT lz4_static) - endif() -+# Add unified target. -+add_library(lz4 INTERFACE) -+list(APPEND LZ4_LIBRARIES_BUILT lz4) -+if(BUILD_SHARED_LIBS) -+ target_link_libraries(lz4 INTERFACE lz4_shared) -+else() -+ target_link_libraries(lz4 INTERFACE lz4_static) -+endif() - - if(BUILD_STATIC_LIBS) - set(LZ4_LINK_LIBRARY lz4_static) --- -2.45.1 - diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix index 6b2c1a43b2fe7..f729e91604270 100644 --- a/pkgs/tools/compression/lz4/default.nix +++ b/pkgs/tools/compression/lz4/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lz4"; - version = "1.9.4"; + version = "1.10.0"; src = fetchFromGitHub { repo = "lz4"; owner = "lz4"; rev = "v${finalAttrs.version}"; - hash = "sha256-YiMCD3vvrG+oxBUghSrCmP2LAfAGZrEaKz0YoaQJhpI="; + hash = "sha256-/dG1n59SKBaEBg72pAWltAtVmJ2cXxlFFhP+klrkTos="; }; nativeBuildInputs = [ @@ -23,10 +23,6 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "dev" "lib" "man" "out" ]; - patches = [ - ./0001-Create-a-unified-lz4-target.patch - ]; - cmakeDir = "../build/cmake"; cmakeBuildDir = "build-dist"; From eff4e9238203d8621b0aa5a3d3275de22b2c7a3c Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 12 Sep 2024 06:45:24 +0100 Subject: [PATCH 202/491] tzdata: disable network access Without the change tests fail on darwin as https://hydra.nixos.org/build/272249259/nixlog/164/tail: curl: (77) error setting certificate file: /no-cert-file.crt Possibly because `stdenv` has `curl` there. Upstream suggests disabling networking access with `CURL=:`. Let's use that. --- pkgs/data/misc/tzdata/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 939b75218f4fe..f21357b4ca09b 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -34,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: { "LIBDIR=${placeholder "dev"}/lib" "MANDIR=${placeholder "man"}/share/man" "AWK=awk" + "CURL=:" # disable network access "CFLAGS=-DHAVE_LINK=0" "CFLAGS+=-DZIC_BLOAT_DEFAULT=\\\"fat\\\"" "cc=${stdenv.cc.targetPrefix}cc" From 4654ea4cc01154007f3521066f1b4ed429244c0a Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 12 Sep 2024 13:21:05 +0300 Subject: [PATCH 203/491] buildEnv: support pulling in closures of paths This will become important for Steam. --- pkgs/build-support/buildenv/builder.pl | 15 +++++++++ pkgs/build-support/buildenv/default.nix | 41 +++++++++++++++---------- 2 files changed, 39 insertions(+), 17 deletions(-) diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl index 975e76df05c07..12d922770a8f0 100755 --- a/pkgs/build-support/buildenv/builder.pl +++ b/pkgs/build-support/buildenv/builder.pl @@ -255,6 +255,21 @@ sub addPkg { } } +my $extraPathsFilePath = $ENV{"extraPathsFrom"}; +if ($extraPathsFilePath) { + open FILE, $extraPathsFilePath or die "cannot open extra paths file $extraPathsFilePath: $!"; + + while(my $line = ) { + chomp $line; + addPkg($line, + $ENV{"ignoreCollisions"} eq "1", + $ENV{"checkCollisionContents"} eq "1", + 1000) + if -d $line; + } + + close FILE; +} # Create the symlinks. my $nrLinks = 0; diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix index cb0c308ec2fab..8f4fad8832536 100644 --- a/pkgs/build-support/buildenv/default.nix +++ b/pkgs/build-support/buildenv/default.nix @@ -1,7 +1,7 @@ # buildEnv creates a tree of symlinks to the specified paths. This is # a fork of the hardcoded buildEnv in the Nix distribution. -{ buildPackages, runCommand, lib, substituteAll }: +{ buildPackages, runCommand, lib, substituteAll, writeClosure }: let builder = substituteAll { @@ -23,6 +23,9 @@ lib.makeOverridable , # Whether to ignore collisions or abort. ignoreCollisions ? false +, # Whether to include closures of all input paths. + includeClosures ? false + , # If there is a collision, check whether the contents and permissions match # and only if not, throw a collision error. checkCollisionContents ? true @@ -49,27 +52,31 @@ lib.makeOverridable , passthru ? {} , meta ? {} }: +let + chosenOutputs = map (drv: { + paths = + # First add the usual output(s): respect if user has chosen explicitly, + # and otherwise use `meta.outputsToInstall`. The attribute is guaranteed + # to exist in mkDerivation-created cases. The other cases (e.g. runCommand) + # aren't expected to have multiple outputs. + (if (! drv ? outputSpecified || ! drv.outputSpecified) + && drv.meta.outputsToInstall or null != null + then map (outName: drv.${outName}) drv.meta.outputsToInstall + else [ drv ]) + # Add any extra outputs specified by the caller of `buildEnv`. + ++ lib.filter (p: p!=null) + (builtins.map (outName: drv.${outName} or null) extraOutputsToInstall); + priority = drv.meta.priority or lib.meta.defaultPriority; + }) paths; -runCommand name + pathsForClosure = lib.flatten (map (p: p.paths) chosenOutputs); +in runCommand name rec { inherit manifest ignoreCollisions checkCollisionContents passthru meta pathsToLink extraPrefix postBuild nativeBuildInputs buildInputs; - pkgs = builtins.toJSON (map (drv: { - paths = - # First add the usual output(s): respect if user has chosen explicitly, - # and otherwise use `meta.outputsToInstall`. The attribute is guaranteed - # to exist in mkDerivation-created cases. The other cases (e.g. runCommand) - # aren't expected to have multiple outputs. - (if (! drv ? outputSpecified || ! drv.outputSpecified) - && drv.meta.outputsToInstall or null != null - then map (outName: drv.${outName}) drv.meta.outputsToInstall - else [ drv ]) - # Add any extra outputs specified by the caller of `buildEnv`. - ++ lib.filter (p: p!=null) - (builtins.map (outName: drv.${outName} or null) extraOutputsToInstall); - priority = drv.meta.priority or lib.meta.defaultPriority; - }) paths); + pkgs = builtins.toJSON chosenOutputs; + extraPathsFrom = lib.optional includeClosures (writeClosure pathsForClosure); preferLocalBuild = true; allowSubstitutes = false; # XXX: The size is somewhat arbitrary From db0914534a691d0d20139f31c7d3c98f9b7365db Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 12 Sep 2024 12:06:22 +0300 Subject: [PATCH 204/491] buildFHSEnv: force overwriting ld-linux.so.2 That can be a problem if we already have it in the inputs. --- pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix index 67931a07dd401..30195f026d5ca 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix @@ -208,7 +208,7 @@ let chmod u+w -R lib64/ # symlink 32-bit ld-linux.so - ln -Ls ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/ + ln -Lsf ${staticUsrProfileTarget}/lib/32/ld-linux.so.2 lib/ ''; setupLibDirs = if isTargetBuild From 5165991c4ee2bfcbfe15fa334207da3a74207b55 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 12 Sep 2024 19:40:15 +0300 Subject: [PATCH 205/491] libsForQt5.plasma-wayland-protocols: 1.13.0 -> 1.14.0 --- .../libraries/plasma-wayland-protocols/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/pkgs/development/libraries/plasma-wayland-protocols/default.nix index 99e8b3fd9d11d..e0121a04e3539 100644 --- a/pkgs/development/libraries/plasma-wayland-protocols/default.nix +++ b/pkgs/development/libraries/plasma-wayland-protocols/default.nix @@ -7,11 +7,11 @@ mkDerivation rec { pname = "plasma-wayland-protocols"; - version = "1.13.0"; + version = "1.14.0"; src = fetchurl { url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz"; - hash = "sha256-3Ud+NS9f9uasaGKGxLIrGb9aSSG4XuWn2gK7eqEV1X4="; + hash = "sha256-GkOF7Px591ifBzgcqxHD/1H24vpLc7eGANatCWOUv4E="; }; nativeBuildInputs = [ extra-cmake-modules ]; From b79305dfdd1205b4acabdca07df5a5f8cfab52c9 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:40:50 +0200 Subject: [PATCH 206/491] treewide: fix typos --- pkgs/build-support/trivial-builders/default.nix | 2 +- pkgs/development/libraries/lief/default.nix | 2 +- pkgs/development/python-modules/torch/default.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/trivial-builders/default.nix b/pkgs/build-support/trivial-builders/default.nix index 3bccc871a7dca..f2c3cf4a67e3c 100644 --- a/pkgs/build-support/trivial-builders/default.nix +++ b/pkgs/build-support/trivial-builders/default.nix @@ -588,7 +588,7 @@ rec { makeSetupHook = { name ? lib.warn "calling makeSetupHook without passing a name is deprecated." "hook" , deps ? [ ] - # hooks go in nativeBuildInput so these will be nativeBuildInput + # hooks go in nativeBuildInputs so these will be nativeBuildInputs , propagatedBuildInputs ? [ ] # these will be buildInputs , depsTargetTargetPropagated ? [ ] diff --git a/pkgs/development/libraries/lief/default.nix b/pkgs/development/libraries/lief/default.nix index 1f7e8fdf2c49b..2c67036eeba45 100644 --- a/pkgs/development/libraries/lief/default.nix +++ b/pkgs/development/libraries/lief/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ninja ]; - # Not a propagatedBuildInput because only the $py output needs it; $out is + # Not in propagatedBuildInputs because only the $py output needs it; $out is # just the library itself (e.g. C/C++ headers). buildInputs = with python.pkgs; [ python diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index bd6b1b2628379..07e47e2a801e4 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -468,7 +468,7 @@ buildPythonPackage rec { cuda_cccl # cuda_cudart # cuda_runtime.h and libraries cuda_cupti # For kineto - cuda_nvcc # crt/host_config.h; even though we include this in nativeBuildinputs, it's needed here too + cuda_nvcc # crt/host_config.h; even though we include this in nativeBuildInputs, it's needed here too cuda_nvml_dev # cuda_nvrtc cuda_nvtx # -llibNVToolsExt From 871a8481f3f41c634211878e45e4cfcb6428efe6 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:41:24 +0200 Subject: [PATCH 207/491] jackline: fix nativeBuildInputs typo --- .../networking/instant-messengers/jackline/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix index d4876e20370d1..b5fe07ef71407 100644 --- a/pkgs/applications/networking/instant-messengers/jackline/default.nix +++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix @@ -15,7 +15,7 @@ buildDunePackage rec { hash = "sha256-G2jjsc/i9Qgo0TP+ZE4gB/1cjuZ9l8R7e59K2DGD5GY="; }; - nativeBuildInpts = [ + nativeBuildInputs = [ ppx_sexp_conv ppx_deriving ]; From ad291eff6e725ab8ef4dc1fd64939df239328052 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:42:22 +0200 Subject: [PATCH 208/491] raspa-data: remove gzip the `nativeBuildInputs` had a typo anyway, so it was not in use --- pkgs/applications/science/molecular-dynamics/raspa/data.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/applications/science/molecular-dynamics/raspa/data.nix b/pkgs/applications/science/molecular-dynamics/raspa/data.nix index bcc9dc3b372ee..3361393eef158 100644 --- a/pkgs/applications/science/molecular-dynamics/raspa/data.nix +++ b/pkgs/applications/science/molecular-dynamics/raspa/data.nix @@ -1,6 +1,5 @@ { lib , stdenvNoCC -, gzip , raspa }: @@ -10,8 +9,6 @@ stdenvNoCC.mkDerivation rec { outputs = [ "out" "doc" ]; - nativeBuildInpuhs = [ gzip ]; - installPhase = '' runHook preInstall mkdir -p "$out/share/raspa" From 496d66c83695d1759cdd285dba9beac6433e944b Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:43:43 +0200 Subject: [PATCH 209/491] tezos-rust-libs: fix pythonImportsCheck typo --- pkgs/development/libraries/tezos-rust-libs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/tezos-rust-libs/default.nix b/pkgs/development/libraries/tezos-rust-libs/default.nix index 85470f606f28e..fb729caa10272 100644 --- a/pkgs/development/libraries/tezos-rust-libs/default.nix +++ b/pkgs/development/libraries/tezos-rust-libs/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ llvmPackages_12.llvm cargo ]; - propagatedBuildDeps = [ llvmPackages_12.libllvm ]; + propagatedBuildInputs = [ llvmPackages_12.libllvm ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; buildPhase = '' From 731a66d13bdefb5aac8e17514b3c13978af06d5d Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:44:07 +0200 Subject: [PATCH 210/491] tezos-rust-libs: set meta recovered from 3584ce2fa914cd85da2b89a75d3fd4fe4ba575da --- pkgs/development/libraries/tezos-rust-libs/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/libraries/tezos-rust-libs/default.nix b/pkgs/development/libraries/tezos-rust-libs/default.nix index fb729caa10272..7469b5fab2238 100644 --- a/pkgs/development/libraries/tezos-rust-libs/default.nix +++ b/pkgs/development/libraries/tezos-rust-libs/default.nix @@ -48,4 +48,11 @@ stdenv.mkDerivation rec { ''; cargoVendorDir = "./vendor"; + + meta = { + homepage = "https://gitlab.com/tezos/tezos-rust-libs"; + description = "Tezos: all rust dependencies and their dependencies"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.ulrikstrid ]; + }; } From f9ba61be40698cdf16478c2a92a46f10ed6a8a7e Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:45:36 +0200 Subject: [PATCH 211/491] python311Packages.django-pwa: fix pythonImportsCheck typo --- pkgs/development/python-modules/django-pwa/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/django-pwa/default.nix b/pkgs/development/python-modules/django-pwa/default.nix index 134a84852f661..0e8d3c9c59536 100644 --- a/pkgs/development/python-modules/django-pwa/default.nix +++ b/pkgs/development/python-modules/django-pwa/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { propagatedBuildInputs = [ django ]; - pyImportCheck = [ "pwa" ]; + pythonImportsCheck = [ "pwa" ]; checkPhase = '' runHook preCheck From 71b3a52bb7717100f19564a493e32659352bded3 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:46:42 +0200 Subject: [PATCH 212/491] python311Packages.ipyniivue: fix nativeCheckInputs typo, build js from source --- .../python-modules/ipyniivue/default.nix | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/ipyniivue/default.nix b/pkgs/development/python-modules/ipyniivue/default.nix index 52bb55afff106..58e9e0829bab8 100644 --- a/pkgs/development/python-modules/ipyniivue/default.nix +++ b/pkgs/development/python-modules/ipyniivue/default.nix @@ -1,8 +1,11 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, + fetchNpmDeps, pythonOlder, + nodejs, + npmHooks, hatchling, hatch-vcs, anywidget, @@ -16,15 +19,32 @@ buildPythonPackage rec { disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-C0mYkguN4ZfxSLqETH3dUwXeoNcicrmAgp6e9IIT43s="; + src = fetchFromGitHub { + owner = "niivue"; + repo = "ipyniivue"; + rev = "v${version}"; + hash = "sha256-6DZmHVVxJspjUhJ9pzTmTvwAnQfvTp8OL2xZONz2XbU="; + }; + + npmDeps = fetchNpmDeps { + name = "${pname}-${version}-npm-deps"; + inherit src; + hash = "sha256-ZJRBGMNn5clxMavimfl6Jwqf7M2pRo+WLne0gUWOiJ8="; }; # We do not need the build hooks, because we do not need to # build any JS components; these are present already in the PyPI artifact. env.HATCH_BUILD_NO_HOOKS = true; + nativeBuildInputs = [ + nodejs + npmHooks.npmConfigHook + ]; + + preBuild = '' + npm run build + ''; + build-system = [ hatchling hatch-vcs @@ -32,7 +52,7 @@ buildPythonPackage rec { dependencies = [ anywidget ]; - nativeCheckImports = [ pytestCheckHook ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "ipyniivue" ]; meta = with lib; { From d633023973ee35097a50cc4f8988b5048fb92cad Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 20 Jul 2024 12:20:40 +0000 Subject: [PATCH 213/491] ldns: 1.8.3 -> 1.8.4 --- pkgs/development/libraries/ldns/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix index 1e696b1175a4f..96e6b7d54db9b 100644 --- a/pkgs/development/libraries/ldns/default.nix +++ b/pkgs/development/libraries/ldns/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "ldns"; - version = "1.8.3"; + version = "1.8.4"; src = fetchurl { url = "https://www.nlnetlabs.nl/downloads/ldns/${pname}-${version}.tar.gz"; - sha256 = "sha256-w/ct0QNrKQfjpW5qz537LlUSVrPBu9l4eULe7rcOeGA="; + sha256 = "sha256-g4uQdZS6r/HNdn6VRmp3RZmK5kvHS+A43Mxi4t4uQkc="; }; postPatch = '' From 0dee053eb228a901be9bdc55237246cf90478a86 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:48:40 +0200 Subject: [PATCH 214/491] python311Packages.openapi3: fix nativeCheckInputs typo, fix checkPhase --- .../python-modules/openapi3/default.nix | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/openapi3/default.nix b/pkgs/development/python-modules/openapi3/default.nix index ed2b1d5904aa6..1ddd3a9bbfb64 100644 --- a/pkgs/development/python-modules/openapi3/default.nix +++ b/pkgs/development/python-modules/openapi3/default.nix @@ -2,11 +2,16 @@ lib, buildPythonPackage, pythonOlder, - fetchPypi, + fetchFromGitHub, requests, pyyaml, setuptools, pytestCheckHook, + pytest-asyncio, + uvloop, + hypercorn, + starlette, + pydantic_1, }: buildPythonPackage rec { @@ -15,9 +20,11 @@ buildPythonPackage rec { pyproject = true; disabled = pythonOlder "3.8"; - src = fetchPypi { - inherit pname version; - hash = "sha256-ohpJBXPYnKaa2ny+WFrbL8pJZCV/bzod9THxKBVFXSw="; + src = fetchFromGitHub { + owner = "Dorthu"; + repo = "openapi3"; + rev = version; + hash = "sha256-Crn+nRbptRycnWJzH8Tm/BBLcBSRCcNtLX8NoKnSDdA="; }; nativeBuildInputs = [ setuptools ]; @@ -27,7 +34,19 @@ buildPythonPackage rec { pyyaml ]; - nativeCheckinputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + pydantic_1 + uvloop + hypercorn + starlette + ]; + + disabledTestPaths = [ + # tests old fastapi behaviour + "tests/fastapi_test.py" + ]; pythonImportsCheck = [ "openapi3" ]; From 2d244d98c51981cb13e6a8707e076ee7ed8ea948 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:50:27 +0200 Subject: [PATCH 215/491] python311Packages.pycodestyle: fix nativeCheckInputs typo, fetch from github --- .../python-modules/pycodestyle/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/pycodestyle/default.nix b/pkgs/development/python-modules/pycodestyle/default.nix index 9c6133207a3c8..8f987478655d7 100644 --- a/pkgs/development/python-modules/pycodestyle/default.nix +++ b/pkgs/development/python-modules/pycodestyle/default.nix @@ -1,7 +1,7 @@ { buildPythonPackage, pythonOlder, - fetchPypi, + fetchFromGitHub, lib, python, pytestCheckHook, @@ -15,14 +15,16 @@ buildPythonPackage rec { format = "setuptools"; - src = fetchPypi { - inherit pname version; - hash = "sha256-RC+VAUG09D33Ut0wNRH/3tOgTCtvt/ZZgFdPDDHm55w="; + src = fetchFromGitHub { + owner = "PyCQA"; + repo = "pycodestyle"; + rev = version; + hash = "sha256-YN1KOJ8f+VY9vJTWm3aTOOai66dveKOKOpeBkZKkC2A="; }; pythonImportsCheck = [ "pycodestyle" ]; - nativCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ pytestCheckHook ]; # https://github.com/PyCQA/pycodestyle/blob/2.11.0/tox.ini#L16 postCheck = '' From d2f22a8e8cc6768f3395eee22bba862963ac9975 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:50:58 +0200 Subject: [PATCH 216/491] python311Packages.pyogg: fix propagatedBuildInputs typo --- pkgs/development/python-modules/pyogg/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyogg/default.nix b/pkgs/development/python-modules/pyogg/default.nix index 62e5509d2e445..03d51fef67fa2 100644 --- a/pkgs/development/python-modules/pyogg/default.nix +++ b/pkgs/development/python-modules/pyogg/default.nix @@ -12,7 +12,6 @@ }: buildPythonPackage rec { - pname = "pyogg"; version = "0.6.14a1"; @@ -29,7 +28,7 @@ buildPythonPackage rec { libopus ]; - propagatedBuidInputs = [ + propagatedBuildInputs = [ libvorbis flac libogg From f993429d0c4e17e6f949cfb0bf5e3d890cf76f01 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:52:23 +0200 Subject: [PATCH 217/491] python311Packages.summarytools: remove pytestCheckHook there are no tests upstream --- pkgs/development/python-modules/summarytools/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/python-modules/summarytools/default.nix b/pkgs/development/python-modules/summarytools/default.nix index 58457768fe0e7..40b5359cb35e2 100644 --- a/pkgs/development/python-modules/summarytools/default.nix +++ b/pkgs/development/python-modules/summarytools/default.nix @@ -8,7 +8,6 @@ matplotlib, numpy, pandas, - pytestCheckHook, }: buildPythonPackage rec { @@ -32,8 +31,6 @@ buildPythonPackage rec { pandas ]; - nativeCheckImports = [ pytestCheckHook ]; - pythonImportsCheck = [ "summarytools" ]; meta = with lib; { From 10ba0eba327678d5d29869cf14d20e7370980633 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:53:13 +0200 Subject: [PATCH 218/491] python311Packages.symengine: fix nativeBuildInputs typo --- pkgs/development/python-modules/symengine/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/symengine/default.nix b/pkgs/development/python-modules/symengine/default.nix index d59abb27c8d66..16893b3f6e64a 100644 --- a/pkgs/development/python-modules/symengine/default.nix +++ b/pkgs/development/python-modules/symengine/default.nix @@ -42,13 +42,13 @@ buildPythonPackage rec { postPatch = '' substituteInPlace setup.py \ - --replace-fail "\"cmake\"" "\"${lib.getExe' cmake "cmake"}\"" \ --replace-fail "'cython>=0.29.24'" "'cython'" export PATH=${cython}/bin:$PATH ''; - nativeBuildUnputs = [ cmake ]; + dontUseCmakeConfigure = true; + nativeBuildInputs = [ cmake ]; buildInputs = [ cython ]; @@ -58,8 +58,10 @@ buildPythonPackage rec { ]; checkPhase = '' + runHook preCheck mkdir empty && cd empty ${python.interpreter} ../bin/test_python.py + runHook postCheck ''; meta = with lib; { From 5c7c9ed4a7db36552d03664e1a038370df2b8693 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Tue, 28 May 2024 00:53:27 +0200 Subject: [PATCH 219/491] python311Packages.trimesh: update meta.homepage --- pkgs/development/python-modules/trimesh/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix index 272a5d535a31b..3bae963820d61 100644 --- a/pkgs/development/python-modules/trimesh/default.nix +++ b/pkgs/development/python-modules/trimesh/default.nix @@ -41,7 +41,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python library for loading and using triangular meshes"; - homepage = "https://trimsh.org/"; + homepage = "https://trimesh.org/"; changelog = "https://github.com/mikedh/trimesh/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ From 93f7772ee6e79955d4777372c216c0f5bac81807 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 29 Aug 2024 09:39:27 +0300 Subject: [PATCH 220/491] libogg: modernize --- pkgs/development/libraries/libogg/default.nix | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix index ba0338ffd934b..805152b948917 100644 --- a/pkgs/development/libraries/libogg/default.nix +++ b/pkgs/development/libraries/libogg/default.nix @@ -1,17 +1,25 @@ -{ lib, stdenv, fetchurl }: +{ + lib, + stdenv, + fetchurl, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libogg"; version = "1.3.5"; src = fetchurl { - url = "http://downloads.xiph.org/releases/ogg/${pname}-${version}.tar.xz"; + url = "http://downloads.xiph.org/releases/ogg/libogg-${finalAttrs.version}.tar.xz"; sha256 = "01b7050bghdvbxvw0gzv588fn4a27zh42ljpwzm4vrf8dziipnf4"; }; - outputs = [ "out" "dev" "doc" ]; + outputs = [ + "out" + "dev" + "doc" + ]; - meta = with lib; { + meta = { description = "Media container library to manipulate Ogg files"; longDescription = '' Library to work with Ogg multimedia container format. @@ -19,8 +27,8 @@ stdenv.mkDerivation rec { plethora of codecs. Open format free for anyone to use. ''; homepage = "https://xiph.org/ogg/"; - license = licenses.bsd3; - maintainers = [ maintainers.ehmry ]; - platforms = platforms.all; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ ehmry ]; + platforms = lib.platforms.all; }; -} +}) From 04bf3a5a24294b530a985b95ec8aa984c7d339ae Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 29 Aug 2024 09:41:11 +0300 Subject: [PATCH 221/491] libogg: allow dependents to find it with cmake --- pkgs/development/libraries/libogg/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix index 805152b948917..ae104d5f8df37 100644 --- a/pkgs/development/libraries/libogg/default.nix +++ b/pkgs/development/libraries/libogg/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + cmake, }: stdenv.mkDerivation (finalAttrs: { @@ -19,6 +20,14 @@ stdenv.mkDerivation (finalAttrs: { "doc" ]; + nativeBuildInputs = [ + # Can also be built with the `./configure` script available in the release, + # however using cmake makes sure the resulting tree would include + # `OggConfig.cmake` and other cmake files useful when packages try to look it + # up with cmake. + cmake + ]; + meta = { description = "Media container library to manipulate Ogg files"; longDescription = '' From 73e038d5fa61d5b42b1c55298dc4164e906d75c9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Sep 2024 05:50:33 +0000 Subject: [PATCH 222/491] jsoncpp: 1.9.5 -> 1.9.6 --- pkgs/development/libraries/jsoncpp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix index f7b6d1c4baab7..4999fce4fdeae 100644 --- a/pkgs/development/libraries/jsoncpp/default.nix +++ b/pkgs/development/libraries/jsoncpp/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "jsoncpp"; - version = "1.9.5"; + version = "1.9.6"; outputs = ["out" "dev"]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { owner = "open-source-parsers"; repo = "jsoncpp"; rev = version; - sha256 = "sha256-OyfJD19g8cT9wOD0hyJyEw4TbaxZ9eY04396U/7R+hs="; + sha256 = "sha256-3msc3B8NyF8PUlNaAHdUDfCpcUmz8JVW2X58USJ5HRw="; }; /* During darwin bootstrap, we have a cp that doesn't understand the From a1f9051d07bc97519322a54b6cba8839c77ee81b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 13 Sep 2024 06:46:25 +0000 Subject: [PATCH 223/491] aws-c-mqtt: 0.10.4 -> 0.10.5 --- pkgs/development/libraries/aws-c-mqtt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/aws-c-mqtt/default.nix b/pkgs/development/libraries/aws-c-mqtt/default.nix index 829dc76dce933..3eadad12ad031 100644 --- a/pkgs/development/libraries/aws-c-mqtt/default.nix +++ b/pkgs/development/libraries/aws-c-mqtt/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "aws-c-mqtt"; - version = "0.10.4"; + version = "0.10.5"; src = fetchFromGitHub { owner = "awslabs"; repo = "aws-c-mqtt"; rev = "v${version}"; - hash = "sha256-i+ssZzHC8MPfyOaRqvjq0z7w772BJqIA6BwntW1fRek="; + hash = "sha256-PByF0P+4gwSQKk7qHc79p025TbWZ0QeFXqO2GOtuaII="; }; nativeBuildInputs = [ From fdbe69f2bf3c03e919ef0b4129b44d294b83d7a0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 5 Sep 2024 15:10:31 +0200 Subject: [PATCH 224/491] gn: backport LFS64 cleanup This is required to build with musl 1.2.4 and later. --- pkgs/development/tools/build-managers/gn/generic.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/gn/generic.nix b/pkgs/development/tools/build-managers/gn/generic.nix index fe74486ccfaad..d5e043aa3b85d 100644 --- a/pkgs/development/tools/build-managers/gn/generic.nix +++ b/pkgs/development/tools/build-managers/gn/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchgit, cctools, darwin, writeText +{ stdenv, lib, fetchgit, fetchpatch, cctools, darwin, writeText , ninja, python3 , ... }: @@ -27,6 +27,15 @@ in stdenv.mkDerivation { inherit rev sha256; }; + patches = [ + (fetchpatch { + name = "LFS64.patch"; + url = "https://gn.googlesource.com/gn/+/b5ff50936a726ff3c8d4dfe2a0ae120e6ce1350d%5E%21/?format=TEXT"; + decode = "base64 -d"; + hash = "sha256-/kh8t/Ip1EG2OIhydS//st/C80KJ4P31vGx7j8QpFh0="; + }) + ]; + nativeBuildInputs = [ ninja python3 ]; buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [ libobjc From f15ac02068f9951e906a366ac56dfe3f61234b10 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 13 Sep 2024 14:53:02 +0200 Subject: [PATCH 225/491] python3Packages.poetry-core: backport test fix for Python 3.12.6 --- pkgs/development/python-modules/poetry-core/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/poetry-core/default.nix b/pkgs/development/python-modules/poetry-core/default.nix index fec055b429bda..17a49034d20d0 100644 --- a/pkgs/development/python-modules/poetry-core/default.nix +++ b/pkgs/development/python-modules/poetry-core/default.nix @@ -3,6 +3,7 @@ stdenv, buildPythonPackage, fetchFromGitHub, + fetchpatch, pythonOlder, build, git, @@ -27,6 +28,14 @@ buildPythonPackage rec { hash = "sha256-vvwKbzGlvv2LTbXfJxQVM3nUXFGntgJxsku6cbRxCzw="; }; + patches = [ + (fetchpatch { + name = "python-3.12.6.patch"; + url = "https://github.com/python-poetry/poetry-core/commit/bd1ce358dec403c66e62176b11bfad77a51aacfd.patch"; + hash = "sha256-dl2xTsn0nNAGJKNmgNPXlaeJOs1gNfDeQMJnD7EnKB4="; + }) + ]; + nativeCheckInputs = [ build git From 82af94db4c991933cf68816dc3f16bcbf1ba0a77 Mon Sep 17 00:00:00 2001 From: Anthony ROUSSEL Date: Fri, 30 Aug 2024 21:09:21 +0200 Subject: [PATCH 226/491] python311Packages.pbr: 6.0.0 -> 6.1.0 https://github.com/openstack/pbr/compare/6.0.0...6.1.0 --- pkgs/development/python-modules/pbr/default.nix | 14 ++++++++++---- pkgs/development/python-modules/pbr/tests.nix | 3 +++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pbr/default.nix b/pkgs/development/python-modules/pbr/default.nix index 1c215cb307ca1..bd45d03af8928 100644 --- a/pkgs/development/python-modules/pbr/default.nix +++ b/pkgs/development/python-modules/pbr/default.nix @@ -1,22 +1,28 @@ { lib, buildPythonPackage, + callPackage, fetchPypi, setuptools, - callPackage, + six, }: buildPythonPackage rec { pname = "pbr"; - version = "6.0.0"; + version = "6.1.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-0TdxIqWgDi+UDuSCmZUY7+FtdF1COmcMJ3c9+8PJp9k="; + hash = "sha256-eIGD44Lj0ddwfbCJeCOZZei55OXtQmab9HWBhnNNXyQ="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; + + dependencies = [ + setuptools # for pkg_resources + six + ]; # check in passthru.tests.pytest to escape infinite recursion with fixtures doCheck = false; diff --git a/pkgs/development/python-modules/pbr/tests.nix b/pkgs/development/python-modules/pbr/tests.nix index 70e768814db95..c464983fa31a9 100644 --- a/pkgs/development/python-modules/pbr/tests.nix +++ b/pkgs/development/python-modules/pbr/tests.nix @@ -46,6 +46,9 @@ buildPythonPackage { pbr.tests.test_core.TestCore.test_console_script_install pbr.tests.test_wsgi.TestWsgiScripts.test_with_argument pbr.tests.test_wsgi.TestWsgiScripts.test_wsgi_script_run + # Tests are failing because of fixture timeouts + pbr.tests.test_packaging.TestPEP517Support.test_pep_517_support + pbr.tests.test_packaging.TestRequirementParsing.test_requirement_parsing ") ''; } From 87efc7da45b540967293d4b1486efd89f7d50f31 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 13 Sep 2024 20:40:39 +0200 Subject: [PATCH 227/491] libndp: fix build for musl with GCC 14 --- pkgs/development/libraries/libndp/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/libraries/libndp/default.nix b/pkgs/development/libraries/libndp/default.nix index 17831d646cbcc..a8df26fbb9b8a 100644 --- a/pkgs/development/libraries/libndp/default.nix +++ b/pkgs/development/libraries/libndp/default.nix @@ -9,6 +9,14 @@ stdenv.mkDerivation rec { hash = "sha256-qKshTgHcOpthUnaQU5VjfzkSmMhNd2UfDL8LEILdLdQ="; }; + patches = [ + (fetchurl { + name = "musl.patch"; + url = "https://git.alpinelinux.org/aports/plain/community/libndp/0001-Patch-libndp.c.patch?id=00406a9c697d88f531962cb63e5343488a959b93"; + hash = "sha256-1ZcXgZv3mYtt5NaK4rUMnScWVajlWQ+anzBDS5IfgJI="; + }) + ]; + nativeBuildInputs = [ autoreconfHook ]; configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ From 17648a4f578c72d29f838e1986320b985756ecf1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 13 Sep 2024 20:51:50 +0200 Subject: [PATCH 228/491] openssh: fix building for musl with GCC 14 --- pkgs/tools/networking/openssh/common.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix index 496ea270c81e3..48e4eb3ba274c 100644 --- a/pkgs/tools/networking/openssh/common.nix +++ b/pkgs/tools/networking/openssh/common.nix @@ -13,6 +13,7 @@ # package without splicing See: https://github.com/NixOS/nixpkgs/pull/107606 , pkgs , fetchurl +, fetchpatch , autoreconfHook , zlib , openssl @@ -47,6 +48,12 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-eFFOd4B2nccRZAQWwdBPBoKWjfEdKEVGJvKZAzLu3HU="; }) + (fetchpatch { + name = "musl.patch"; + url = "https://anongit.mindrot.org/openssh.git/patch/?id=8b664df75966e5aed8dabea00b8838303d3488b8"; + hash = "sha256-siVg1mnGiZ2aP3IIY4y1WAp3nkOk0XKSBDqYfw6lrQg="; + }) + # See discussion in https://github.com/NixOS/nixpkgs/pull/16966 ./dont_create_privsep_path.patch ] ++ extraPatches; From f761b0abc4d983c289a595e9584bb60efe1efbe3 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 13 Sep 2024 21:13:41 +0200 Subject: [PATCH 229/491] libaom: fix building for musl with GCC 14 --- pkgs/development/libraries/libaom/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix index e289a421fa6fb..3845f1bc7ddbe 100644 --- a/pkgs/development/libraries/libaom/default.nix +++ b/pkgs/development/libraries/libaom/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, yasm, perl, cmake, pkg-config, python3 +{ lib, stdenv, fetchurl, fetchzip, yasm, perl, cmake, pkg-config, python3 , enableVmaf ? true, libvmaf , gitUpdater @@ -21,7 +21,15 @@ stdenv.mkDerivation rec { stripRoot = false; }; - patches = [ ./outputs.patch ]; + patches = [ + ./outputs.patch + + (fetchurl { + name = "musl.patch"; + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libaom/files/libaom-3.4.0-posix-c-source-ftello.patch?id=50c7c4021e347ee549164595280cf8a23c960959"; + hash = "sha256-6+u7GTxZcSNJgN7D+s+XAVwbMnULufkTcQ0s7l+Ydl0="; + }) + ]; nativeBuildInputs = [ yasm perl cmake pkg-config python3 From b8cccde6f7260e81ec64dc7ac7a1f34ec7d33563 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 14 Sep 2024 09:35:55 +0200 Subject: [PATCH 230/491] Revert "libselinux: fix build with musl (#119472)" This reverts commit fc141a889d05b05719f6b70f617cc500beea3c38. Whatever build failure required this hack is no longer occurring, and not inculding unistd.h had the side effect of turning a lot of function calls into implicit declarations, which is now a hard error with GCC 14. --- pkgs/os-specific/linux/libselinux/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix index 583f6af2bc67a..104b1a7aaf1ce 100644 --- a/pkgs/os-specific/linux/libselinux/default.nix +++ b/pkgs/os-specific/linux/libselinux/default.nix @@ -80,11 +80,6 @@ stdenv.mkDerivation (rec { "PYTHON_SETUP_ARGS=--no-build-isolation" ]; - postPatch = lib.optionalString stdenv.hostPlatform.isMusl '' - substituteInPlace src/procattr.c \ - --replace "#include " "" - ''; - preInstall = lib.optionalString enablePython '' mkdir -p $py/${python3.sitePackages}/selinux ''; From db8baf8cc2dc38ab7a05803d8cfa34ba3b26f7db Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 5 Sep 2024 19:07:35 +0200 Subject: [PATCH 231/491] bfs: add missing attr dependency This is currently propagated from libcap, but libcap doesn't depend on attr, so this propagation will be removed. --- pkgs/tools/system/bfs/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/bfs/default.nix b/pkgs/tools/system/bfs/default.nix index 2b714b56def59..9ff3f7ec32879 100644 --- a/pkgs/tools/system/bfs/default.nix +++ b/pkgs/tools/system/bfs/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, libcap, acl, oniguruma, liburing }: +{ lib, stdenv, fetchFromGitHub, attr, acl, libcap, liburing, oniguruma }: stdenv.mkDerivation rec { pname = "bfs"; @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { hash = "sha256-/thPPueNrYzbxxZYAqlxZ2GEsceCzd+LkI84S8AS1mo="; }; - buildInputs = [ oniguruma ] ++ lib.optionals stdenv.isLinux [ libcap acl liburing ]; + buildInputs = [ oniguruma ] ++ + lib.optionals stdenv.isLinux [ acl attr libcap liburing ]; makeFlags = [ "PREFIX=$(out)" ]; buildFlags = [ "release" ]; # "release" enables compiler optimizations From 98b8a9369be3cac7d5e7e746c8a2651901d8cc5b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 5 Sep 2024 18:10:40 +0200 Subject: [PATCH 232/491] libcap: remove attr dependency libcap hasn't used attr since commit 85f38a5 ("Drop use of libattr for our trivial use case of kernel API."). Because it was propagated, we have to be careful about packages that depended on it indirectly. To mitigate this, I've tested building every direct dependency of libcap. The only one I found that was missing an attr dependency of its own was bfs. --- pkgs/os-specific/linux/libcap/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix index fdeae8dc651cc..0ff2901229459 100644 --- a/pkgs/os-specific/linux/libcap/default.nix +++ b/pkgs/os-specific/linux/libcap/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, buildPackages, fetchurl, attr, runtimeShell +{ stdenv, lib, buildPackages, fetchurl, runtimeShell , usePam ? !isStatic, pam ? null , isStatic ? stdenv.hostPlatform.isStatic @@ -33,8 +33,6 @@ stdenv.mkDerivation rec { buildInputs = lib.optional usePam pam; - propagatedBuildInputs = [ attr ]; - makeFlags = [ "lib=lib" "PAM_CAP=${if usePam then "yes" else "no"}" From 4c41851f239037ffd58a0655c7a0ad26c192fc2f Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 14 Sep 2024 13:37:46 +0200 Subject: [PATCH 233/491] python3Packages.pyzmq: fix build Tested building a few packages that depend on it too: circus, jupyter-client, logbook, partd, rpcq, tornado, zerorpc. Fixes: e597af558361 ("zeromq: enable curve support") --- pkgs/development/python-modules/pyzmq/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pyzmq/default.nix b/pkgs/development/python-modules/pyzmq/default.nix index 6c4b8076294fd..a0495c9b06741 100644 --- a/pkgs/development/python-modules/pyzmq/default.nix +++ b/pkgs/development/python-modules/pyzmq/default.nix @@ -18,6 +18,7 @@ python, pythonOlder, tornado, + libsodium, zeromq, pytest-asyncio, }: @@ -44,7 +45,10 @@ buildPythonPackage rec { dontUseCmakeConfigure = true; - buildInputs = [ zeromq ]; + buildInputs = [ + libsodium + zeromq + ]; dependencies = lib.optionals isPyPy [ cffi ]; From 7b6139f4725e9920d9586fb5ffde4d90beaff11d Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Sun, 11 Aug 2024 12:00:00 +0000 Subject: [PATCH 234/491] compiler-rt: apply armv6l patches to llvm >= 15 where applicable the patches were written for https://github.com/NixOS/nixpkgs/pull/205176 but not kept for llvm >= 15 --- .../compiler-rt/armv6-scudo-libatomic.patch | 0 .../compiler-rt/armv6-scudo-libatomic.patch | 65 +++++++++++++++++++ .../compiler-rt/armv6-scudo-libatomic.patch | 62 ++++++++++++++++++ .../compilers/llvm/common/default.nix | 33 ++++++++-- 4 files changed, 154 insertions(+), 6 deletions(-) rename pkgs/development/compilers/llvm/{common => 14}/compiler-rt/armv6-scudo-libatomic.patch (100%) create mode 100644 pkgs/development/compilers/llvm/15/compiler-rt/armv6-scudo-libatomic.patch create mode 100644 pkgs/development/compilers/llvm/19/compiler-rt/armv6-scudo-libatomic.patch diff --git a/pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch b/pkgs/development/compilers/llvm/14/compiler-rt/armv6-scudo-libatomic.patch similarity index 100% rename from pkgs/development/compilers/llvm/common/compiler-rt/armv6-scudo-libatomic.patch rename to pkgs/development/compilers/llvm/14/compiler-rt/armv6-scudo-libatomic.patch diff --git a/pkgs/development/compilers/llvm/15/compiler-rt/armv6-scudo-libatomic.patch b/pkgs/development/compilers/llvm/15/compiler-rt/armv6-scudo-libatomic.patch new file mode 100644 index 0000000000000..c4da700fea638 --- /dev/null +++ b/pkgs/development/compilers/llvm/15/compiler-rt/armv6-scudo-libatomic.patch @@ -0,0 +1,65 @@ +From a56bb19a9dc303a50ef12d83cd24c2395bf81076 Mon Sep 17 00:00:00 2001 +From: Ben Wolsieffer +Date: Wed, 7 Dec 2022 21:25:46 -0500 +Subject: [PATCH] [scudo][standalone] Use CheckAtomic to decide to link to + libatomic + +Standalone scudo uses the atomic operation builtin functions, which require +linking to libatomic on some platforms. Currently, this is done in an ad-hoc +manner. MIPS platforms always link to libatomic, and the tests are always linked +to it as well. libatomic is required on base ARMv6 (but not ARMv6K), but it is +currently not linked, causing the build to fail. + +This patch replaces this ad-hoc logic with the CheckAtomic CMake module already +used in other parts of LLVM. The CheckAtomic module checks whether std::atomic +requires libatomic, which is not strictly the same as checking the atomic +builtins, but should have the same results as far as I know. If this is +problematic, a custom version of CheckAtomic could be used to specifically test +the builtins. +--- + compiler-rt/lib/scudo/standalone/CMakeLists.txt | 7 +++++++ + compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt | 4 +--- + 2 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/lib/scudo/standalone/CMakeLists.txt b/lib/scudo/standalone/CMakeLists.txt +index ae5c354768c8..eb27374ca520 100644 +--- a/lib/scudo/standalone/CMakeLists.txt ++++ b/lib/scudo/standalone/CMakeLists.txt +@@ -1,5 +1,8 @@ + add_compiler_rt_component(scudo_standalone) + ++include(DetermineGCCCompatible) ++include(CheckAtomic) ++ + include_directories(../.. include) + + set(SCUDO_CFLAGS) +@@ -34,6 +37,10 @@ list(APPEND SCUDO_LINK_FLAGS -Wl,-z,defs,-z,now,-z,relro) + + list(APPEND SCUDO_LINK_FLAGS -ffunction-sections -fdata-sections -Wl,--gc-sections) + ++if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) ++ list(APPEND SCUDO_LINK_FLAGS -latomic) ++endif() ++ + # We don't use the C++ standard library, so avoid including it by mistake. + append_list_if(COMPILER_RT_HAS_NOSTDLIBXX_FLAG -nostdlib++ SCUDO_LINK_FLAGS) + append_list_if(CXX_SUPPORTS_UNWINDLIB_NONE_FLAG --unwindlib=none SCUDO_LINK_FLAGS) +diff --git a/lib/scudo/standalone/tests/CMakeLists.txt b/lib/scudo/standalone/tests/CMakeLists.txt +index 8200cd2588b3..73b3e9403c35 100644 +--- a/lib/scudo/standalone/tests/CMakeLists.txt ++++ b/lib/scudo/standalone/tests/CMakeLists.txt +@@ -39,9 +39,7 @@ set(SCUDO_UNITTEST_LINK_FLAGS + ${COMPILER_RT_UNWINDER_LINK_LIBS} + ${SANITIZER_TEST_CXX_LIBRARIES}) + list(APPEND SCUDO_UNITTEST_LINK_FLAGS -pthread -no-pie) +-# Linking against libatomic is required with some compilers +-check_library_exists(atomic __atomic_load_8 "" COMPILER_RT_HAS_LIBATOMIC) +-if (COMPILER_RT_HAS_LIBATOMIC) ++if (HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) + list(APPEND SCUDO_UNITTEST_LINK_FLAGS -latomic) + endif() + +-- +2.38.1 + diff --git a/pkgs/development/compilers/llvm/19/compiler-rt/armv6-scudo-libatomic.patch b/pkgs/development/compilers/llvm/19/compiler-rt/armv6-scudo-libatomic.patch new file mode 100644 index 0000000000000..6f8528cfa31f0 --- /dev/null +++ b/pkgs/development/compilers/llvm/19/compiler-rt/armv6-scudo-libatomic.patch @@ -0,0 +1,62 @@ +From a56bb19a9dc303a50ef12d83cd24c2395bf81076 Mon Sep 17 00:00:00 2001 +From: Ben Wolsieffer +Date: Wed, 7 Dec 2022 21:25:46 -0500 +Subject: [PATCH] [scudo][standalone] Use CheckAtomic to decide to link to + libatomic + +Standalone scudo uses the atomic operation builtin functions, which require +linking to libatomic on some platforms. Currently, this is done in an ad-hoc +manner. MIPS platforms always link to libatomic, and the tests are always linked +to it as well. libatomic is required on base ARMv6 (but not ARMv6K), but it is +currently not linked, causing the build to fail. + +This patch replaces this ad-hoc logic with the CheckAtomic CMake module already +used in other parts of LLVM. The CheckAtomic module checks whether std::atomic +requires libatomic, which is not strictly the same as checking the atomic +builtins, but should have the same results as far as I know. If this is +problematic, a custom version of CheckAtomic could be used to specifically test +the builtins. +--- + compiler-rt/lib/scudo/standalone/CMakeLists.txt | 7 +++++++ + compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt | 4 +--- + 2 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/lib/scudo/standalone/CMakeLists.txt b/lib/scudo/standalone/CMakeLists.txt +index dc700cec9bec..671dc7046604 100644 +--- a/lib/scudo/standalone/CMakeLists.txt ++++ b/lib/scudo/standalone/CMakeLists.txt +@@ -1,5 +1,8 @@ + add_compiler_rt_component(scudo_standalone) + ++include(DetermineGCCCompatible) ++include(CheckAtomic) ++ + include_directories(../.. include) + + set(SCUDO_CFLAGS) +@@ -39,6 +42,10 @@ list(APPEND SCUDO_LINK_FLAGS -Wl,-z,defs,-z,now,-z,relro) + + list(APPEND SCUDO_LINK_FLAGS -ffunction-sections -fdata-sections -Wl,--gc-sections) + ++if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) ++ list(APPEND SCUDO_LINK_FLAGS -latomic) ++endif() ++ + # We don't use the C++ standard library, so avoid including it by mistake. + append_list_if(COMPILER_RT_HAS_NOSTDLIBXX_FLAG -nostdlib++ SCUDO_LINK_FLAGS) + append_list_if(CXX_SUPPORTS_UNWINDLIB_NONE_FLAG --unwindlib=none SCUDO_LINK_FLAGS) +diff --git a/lib/scudo/standalone/tests/CMakeLists.txt b/lib/scudo/standalone/tests/CMakeLists.txt +index a85eb737dba0..a23cf4d494f6 100644 +--- a/lib/scudo/standalone/tests/CMakeLists.txt ++++ b/lib/scudo/standalone/tests/CMakeLists.txt +@@ -47,7 +47,7 @@ set(SCUDO_UNITTEST_LINK_FLAGS + ${SANITIZER_TEST_CXX_LIBRARIES}) + list(APPEND SCUDO_UNITTEST_LINK_FLAGS -pthread -no-pie) + +-append_list_if(COMPILER_RT_HAS_LIBATOMIC -latomic SCUDO_UNITTEST_LINK_FLAGS) ++append_list_if((HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB) -latomic SCUDO_UNITTEST_LINK_FLAGS) + + set(SCUDO_TEST_HEADERS + scudo_unit_test.h +2.38.1 + diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index fe5b432f8cf0d..81bf27f9b81ee 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -191,6 +191,21 @@ let path = ../12; } ]; + "compiler-rt/armv6-scudo-libatomic.patch" = [ + { + after = "19"; + path = ../19; + } + { + after = "15"; + before = "19"; + path = ../15; + } + { + before = "15"; + path = ../14; + } + ]; "compiler-rt/armv7l.patch" = [ { before = "15"; @@ -908,10 +923,10 @@ let lib.optional (lib.versionOlder metadata.release_version "18") # Prevent a compilation error on darwin (metadata.getVersionFile "compiler-rt/darwin-targetconditionals.patch") - ++ - lib.optional (lib.versionAtLeast metadata.release_version "15") - # See: https://github.com/NixOS/nixpkgs/pull/186575 - ./compiler-rt/darwin-plistbuddy-workaround.patch + ++ lib.optionals (lib.versionAtLeast metadata.release_version "15") [ + # See: https://github.com/NixOS/nixpkgs/pull/186575 + ./compiler-rt/darwin-plistbuddy-workaround.patch + ] ++ lib.optional (lib.versions.major metadata.release_version == "15") # See: https://github.com/NixOS/nixpkgs/pull/194634#discussion_r999829893 @@ -922,9 +937,15 @@ let # Fix build on armv6l ./compiler-rt/armv6-mcr-dmb.patch ./compiler-rt/armv6-sync-ops-no-thumb.patch - ./compiler-rt/armv6-no-ldrexd-strexd.patch + ] + ++ lib.optionals (lib.versionOlder metadata.release_version "18") [ + # Fix build on armv6l ./compiler-rt/armv6-scudo-no-yield.patch - ./compiler-rt/armv6-scudo-libatomic.patch + ] + ++ [ + # Fix build on armv6l + ./compiler-rt/armv6-no-ldrexd-strexd.patch + (metadata.getVersionFile "compiler-rt/armv6-scudo-libatomic.patch") ] ++ lib.optional (lib.versionAtLeast metadata.release_version "19") (fetchpatch { url = "https://github.com/llvm/llvm-project/pull/99837/commits/14ae0a660a38e1feb151928a14f35ff0f4487351.patch"; From 153f118639858771457df4ff56278d668a501f69 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sat, 14 Sep 2024 14:26:22 +0200 Subject: [PATCH 235/491] perlPackages.BC: fix build with gcc 14 --- pkgs/top-level/perl-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ca66d3e220643..8d1c7a6820de9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1665,6 +1665,9 @@ with self; { hash = "sha256-BFKmEdNDrfnZX86ra6a2YXbjrX/MzlKAkiwOQx9RSf8="; }; propagatedBuildInputs = [ BFlags IPCRun Opcodes ]; + env = lib.optionalAttrs stdenv.cc.isGNU { + NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types"; + }; doCheck = false; /* test fails */ meta = { description = "Perl compiler"; From 1b8563bc93d546b46bd53e658e8cacf1d599b3cc Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 14 Sep 2024 14:26:56 +0200 Subject: [PATCH 236/491] libpwquality: fix building for musl with GCC 14 --- pkgs/development/libraries/libpwquality/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix index fade2a9194ae6..08454fe94de0c 100644 --- a/pkgs/development/libraries/libpwquality/default.nix +++ b/pkgs/development/libraries/libpwquality/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchFromGitHub +, fetchpatch , autoreconfHook , perl , cracklib @@ -29,6 +30,12 @@ stdenv.mkDerivation rec { patches = [ # ensure python site-packages goes in $py output ./python-binding-prefix.patch + + (fetchpatch { + name = "musl.patch"; + url = "https://github.com/libpwquality/libpwquality/commit/b0fcd96954be89e8c318e5328dd27c40b401de96.patch"; + hash = "sha256-ykN1hcRKyX3QAqWTH54kUjOxN6+IwRpqQVsujTd9XWs="; + }) ]; nativeBuildInputs = [ autoreconfHook perl ] ++ lib.optionals enablePython [ python ]; From 9cd64ac30aa25b7ad8610b49d8d03d9e82ca1b0c Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 14 Sep 2024 13:10:22 +0200 Subject: [PATCH 237/491] python3Packages.beautifulsoup4: fix tests --- .../python-modules/beautifulsoup4/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/beautifulsoup4/default.nix b/pkgs/development/python-modules/beautifulsoup4/default.nix index 4ebcfd4128df6..574a8600d67d7 100644 --- a/pkgs/development/python-modules/beautifulsoup4/default.nix +++ b/pkgs/development/python-modules/beautifulsoup4/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchPypi, + fetchpatch, chardet, hatchling, html5lib, @@ -37,6 +38,14 @@ buildPythonPackage rec { hash = "sha256-dOPRko7cBw0hdIGFxG4/szSQ8i9So63e6a7g9Pd4EFE="; }; + patches = [ + (fetchpatch { + name = "tests.patch"; + url = "https://git.launchpad.net/beautifulsoup/patch/?id=9786a62726de5a8caba10021c4d4a58c8a3e9e3f"; + hash = "sha256-FOMoJjT0RgqKjbTLN/qCuc0HjhKeenMcgwb9Fp8atAY="; + }) + ]; + nativeBuildInputs = [ hatchling sphinxHook From a97420b26d3302913e5393e1cd888a069bd46089 Mon Sep 17 00:00:00 2001 From: Simon Hauser Date: Fri, 23 Aug 2024 08:44:18 +0200 Subject: [PATCH 238/491] python3Packages.paramiko: 3.4.0 -> 3.4.1 --- .../python-modules/paramiko/default.nix | 21 ++++++------------- pkgs/tools/security/ssh-mitm/default.nix | 2 +- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix index 248dc1f513189..27df85a4b768e 100644 --- a/pkgs/development/python-modules/paramiko/default.nix +++ b/pkgs/development/python-modules/paramiko/default.nix @@ -12,17 +12,18 @@ pyasn1, pynacl, pytestCheckHook, + pytest-relaxed, six, }: buildPythonPackage rec { pname = "paramiko"; - version = "3.4.0"; + version = "3.4.1"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-qsCPJqMdxN/9koIVJ9FoLZnVL572hRloEUqHKPPCdNM="; + hash = "sha256-ixUwKHCvf2ZS8uA4l1wdKXPwYEbLXX1lNVZos+y+zgw="; }; patches = [ @@ -32,19 +33,14 @@ buildPythonPackage rec { url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch"; hash = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA="; }) - (fetchpatch { - name = "paramiko-pytest8-compat.patch"; - url = "https://github.com/paramiko/paramiko/commit/d71046151d9904df467ff72709585cde39cdd4ca.patch"; - hash = "sha256-4CTIZ9BmzRdh+HOwxSzfM9wkUGJOnndctK5swqqsIvU="; - }) ]; - propagatedBuildInputs = [ + dependencies = [ bcrypt cryptography pyasn1 six - ] ++ passthru.optional-dependencies.ed25519; # remove on 3.0 update + ]; passthru.optional-dependencies = { gssapi = [ @@ -62,14 +58,9 @@ buildPythonPackage rec { icecream mock pytestCheckHook + pytest-relaxed ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); - disabledTestPaths = [ - # disable tests that require pytest-relaxed, which is broken - "tests/test_client.py" - "tests/test_ssh_gss.py" - ]; - pythonImportsCheck = [ "paramiko" ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/tools/security/ssh-mitm/default.nix b/pkgs/tools/security/ssh-mitm/default.nix index 6694a9edaae24..e1afacae84c7c 100644 --- a/pkgs/tools/security/ssh-mitm/default.nix +++ b/pkgs/tools/security/ssh-mitm/default.nix @@ -25,7 +25,7 @@ let }) ]; - propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ python3.pkgs.icecream ]; + dependencies = oldAttrs.dependencies ++ [ python3.pkgs.icecream ]; }); }; }; From a41bb2c31e2a1705c9ca7ab3179fd1623ed61d05 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 15 Sep 2024 07:04:00 +0100 Subject: [PATCH 239/491] perlInterpreters.perl536: drop the attribute Without the change `nixpkgs` exposes unevaluatable attribute as: $ nix build --no-link -f. perlInterpreters.perl536.perlOnBuild error: attribute 'perl536' missing at pkgs/development/interpreters/perl/interpreter.nix:207:37: 206| perlOnBuildForBuild = override pkgsBuildBuild.${perlAttr}; 207| perlOnBuildForHost = override pkgsBuildHost.${perlAttr}; | ^ 208| perlOnBuildForTarget = override pkgsBuildTarget.${perlAttr}; Did you mean one of perl538 or perl540? The interpreter depends on presence of `perl536` attribute which wa removed recently. --- .../development/interpreters/perl/default.nix | 8 - .../http-tiny-verify-ssl-by-default.patch | 79 ------ .../interpreters/perl/interpreter.nix | 6 +- .../interpreters/perl/no-sys-dirs-5.31.patch | 254 ------------------ 4 files changed, 1 insertion(+), 346 deletions(-) delete mode 100644 pkgs/development/interpreters/perl/http-tiny-verify-ssl-by-default.patch delete mode 100644 pkgs/development/interpreters/perl/no-sys-dirs-5.31.patch diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 71357c7d739ca..8fd99172be109 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -54,14 +54,6 @@ let }; in rec { - # Maint version - perl536 = callPackage ./interpreter.nix { - self = perl536; - version = "5.36.3"; - sha256 = "sha256-8qGtiBFjkaF2Ji3ULfxS7yKvtA9MDpgQ8V1WHm8ccmo="; - inherit passthruFun; - }; - # Maint version perl538 = callPackage ./interpreter.nix { self = perl538; diff --git a/pkgs/development/interpreters/perl/http-tiny-verify-ssl-by-default.patch b/pkgs/development/interpreters/perl/http-tiny-verify-ssl-by-default.patch deleted file mode 100644 index 59248061513db..0000000000000 --- a/pkgs/development/interpreters/perl/http-tiny-verify-ssl-by-default.patch +++ /dev/null @@ -1,79 +0,0 @@ -Patch for HTTP::Tiny that defaults verify_SSL to 1 - -Based on proposed Debian patch by Dominic Hargreaves: -https://salsa.debian.org/perl-team/interpreter/perl/-/commit/1490431e40e22052f75a0b3449f1f53cbd27ba92 - - -diff --git a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm -index 5803e4599..88ba51461 100644 ---- a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm -+++ b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm -@@ -40,7 +40,7 @@ sub _croak { require Carp; Carp::croak(@_) } - #pod * C — Request timeout in seconds (default is 60) If a socket open, - #pod read or write takes longer than the timeout, an exception is thrown. - #pod * C — A boolean that indicates whether to validate the SSL --#pod certificate of an C — connection (default is false) -+#pod certificate of an C — connection (default is true) - #pod * C — A hashref of C — options to pass through to - #pod L - #pod -@@ -112,7 +112,7 @@ sub new { - max_redirect => 5, - timeout => defined $args{timeout} ? $args{timeout} : 60, - keep_alive => 1, -- verify_SSL => $args{verify_SSL} || $args{verify_ssl} || 0, # no verification by default -+ verify_SSL => $args{verify_SSL} // $args{verify_ssl} // 1, # verification by default - no_proxy => $ENV{no_proxy}, - }; - -@@ -1038,7 +1038,7 @@ sub new { - timeout => 60, - max_line_size => 16384, - max_header_lines => 64, -- verify_SSL => 0, -+ verify_SSL => 1, - SSL_options => {}, - %args - }, $class; -@@ -1765,7 +1765,7 @@ C — Request timeout in seconds (default is 60) If a socket open, read - - =item * - --C — A boolean that indicates whether to validate the SSL certificate of an C — connection (default is false) -+C — A boolean that indicates whether to validate the SSL certificate of an C — connection (default is true) - - =item * - -@@ -2035,7 +2035,7 @@ Verification of server identity - - =back - --B. -+B. - - Server identity verification is controversial and potentially tricky because it - depends on a (usually paid) third-party Certificate Authority (CA) trust model -@@ -2043,16 +2043,14 @@ to validate a certificate as legitimate. This discriminates against servers - with self-signed certificates or certificates signed by free, community-driven - CA's such as L. - --By default, HTTP::Tiny does not make any assumptions about your trust model, --threat level or risk tolerance. It just aims to give you an encrypted channel --when you need one. -- - Setting the C attribute to a true value will make HTTP::Tiny verify - that an SSL connection has a valid SSL certificate corresponding to the host - name of the connection and that the SSL certificate has been verified by a CA. - Assuming you trust the CA, this will protect against a L. If you are --concerned about security, you should enable this option. -+attack|http://en.wikipedia.org/wiki/Man-in-the-middle_attack>. -+ -+If you are not concerned about security, and this default in NixOS causes -+problems, you should disable this option. - - Certificate verification requires a file containing trusted CA certificates. - --- - - diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index b95adaf8287d4..e8ba73ece1d19 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -62,12 +62,8 @@ stdenv.mkDerivation (rec { disallowedReferences = [ stdenv.cc ]; - patches = - # Enable TLS/SSL verification in HTTP::Tiny by default - lib.optional (lib.versionOlder version "5.38.0") ./http-tiny-verify-ssl-by-default.patch - + patches = [] # Do not look in /usr etc. for dependencies. - ++ lib.optional (lib.versionOlder version "5.38.0") ./no-sys-dirs-5.31.patch ++ lib.optional ((lib.versions.majorMinor version) == "5.38") ./no-sys-dirs-5.38.0.patch ++ lib.optional ((lib.versions.majorMinor version) == "5.40") ./no-sys-dirs-5.40.0.patch diff --git a/pkgs/development/interpreters/perl/no-sys-dirs-5.31.patch b/pkgs/development/interpreters/perl/no-sys-dirs-5.31.patch deleted file mode 100644 index 62dce0e25b94a..0000000000000 --- a/pkgs/development/interpreters/perl/no-sys-dirs-5.31.patch +++ /dev/null @@ -1,254 +0,0 @@ -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure ---- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200 -+++ perl-5.20.0/Configure 2014-06-25 10:43:35.368285986 +0200 -@@ -106,15 +106,7 @@ - fi - - : Proper PATH setting --paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' --paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" --paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" --paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" --paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" --paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" --paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" --paths="$paths /sbin /usr/sbin /usr/libexec" --paths="$paths /system/gnu_library/bin" -+paths='' - - for p in $paths - do -@@ -1337,8 +1329,7 @@ - archname='' - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. --locincpth="/usr/local/include /opt/local/include /usr/gnu/include" --locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" -+locincpth="" - : - : no include file wanted by default - inclwanted='' -@@ -1349,17 +1340,12 @@ - - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 --xlibpth='/usr/lib/386 /lib/386' -+xlibpth='' - : Possible local library directories to search. --loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" --loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" -+loclibpth="" - - : general looking path for locating libraries --glibpth="/lib /usr/lib $xlibpth" --glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" --test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" --test -f /shlib/libc.so && glibpth="/shlib $glibpth" --test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64" -+glibpth="" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special -@@ -1391,8 +1377,6 @@ - libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" - : We probably want to search /usr/shlib before most other libraries. - : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. --glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` --glibpth="/usr/shlib $glibpth" - : Do not use vfork unless overridden by a hint file. - usevfork=false - -@@ -2446,7 +2430,6 @@ - zip - " - pth=`echo $PATH | sed -e "s/$p_/ /g"` --pth="$pth $sysroot/lib $sysroot/usr/lib" - for file in $loclist; do - eval xxx=\$$file - case "$xxx" in -@@ -4936,7 +4919,7 @@ - : Set private lib path - case "$plibpth" in - '') if ./mips; then -- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib" -+ plibpth="$incpath/usr/lib" - fi;; - esac - case "$libpth" in -@@ -8600,13 +8583,8 @@ - echo " " - case "$sysman" in - '') -- syspath='/usr/share/man/man1 /usr/man/man1' -- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" -- syspath="$syspath /usr/man/u_man/man1" -- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" -- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" -- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" -- sysman=`./loc . /usr/man/man1 $syspath` -+ syspath='' -+ sysman='' - ;; - esac - if $test -d "$sysman"; then -@@ -19900,9 +19878,10 @@ - case "$full_ar" in - '') full_ar=$ar ;; - esac -+full_ar=ar - - : Store the full pathname to the sed program for use in the C program --full_sed=$sed -+full_sed=sed - - : see what type gids are declared as in the kernel - echo " " -Only in perl-5.20.0/: Configure.orig -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL ---- perl-5.20.0-orig/ext/Errno/Errno_pm.PL 2014-05-26 15:34:20.000000000 +0200 -+++ perl-5.20.0/ext/Errno/Errno_pm.PL 2014-06-25 10:31:24.317970047 +0200 -@@ -134,12 +126,7 @@ - if ($dep =~ /(\S+errno\.h)/) { - $file{$1} = 1; - } -- } elsif ($^O eq 'linux' && -- $Config{gccversion} ne '' && -- $Config{gccversion} !~ /intel/i && -- # might be using, say, Intel's icc -- $linux_errno_h -- ) { -+ } elsif (0) { - $file{$linux_errno_h} = 1; - } elsif ($^O eq 'haiku') { - # hidden in a special place -Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh ---- perl-5.20.0-orig/hints/freebsd.sh 2014-01-31 22:55:51.000000000 +0100 -+++ perl-5.20.0/hints/freebsd.sh 2014-06-25 10:25:53.263964680 +0200 -@@ -119,21 +119,21 @@ - objformat=`/usr/bin/objformat` - if [ x$objformat = xaout ]; then - if [ -e /usr/lib/aout ]; then -- libpth="/usr/lib/aout /usr/local/lib /usr/lib" -- glibpth="/usr/lib/aout /usr/local/lib /usr/lib" -+ libpth="" -+ glibpth="" - fi - lddlflags='-Bshareable' - else -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - fi - cccdlflags='-DPIC -fPIC' - ;; - *) -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - cccdlflags='-DPIC -fPIC' -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh ---- perl-5.20.0-orig/hints/linux.sh 2014-05-26 15:34:20.000000000 +0200 -+++ perl-5.20.0/hints/linux.sh 2014-06-25 10:33:47.354883843 +0200 -@@ -150,28 +150,6 @@ case "$optimize" in - ;; - esac - --# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries --# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us --# where to look. We don't want gcc's own libraries, however, so we --# filter those out. --# This could be conditional on Unbuntu, but other distributions may --# follow suit, and this scheme seems to work even on rather old gcc's. --# This unconditionally uses gcc because even if the user is using another --# compiler, we still need to find the math library and friends, and I don't --# know how other compilers will cope with that situation. --# Morever, if the user has their own gcc earlier in $PATH than the system gcc, --# we don't want its libraries. So we try to prefer the system gcc --# Still, as an escape hatch, allow Configure command line overrides to --# plibpth to bypass this check. --if [ -x /usr/bin/gcc ] ; then -- gcc=/usr/bin/gcc --# clang also provides -print-search-dirs --elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then -- gcc=${cc:-cc} --else -- gcc=gcc --fi -- - case "$plibpth" in - '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | - cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` -@@ -208,32 +186,6 @@ case "$usequadmath" in - ;; - esac - --case "$libc" in --'') --# If you have glibc, then report the version for ./myconfig bug reporting. --# (Configure doesn't need to know the specific version since it just uses --# gcc to load the library for all tests.) --# We don't use __GLIBC__ and __GLIBC_MINOR__ because they --# are insufficiently precise to distinguish things like --# libc-2.0.6 and libc-2.0.7. -- for p in $plibpth -- do -- for trylib in libc.so.6 libc.so -- do -- if $test -e $p/$trylib; then -- libc=`ls -l $p/$trylib | awk '{print $NF}'` -- if $test "X$libc" != X; then -- break -- fi -- fi -- done -- if $test "X$libc" != X; then -- break -- fi -- done -- ;; --esac -- - if ${sh:-/bin/sh} -c exit; then - echo '' - echo 'You appear to have a working bash. Good.' -@@ -311,33 +263,6 @@ sparc*) - ;; - esac - --# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than --# true libraries. The scripts cause binding against static --# version of -lgdbm which is a bad idea. So if we have 'nm' --# make sure it can read the file --# NI-S 2003/08/07 --case "$nm" in -- '') ;; -- *) -- for p in $plibpth -- do -- if $test -r $p/libndbm.so; then -- if $nm $p/libndbm.so >/dev/null 2>&1 ; then -- echo 'Your shared -lndbm seems to be a real library.' -- _libndbm_real=1 -- break -- fi -- fi -- done -- if $test "X$_libndbm_real" = X; then -- echo 'Your shared -lndbm is not a real library.' -- set `echo X "$libswanted "| sed -e 's/ ndbm / /'` -- shift -- libswanted="$*" -- fi -- ;; --esac -- - # Linux on Synology. - if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then - # Tested on Synology DS213 and DS413 From 478bc3b40ccdb9e92c045326cc0f9f2113f89a7b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 09:46:45 +0200 Subject: [PATCH 240/491] bluez: python3.pkgs -> python3Packages python3.pkgs does not splice properly. --- pkgs/by-name/bl/bluez/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix index 30182345b0c86..9b305b7d7fb60 100644 --- a/pkgs/by-name/bl/bluez/package.nix +++ b/pkgs/by-name/bl/bluez/package.nix @@ -11,7 +11,7 @@ , json_c , libical , pkg-config -, python3 +, python3Packages , readline , systemdMinimal , udev @@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: { glib json_c libical - python3 + python3Packages.python readline udev ]; @@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ docutils pkg-config - python3.pkgs.wrapPython + python3Packages.wrapPython ]; outputs = [ "out" "dev" ] @@ -122,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: { doCheck = stdenv.hostPlatform.isx86_64; postInstall = let - pythonPath = with python3.pkgs; [ + pythonPath = with python3Packages; [ dbus-python pygobject3 ]; From c4ba2c64b4d875b3e98ff2e0311f6521ca668ff2 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 09:47:30 +0200 Subject: [PATCH 241/491] bluez: 5.76 -> 5.78 Fixes building for musl with GCC 14. Closes: https://github.com/NixOS/nixpkgs/pull/334891 --- pkgs/by-name/bl/bluez/package.nix | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix index 9b305b7d7fb60..1345ecc5e27af 100644 --- a/pkgs/by-name/bl/bluez/package.nix +++ b/pkgs/by-name/bl/bluez/package.nix @@ -24,28 +24,20 @@ stdenv.mkDerivation (finalAttrs: { pname = "bluez"; - version = "5.76"; + version = "5.78"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/bluez-${finalAttrs.version}.tar.xz"; - hash = "sha256-VeLGRZCa2C2DPELOhewgQ04O8AcJQbHqtz+s3SQLvWM="; + hash = "sha256-gw/tGRXF03W43g9eb0X83qDcxf9f+z0x227Q8A1zxeM="; }; - patches = [ - # hog-lib: Fix passing wrong parameters to bt_uhid_get_report_reply - (fetchpatch { - url = "https://github.com/bluez/bluez/commit/5ebaeab4164f80539904b9a520d9b7a8307e06e2.patch"; - hash = "sha256-f1A8DmRPfm+zid4XMj1zsfcLZ0WTEax3YPbydKZF9RE="; - }) - ] - # Disable one failing test with musl libc, also seen by alpine - # https://github.com/bluez/bluez/issues/726 - ++ lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) - (fetchurl { - url = "https://git.alpinelinux.org/aports/plain/main/bluez/disable_aics_unit_testcases.patch?id=8e96f7faf01a45f0ad8449c1cd825db63a8dfd48"; - hash = "sha256-1PJkipqBO3qxxOqRFQKfpWlne1kzTCgtnTFYI1cFQt4="; - }) - ; + # Disable one failing test with musl libc, also seen by alpine + # https://github.com/bluez/bluez/issues/726 + patches = lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) + (fetchurl { + url = "https://git.alpinelinux.org/aports/plain/main/bluez/disable_aics_unit_testcases.patch?id=8e96f7faf01a45f0ad8449c1cd825db63a8dfd48"; + hash = "sha256-1PJkipqBO3qxxOqRFQKfpWlne1kzTCgtnTFYI1cFQt4="; + }); buildInputs = [ alsa-lib @@ -62,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ docutils pkg-config + python3Packages.pygments python3Packages.wrapPython ]; From 14eeeb307c3ac1bd2411587a31786ad770f1dac9 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 15 Aug 2024 21:43:10 +0100 Subject: [PATCH 242/491] libapparmor: 4.0.1 -> 4.0.3 Changes: https://gitlab.com/apparmor/apparmor/-/compare/v4.0.1...v4.0.3?from_project_id=4484878&straight=false --- pkgs/os-specific/linux/apparmor/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index 4a82ce057454d..eb2c6ba5d8825 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -23,7 +23,7 @@ }: let - apparmor-version = "4.0.1"; + apparmor-version = "4.0.3"; apparmor-meta = component: with lib; { homepage = "https://apparmor.net/"; @@ -37,7 +37,7 @@ let owner = "apparmor"; repo = "apparmor"; rev = "v${apparmor-version}"; - hash = "sha256-0S/P62wi3/aPATvJL6afu+SebjoSHsTMu/WV9m7E1OE="; + hash = "sha256-6RMttvlXepxUyqdZeDujjVGOwuXl/nXnjii4sA/ppc4="; }; aa-teardown = writeShellScript "aa-teardown" '' From 4d0ae3fa06ed23be487119d389b7d48981676bc4 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 11:26:33 +0200 Subject: [PATCH 243/491] libpcap: enable parallel building Tested at -j20. --- pkgs/development/libraries/libpcap/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index 7256e49226057..777ddbb2764ec 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -54,6 +54,8 @@ stdenv.mkDerivation rec { fi ''; + enableParallelBuilding = true; + passthru.tests = { inherit ettercap nmap ostinato tcpreplay vde2 wireshark; inherit (python3.pkgs) pcapy-ng scapy; From a9e319e296f63de89248b2e24cdf7a10a6e321bd Mon Sep 17 00:00:00 2001 From: natsukium Date: Sun, 15 Sep 2024 17:11:16 +0900 Subject: [PATCH 244/491] python312Packages.ipython: 8.26.0 -> 8.27.0 Changelog: https://github.com/ipython/ipython/blob/8.27.0/docs/source/whatsnew/version8.rst --- pkgs/development/python-modules/ipython/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix index e13f14a2411e9..019fe61ca5d4a 100644 --- a/pkgs/development/python-modules/ipython/default.nix +++ b/pkgs/development/python-modules/ipython/default.nix @@ -42,13 +42,13 @@ buildPythonPackage rec { pname = "ipython"; - version = "8.26.0"; + version = "8.27.0"; pyproject = true; disabled = pythonOlder "3.10"; src = fetchPypi { inherit pname version; - hash = "sha256-HOwPu6hASvE/rOvoPQRDanQ0x0AOWfR6z0Z8ZKvQlWw="; + hash = "sha256-C5mi3J8V/WhpLomOVWhyXG1JxSfTap+1lg/73qqC/34="; }; build-system = [ setuptools ]; From 0d10cf983204627e27a2478c8665f3eb819959a5 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 10:17:36 +0200 Subject: [PATCH 245/491] kexec-tools: 2.0.28 -> 2.0.29 --- pkgs/os-specific/linux/kexec-tools/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/linux/kexec-tools/default.nix b/pkgs/os-specific/linux/kexec-tools/default.nix index fb5911a68053c..22ba985fecceb 100644 --- a/pkgs/os-specific/linux/kexec-tools/default.nix +++ b/pkgs/os-specific/linux/kexec-tools/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "kexec-tools"; - version = "2.0.28"; + version = "2.0.29"; src = fetchurl { urls = [ "mirror://kernel/linux/utils/kernel/kexec/${pname}-${version}.tar.xz" "http://horms.net/projects/kexec/kexec-tools/${pname}-${version}.tar.xz" ]; - sha256 = "sha256-0vDvhy854v5LGwH+tisAATgyByObn4BB+YqVVkFh0FM="; + sha256 = "sha256-Z7GsUDqt5FpU2wvHkiiogwo11dT4PO6TLP8+eoGkqew="; }; patches = [ @@ -18,11 +18,6 @@ stdenv.mkDerivation rec { url = "https://raw.githubusercontent.com/void-linux/void-packages/6c1192cbf166698932030c2e3de71db1885a572d/srcpkgs/kexec-tools/patches/ppc64-elfv2.patch"; sha256 = "19wzfwb0azm932v0vhywv4221818qmlmvdfwpvvpfyw4hjsc2s1l"; }) - # binutils-2.42 support - (fetchpatch { - url = "https://github.com/horms/kexec-tools/commit/328de8e00e298f00d7ba6b25dc3950147e9642e6.patch"; - hash = "sha256-wVQI4oV+hBLq3kGIp2+F5J3f6s/TypDu3Xq583KYc3U="; - }) ] ++ lib.optional (stdenv.hostPlatform.useLLVM or false) ./fix-purgatory-llvm-libunwind.patch; hardeningDisable = [ "format" "pic" "relro" "pie" ]; From 0e02f3d26306c4d0a339df8a534ea26d178ea86b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 10:21:40 +0200 Subject: [PATCH 246/491] attr: backport patch for musl 1.2.5 --- pkgs/development/libraries/attr/default.nix | 2 ++ pkgs/development/libraries/attr/musl.patch | 27 +++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/libraries/attr/musl.patch diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index eb8f0d1c3b976..dfc8a5cdb82b3 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -18,6 +18,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext ]; + patches = [ ./musl.patch ]; + postPatch = '' for script in install-sh include/install-sh; do patchShebangs $script diff --git a/pkgs/development/libraries/attr/musl.patch b/pkgs/development/libraries/attr/musl.patch new file mode 100644 index 0000000000000..818161f152436 --- /dev/null +++ b/pkgs/development/libraries/attr/musl.patch @@ -0,0 +1,27 @@ +From 8a80d895dfd779373363c3a4b62ecce5a549efb2 Mon Sep 17 00:00:00 2001 +From: "Haelwenn (lanodan) Monnier" +Date: Sat, 30 Mar 2024 10:17:10 +0100 +Subject: tools/attr.c: Add missing libgen.h include for basename(3) + +Fixes compilation issue with musl and modern C99 compilers. + +See: https://bugs.gentoo.org/926294 +--- + tools/attr.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/attr.c b/tools/attr.c +index f12e4af..6a3c1e9 100644 +--- a/tools/attr.c ++++ b/tools/attr.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include + +-- +cgit v1.1 + From f8cc30d10268a2bda0dbdbb1d9ad95b2860fbecb Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 10:28:31 +0200 Subject: [PATCH 247/491] libapparmor: backport patch for musl 1.2.5 --- pkgs/os-specific/linux/apparmor/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index eb2c6ba5d8825..b47dbec761647 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -59,6 +59,12 @@ let patches = [ ./0001-aa-remove-unknown_empty-ruleset.patch + + (fetchpatch { + name = "basename.patch"; + url = "https://gitlab.com/apparmor/apparmor/-/commit/7fb040bde69ebdfce48cf1a01c1a62fd4f8eef0a.patch"; + hash = "sha256-RZ04nfcV8hTd2CO3mYcfOGCLke8+FhV7DPfmDqSSdWk="; + }) ] ++ lib.optionals stdenv.hostPlatform.isMusl [ (fetchpatch { url = "https://git.alpinelinux.org/aports/plain/testing/apparmor/0003-Added-missing-typedef-definitions-on-parser.patch?id=74b8427cc21f04e32030d047ae92caa618105b53"; From 0acc58ad636a7292ad920622853a05f76d3d6c61 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 11:22:03 +0200 Subject: [PATCH 248/491] util-linux: backport patch for musl 1.2.5 --- pkgs/os-specific/linux/util-linux/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index e393bf1ac08e6..5bc441b7a07bc 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, zlib, shadow +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, zlib, shadow , capabilitiesSupport ? stdenv.isLinux , libcap_ng , libxcrypt @@ -29,6 +29,12 @@ stdenv.mkDerivation rec { patches = [ ./rtcwake-search-PATH-for-shutdown.patch + + (fetchpatch { + name = "basename.patch"; + url = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/patch/?id=77454e58d58f904cfdc02d3ca5bb65f1bd8739fc"; + hash = "sha256-ELWC4bYN3rvn9XIN0XgCo55pXNfS2VpbZWuwzRLfO/0="; + }) ]; # We separate some of the utilities into their own outputs. This From 5f04a666d3c39b2c13293c2e025722809917ad9f Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 15 Sep 2024 12:16:24 +0200 Subject: [PATCH 249/491] glibc: 2.39-52 -> 2.40-36 Announcement: https://sourceware.org/pipermail/libc-announce/2024/000042.html --- .../libraries/glibc/2.39-master.patch | 10857 ---------------- .../libraries/glibc/2.40-master.patch | 5127 ++++++++ pkgs/development/libraries/glibc/common.nix | 14 +- 3 files changed, 5134 insertions(+), 10864 deletions(-) delete mode 100644 pkgs/development/libraries/glibc/2.39-master.patch create mode 100644 pkgs/development/libraries/glibc/2.40-master.patch diff --git a/pkgs/development/libraries/glibc/2.39-master.patch b/pkgs/development/libraries/glibc/2.39-master.patch deleted file mode 100644 index 88e629981e3ce..0000000000000 --- a/pkgs/development/libraries/glibc/2.39-master.patch +++ /dev/null @@ -1,10857 +0,0 @@ -commit 6d1e3fb07b45e2e31e469b16cf21b24bccf8914c -Author: Andreas K. Hüttel -Date: Wed Jan 31 02:12:43 2024 +0100 - - Replace advisories directory - - Signed-off-by: Andreas K. Hüttel - -diff --git a/advisories/GLIBC-SA-2023-0001 b/advisories/GLIBC-SA-2023-0001 -deleted file mode 100644 -index 3d19c91b6a..0000000000 ---- a/advisories/GLIBC-SA-2023-0001 -+++ /dev/null -@@ -1,14 +0,0 @@ --printf: incorrect output for integers with thousands separator and width field -- --When the printf family of functions is called with a format specifier --that uses an (enable grouping) and a minimum width --specifier, the resulting output could be larger than reasonably expected --by a caller that computed a tight bound on the buffer size. The --resulting larger than expected output could result in a buffer overflow --in the printf family of functions. -- --CVE-Id: CVE-2023-25139 --Public-Date: 2023-02-02 --Vulnerable-Commit: e88b9f0e5cc50cab57a299dc7efe1a4eb385161d (2.37) --Fix-Commit: c980549cc6a1c03c23cc2fe3e7b0fe626a0364b0 (2.38) --Fix-Commit: 07b9521fc6369d000216b96562ff7c0ed32a16c4 (2.37-4) -diff --git a/advisories/GLIBC-SA-2023-0002 b/advisories/GLIBC-SA-2023-0002 -deleted file mode 100644 -index 5122669a64..0000000000 ---- a/advisories/GLIBC-SA-2023-0002 -+++ /dev/null -@@ -1,15 +0,0 @@ --getaddrinfo: Stack read overflow in no-aaaa mode -- --If the system is configured in no-aaaa mode via /etc/resolv.conf, --getaddrinfo is called for the AF_UNSPEC address family, and a DNS --response is received over TCP that is larger than 2048 bytes, --getaddrinfo may potentially disclose stack contents via the returned --address data, or crash. -- --CVE-Id: CVE-2023-4527 --Public-Date: 2023-09-12 --Vulnerable-Commit: f282cdbe7f436c75864e5640a409a10485e9abb2 (2.36) --Fix-Commit: bd77dd7e73e3530203be1c52c8a29d08270cb25d (2.39) --Fix-Commit: 4ea972b7edd7e36610e8cde18bf7a8149d7bac4f (2.36-113) --Fix-Commit: b7529346025a130fee483d42178b5c118da971bb (2.37-38) --Fix-Commit: b25508dd774b617f99419bdc3cf2ace4560cd2d6 (2.38-19) -diff --git a/advisories/GLIBC-SA-2023-0003 b/advisories/GLIBC-SA-2023-0003 -deleted file mode 100644 -index d3aef80348..0000000000 ---- a/advisories/GLIBC-SA-2023-0003 -+++ /dev/null -@@ -1,15 +0,0 @@ --getaddrinfo: Potential use-after-free -- --When an NSS plugin only implements the _gethostbyname2_r and --_getcanonname_r callbacks, getaddrinfo could use memory that was freed --during buffer resizing, potentially causing a crash or read or write to --arbitrary memory. -- --CVE-Id: CVE-2023-4806 --Public-Date: 2023-09-12 --Fix-Commit: 973fe93a5675c42798b2161c6f29c01b0e243994 (2.39) --Fix-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) --Fix-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) --Fix-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) --Fix-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) --Fix-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) -diff --git a/advisories/GLIBC-SA-2023-0004 b/advisories/GLIBC-SA-2023-0004 -deleted file mode 100644 -index 5286a7aa54..0000000000 ---- a/advisories/GLIBC-SA-2023-0004 -+++ /dev/null -@@ -1,16 +0,0 @@ --tunables: local privilege escalation through buffer overflow -- --If a tunable of the form NAME=NAME=VAL is passed in the environment of a --setuid program and NAME is valid, it may result in a buffer overflow, --which could be exploited to achieve escalated privileges. This flaw was --introduced in glibc 2.34. -- --CVE-Id: CVE-2023-4911 --Public-Date: 2023-10-03 --Vulnerable-Commit: 2ed18c5b534d9e92fc006202a5af0df6b72e7aca (2.34) --Fix-Commit: 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa (2.39) --Fix-Commit: dcc367f148bc92e7f3778a125f7a416b093964d9 (2.34-423) --Fix-Commit: c84018a05aec80f5ee6f682db0da1130b0196aef (2.35-274) --Fix-Commit: 22955ad85186ee05834e47e665056148ca07699c (2.36-118) --Fix-Commit: b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 (2.37-45) --Fix-Commit: 750a45a783906a19591fb8ff6b7841470f1f5701 (2.38-27) -diff --git a/advisories/GLIBC-SA-2023-0005 b/advisories/GLIBC-SA-2023-0005 -deleted file mode 100644 -index cc4eb90b82..0000000000 ---- a/advisories/GLIBC-SA-2023-0005 -+++ /dev/null -@@ -1,18 +0,0 @@ --getaddrinfo: DoS due to memory leak -- --The fix for CVE-2023-4806 introduced a memory leak when an application --calls getaddrinfo for AF_INET6 with AI_CANONNAME, AI_ALL and AI_V4MAPPED --flags set. -- --CVE-Id: CVE-2023-5156 --Public-Date: 2023-09-25 --Vulnerable-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) --Vulnerable-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) --Vulnerable-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) --Vulnerable-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) --Vulnerable-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) --Fix-Commit: 8006457ab7e1cd556b919f477348a96fe88f2e49 (2.34-421) --Fix-Commit: 17092c0311f954e6f3c010f73ce3a78c24ac279a (2.35-272) --Fix-Commit: 856bac55f98dc840e7c27cfa82262b933385de90 (2.36-116) --Fix-Commit: 4473d1b87d04b25cdd0e0354814eeaa421328268 (2.37-42) --Fix-Commit: 5ee59ca371b99984232d7584fe2b1a758b4421d3 (2.38-24) -diff --git a/advisories/GLIBC-SA-2024-0001 b/advisories/GLIBC-SA-2024-0001 -deleted file mode 100644 -index 28931c75ae..0000000000 ---- a/advisories/GLIBC-SA-2024-0001 -+++ /dev/null -@@ -1,15 +0,0 @@ --syslog: Heap buffer overflow in __vsyslog_internal -- --__vsyslog_internal did not handle a case where printing a SYSLOG_HEADER --containing a long program name failed to update the required buffer --size, leading to the allocation and overflow of a too-small buffer on --the heap. -- --CVE-Id: CVE-2023-6246 --Public-Date: 2024-01-30 --Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) --Fix-Commit: 6bd0e4efcc78f3c0115e5ea9739a1642807450da (2.39) --Fix-Commit: 23514c72b780f3da097ecf33a793b7ba9c2070d2 (2.38-42) --Fix-Commit: 97a4292aa4a2642e251472b878d0ec4c46a0e59a (2.37-57) --Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) --Fix-Commit: d1a83b6767f68b3cb5b4b4ea2617254acd040c82 (2.36-126) -diff --git a/advisories/GLIBC-SA-2024-0002 b/advisories/GLIBC-SA-2024-0002 -deleted file mode 100644 -index 940bfcf2fc..0000000000 ---- a/advisories/GLIBC-SA-2024-0002 -+++ /dev/null -@@ -1,15 +0,0 @@ --syslog: Heap buffer overflow in __vsyslog_internal -- --__vsyslog_internal used the return value of snprintf/vsnprintf to --calculate buffer sizes for memory allocation. If these functions (for --any reason) failed and returned -1, the resulting buffer would be too --small to hold output. -- --CVE-Id: CVE-2023-6779 --Public-Date: 2024-01-30 --Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) --Fix-Commit: 7e5a0c286da33159d47d0122007aac016f3e02cd (2.39) --Fix-Commit: d0338312aace5bbfef85e03055e1212dd0e49578 (2.38-43) --Fix-Commit: 67062eccd9a65d7fda9976a56aeaaf6c25a80214 (2.37-58) --Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) --Fix-Commit: 2bc9d7c002bdac38b5c2a3f11b78e309d7765b83 (2.36-127) -diff --git a/advisories/GLIBC-SA-2024-0003 b/advisories/GLIBC-SA-2024-0003 -deleted file mode 100644 -index b43a5150ab..0000000000 ---- a/advisories/GLIBC-SA-2024-0003 -+++ /dev/null -@@ -1,13 +0,0 @@ --syslog: Integer overflow in __vsyslog_internal -- --__vsyslog_internal calculated a buffer size by adding two integers, but --did not first check if the addition would overflow. -- --CVE-Id: CVE-2023-6780 --Public-Date: 2024-01-30 --Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) --Fix-Commit: ddf542da94caf97ff43cc2875c88749880b7259b (2.39) --Fix-Commit: d37c2b20a4787463d192b32041c3406c2bd91de0 (2.38-44) --Fix-Commit: 2b58cba076e912961ceaa5fa58588e4b10f791c0 (2.37-59) --Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) --Fix-Commit: b9b7d6a27aa0632f334352fa400771115b3c69b7 (2.36-128) -diff --git a/advisories/README b/advisories/README -deleted file mode 100644 -index 94e68b1350..0000000000 ---- a/advisories/README -+++ /dev/null -@@ -1,73 +0,0 @@ --GNU C Library Security Advisory Format --====================================== -- --Security advisories in this directory follow a simple git commit log --format, with a heading and free-format description augmented with tags --to allow parsing key information. References to code changes are --specific to the glibc repository and follow a specific format: -- -- Tag-name: (release-version) -- --The indicates a specific commit in the repository. The --release-version indicates the publicly consumable release in which this --commit is known to exist. The release-version is derived from the --git-describe format, (i.e. stripped out from glibc-2.34.NNN-gxxxx) and --is of the form 2.34-NNN. If the -NNN suffix is absent, it means that --the change is in that release tarball, otherwise the change is on the --release/2.YY/master branch and not in any released tarball. -- --The following tags are currently being used: -- --CVE-Id: --This is the CVE-Id assigned under the CVE Program --(https://www.cve.org/). -- --Public-Date: --The date this issue became publicly known. -- --Vulnerable-Commit: --The commit that introduced this vulnerability. There could be multiple --entries, one for each release branch in the glibc repository; the --release-version portion of this tag should tell you which branch this is --on. -- --Fix-Commit: --The commit that fixed this vulnerability. There could be multiple --entries for each release branch in the glibc repository, indicating that --all of those commits contributed to fixing that issue in each of those --branches. -- --Adding an Advisory -------------------- -- --An advisory for a CVE needs to be added on the master branch in two steps: -- --1. Add the text of the advisory without any Fix-Commit tags along with -- the fix for the CVE. Add the Vulnerable-Commit tag, if applicable. -- The advisories directory does not exist in release branches, so keep -- the advisory text commit distinct from the code changes, to ease -- backports. Ask for the GLIBC-SA advisory number from the security -- team. -- --2. Finish all backports on release branches and then back on the msater -- branch, add all commit refs to the advisory using the Fix-Commit -- tags. Don't bother adding the release-version subscript since the -- next step will overwrite it. -- --3. Run the process-advisories.sh script in the scripts directory on the -- advisory: -- -- scripts/process-advisories.sh update GLIBC-SA-YYYY-NNNN -- -- (replace YYYY-NNNN with the actual advisory number). -- --4. Verify the updated advisory and push the result. -- --Getting a NEWS snippet from advisories ---------------------------------------- -- --Run: -- -- scripts/process-advisories.sh news -- --and copy the content into the NEWS file. - -commit 63295e4fda1f6dab4bf7442706fe303bf283036c -Author: Adhemerval Zanella -Date: Mon Feb 5 16:10:24 2024 +0000 - - arm: Remove wrong ldr from _dl_start_user (BZ 31339) - - The commit 49d877a80b29d3002887b084eec6676d9f5fec18 (arm: Remove - _dl_skip_args usage) removed the _SKIP_ARGS literal, which was - previously loader to r4 on loader _start. However, the cleanup did not - remove the following 'ldr r4, [sl, r4]' on _dl_start_user, used to check - to skip the arguments after ld self-relocations. - - In my testing, the kernel initially set r4 to 0, which makes the - ldr instruction just read the _GLOBAL_OFFSET_TABLE_. However, since r4 - is a callee-saved register; a different runtime might not zero - initialize it and thus trigger an invalid memory access. - - Checked on arm-linux-gnu. - - Reported-by: Adrian Ratiu - Reviewed-by: Szabolcs Nagy - (cherry picked from commit 1e25112dc0cb2515d27d8d178b1ecce778a9d37a) - -diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h -index b857bbc868..dd1a0f6b6e 100644 ---- a/sysdeps/arm/dl-machine.h -+++ b/sysdeps/arm/dl-machine.h -@@ -139,7 +139,6 @@ _start:\n\ - _dl_start_user:\n\ - adr r6, .L_GET_GOT\n\ - add sl, sl, r6\n\ -- ldr r4, [sl, r4]\n\ - @ save the entry point in another register\n\ - mov r6, r0\n\ - @ get the original arg count\n\ - -commit 312e159626b67fe11f39e83e222cf4348a3962f3 -Author: Adhemerval Zanella -Date: Thu Feb 1 14:29:53 2024 -0300 - - mips: FIx clone3 implementation (BZ 31325) - - For o32 we need to setup a minimal stack frame to allow cprestore - on __thread_start_clone3 (which instruct the linker to save the - gp for PIC). Also, there is no guarantee by kABI that $8 will be - preserved after syscall execution, so we need to save it on the - provided stack. - - Checked on mipsel-linux-gnu. - - Reported-by: Khem Raj - Tested-by: Khem Raj - (cherry picked from commit bbd248ac0d75efdef8fe61ea69b1fb25fb95b6e7) - -diff --git a/sysdeps/unix/sysv/linux/mips/clone3.S b/sysdeps/unix/sysv/linux/mips/clone3.S -index e9fec2fa47..481b8ae963 100644 ---- a/sysdeps/unix/sysv/linux/mips/clone3.S -+++ b/sysdeps/unix/sysv/linux/mips/clone3.S -@@ -37,11 +37,6 @@ - - .text - .set nomips16 --#if _MIPS_SIM == _ABIO32 --# define EXTRA_LOCALS 1 --#else --# define EXTRA_LOCALS 0 --#endif - #define FRAMESZ ((NARGSAVE*SZREG)+ALSZ)&ALMASK - GPOFF= FRAMESZ-(1*SZREG) - NESTED(__clone3, SZREG, sp) -@@ -68,8 +63,31 @@ NESTED(__clone3, SZREG, sp) - beqz a0, L(error) /* No NULL cl_args pointer. */ - beqz a2, L(error) /* No NULL function pointer. */ - -+#if _MIPS_SIM == _ABIO32 -+ /* Both stack and stack_size on clone_args are defined as uint64_t, and -+ there is no need to handle values larger than to 32 bits for o32. */ -+# if __BYTE_ORDER == __BIG_ENDIAN -+# define CL_STACKPOINTER_OFFSET 44 -+# define CL_STACKSIZE_OFFSET 52 -+# else -+# define CL_STACKPOINTER_OFFSET 40 -+# define CL_STACKSIZE_OFFSET 48 -+# endif -+ -+ /* For o32 we need to setup a minimal stack frame to allow cprestore -+ on __thread_start_clone3. Also there is no guarantee by kABI that -+ $8 will be preserved after syscall execution (so we need to save it -+ on the provided stack). */ -+ lw t0, CL_STACKPOINTER_OFFSET(a0) /* Load the stack pointer. */ -+ lw t1, CL_STACKSIZE_OFFSET(a0) /* Load the stack_size. */ -+ addiu t1, -32 /* Update the stack size. */ -+ addu t2, t1, t0 /* Calculate the thread stack. */ -+ sw a3, 0(t2) /* Save argument pointer. */ -+ sw t1, CL_STACKSIZE_OFFSET(a0) /* Save the new stack size. */ -+#else - move $8, a3 /* a3 is set to 0/1 for syscall success/error - while a4/$8 is returned unmodified. */ -+#endif - - /* Do the system call, the kernel expects: - v0: system call number -@@ -125,7 +143,11 @@ L(thread_start_clone3): - - /* Restore the arg for user's function. */ - move t9, a2 /* Function pointer. */ -+#if _MIPS_SIM == _ABIO32 -+ PTR_L a0, 0(sp) -+#else - move a0, $8 /* Argument pointer. */ -+#endif - - /* Call the user's function. */ - jal t9 - -commit d0724994de40934c552f1f68de89053848a44927 -Author: Xi Ruoyao -Date: Thu Feb 22 21:26:55 2024 +0100 - - math: Update mips64 ulps - - Signed-off-by: Andreas K. Hüttel - (cherry picked from commit e2a65ecc4b30a797df7dc6529f09b712aa256029) - -diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps -index 78969745b2..933aba4735 100644 ---- a/sysdeps/mips/mips64/libm-test-ulps -+++ b/sysdeps/mips/mips64/libm-test-ulps -@@ -1066,17 +1066,17 @@ double: 1 - ldouble: 1 - - Function: "j0": --double: 2 -+double: 3 - float: 9 - ldouble: 2 - - Function: "j0_downward": --double: 5 -+double: 6 - float: 9 - ldouble: 9 - - Function: "j0_towardzero": --double: 6 -+double: 7 - float: 9 - ldouble: 9 - -@@ -1146,6 +1146,7 @@ float: 6 - ldouble: 8 - - Function: "log": -+double: 1 - float: 1 - ldouble: 1 - - -commit e0910f1d3278f05439fb434ee528fc9be1b6bd5e -Author: Stefan Liebler -Date: Thu Feb 22 15:03:27 2024 +0100 - - S390: Do not clobber r7 in clone [BZ #31402] - - Starting with commit e57d8fc97b90127de4ed3e3a9cdf663667580935 - "S390: Always use svc 0" - clone clobbers the call-saved register r7 in error case: - function or stack is NULL. - - This patch restores the saved registers also in the error case. - Furthermore the existing test misc/tst-clone is extended to check - all error cases and that clone does not clobber registers in this - error case. - - (cherry picked from commit 02782fd12849b6673cb5c2728cb750e8ec295aa3) - -diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/clone.S b/sysdeps/unix/sysv/linux/s390/s390-32/clone.S -index 4c882ef2ee..a7a863242c 100644 ---- a/sysdeps/unix/sysv/linux/s390/s390-32/clone.S -+++ b/sysdeps/unix/sysv/linux/s390/s390-32/clone.S -@@ -53,6 +53,7 @@ ENTRY(__clone) - br %r14 - error: - lhi %r2,-EINVAL -+ lm %r6,%r7,24(%r15) /* Load registers. */ - j SYSCALL_ERROR_LABEL - PSEUDO_END (__clone) - -diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S -index 4eb104be71..c552a6b8de 100644 ---- a/sysdeps/unix/sysv/linux/s390/s390-64/clone.S -+++ b/sysdeps/unix/sysv/linux/s390/s390-64/clone.S -@@ -54,6 +54,7 @@ ENTRY(__clone) - br %r14 - error: - lghi %r2,-EINVAL -+ lmg %r6,%r7,48(%r15) /* Restore registers. */ - jg SYSCALL_ERROR_LABEL - PSEUDO_END (__clone) - -diff --git a/sysdeps/unix/sysv/linux/tst-clone.c b/sysdeps/unix/sysv/linux/tst-clone.c -index 470676ab2b..2bc7124983 100644 ---- a/sysdeps/unix/sysv/linux/tst-clone.c -+++ b/sysdeps/unix/sysv/linux/tst-clone.c -@@ -16,12 +16,16 @@ - License along with the GNU C Library; if not, see - . */ - --/* BZ #2386 */ -+/* BZ #2386, BZ #31402 */ - #include - #include - #include - #include - #include -+#include /* For _STACK_GROWS_{UP,DOWN}. */ -+#include -+ -+volatile unsigned v = 0xdeadbeef; - - int child_fn(void *arg) - { -@@ -30,22 +34,67 @@ int child_fn(void *arg) - } - - static int --do_test (void) -+__attribute__((noinline)) -+do_clone (int (*fn)(void *), void *stack) - { - int result; -+ unsigned int a = v; -+ unsigned int b = v; -+ unsigned int c = v; -+ unsigned int d = v; -+ unsigned int e = v; -+ unsigned int f = v; -+ unsigned int g = v; -+ unsigned int h = v; -+ unsigned int i = v; -+ unsigned int j = v; -+ unsigned int k = v; -+ unsigned int l = v; -+ unsigned int m = v; -+ unsigned int n = v; -+ unsigned int o = v; -+ -+ result = clone (fn, stack, 0, NULL); -+ -+ /* Check that clone does not clobber call-saved registers. */ -+ TEST_VERIFY (a == v && b == v && c == v && d == v && e == v && f == v -+ && g == v && h == v && i == v && j == v && k == v && l == v -+ && m == v && n == v && o == v); -+ -+ return result; -+} -+ -+static void -+__attribute__((noinline)) -+do_test_single (int (*fn)(void *), void *stack) -+{ -+ printf ("%s (fn=%p, stack=%p)\n", __FUNCTION__, fn, stack); -+ errno = 0; -+ -+ int result = do_clone (fn, stack); -+ -+ TEST_COMPARE (errno, EINVAL); -+ TEST_COMPARE (result, -1); -+} - -- result = clone (child_fn, NULL, 0, NULL); -+static int -+do_test (void) -+{ -+ char st[128 * 1024] __attribute__ ((aligned)); -+ void *stack = NULL; -+#if _STACK_GROWS_DOWN -+ stack = st + sizeof (st); -+#elif _STACK_GROWS_UP -+ stack = st; -+#else -+# error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" -+#endif - -- if (errno != EINVAL || result != -1) -- { -- printf ("FAIL: clone()=%d (wanted -1) errno=%d (wanted %d)\n", -- result, errno, EINVAL); -- return 1; -- } -+ do_test_single (child_fn, NULL); -+ do_test_single (NULL, stack); -+ do_test_single (NULL, NULL); - -- puts ("All OK"); - return 0; - } - --#define TEST_FUNCTION do_test () --#include "../test-skeleton.c" -+#include - -commit 1b9c1a0047fb26a65a9b2a7b8cd977243f7d353c -Author: Jakub Jelinek -Date: Wed Jan 31 19:17:27 2024 +0100 - - Use gcc __builtin_stdc_* builtins in stdbit.h if possible - - The following patch uses the GCC 14 __builtin_stdc_* builtins in stdbit.h - for the type-generic macros, so that when compiled with GCC 14 or later, - it supports not just 8/16/32/64-bit unsigned integers, but also 128-bit - (if target supports them) and unsigned _BitInt (any supported precision). - And so that the macros don't expand arguments multiple times and can be - evaluated in constant expressions. - - The new testcase is gcc's gcc/testsuite/gcc.dg/builtin-stdc-bit-1.c - adjusted to test stdbit.h and the type-generic macros in there instead - of the builtins and adjusted to use glibc test framework rather than - gcc style tests with __builtin_abort (). - - Signed-off-by: Jakub Jelinek - Reviewed-by: Joseph Myers - (cherry picked from commit da89496337b97e6a2aaf1e81d55cf998f6db1070) - -diff --git a/manual/stdbit.texi b/manual/stdbit.texi -index fe41c671d8..6c75ed9a20 100644 ---- a/manual/stdbit.texi -+++ b/manual/stdbit.texi -@@ -32,7 +32,13 @@ and @code{unsigned long long int}. In addition, there is a - corresponding type-generic macro (not listed below), named the same as - the functions but without any suffix such as @samp{_uc}. The - type-generic macro can only be used with an argument of an unsigned --integer type with a width of 8, 16, 32 or 64 bits. -+integer type with a width of 8, 16, 32 or 64 bits, or when using -+a compiler with support for -+@uref{https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html,@code{__builtin_stdc_bit_ceil}}, -+etc.@:, built-in functions such as GCC 14.1 or later -+any unsigned integer type those built-in functions support. -+In GCC 14.1 that includes support for @code{unsigned __int128} and -+@code{unsigned _BitInt(@var{n})} if supported by the target. - - @deftypefun {unsigned int} stdc_leading_zeros_uc (unsigned char @var{x}) - @deftypefunx {unsigned int} stdc_leading_zeros_us (unsigned short @var{x}) -diff --git a/stdlib/Makefile b/stdlib/Makefile -index d587f054d1..9898cc5d8a 100644 ---- a/stdlib/Makefile -+++ b/stdlib/Makefile -@@ -308,6 +308,7 @@ tests := \ - tst-setcontext10 \ - tst-setcontext11 \ - tst-stdbit-Wconversion \ -+ tst-stdbit-builtins \ - tst-stdc_bit_ceil \ - tst-stdc_bit_floor \ - tst-stdc_bit_width \ -diff --git a/stdlib/stdbit.h b/stdlib/stdbit.h -index f334eb174d..2801590c63 100644 ---- a/stdlib/stdbit.h -+++ b/stdlib/stdbit.h -@@ -64,9 +64,13 @@ extern unsigned int stdc_leading_zeros_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_leading_zeros_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_leading_zeros(x) \ -+#if __glibc_has_builtin (__builtin_stdc_leading_zeros) -+# define stdc_leading_zeros(x) (__builtin_stdc_leading_zeros (x)) -+#else -+# define stdc_leading_zeros(x) \ - (stdc_leading_zeros_ull (x) \ - - (unsigned int) (8 * (sizeof (0ULL) - sizeof (x)))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) - static __always_inline unsigned int -@@ -116,9 +120,13 @@ extern unsigned int stdc_leading_ones_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_leading_ones_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_leading_ones(x) \ -+#if __glibc_has_builtin (__builtin_stdc_leading_ones) -+# define stdc_leading_ones(x) (__builtin_stdc_leading_ones (x)) -+#else -+# define stdc_leading_ones(x) \ - (stdc_leading_ones_ull ((unsigned long long int) (x) \ - << 8 * (sizeof (0ULL) - sizeof (x)))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) - static __always_inline unsigned int -@@ -168,11 +176,15 @@ extern unsigned int stdc_trailing_zeros_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_trailing_zeros_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_trailing_zeros(x) \ -+#if __glibc_has_builtin (__builtin_stdc_trailing_zeros) -+# define stdc_trailing_zeros(x) (__builtin_stdc_trailing_zeros (x)) -+#else -+# define stdc_trailing_zeros(x) \ - (sizeof (x) == 8 ? stdc_trailing_zeros_ull (x) \ - : sizeof (x) == 4 ? stdc_trailing_zeros_ui (x) \ - : sizeof (x) == 2 ? stdc_trailing_zeros_us (__pacify_uint16 (x)) \ - : stdc_trailing_zeros_uc (__pacify_uint8 (x))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) - static __always_inline unsigned int -@@ -222,7 +234,11 @@ extern unsigned int stdc_trailing_ones_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_trailing_ones_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_trailing_ones(x) (stdc_trailing_ones_ull (x)) -+#if __glibc_has_builtin (__builtin_stdc_trailing_ones) -+# define stdc_trailing_ones(x) (__builtin_stdc_trailing_ones (x)) -+#else -+# define stdc_trailing_ones(x) (stdc_trailing_ones_ull (x)) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) - static __always_inline unsigned int -@@ -272,11 +288,15 @@ extern unsigned int stdc_first_leading_zero_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_first_leading_zero_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_first_leading_zero(x) \ -+#if __glibc_has_builtin (__builtin_stdc_first_leading_zero) -+# define stdc_first_leading_zero(x) (__builtin_stdc_first_leading_zero (x)) -+#else -+# define stdc_first_leading_zero(x) \ - (sizeof (x) == 8 ? stdc_first_leading_zero_ull (x) \ - : sizeof (x) == 4 ? stdc_first_leading_zero_ui (x) \ - : sizeof (x) == 2 ? stdc_first_leading_zero_us (__pacify_uint16 (x)) \ - : stdc_first_leading_zero_uc (__pacify_uint8 (x))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) - static __always_inline unsigned int -@@ -326,11 +346,15 @@ extern unsigned int stdc_first_leading_one_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_first_leading_one_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_first_leading_one(x) \ -+#if __glibc_has_builtin (__builtin_stdc_first_leading_one) -+# define stdc_first_leading_one(x) (__builtin_stdc_first_leading_one (x)) -+#else -+# define stdc_first_leading_one(x) \ - (sizeof (x) == 8 ? stdc_first_leading_one_ull (x) \ - : sizeof (x) == 4 ? stdc_first_leading_one_ui (x) \ - : sizeof (x) == 2 ? stdc_first_leading_one_us (__pacify_uint16 (x)) \ - : stdc_first_leading_one_uc (__pacify_uint8 (x))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) - static __always_inline unsigned int -@@ -380,11 +404,15 @@ extern unsigned int stdc_first_trailing_zero_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_first_trailing_zero_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_first_trailing_zero(x) \ -+#if __glibc_has_builtin (__builtin_stdc_first_trailing_zero) -+# define stdc_first_trailing_zero(x) (__builtin_stdc_first_trailing_zero (x)) -+#else -+# define stdc_first_trailing_zero(x) \ - (sizeof (x) == 8 ? stdc_first_trailing_zero_ull (x) \ - : sizeof (x) == 4 ? stdc_first_trailing_zero_ui (x) \ - : sizeof (x) == 2 ? stdc_first_trailing_zero_us (__pacify_uint16 (x)) \ - : stdc_first_trailing_zero_uc (__pacify_uint8 (x))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) - static __always_inline unsigned int -@@ -434,11 +462,15 @@ extern unsigned int stdc_first_trailing_one_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_first_trailing_one_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_first_trailing_one(x) \ -+#if __glibc_has_builtin (__builtin_stdc_first_trailing_one) -+# define stdc_first_trailing_one(x) (__builtin_stdc_first_trailing_one (x)) -+#else -+# define stdc_first_trailing_one(x) \ - (sizeof (x) == 8 ? stdc_first_trailing_one_ull (x) \ - : sizeof (x) == 4 ? stdc_first_trailing_one_ui (x) \ - : sizeof (x) == 2 ? stdc_first_trailing_one_us (__pacify_uint16 (x)) \ - : stdc_first_trailing_one_uc (__pacify_uint8 (x))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) - static __always_inline unsigned int -@@ -488,9 +520,13 @@ extern unsigned int stdc_count_zeros_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_count_zeros_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_count_zeros(x) \ -+#if __glibc_has_builtin (__builtin_stdc_count_zeros) -+# define stdc_count_zeros(x) (__builtin_stdc_count_zeros (x)) -+#else -+# define stdc_count_zeros(x) \ - (stdc_count_zeros_ull (x) \ - - (unsigned int) (8 * (sizeof (0ULL) - sizeof (x)))) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_popcountll) - static __always_inline unsigned int -@@ -540,7 +576,11 @@ extern unsigned int stdc_count_ones_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_count_ones_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_count_ones(x) (stdc_count_ones_ull (x)) -+#if __glibc_has_builtin (__builtin_stdc_count_ones) -+# define stdc_count_ones(x) (__builtin_stdc_count_ones (x)) -+#else -+# define stdc_count_ones(x) (stdc_count_ones_ull (x)) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_popcountll) - static __always_inline unsigned int -@@ -590,10 +630,14 @@ extern bool stdc_has_single_bit_ul (unsigned long int __x) - __extension__ - extern bool stdc_has_single_bit_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_has_single_bit(x) \ -+#if __glibc_has_builtin (__builtin_stdc_has_single_bit) -+# define stdc_has_single_bit(x) (__builtin_stdc_has_single_bit (x)) -+#else -+# define stdc_has_single_bit(x) \ - ((bool) (sizeof (x) <= sizeof (unsigned int) \ - ? stdc_has_single_bit_ui (x) \ - : stdc_has_single_bit_ull (x))) -+#endif - - static __always_inline bool - __hsb64_inline (uint64_t __x) -@@ -641,7 +685,11 @@ extern unsigned int stdc_bit_width_ul (unsigned long int __x) - __extension__ - extern unsigned int stdc_bit_width_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_bit_width(x) (stdc_bit_width_ull (x)) -+#if __glibc_has_builtin (__builtin_stdc_bit_width) -+# define stdc_bit_width(x) (__builtin_stdc_bit_width (x)) -+#else -+# define stdc_bit_width(x) (stdc_bit_width_ull (x)) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) - static __always_inline unsigned int -@@ -691,7 +739,11 @@ extern unsigned long int stdc_bit_floor_ul (unsigned long int __x) - __extension__ - extern unsigned long long int stdc_bit_floor_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_bit_floor(x) ((__typeof (x)) stdc_bit_floor_ull (x)) -+#if __glibc_has_builtin (__builtin_stdc_bit_floor) -+# define stdc_bit_floor(x) (__builtin_stdc_bit_floor (x)) -+#else -+# define stdc_bit_floor(x) ((__typeof (x)) stdc_bit_floor_ull (x)) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) - static __always_inline uint64_t -@@ -743,7 +795,11 @@ extern unsigned long int stdc_bit_ceil_ul (unsigned long int __x) - __extension__ - extern unsigned long long int stdc_bit_ceil_ull (unsigned long long int __x) - __THROW __attribute_const__; --#define stdc_bit_ceil(x) ((__typeof (x)) stdc_bit_ceil_ull (x)) -+#if __glibc_has_builtin (__builtin_stdc_bit_ceil) -+# define stdc_bit_ceil(x) (__builtin_stdc_bit_ceil (x)) -+#else -+# define stdc_bit_ceil(x) ((__typeof (x)) stdc_bit_ceil_ull (x)) -+#endif - - #if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) - static __always_inline uint64_t -diff --git a/stdlib/tst-stdbit-builtins.c b/stdlib/tst-stdbit-builtins.c -new file mode 100644 -index 0000000000..536841ca8a ---- /dev/null -+++ b/stdlib/tst-stdbit-builtins.c -@@ -0,0 +1,778 @@ -+/* Test type-generic macros with compiler __builtin_stdc_* support. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+ -+#if __glibc_has_builtin (__builtin_stdc_leading_zeros) \ -+ && __glibc_has_builtin (__builtin_stdc_leading_ones) \ -+ && __glibc_has_builtin (__builtin_stdc_trailing_zeros) \ -+ && __glibc_has_builtin (__builtin_stdc_trailing_ones) \ -+ && __glibc_has_builtin (__builtin_stdc_first_leading_zero) \ -+ && __glibc_has_builtin (__builtin_stdc_first_leading_one) \ -+ && __glibc_has_builtin (__builtin_stdc_first_trailing_zero) \ -+ && __glibc_has_builtin (__builtin_stdc_first_trailing_one) \ -+ && __glibc_has_builtin (__builtin_stdc_count_zeros) \ -+ && __glibc_has_builtin (__builtin_stdc_count_ones) \ -+ && __glibc_has_builtin (__builtin_stdc_has_single_bit) \ -+ && __glibc_has_builtin (__builtin_stdc_bit_width) \ -+ && __glibc_has_builtin (__builtin_stdc_bit_floor) \ -+ && __glibc_has_builtin (__builtin_stdc_bit_ceil) -+ -+# if !defined (BITINT_MAXWIDTH) && defined (__BITINT_MAXWIDTH__) -+# define BITINT_MAXWIDTH __BITINT_MAXWIDTH__ -+# endif -+ -+typedef unsigned char uc; -+typedef unsigned short us; -+typedef unsigned int ui; -+typedef unsigned long int ul; -+typedef unsigned long long int ull; -+ -+# define expr_has_type(e, t) _Generic (e, default : 0, t : 1) -+ -+static int -+do_test (void) -+{ -+ TEST_COMPARE (stdc_leading_zeros ((uc) 0), CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_leading_zeros ((us) 0), sizeof (short) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_leading_zeros (0U), sizeof (int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0U), ui), 1); -+ TEST_COMPARE (stdc_leading_zeros (0UL), sizeof (long int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0UL), ui), 1); -+ TEST_COMPARE (stdc_leading_zeros (0ULL), sizeof (long long int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0ULL), ui), 1); -+ TEST_COMPARE (stdc_leading_zeros ((uc) ~0U), 0); -+ TEST_COMPARE (stdc_leading_zeros ((us) ~0U), 0); -+ TEST_COMPARE (stdc_leading_zeros (~0U), 0); -+ TEST_COMPARE (stdc_leading_zeros (~0UL), 0); -+ TEST_COMPARE (stdc_leading_zeros (~0ULL), 0); -+ TEST_COMPARE (stdc_leading_zeros ((uc) 3), CHAR_BIT - 2); -+ TEST_COMPARE (stdc_leading_zeros ((us) 9), sizeof (short) * CHAR_BIT - 4); -+ TEST_COMPARE (stdc_leading_zeros (34U), sizeof (int) * CHAR_BIT - 6); -+ TEST_COMPARE (stdc_leading_zeros (130UL), sizeof (long int) * CHAR_BIT - 8); -+ TEST_COMPARE (stdc_leading_zeros (512ULL), -+ sizeof (long long int) * CHAR_BIT - 10); -+ TEST_COMPARE (stdc_leading_ones ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_leading_ones ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_leading_ones (0U), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones (0U), ui), 1); -+ TEST_COMPARE (stdc_leading_ones (0UL), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones (0UL), ui), 1); -+ TEST_COMPARE (stdc_leading_ones (0ULL), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones (0ULL), ui), 1); -+ TEST_COMPARE (stdc_leading_ones ((uc) ~0U), CHAR_BIT); -+ TEST_COMPARE (stdc_leading_ones ((us) ~0U), sizeof (short) * CHAR_BIT); -+ TEST_COMPARE (stdc_leading_ones (~0U), sizeof (int) * CHAR_BIT); -+ TEST_COMPARE (stdc_leading_ones (~0UL), sizeof (long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_leading_ones (~0ULL), sizeof (long long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_leading_ones ((uc) ~3), CHAR_BIT - 2); -+ TEST_COMPARE (stdc_leading_ones ((us) ~9), sizeof (short) * CHAR_BIT - 4); -+ TEST_COMPARE (stdc_leading_ones (~34U), sizeof (int) * CHAR_BIT - 6); -+ TEST_COMPARE (stdc_leading_ones (~130UL), sizeof (long int) * CHAR_BIT - 8); -+ TEST_COMPARE (stdc_leading_ones (~512ULL), -+ sizeof (long long int) * CHAR_BIT - 10); -+ TEST_COMPARE (stdc_trailing_zeros ((uc) 0), CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros ((us) 0), sizeof (short) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros (0U), sizeof (int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0U), ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros (0UL), sizeof (long int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0UL), ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros (0ULL), sizeof (long long int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0ULL), ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros ((uc) ~0U), 0); -+ TEST_COMPARE (stdc_trailing_zeros ((us) ~0U), 0); -+ TEST_COMPARE (stdc_trailing_zeros (~0U), 0); -+ TEST_COMPARE (stdc_trailing_zeros (~0UL), 0); -+ TEST_COMPARE (stdc_trailing_zeros (~0ULL), 0); -+ TEST_COMPARE (stdc_trailing_zeros ((uc) 2), 1); -+ TEST_COMPARE (stdc_trailing_zeros ((us) 24), 3); -+ TEST_COMPARE (stdc_trailing_zeros (32U), 5); -+ TEST_COMPARE (stdc_trailing_zeros (128UL), 7); -+ TEST_COMPARE (stdc_trailing_zeros (512ULL), 9); -+ TEST_COMPARE (stdc_trailing_ones ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_trailing_ones ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_trailing_ones (0U), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0U), ui), 1); -+ TEST_COMPARE (stdc_trailing_ones (0UL), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0UL), ui), 1); -+ TEST_COMPARE (stdc_trailing_ones (0ULL), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0ULL), ui), 1); -+ TEST_COMPARE (stdc_trailing_ones ((uc) ~0U), CHAR_BIT); -+ TEST_COMPARE (stdc_trailing_ones ((us) ~0U), sizeof (short) * CHAR_BIT); -+ TEST_COMPARE (stdc_trailing_ones (~0U), sizeof (int) * CHAR_BIT); -+ TEST_COMPARE (stdc_trailing_ones (~0UL), sizeof (long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_trailing_ones (~0ULL), sizeof (long long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_trailing_ones ((uc) 5), 1); -+ TEST_COMPARE (stdc_trailing_ones ((us) 15), 4); -+ TEST_COMPARE (stdc_trailing_ones (127U), 7); -+ TEST_COMPARE (stdc_trailing_ones (511UL), 9); -+ TEST_COMPARE (stdc_trailing_ones (~0ULL >> 2), -+ sizeof (long long int) * CHAR_BIT - 2); -+ TEST_COMPARE (stdc_first_leading_zero ((uc) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero ((us) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero (0U), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0U), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero (0UL), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0UL), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero (0ULL), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0ULL), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero ((uc) ~0U), 0); -+ TEST_COMPARE (stdc_first_leading_zero ((us) ~0U), 0); -+ TEST_COMPARE (stdc_first_leading_zero (~0U), 0); -+ TEST_COMPARE (stdc_first_leading_zero (~0UL), 0); -+ TEST_COMPARE (stdc_first_leading_zero (~0ULL), 0); -+ TEST_COMPARE (stdc_first_leading_zero ((uc) ~3U), CHAR_BIT - 1); -+ TEST_COMPARE (stdc_first_leading_zero ((us) ~15U), -+ sizeof (short) * CHAR_BIT - 3); -+ TEST_COMPARE (stdc_first_leading_zero (~63U), sizeof (int) * CHAR_BIT - 5); -+ TEST_COMPARE (stdc_first_leading_zero (~255UL), -+ sizeof (long int) * CHAR_BIT - 7); -+ TEST_COMPARE (stdc_first_leading_zero (~1023ULL), -+ sizeof (long long int) * CHAR_BIT - 9); -+ TEST_COMPARE (stdc_first_leading_one ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one (0U), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0U), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one (0UL), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0UL), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one (0ULL), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0ULL), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one ((uc) ~0U), 1); -+ TEST_COMPARE (stdc_first_leading_one ((us) ~0U), 1); -+ TEST_COMPARE (stdc_first_leading_one (~0U), 1); -+ TEST_COMPARE (stdc_first_leading_one (~0UL), 1); -+ TEST_COMPARE (stdc_first_leading_one (~0ULL), 1); -+ TEST_COMPARE (stdc_first_leading_one ((uc) 3), CHAR_BIT - 1); -+ TEST_COMPARE (stdc_first_leading_one ((us) 9), -+ sizeof (short) * CHAR_BIT - 3); -+ TEST_COMPARE (stdc_first_leading_one (34U), sizeof (int) * CHAR_BIT - 5); -+ TEST_COMPARE (stdc_first_leading_one (130UL), -+ sizeof (long int) * CHAR_BIT - 7); -+ TEST_COMPARE (stdc_first_leading_one (512ULL), -+ sizeof (long long int) * CHAR_BIT - 9); -+ TEST_COMPARE (stdc_first_trailing_zero ((uc) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero ((us) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (0U), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0U), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (0UL), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0UL), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (0ULL), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0ULL), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero ((uc) ~0U), 0); -+ TEST_COMPARE (stdc_first_trailing_zero ((us) ~0U), 0); -+ TEST_COMPARE (stdc_first_trailing_zero (~0U), 0); -+ TEST_COMPARE (stdc_first_trailing_zero (~0UL), 0); -+ TEST_COMPARE (stdc_first_trailing_zero (~0ULL), 0); -+ TEST_COMPARE (stdc_first_trailing_zero ((uc) 2), 1); -+ TEST_COMPARE (stdc_first_trailing_zero ((us) 15), 5); -+ TEST_COMPARE (stdc_first_trailing_zero (63U), 7); -+ TEST_COMPARE (stdc_first_trailing_zero (128UL), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (511ULL), 10); -+ TEST_COMPARE (stdc_first_trailing_one ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one (0U), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0U), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one (0UL), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0UL), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one (0ULL), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0ULL), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one ((uc) ~0U), 1); -+ TEST_COMPARE (stdc_first_trailing_one ((us) ~0U), 1); -+ TEST_COMPARE (stdc_first_trailing_one (~0U), 1); -+ TEST_COMPARE (stdc_first_trailing_one (~0UL), 1); -+ TEST_COMPARE (stdc_first_trailing_one (~0ULL), 1); -+ TEST_COMPARE (stdc_first_trailing_one ((uc) 4), 3); -+ TEST_COMPARE (stdc_first_trailing_one ((us) 96), 6); -+ TEST_COMPARE (stdc_first_trailing_one (127U), 1); -+ TEST_COMPARE (stdc_first_trailing_one (511UL), 1); -+ TEST_COMPARE (stdc_first_trailing_one (~0ULL << 12), 13); -+ TEST_COMPARE (stdc_count_zeros ((uc) 0), CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_count_zeros ((us) 0), sizeof (short) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_count_zeros (0U), sizeof (int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros (0U), ui), 1); -+ TEST_COMPARE (stdc_count_zeros (0UL), sizeof (long int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros (0UL), ui), 1); -+ TEST_COMPARE (stdc_count_zeros (0ULL), sizeof (long long int) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros (0ULL), ui), 1); -+ TEST_COMPARE (stdc_count_zeros ((uc) ~0U), 0); -+ TEST_COMPARE (stdc_count_zeros ((us) ~0U), 0); -+ TEST_COMPARE (stdc_count_zeros (~0U), 0); -+ TEST_COMPARE (stdc_count_zeros (~0UL), 0); -+ TEST_COMPARE (stdc_count_zeros (~0ULL), 0); -+ TEST_COMPARE (stdc_count_zeros ((uc) 1U), CHAR_BIT - 1); -+ TEST_COMPARE (stdc_count_zeros ((us) 42), sizeof (short) * CHAR_BIT - 3); -+ TEST_COMPARE (stdc_count_zeros (291U), sizeof (int) * CHAR_BIT - 4); -+ TEST_COMPARE (stdc_count_zeros (~1315UL), 5); -+ TEST_COMPARE (stdc_count_zeros (3363ULL), -+ sizeof (long long int) * CHAR_BIT - 6); -+ TEST_COMPARE (stdc_count_ones ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_count_ones ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_count_ones (0U), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones (0U), ui), 1); -+ TEST_COMPARE (stdc_count_ones (0UL), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones (0UL), ui), 1); -+ TEST_COMPARE (stdc_count_ones (0ULL), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones (0ULL), ui), 1); -+ TEST_COMPARE (stdc_count_ones ((uc) ~0U), CHAR_BIT); -+ TEST_COMPARE (stdc_count_ones ((us) ~0U), sizeof (short) * CHAR_BIT); -+ TEST_COMPARE (stdc_count_ones (~0U), sizeof (int) * CHAR_BIT); -+ TEST_COMPARE (stdc_count_ones (~0UL), sizeof (long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_count_ones (~0ULL), sizeof (long long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_count_ones ((uc) ~1U), CHAR_BIT - 1); -+ TEST_COMPARE (stdc_count_ones ((us) ~42), sizeof (short) * CHAR_BIT - 3); -+ TEST_COMPARE (stdc_count_ones (~291U), sizeof (int) * CHAR_BIT - 4); -+ TEST_COMPARE (stdc_count_ones (1315UL), 5); -+ TEST_COMPARE (stdc_count_ones (~3363ULL), -+ sizeof (long long int) * CHAR_BIT - 6); -+ TEST_COMPARE (stdc_has_single_bit ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((uc) 0), _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((us) 0), _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit (0U), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0U), _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit (0UL), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0UL), _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit (0ULL), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0ULL), _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit ((uc) 2), 1); -+ TEST_COMPARE (stdc_has_single_bit ((us) 8), 1); -+ TEST_COMPARE (stdc_has_single_bit (32U), 1); -+ TEST_COMPARE (stdc_has_single_bit (128UL), 1); -+ TEST_COMPARE (stdc_has_single_bit (512ULL), 1); -+ TEST_COMPARE (stdc_has_single_bit ((uc) 7), 0); -+ TEST_COMPARE (stdc_has_single_bit ((us) 96), 0); -+ TEST_COMPARE (stdc_has_single_bit (513U), 0); -+ TEST_COMPARE (stdc_has_single_bit (1022UL), 0); -+ TEST_COMPARE (stdc_has_single_bit (12ULL), 0); -+ TEST_COMPARE (stdc_bit_width ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width ((uc) 0), ui), 1); -+ TEST_COMPARE (stdc_bit_width ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width ((us) 0), ui), 1); -+ TEST_COMPARE (stdc_bit_width (0U), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width (0U), ui), 1); -+ TEST_COMPARE (stdc_bit_width (0UL), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width (0UL), ui), 1); -+ TEST_COMPARE (stdc_bit_width (0ULL), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width (0ULL), ui), 1); -+ TEST_COMPARE (stdc_bit_width ((uc) ~0U), CHAR_BIT); -+ TEST_COMPARE (stdc_bit_width ((us) ~0U), sizeof (short) * CHAR_BIT); -+ TEST_COMPARE (stdc_bit_width (~0U), sizeof (int) * CHAR_BIT); -+ TEST_COMPARE (stdc_bit_width (~0UL), sizeof (long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_bit_width (~0ULL), sizeof (long long int) * CHAR_BIT); -+ TEST_COMPARE (stdc_bit_width ((uc) ((uc) ~0U >> 1)), CHAR_BIT - 1); -+ TEST_COMPARE (stdc_bit_width ((uc) 6), 3); -+ TEST_COMPARE (stdc_bit_width ((us) 12U), 4); -+ TEST_COMPARE (stdc_bit_width ((us) ((us) ~0U >> 5)), -+ sizeof (short) * CHAR_BIT - 5); -+ TEST_COMPARE (stdc_bit_width (137U), 8); -+ TEST_COMPARE (stdc_bit_width (269U), 9); -+ TEST_COMPARE (stdc_bit_width (39UL), 6); -+ TEST_COMPARE (stdc_bit_width (~0UL >> 2), sizeof (long int) * CHAR_BIT - 2); -+ TEST_COMPARE (stdc_bit_width (1023ULL), 10); -+ TEST_COMPARE (stdc_bit_width (1024ULL), 11); -+ TEST_COMPARE (stdc_bit_floor ((uc) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor ((uc) 0), uc), 1); -+ TEST_COMPARE (stdc_bit_floor ((us) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor ((us) 0), us), 1); -+ TEST_COMPARE (stdc_bit_floor (0U), 0U); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor (0U), ui), 1); -+ TEST_COMPARE (stdc_bit_floor (0UL), 0UL); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor (0UL), ul), 1); -+ TEST_COMPARE (stdc_bit_floor (0ULL), 0ULL); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor (0ULL), ull), 1); -+ TEST_COMPARE (stdc_bit_floor ((uc) ~0U), (1U << (CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_floor ((us) ~0U), -+ (1U << (sizeof (short) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_floor (~0U), (1U << (sizeof (int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_floor (~0UL), -+ (1UL << (sizeof (long int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_floor (~0ULL), -+ (1ULL << (sizeof (long long int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_floor ((uc) 4), 4); -+ TEST_COMPARE (stdc_bit_floor ((uc) 7), 4); -+ TEST_COMPARE (stdc_bit_floor ((us) 8U), 8); -+ TEST_COMPARE (stdc_bit_floor ((us) 31U), 16); -+ TEST_COMPARE (stdc_bit_floor (137U), 128U); -+ TEST_COMPARE (stdc_bit_floor (269U), 256U); -+ TEST_COMPARE (stdc_bit_floor (511UL), 256UL); -+ TEST_COMPARE (stdc_bit_floor (512UL), 512UL); -+ TEST_COMPARE (stdc_bit_floor (513UL), 512ULL); -+ TEST_COMPARE (stdc_bit_floor (1024ULL), 1024ULL); -+ TEST_COMPARE (stdc_bit_ceil ((uc) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((uc) 0), uc), 1); -+ TEST_COMPARE (stdc_bit_ceil ((us) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((us) 0), us), 1); -+ TEST_COMPARE (stdc_bit_ceil (0U), 1U); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0U), ui), 1); -+ TEST_COMPARE (stdc_bit_ceil (0UL), 1UL); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0UL), ul), 1); -+ TEST_COMPARE (stdc_bit_ceil (0ULL), 1ULL); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0ULL), ull), 1); -+ TEST_COMPARE (stdc_bit_ceil ((uc) ~0U), 0); -+ TEST_COMPARE (stdc_bit_ceil ((us) ~0U), 0); -+ TEST_COMPARE (stdc_bit_ceil (~0U), 0U); -+ TEST_COMPARE (stdc_bit_ceil (~0UL), 0UL); -+ TEST_COMPARE (stdc_bit_ceil (~0ULL), 0ULL); -+ TEST_COMPARE (stdc_bit_ceil ((uc) ((uc) ~0U >> 1)), (1U << (CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil ((uc) ((uc) ~0U >> 1)), (1U << (CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil ((us) ((us) ~0U >> 1)), -+ (1U << (sizeof (short) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil ((us) ((us) ~0U >> 1)), -+ (1U << (sizeof (short) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil (~0U >> 1), -+ (1U << (sizeof (int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil (1U << (sizeof (int) * CHAR_BIT - 1)), -+ (1U << (sizeof (int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil (~0UL >> 1), -+ (1UL << (sizeof (long int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil (~0UL >> 1), -+ (1UL << (sizeof (long int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil (1ULL -+ << (sizeof (long long int) * CHAR_BIT - 1)), -+ (1ULL << (sizeof (long long int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil (~0ULL >> 1), -+ (1ULL << (sizeof (long long int) * CHAR_BIT - 1))); -+ TEST_COMPARE (stdc_bit_ceil ((uc) 1), 1); -+ TEST_COMPARE (stdc_bit_ceil ((uc) 2), 2); -+ TEST_COMPARE (stdc_bit_ceil ((us) 3U), 4); -+ TEST_COMPARE (stdc_bit_ceil ((us) 4U), 4); -+ TEST_COMPARE (stdc_bit_ceil (5U), 8U); -+ TEST_COMPARE (stdc_bit_ceil (269U), 512U); -+ TEST_COMPARE (stdc_bit_ceil (511UL), 512UL); -+ TEST_COMPARE (stdc_bit_ceil (512UL), 512UL); -+ TEST_COMPARE (stdc_bit_ceil (513ULL), 1024ULL); -+ TEST_COMPARE (stdc_bit_ceil (1025ULL), 2048ULL); -+# ifdef __SIZEOF_INT128__ -+ TEST_COMPARE (stdc_leading_zeros ((unsigned __int128) 0), -+ sizeof (__int128) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((unsigned __int128) 0), ui), -+ 1); -+ TEST_COMPARE (stdc_leading_zeros (~(unsigned __int128) 0), 0); -+ TEST_COMPARE (stdc_leading_ones ((unsigned __int128) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones ((unsigned __int128) 0), ui), -+ 1); -+ TEST_COMPARE (stdc_leading_ones (~(unsigned __int128) 0), -+ sizeof (__int128) * CHAR_BIT); -+ TEST_COMPARE (stdc_trailing_zeros ((unsigned __int128) 0), -+ sizeof (__int128) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((unsigned __int128) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros (~(unsigned __int128) 0), 0); -+ TEST_COMPARE (stdc_trailing_ones ((unsigned __int128) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((unsigned __int128) 0), ui), -+ 1); -+ TEST_COMPARE (stdc_trailing_ones (~(unsigned __int128) 0), -+ sizeof (__int128) * CHAR_BIT); -+ TEST_COMPARE (stdc_first_leading_zero ((unsigned __int128) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((unsigned __int128) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero (~(unsigned __int128) 0), 0); -+ TEST_COMPARE (stdc_first_leading_one ((unsigned __int128) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((unsigned __int128) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_first_leading_one (~(unsigned __int128) 0), 1); -+ TEST_COMPARE (stdc_first_trailing_zero ((unsigned __int128) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((unsigned __int128) -+ 0), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (~(unsigned __int128) 0), 0); -+ TEST_COMPARE (stdc_first_trailing_one ((unsigned __int128) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((unsigned __int128) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one (~(unsigned __int128) 0), 1); -+ TEST_COMPARE (stdc_count_zeros ((unsigned __int128) 0), -+ sizeof (__int128) * CHAR_BIT); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros ((unsigned __int128) 0), ui), -+ 1); -+ TEST_COMPARE (stdc_count_zeros (~(unsigned __int128) 0), 0); -+ TEST_COMPARE (stdc_count_ones ((unsigned __int128) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones ((unsigned __int128) 0), ui), -+ 1); -+ TEST_COMPARE (stdc_count_ones (~(unsigned __int128) 0), -+ sizeof (__int128) * CHAR_BIT); -+ TEST_COMPARE (stdc_has_single_bit ((unsigned __int128) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((unsigned __int128) 0), -+ _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit (~(unsigned __int128) 0), 0); -+ TEST_COMPARE (stdc_bit_width ((unsigned __int128) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width ((unsigned __int128) 0), ui), 1); -+ TEST_COMPARE (stdc_bit_width (~(unsigned __int128) 0), -+ sizeof (__int128) * CHAR_BIT); -+ TEST_COMPARE (stdc_bit_floor ((unsigned __int128) 0) != 0, 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor ((unsigned __int128) 0), -+ unsigned __int128), 1); -+ TEST_COMPARE (stdc_bit_floor (~(unsigned __int128) 0) -+ != ((unsigned __int128) 1) << (sizeof (__int128) -+ * CHAR_BIT - 1), 0); -+ TEST_COMPARE (stdc_bit_ceil ((unsigned __int128) 0) != 1, 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((unsigned __int128) 0), -+ unsigned __int128), 1); -+ TEST_COMPARE (stdc_bit_ceil ((unsigned __int128) 1) != 1, 0); -+ TEST_COMPARE (stdc_bit_ceil ((~(unsigned __int128) 0) >> 1) -+ != ((unsigned __int128) 1) << (sizeof (__int128) -+ * CHAR_BIT - 1), 0); -+ TEST_COMPARE (stdc_bit_ceil (~(unsigned __int128) 0) != 0, 0); -+# endif -+ uc a = 0; -+ TEST_COMPARE (stdc_bit_width (a++), 0); -+ TEST_COMPARE (a, 1); -+ ull b = 0; -+ TEST_COMPARE (stdc_bit_width (b++), 0); -+ TEST_COMPARE (b, 1); -+ TEST_COMPARE (stdc_bit_floor (a++), 1); -+ TEST_COMPARE (a, 2); -+ TEST_COMPARE (stdc_bit_floor (b++), 1); -+ TEST_COMPARE (b, 2); -+ TEST_COMPARE (stdc_bit_ceil (a++), 2); -+ TEST_COMPARE (a, 3); -+ TEST_COMPARE (stdc_bit_ceil (b++), 2); -+ TEST_COMPARE (b, 3); -+ TEST_COMPARE (stdc_leading_zeros (a++), CHAR_BIT - 2); -+ TEST_COMPARE (a, 4); -+ TEST_COMPARE (stdc_leading_zeros (b++), -+ sizeof (long long int) * CHAR_BIT - 2); -+ TEST_COMPARE (b, 4); -+ TEST_COMPARE (stdc_leading_ones (a++), 0); -+ TEST_COMPARE (a, 5); -+ TEST_COMPARE (stdc_leading_ones (b++), 0); -+ TEST_COMPARE (b, 5); -+ TEST_COMPARE (stdc_trailing_zeros (a++), 0); -+ TEST_COMPARE (a, 6); -+ TEST_COMPARE (stdc_trailing_zeros (b++), 0); -+ TEST_COMPARE (b, 6); -+ TEST_COMPARE (stdc_trailing_ones (a++), 0); -+ TEST_COMPARE (a, 7); -+ TEST_COMPARE (stdc_trailing_ones (b++), 0); -+ TEST_COMPARE (b, 7); -+ TEST_COMPARE (stdc_first_leading_zero (a++), 1); -+ TEST_COMPARE (a, 8); -+ TEST_COMPARE (stdc_first_leading_zero (b++), 1); -+ TEST_COMPARE (b, 8); -+ TEST_COMPARE (stdc_first_leading_one (a++), CHAR_BIT - 3); -+ TEST_COMPARE (a, 9); -+ TEST_COMPARE (stdc_first_leading_one (b++), -+ sizeof (long long int) * CHAR_BIT - 3); -+ TEST_COMPARE (b, 9); -+ TEST_COMPARE (stdc_first_trailing_zero (a++), 2); -+ TEST_COMPARE (a, 10); -+ TEST_COMPARE (stdc_first_trailing_zero (b++), 2); -+ TEST_COMPARE (b, 10); -+ TEST_COMPARE (stdc_first_trailing_one (a++), 2); -+ TEST_COMPARE (a, 11); -+ TEST_COMPARE (stdc_first_trailing_one (b++), 2); -+ TEST_COMPARE (b, 11); -+ TEST_COMPARE (stdc_count_zeros (a++), CHAR_BIT - 3); -+ TEST_COMPARE (a, 12); -+ TEST_COMPARE (stdc_count_zeros (b++), -+ sizeof (long long int) * CHAR_BIT - 3); -+ TEST_COMPARE (b, 12); -+ TEST_COMPARE (stdc_count_ones (a++), 2); -+ TEST_COMPARE (a, 13); -+ TEST_COMPARE (stdc_count_ones (b++), 2); -+ TEST_COMPARE (b, 13); -+ TEST_COMPARE (stdc_has_single_bit (a++), 0); -+ TEST_COMPARE (a, 14); -+ TEST_COMPARE (stdc_has_single_bit (b++), 0); -+ TEST_COMPARE (b, 14); -+# ifdef BITINT_MAXWIDTH -+# if BITINT_MAXWIDTH >= 64 -+ TEST_COMPARE (stdc_leading_zeros (0uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros (0uwb), ui), 1); -+ TEST_COMPARE (stdc_leading_zeros (1uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros (1uwb), ui), 1); -+ TEST_COMPARE (stdc_leading_ones (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones (0uwb), ui), 1); -+ TEST_COMPARE (stdc_leading_ones (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones (1uwb), ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros (0uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (0uwb), ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros (1uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros (1uwb), ui), 1); -+ TEST_COMPARE (stdc_trailing_ones (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones (0uwb), ui), 1); -+ TEST_COMPARE (stdc_trailing_ones (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones (1uwb), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero (0uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (0uwb), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero (1uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero (1uwb), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one (0uwb), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one (1uwb), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (0uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (0uwb), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (1uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero (1uwb), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (0uwb), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one (1uwb), ui), 1); -+ TEST_COMPARE (stdc_count_zeros (0uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros (0uwb), ui), 1); -+ TEST_COMPARE (stdc_count_zeros (1uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros (1uwb), ui), 1); -+ TEST_COMPARE (stdc_count_ones (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones (0uwb), ui), 1); -+ TEST_COMPARE (stdc_count_ones (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_count_ones (1uwb), ui), 1); -+ TEST_COMPARE (stdc_has_single_bit (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit (0uwb), _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit (1uwb), _Bool), 1); -+ TEST_COMPARE (stdc_bit_width (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width (0uwb), ui), 1); -+ TEST_COMPARE (stdc_bit_width (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_bit_width (1uwb), ui), 1); -+ TEST_COMPARE (stdc_bit_floor (0uwb), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor (0uwb), unsigned _BitInt(1)), 1); -+ TEST_COMPARE (stdc_bit_floor (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor (1uwb), unsigned _BitInt(1)), 1); -+ TEST_COMPARE (stdc_bit_ceil (0uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil (0uwb), unsigned _BitInt(1)), 1); -+ TEST_COMPARE (stdc_bit_ceil (1uwb), 1); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil (1uwb), unsigned _BitInt(1)), 1); -+ unsigned _BitInt(1) c = 0; -+ TEST_COMPARE (stdc_bit_floor (c++), 0); -+ TEST_COMPARE (c, 1); -+ TEST_COMPARE (stdc_bit_floor (c++), 1); -+ TEST_COMPARE (c, 0); -+ TEST_COMPARE (stdc_bit_ceil (c++), 1); -+ TEST_COMPARE (c, 1); -+ TEST_COMPARE (stdc_bit_ceil (c++), 1); -+ TEST_COMPARE (c, 0); -+# endif -+# if BITINT_MAXWIDTH >= 512 -+ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(512)) 0), 512); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((unsigned _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(373)) 0), 373); -+ TEST_COMPARE (expr_has_type (stdc_leading_zeros ((unsigned _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_leading_zeros (~(unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (stdc_leading_zeros (~(unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(512)) 275), 512 - 9); -+ TEST_COMPARE (stdc_leading_zeros ((unsigned _BitInt(373)) 512), 373 - 10); -+ TEST_COMPARE (stdc_leading_ones ((unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones ((unsigned _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_leading_ones ((unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_leading_ones ((unsigned _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(512)) 0), 512); -+ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(373)) 0), 373); -+ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(512)) 275), 512 - 9); -+ TEST_COMPARE (stdc_leading_ones (~(unsigned _BitInt(373)) 512), 373 - 10); -+ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(512)) 0), 512); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((unsigned _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(373)) 0), 373); -+ TEST_COMPARE (expr_has_type (stdc_trailing_zeros ((unsigned _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_trailing_zeros (~(unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (stdc_trailing_zeros (~(unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(512)) 256), 8); -+ TEST_COMPARE (stdc_trailing_zeros ((unsigned _BitInt(373)) 512), 9); -+ TEST_COMPARE (stdc_trailing_ones ((unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((unsigned _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_trailing_ones ((unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_trailing_ones ((unsigned _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_trailing_ones (~(unsigned _BitInt(512)) 0), 512); -+ TEST_COMPARE (stdc_trailing_ones (~(unsigned _BitInt(373)) 0), 373); -+ TEST_COMPARE (stdc_trailing_ones ((unsigned _BitInt(512)) 255), 8); -+ TEST_COMPARE (stdc_trailing_ones ((~(unsigned _BitInt(373)) 0) >> 2), -+ 373 - 2); -+ TEST_COMPARE (stdc_first_leading_zero ((unsigned _BitInt(512)) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((unsigned _BitInt(512)) -+ 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero ((unsigned _BitInt(373)) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_zero ((unsigned _BitInt(373)) -+ 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(512)) 511), -+ 512 - 8); -+ TEST_COMPARE (stdc_first_leading_zero (~(unsigned _BitInt(373)) 1023), -+ 373 - 9); -+ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((unsigned _BitInt(512)) -+ 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_leading_one ((unsigned _BitInt(373)) -+ 0), ui), 1); -+ TEST_COMPARE (stdc_first_leading_one (~(unsigned _BitInt(512)) 0), 1); -+ TEST_COMPARE (stdc_first_leading_one (~(unsigned _BitInt(373)) 0), 1); -+ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(512)) 275), 512 - 8); -+ TEST_COMPARE (stdc_first_leading_one ((unsigned _BitInt(373)) 512), 373 - 9); -+ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(512)) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((unsigned -+ _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(373)) 0), 1); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_zero ((unsigned -+ _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_first_trailing_zero (~(unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (stdc_first_trailing_zero (~(unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(512)) 255), 9); -+ TEST_COMPARE (stdc_first_trailing_zero ((unsigned _BitInt(373)) 511), 10); -+ TEST_COMPARE (stdc_first_trailing_one ((unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((unsigned _BitInt(512)) -+ 0), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one ((unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_first_trailing_one ((unsigned _BitInt(373)) -+ 0), ui), 1); -+ TEST_COMPARE (stdc_first_trailing_one (~(unsigned _BitInt(512)) 0), 1); -+ TEST_COMPARE (stdc_first_trailing_one (~(unsigned _BitInt(373)) 0), 1); -+ TEST_COMPARE (stdc_first_trailing_one (((unsigned _BitInt(512)) 255) << 175), -+ 176); -+ TEST_COMPARE (stdc_first_trailing_one ((~(unsigned _BitInt(373)) 0) << 311), -+ 312); -+ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(512)) 0), 512); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros ((unsigned _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(373)) 0), 373); -+ TEST_COMPARE (expr_has_type (stdc_count_zeros ((unsigned _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_count_zeros (~(unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (stdc_count_zeros (~(unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(512)) 1315), 512 - 5); -+ TEST_COMPARE (stdc_count_zeros ((unsigned _BitInt(373)) 3363), 373 - 6); -+ TEST_COMPARE (stdc_count_ones ((unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones ((unsigned _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_count_ones ((unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_count_ones ((unsigned _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(512)) 0), 512); -+ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(373)) 0), 373); -+ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(512)) 1315), 512 - 5); -+ TEST_COMPARE (stdc_count_ones (~(unsigned _BitInt(373)) 3363), 373 - 6); -+ TEST_COMPARE (stdc_has_single_bit ((unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((unsigned _BitInt(512)) 0), -+ _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit ((unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_has_single_bit ((unsigned _BitInt(373)) 0), -+ _Bool), 1); -+ TEST_COMPARE (stdc_has_single_bit (~(unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (stdc_has_single_bit (~(unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (stdc_has_single_bit (((unsigned _BitInt(512)) 1022) << 279), -+ 0); -+ TEST_COMPARE (stdc_has_single_bit (((unsigned _BitInt(373)) 12) << 305), 0); -+ TEST_COMPARE (stdc_bit_width ((unsigned _BitInt(512)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width ((unsigned _BitInt(512)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_bit_width ((unsigned _BitInt(373)) 0), 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_width ((unsigned _BitInt(373)) 0), -+ ui), 1); -+ TEST_COMPARE (stdc_bit_width (~(unsigned _BitInt(512)) 0), 512); -+ TEST_COMPARE (stdc_bit_width (~(unsigned _BitInt(373)) 0), 373); -+ TEST_COMPARE (stdc_bit_width (((unsigned _BitInt(512)) 1023) << 405), -+ 405 + 10); -+ TEST_COMPARE (stdc_bit_width (((unsigned _BitInt(373)) 1024) << 242), -+ 242 + 11); -+ TEST_COMPARE (stdc_bit_floor ((unsigned _BitInt(512)) 0) != 0, 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor ((unsigned _BitInt(512)) 0), -+ unsigned _BitInt(512)), 1); -+ TEST_COMPARE (stdc_bit_floor ((unsigned _BitInt(373)) 0) != 0, 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_floor ((unsigned _BitInt(373)) 0), -+ unsigned _BitInt(373)), 1); -+ TEST_COMPARE (stdc_bit_floor (~(unsigned _BitInt(512)) 0) -+ != ((unsigned _BitInt(512)) 1) << (512 - 1), 0); -+ TEST_COMPARE (stdc_bit_floor (~(unsigned _BitInt(373)) 0) -+ != ((unsigned _BitInt(373)) 1) << (373 - 1), 0); -+ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(512)) 511) << 405) -+ != (((unsigned _BitInt(512)) 256) << 405), 0); -+ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(373)) 512) << 242) -+ != (((unsigned _BitInt(512)) 512) << 242), 0); -+ TEST_COMPARE (stdc_bit_ceil ((unsigned _BitInt(512)) 0) != 1, 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((unsigned _BitInt(512)) 0), -+ unsigned _BitInt(512)), 1); -+ TEST_COMPARE (stdc_bit_ceil ((unsigned _BitInt(373)) 0) != 1, 0); -+ TEST_COMPARE (expr_has_type (stdc_bit_ceil ((unsigned _BitInt(373)) 0), -+ unsigned _BitInt(373)), 1); -+ TEST_COMPARE (stdc_bit_ceil (~(unsigned _BitInt(512)) 0) != 0, 0); -+ TEST_COMPARE (stdc_bit_ceil (~(unsigned _BitInt(373)) 0) != 0, 0); -+ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(512)) 1) << (512 - 1)) -+ != ((unsigned _BitInt(512)) 1) << (512 - 1), 0); -+ TEST_COMPARE (stdc_bit_ceil ((~(unsigned _BitInt(373)) 0) >> 1) -+ != ((unsigned _BitInt(373)) 1) << (373 - 1), 0); -+ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(512)) 512) << 405) -+ != (((unsigned _BitInt(512)) 512) << 405), 0); -+ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(373)) 513) << 242) -+ != (((unsigned _BitInt(512)) 1024) << 242), 0); -+ TEST_COMPARE (stdc_bit_floor ((unsigned _BitInt(BITINT_MAXWIDTH)) 0) != 0, -+ 0); -+ TEST_COMPARE (stdc_bit_floor (~(unsigned _BitInt(BITINT_MAXWIDTH)) 0) -+ != ((unsigned _BitInt(BITINT_MAXWIDTH)) 1) << (BITINT_MAXWIDTH -+ - 1), 0); -+ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(BITINT_MAXWIDTH)) 511) -+ << 405) -+ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 256) << 405), 0); -+ TEST_COMPARE (stdc_bit_floor (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) -+ << 405) -+ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) << 405), 0); -+ TEST_COMPARE (stdc_bit_ceil ((unsigned _BitInt(BITINT_MAXWIDTH)) 0) != 1, 0); -+ TEST_COMPARE (stdc_bit_ceil (~(unsigned _BitInt(BITINT_MAXWIDTH)) 0) != 0, -+ 0); -+ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(BITINT_MAXWIDTH)) 1) -+ << (BITINT_MAXWIDTH - 1)) -+ != ((unsigned _BitInt(BITINT_MAXWIDTH)) 1) << (BITINT_MAXWIDTH -+ - 1), 0); -+ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) -+ << 405) -+ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 512) << 405), 0); -+ TEST_COMPARE (stdc_bit_ceil (((unsigned _BitInt(BITINT_MAXWIDTH)) 513) -+ << 405) -+ != (((unsigned _BitInt(BITINT_MAXWIDTH)) 1024) << 405), 0); -+# endif -+# endif -+ return 0; -+} -+#else -+static int -+do_test (void) -+{ -+ return 0; -+} -+#endif -+ -+#include - -commit 71fcdba577884627c3ee4e43beb915da752efb1f -Author: Florian Weimer -Date: Fri Mar 15 19:08:24 2024 +0100 - - linux: Use rseq area unconditionally in sched_getcpu (bug 31479) - - Originally, nptl/descr.h included , but we removed that - in commit 2c6b4b272e6b4d07303af25709051c3e96288f2d ("nptl: - Unconditionally use a 32-byte rseq area"). After that, it was - not ensured that the RSEQ_SIG macro was defined during sched_getcpu.c - compilation that provided a definition. This commit always checks - the rseq area for CPU number information before using the other - approaches. - - This adds an unnecessary (but well-predictable) branch on - architectures which do not define RSEQ_SIG, but its cost is small - compared to the system call. Most architectures that have vDSO - acceleration for getcpu also have rseq support. - - Fixes: 2c6b4b272e6b4d07303af25709051c3e96288f2d - Fixes: 1d350aa06091211863e41169729cee1bca39f72f - Reviewed-by: Arjun Shankar - (cherry picked from commit 7a76f218677d149d8b7875b336722108239f7ee9) - -diff --git a/sysdeps/unix/sysv/linux/sched_getcpu.c b/sysdeps/unix/sysv/linux/sched_getcpu.c -index dfb884568d..72a3360550 100644 ---- a/sysdeps/unix/sysv/linux/sched_getcpu.c -+++ b/sysdeps/unix/sysv/linux/sched_getcpu.c -@@ -33,17 +33,9 @@ vsyscall_sched_getcpu (void) - return r == -1 ? r : cpu; - } - --#ifdef RSEQ_SIG - int - sched_getcpu (void) - { - int cpu_id = THREAD_GETMEM_VOLATILE (THREAD_SELF, rseq_area.cpu_id); - return __glibc_likely (cpu_id >= 0) ? cpu_id : vsyscall_sched_getcpu (); - } --#else /* RSEQ_SIG */ --int --sched_getcpu (void) --{ -- return vsyscall_sched_getcpu (); --} --#endif /* RSEQ_SIG */ - -commit ee7f4c54e19738c2c27d3846e1e9b3595c89221f -Author: Manjunath Matti -Date: Tue Mar 19 15:29:48 2024 -0500 - - powerpc: Add HWCAP3/HWCAP4 data to TCB for Power Architecture. - - This patch adds a new feature for powerpc. In order to get faster - access to the HWCAP3/HWCAP4 masks, similar to HWCAP/HWCAP2 (i.e. for - implementing __builtin_cpu_supports() in GCC) without the overhead of - reading them from the auxiliary vector, we now reserve space for them - in the TCB. - - Suggested-by: Peter Bergner - Reviewed-by: Peter Bergner - (cherry picked from commit 3ab9b88e2ac91062b6d493fe32bd101a55006c6a) - -diff --git a/elf/dl-diagnostics.c b/elf/dl-diagnostics.c -index 7345ebc4e5..aaf67b87e8 100644 ---- a/elf/dl-diagnostics.c -+++ b/elf/dl-diagnostics.c -@@ -235,6 +235,8 @@ _dl_print_diagnostics (char **environ) - _dl_diagnostics_print_labeled_value ("dl_hwcap", GLRO (dl_hwcap)); - _dl_diagnostics_print_labeled_value ("dl_hwcap_important", HWCAP_IMPORTANT); - _dl_diagnostics_print_labeled_value ("dl_hwcap2", GLRO (dl_hwcap2)); -+ _dl_diagnostics_print_labeled_value ("dl_hwcap3", GLRO (dl_hwcap3)); -+ _dl_diagnostics_print_labeled_value ("dl_hwcap4", GLRO (dl_hwcap4)); - _dl_diagnostics_print_labeled_string - ("dl_hwcaps_subdirs", _dl_hwcaps_subdirs); - _dl_diagnostics_print_labeled_value -diff --git a/elf/dl-support.c b/elf/dl-support.c -index 2f502c8b0d..451932dd03 100644 ---- a/elf/dl-support.c -+++ b/elf/dl-support.c -@@ -158,6 +158,8 @@ const ElfW(Phdr) *_dl_phdr; - size_t _dl_phnum; - uint64_t _dl_hwcap; - uint64_t _dl_hwcap2; -+uint64_t _dl_hwcap3; -+uint64_t _dl_hwcap4; - - enum dso_sort_algorithm _dl_dso_sort_algo; - -diff --git a/elf/elf.h b/elf/elf.h -index 455731663c..1c394c64cd 100644 ---- a/elf/elf.h -+++ b/elf/elf.h -@@ -1234,6 +1234,10 @@ typedef struct - #define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size. */ - #define AT_RSEQ_ALIGN 28 /* rseq allocation alignment. */ - -+/* More machine-dependent hints about processor capabilities. */ -+#define AT_HWCAP3 29 /* extension of AT_HWCAP. */ -+#define AT_HWCAP4 30 /* extension of AT_HWCAP. */ -+ - #define AT_EXECFN 31 /* Filename of executable. */ - - /* Pointer to the global system page used for system calls and other -diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h -index 117c901ccc..50f58a60e3 100644 ---- a/sysdeps/generic/ldsodefs.h -+++ b/sysdeps/generic/ldsodefs.h -@@ -646,6 +646,8 @@ struct rtld_global_ro - /* Mask for more hardware capabilities that are available on some - platforms. */ - EXTERN uint64_t _dl_hwcap2; -+ EXTERN uint64_t _dl_hwcap3; -+ EXTERN uint64_t _dl_hwcap4; - - EXTERN enum dso_sort_algorithm _dl_dso_sort_algo; - -diff --git a/sysdeps/powerpc/dl-procinfo.c b/sysdeps/powerpc/dl-procinfo.c -index a76bb6e5b0..8cf00aa7e3 100644 ---- a/sysdeps/powerpc/dl-procinfo.c -+++ b/sysdeps/powerpc/dl-procinfo.c -@@ -38,6 +38,10 @@ - needed. - */ - -+/* The total number of available bits (including those prior to -+ _DL_HWCAP_FIRST). Some of these bits might not be used. */ -+#define _DL_HWCAP_COUNT 128 -+ - #ifndef PROCINFO_CLASS - # define PROCINFO_CLASS - #endif -@@ -61,7 +65,7 @@ PROCINFO_CLASS struct cpu_features _dl_powerpc_cpu_features - #if !defined PROCINFO_DECL && defined SHARED - ._dl_powerpc_cap_flags - #else --PROCINFO_CLASS const char _dl_powerpc_cap_flags[64][15] -+PROCINFO_CLASS const char _dl_powerpc_cap_flags[_DL_HWCAP_COUNT][15] - #endif - #ifndef PROCINFO_DECL - = { -diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h -index 68f4241095..f8cb343877 100644 ---- a/sysdeps/powerpc/dl-procinfo.h -+++ b/sysdeps/powerpc/dl-procinfo.h -@@ -22,16 +22,17 @@ - #include - #include /* This defines the PPC_FEATURE[2]_* macros. */ - --/* The total number of available bits (including those prior to -- _DL_HWCAP_FIRST). Some of these bits might not be used. */ --#define _DL_HWCAP_COUNT 64 -+/* Feature masks are all 32-bits in size. */ -+#define _DL_HWCAP_SIZE 32 - --/* Features started at bit 31 and decremented as new features were added. */ --#define _DL_HWCAP_LAST 31 -+/* AT_HWCAP2 feature strings follow the AT_HWCAP feature strings. */ -+#define _DL_HWCAP2_OFFSET _DL_HWCAP_SIZE - --/* AT_HWCAP2 features started at bit 31 and decremented as new features were -- added. HWCAP2 feature bits start at bit 0. */ --#define _DL_HWCAP2_LAST 31 -+/* AT_HWCAP3 feature strings follow the AT_HWCAP2 feature strings. */ -+#define _DL_HWCAP3_OFFSET (_DL_HWCAP2_OFFSET + _DL_HWCAP_SIZE) -+ -+/* AT_HWCAP4 feature strings follow the AT_HWCAP3 feature strings. */ -+#define _DL_HWCAP4_OFFSET (_DL_HWCAP3_OFFSET + _DL_HWCAP_SIZE) - - /* These bits influence library search. */ - #define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ -@@ -187,21 +188,42 @@ _dl_procinfo (unsigned int type, unsigned long int word) - case AT_HWCAP: - _dl_printf ("AT_HWCAP: "); - -- for (int i = 0; i <= _DL_HWCAP_LAST; ++i) -+ for (int i = 0; i < _DL_HWCAP_SIZE; ++i) - if (word & (1 << i)) - _dl_printf (" %s", _dl_hwcap_string (i)); - break; - case AT_HWCAP2: - { -- unsigned int offset = _DL_HWCAP_LAST + 1; - - _dl_printf ("AT_HWCAP2: "); - -- /* We have to go through them all because the kernel added the -- AT_HWCAP2 features starting with the high bits. */ -- for (int i = 0; i <= _DL_HWCAP2_LAST; ++i) -- if (word & (1 << i)) -- _dl_printf (" %s", _dl_hwcap_string (offset + i)); -+ /* We have to go through them all because the kernel added the -+ AT_HWCAP2 features starting with the high bits. */ -+ for (int i = 0; i < _DL_HWCAP_SIZE; ++i) -+ if (word & (1 << i)) -+ _dl_printf (" %s", _dl_hwcap_string (_DL_HWCAP2_OFFSET + i)); -+ break; -+ } -+ case AT_HWCAP3: -+ { -+ _dl_printf ("AT_HWCAP3: "); -+ -+ /* We have to go through them all because the kernel added the -+ AT_HWCAP3 features starting with the high bits. */ -+ for (int i = 0; i < _DL_HWCAP_SIZE; ++i) -+ if (word & (1 << i)) -+ _dl_printf (" %s", _dl_hwcap_string (_DL_HWCAP3_OFFSET + i)); -+ break; -+ } -+ case AT_HWCAP4: -+ { -+ _dl_printf ("AT_HWCAP4: "); -+ -+ /* We have to go through them all because the kernel added the -+ AT_HWCAP4 features starting with the high bits. */ -+ for (int i = 0; i <= _DL_HWCAP_SIZE; ++i) -+ if (word & (1 << i)) -+ _dl_printf (" %s", _dl_hwcap_string (_DL_HWCAP4_OFFSET + i)); - break; - } - case AT_L1I_CACHEGEOMETRY: -diff --git a/sysdeps/powerpc/hwcapinfo.c b/sysdeps/powerpc/hwcapinfo.c -index 76344f285a..f6fede15a7 100644 ---- a/sysdeps/powerpc/hwcapinfo.c -+++ b/sysdeps/powerpc/hwcapinfo.c -@@ -31,7 +31,7 @@ void - __tcb_parse_hwcap_and_convert_at_platform (void) - { - -- uint64_t h1, h2; -+ uint64_t h1, h2, h3, h4; - - /* Read AT_PLATFORM string from auxv and convert it to a number. */ - __tcb.at_platform = _dl_string_platform (GLRO (dl_platform)); -@@ -39,6 +39,8 @@ __tcb_parse_hwcap_and_convert_at_platform (void) - /* Read HWCAP and HWCAP2 from auxv. */ - h1 = GLRO (dl_hwcap); - h2 = GLRO (dl_hwcap2); -+ h3 = GLRO (dl_hwcap3); -+ h4 = GLRO (dl_hwcap4); - - /* hwcap contains only the latest supported ISA, the code checks which is - and fills the previous supported ones. */ -@@ -64,13 +66,16 @@ __tcb_parse_hwcap_and_convert_at_platform (void) - else if (h1 & PPC_FEATURE_POWER5) - h1 |= PPC_FEATURE_POWER4; - -- uint64_t array_hwcaps[] = { h1, h2 }; -+ uint64_t array_hwcaps[] = { h1, h2, h3, h4 }; - init_cpu_features (&GLRO(dl_powerpc_cpu_features), array_hwcaps); - - /* Consolidate both HWCAP and HWCAP2 into a single doubleword so that - we can read both in a single load later. */ - __tcb.hwcap = (h1 << 32) | (h2 & 0xffffffff); -- __tcb.hwcap_extn = 0x0; -+ -+ /* Consolidate both HWCAP3 and HWCAP4 into a single doubleword so that -+ we can read both in a single load later. */ -+ __tcb.hwcap_extn = (h3 << 32) | (h4 & 0xffffffff); - - } - #if IS_IN (rtld) -diff --git a/sysdeps/unix/sysv/linux/dl-parse_auxv.h b/sysdeps/unix/sysv/linux/dl-parse_auxv.h -index e3d758b163..ea2a58ecb1 100644 ---- a/sysdeps/unix/sysv/linux/dl-parse_auxv.h -+++ b/sysdeps/unix/sysv/linux/dl-parse_auxv.h -@@ -47,6 +47,8 @@ void _dl_parse_auxv (ElfW(auxv_t) *av, dl_parse_auxv_t auxv_values) - GLRO(dl_platform) = (void *) auxv_values[AT_PLATFORM]; - GLRO(dl_hwcap) = auxv_values[AT_HWCAP]; - GLRO(dl_hwcap2) = auxv_values[AT_HWCAP2]; -+ GLRO(dl_hwcap3) = auxv_values[AT_HWCAP3]; -+ GLRO(dl_hwcap4) = auxv_values[AT_HWCAP4]; - GLRO(dl_clktck) = auxv_values[AT_CLKTCK]; - GLRO(dl_fpu_control) = auxv_values[AT_FPUCW]; - _dl_random = (void *) auxv_values[AT_RANDOM]; -diff --git a/sysdeps/unix/sysv/linux/dl-sysdep.c b/sysdeps/unix/sysv/linux/dl-sysdep.c -index ad3692d738..e1b14e9eb3 100644 ---- a/sysdeps/unix/sysv/linux/dl-sysdep.c -+++ b/sysdeps/unix/sysv/linux/dl-sysdep.c -@@ -197,6 +197,8 @@ _dl_show_auxv (void) - [AT_SYSINFO_EHDR - 2] = { "SYSINFO_EHDR: 0x", hex }, - [AT_RANDOM - 2] = { "RANDOM: 0x", hex }, - [AT_HWCAP2 - 2] = { "HWCAP2: 0x", hex }, -+ [AT_HWCAP3 - 2] = { "HWCAP3: 0x", hex }, -+ [AT_HWCAP4 - 2] = { "HWCAP4: 0x", hex }, - [AT_MINSIGSTKSZ - 2] = { "MINSIGSTKSZ: ", dec }, - [AT_L1I_CACHESIZE - 2] = { "L1I_CACHESIZE: ", dec }, - [AT_L1I_CACHEGEOMETRY - 2] = { "L1I_CACHEGEOMETRY: 0x", hex }, -diff --git a/sysdeps/unix/sysv/linux/powerpc/cpu-features.c b/sysdeps/unix/sysv/linux/powerpc/cpu-features.c -index 8e8a5ec2ea..a947d62db6 100644 ---- a/sysdeps/unix/sysv/linux/powerpc/cpu-features.c -+++ b/sysdeps/unix/sysv/linux/powerpc/cpu-features.c -@@ -94,6 +94,8 @@ init_cpu_features (struct cpu_features *cpu_features, uint64_t hwcaps[]) - which are set by __tcb_parse_hwcap_and_convert_at_platform. */ - cpu_features->hwcap = hwcaps[0]; - cpu_features->hwcap2 = hwcaps[1]; -+ cpu_features->hwcap3 = hwcaps[2]; -+ cpu_features->hwcap4 = hwcaps[3]; - /* Default is to use aligned memory access on optimized function unless - tunables is enable, since for this case user can explicit disable - unaligned optimizations. */ -diff --git a/sysdeps/unix/sysv/linux/powerpc/cpu-features.h b/sysdeps/unix/sysv/linux/powerpc/cpu-features.h -index 1294f0b601..e9eb6a13c8 100644 ---- a/sysdeps/unix/sysv/linux/powerpc/cpu-features.h -+++ b/sysdeps/unix/sysv/linux/powerpc/cpu-features.h -@@ -26,6 +26,8 @@ struct cpu_features - bool use_cached_memopt; - unsigned long int hwcap; - unsigned long int hwcap2; -+ unsigned long int hwcap3; -+ unsigned long int hwcap4; - }; - - static const char hwcap_names[] = { -diff --git a/sysdeps/unix/sysv/linux/powerpc/libc-start.c b/sysdeps/unix/sysv/linux/powerpc/libc-start.c -index a4705daf1c..6a00cd88cd 100644 ---- a/sysdeps/unix/sysv/linux/powerpc/libc-start.c -+++ b/sysdeps/unix/sysv/linux/powerpc/libc-start.c -@@ -87,6 +87,12 @@ __libc_start_main_impl (int argc, char **argv, - case AT_HWCAP2: - _dl_hwcap2 = (unsigned long int) av->a_un.a_val; - break; -+ case AT_HWCAP3: -+ _dl_hwcap3 = (unsigned long int) av->a_un.a_val; -+ break; -+ case AT_HWCAP4: -+ _dl_hwcap4 = (unsigned long int) av->a_un.a_val; -+ break; - case AT_PLATFORM: - _dl_platform = (void *) av->a_un.a_val; - break; - -commit aad45c8ac30aa1072e54903ce6aead22702f244a -Author: Amrita H S -Date: Tue Mar 19 19:08:47 2024 -0500 - - powerpc: Placeholder and infrastructure/build support to add Power11 related changes. - - The following three changes have been added to provide initial Power11 support. - 1. Add the directories to hold Power11 files. - 2. Add support to select Power11 libraries based on AT_PLATFORM. - 3. Let submachine=power11 be set automatically. - - Reviewed-by: Florian Weimer - Reviewed-by: Peter Bergner - (cherry picked from commit 1ea051145612f199d8716ecdf78b084b00b5a727) - -diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h -index f8cb343877..b36697ba44 100644 ---- a/sysdeps/powerpc/dl-procinfo.h -+++ b/sysdeps/powerpc/dl-procinfo.h -@@ -38,7 +38,7 @@ - #define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ - + PPC_FEATURE_HAS_DFP) - --#define _DL_PLATFORMS_COUNT 16 -+#define _DL_PLATFORMS_COUNT 17 - - #define _DL_FIRST_PLATFORM 32 - /* Mask to filter out platforms. */ -@@ -62,6 +62,7 @@ - #define PPC_PLATFORM_POWER8 13 - #define PPC_PLATFORM_POWER9 14 - #define PPC_PLATFORM_POWER10 15 -+#define PPC_PLATFORM_POWER11 16 - - static inline const char * - __attribute__ ((unused)) -@@ -89,6 +90,11 @@ _dl_string_platform (const char *str) - ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER10; - str++; - } -+ else if (str[1] == '1') -+ { -+ ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER11; -+ str++; -+ } - else - return -1; - break; -diff --git a/sysdeps/powerpc/powerpc32/power11/Implies b/sysdeps/powerpc/powerpc32/power11/Implies -new file mode 100644 -index 0000000000..051cbe0f79 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/power11/Implies -@@ -0,0 +1,2 @@ -+powerpc/powerpc32/power10/fpu -+powerpc/powerpc32/power10 -diff --git a/sysdeps/powerpc/powerpc32/power11/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc32/power11/fpu/multiarch/Implies -new file mode 100644 -index 0000000000..58edb2861d ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/power11/fpu/multiarch/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc32/power10/fpu/multiarch -diff --git a/sysdeps/powerpc/powerpc32/power11/multiarch/Implies b/sysdeps/powerpc/powerpc32/power11/multiarch/Implies -new file mode 100644 -index 0000000000..c70f0428ba ---- /dev/null -+++ b/sysdeps/powerpc/powerpc32/power11/multiarch/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc32/power10/multiarch -diff --git a/sysdeps/powerpc/powerpc64/be/power11/Implies b/sysdeps/powerpc/powerpc64/be/power11/Implies -new file mode 100644 -index 0000000000..de481d1c13 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/be/power11/Implies -@@ -0,0 +1,2 @@ -+powerpc/powerpc64/be/power10/fpu -+powerpc/powerpc64/be/power10 -diff --git a/sysdeps/powerpc/powerpc64/be/power11/fpu/Implies b/sysdeps/powerpc/powerpc64/be/power11/fpu/Implies -new file mode 100644 -index 0000000000..dff0e13064 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/be/power11/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/be/power10/fpu -diff --git a/sysdeps/powerpc/powerpc64/be/power11/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/be/power11/fpu/multiarch/Implies -new file mode 100644 -index 0000000000..c3f259e009 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/be/power11/fpu/multiarch/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/be/power10/fpu/multiarch -diff --git a/sysdeps/powerpc/powerpc64/be/power11/multiarch/Implies b/sysdeps/powerpc/powerpc64/be/power11/multiarch/Implies -new file mode 100644 -index 0000000000..9491a394c9 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/be/power11/multiarch/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/be/power10/multiarch -diff --git a/sysdeps/powerpc/powerpc64/le/power11/Implies b/sysdeps/powerpc/powerpc64/le/power11/Implies -new file mode 100644 -index 0000000000..e18182dcc1 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/le/power11/Implies -@@ -0,0 +1,2 @@ -+powerpc/powerpc64/le/power10/fpu -+powerpc/powerpc64/le/power10 -diff --git a/sysdeps/powerpc/powerpc64/le/power11/fpu/Implies b/sysdeps/powerpc/powerpc64/le/power11/fpu/Implies -new file mode 100644 -index 0000000000..e41bd55684 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/le/power11/fpu/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/le/power10/fpu -diff --git a/sysdeps/powerpc/powerpc64/le/power11/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/le/power11/fpu/multiarch/Implies -new file mode 100644 -index 0000000000..c838d50931 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/le/power11/fpu/multiarch/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/le/power10/fpu/multiarch -diff --git a/sysdeps/powerpc/powerpc64/le/power11/multiarch/Implies b/sysdeps/powerpc/powerpc64/le/power11/multiarch/Implies -new file mode 100644 -index 0000000000..687248c3c2 ---- /dev/null -+++ b/sysdeps/powerpc/powerpc64/le/power11/multiarch/Implies -@@ -0,0 +1 @@ -+powerpc/powerpc64/le/power10/multiarch -diff --git a/sysdeps/powerpc/powerpc64/le/tst-glibc-hwcaps.c b/sysdeps/powerpc/powerpc64/le/tst-glibc-hwcaps.c -index 77465d9133..65d3e69303 100644 ---- a/sysdeps/powerpc/powerpc64/le/tst-glibc-hwcaps.c -+++ b/sysdeps/powerpc/powerpc64/le/tst-glibc-hwcaps.c -@@ -36,9 +36,11 @@ compute_level (void) - return 9; - if (strcmp (platform, "power10") == 0) - return 10; -+ if (strcmp (platform, "power11") == 0) -+ return 11; - printf ("warning: unrecognized AT_PLATFORM value: %s\n", platform); -- /* Assume that the new platform supports POWER10. */ -- return 10; -+ /* Assume that the new platform supports POWER11. */ -+ return 11; - } - - static int -diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure -index 4de94089a3..9e5a07ab6d 100644 ---- a/sysdeps/powerpc/preconfigure -+++ b/sysdeps/powerpc/preconfigure -@@ -58,7 +58,7 @@ fi - - ;; - -- a2|970|power[4-9]|power5x|power6+|power10) -+ a2|970|power[4-9]|power5x|power6+|power10|power11) - submachine=${archcpu} - if test ${libc_cv_cc_submachine+y} - then : -diff --git a/sysdeps/powerpc/preconfigure.ac b/sysdeps/powerpc/preconfigure.ac -index 6c63bd8257..14b6dafd4a 100644 ---- a/sysdeps/powerpc/preconfigure.ac -+++ b/sysdeps/powerpc/preconfigure.ac -@@ -46,7 +46,7 @@ case "${machine}:${submachine}" in - AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="") - ;; - -- a2|970|power[[4-9]]|power5x|power6+|power10) -+ a2|970|power[[4-9]]|power5x|power6+|power10|power11) - submachine=${archcpu} - AC_CACHE_VAL(libc_cv_cc_submachine,libc_cv_cc_submachine="") - ;; - -commit 983f34a1252de3ca6f2305c211d86530ea42010e -Author: caiyinyu -Date: Mon Mar 11 16:07:48 2024 +0800 - - LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf - -diff --git a/sysdeps/loongarch/fpu/e_scalbf.c b/sysdeps/loongarch/fpu/e_scalbf.c -index 9f05485236..7c0395fbb5 100644 ---- a/sysdeps/loongarch/fpu/e_scalbf.c -+++ b/sysdeps/loongarch/fpu/e_scalbf.c -@@ -57,4 +57,4 @@ __ieee754_scalbf (float x, float fn) - - return x; - } --libm_alias_finite (__ieee754_scalb, __scalb) -+libm_alias_finite (__ieee754_scalbf, __scalbf) - -commit 7fc8242bf87828c935ac5df5cafb9dc7ab635fd9 -Author: H.J. Lu -Date: Fri Feb 16 07:17:10 2024 -0800 - - x86-64: Save APX registers in ld.so trampoline - - Add APX registers to STATE_SAVE_MASK so that APX registers are saved in - ld.so trampoline. This fixes BZ #31371. - - Also update STATE_SAVE_OFFSET and STATE_SAVE_MASK for i386 which will - be used by i386 _dl_tlsdesc_dynamic. - Reviewed-by: Noah Goldstein - - (cherry picked from commit dfb05f8e704edac70db38c4c8ee700769d91a413) - -diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h -index 85d0a8c943..837fd28734 100644 ---- a/sysdeps/x86/sysdep.h -+++ b/sysdeps/x86/sysdep.h -@@ -21,14 +21,54 @@ - - #include - -+/* The extended state feature IDs in the state component bitmap. */ -+#define X86_XSTATE_X87_ID 0 -+#define X86_XSTATE_SSE_ID 1 -+#define X86_XSTATE_AVX_ID 2 -+#define X86_XSTATE_BNDREGS_ID 3 -+#define X86_XSTATE_BNDCFG_ID 4 -+#define X86_XSTATE_K_ID 5 -+#define X86_XSTATE_ZMM_H_ID 6 -+#define X86_XSTATE_ZMM_ID 7 -+#define X86_XSTATE_PKRU_ID 9 -+#define X86_XSTATE_TILECFG_ID 17 -+#define X86_XSTATE_TILEDATA_ID 18 -+#define X86_XSTATE_APX_F_ID 19 -+ -+#ifdef __x86_64__ - /* Offset for fxsave/xsave area used by _dl_runtime_resolve. Also need - space to preserve RCX, RDX, RSI, RDI, R8, R9 and RAX. It must be -- aligned to 16 bytes for fxsave and 64 bytes for xsave. */ --#define STATE_SAVE_OFFSET (8 * 7 + 8) -- --/* Save SSE, AVX, AVX512, mask and bound registers. */ --#define STATE_SAVE_MASK \ -- ((1 << 1) | (1 << 2) | (1 << 3) | (1 << 5) | (1 << 6) | (1 << 7)) -+ aligned to 16 bytes for fxsave and 64 bytes for xsave. -+ -+ NB: Is is non-zero because of the 128-byte red-zone. Some registers -+ are saved on stack without adjusting stack pointer first. When we -+ update stack pointer to allocate more space, we need to take the -+ red-zone into account. */ -+# define STATE_SAVE_OFFSET (8 * 7 + 8) -+ -+/* Save SSE, AVX, AVX512, mask, bound and APX registers. Bound and APX -+ registers are mutually exclusive. */ -+# define STATE_SAVE_MASK \ -+ ((1 << X86_XSTATE_SSE_ID) \ -+ | (1 << X86_XSTATE_AVX_ID) \ -+ | (1 << X86_XSTATE_BNDREGS_ID) \ -+ | (1 << X86_XSTATE_K_ID) \ -+ | (1 << X86_XSTATE_ZMM_H_ID) \ -+ | (1 << X86_XSTATE_ZMM_ID) \ -+ | (1 << X86_XSTATE_APX_F_ID)) -+#else -+/* Offset for fxsave/xsave area used by _dl_tlsdesc_dynamic. Since i386 -+ doesn't have red-zone, use 0 here. */ -+# define STATE_SAVE_OFFSET 0 -+ -+/* Save SSE, AVX, AXV512, mask and bound registers. */ -+# define STATE_SAVE_MASK \ -+ ((1 << X86_XSTATE_SSE_ID) \ -+ | (1 << X86_XSTATE_AVX_ID) \ -+ | (1 << X86_XSTATE_BNDREGS_ID) \ -+ | (1 << X86_XSTATE_K_ID) \ -+ | (1 << X86_XSTATE_ZMM_H_ID)) -+#endif - - /* Constants for bits in __x86_string_control: */ - - -commit a364304718725a31ab141936322855c76c73e35e -Author: H.J. Lu -Date: Mon Feb 26 06:37:03 2024 -0800 - - x86: Update _dl_tlsdesc_dynamic to preserve caller-saved registers - - Compiler generates the following instruction sequence for GNU2 dynamic - TLS access: - - leaq tls_var@TLSDESC(%rip), %rax - call *tls_var@TLSCALL(%rax) - - or - - leal tls_var@TLSDESC(%ebx), %eax - call *tls_var@TLSCALL(%eax) - - CALL instruction is transparent to compiler which assumes all registers, - except for EFLAGS and RAX/EAX, are unchanged after CALL. When - _dl_tlsdesc_dynamic is called, it calls __tls_get_addr on the slow - path. __tls_get_addr is a normal function which doesn't preserve any - caller-saved registers. _dl_tlsdesc_dynamic saved and restored integer - caller-saved registers, but didn't preserve any other caller-saved - registers. Add _dl_tlsdesc_dynamic IFUNC functions for FNSAVE, FXSAVE, - XSAVE and XSAVEC to save and restore all caller-saved registers. This - fixes BZ #31372. - - Add GLRO(dl_x86_64_runtime_resolve) with GLRO(dl_x86_tlsdesc_dynamic) - to optimize elf_machine_runtime_setup. - Reviewed-by: Noah Goldstein - - (cherry picked from commit 0aac205a814a8511e98d02b91a8dc908f1c53cde) - -diff --git a/elf/Makefile b/elf/Makefile -index 5d78b659ce..c5c37a9147 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -424,6 +424,7 @@ tests += \ - tst-glibc-hwcaps-prepend \ - tst-global1 \ - tst-global2 \ -+ tst-gnu2-tls2 \ - tst-initfinilazyfail \ - tst-initorder \ - tst-initorder2 \ -@@ -846,6 +847,9 @@ modules-names += \ - tst-filterobj-flt \ - tst-finilazyfailmod \ - tst-globalmod2 \ -+ tst-gnu2-tls2mod0 \ -+ tst-gnu2-tls2mod1 \ -+ tst-gnu2-tls2mod2 \ - tst-initlazyfailmod \ - tst-initorder2a \ - tst-initorder2b \ -@@ -3044,8 +3048,22 @@ $(objpfx)tst-tlsgap.out: \ - $(objpfx)tst-tlsgap-mod0.so \ - $(objpfx)tst-tlsgap-mod1.so \ - $(objpfx)tst-tlsgap-mod2.so -+ -+$(objpfx)tst-gnu2-tls2: $(shared-thread-library) -+$(objpfx)tst-gnu2-tls2.out: \ -+ $(objpfx)tst-gnu2-tls2mod0.so \ -+ $(objpfx)tst-gnu2-tls2mod1.so \ -+ $(objpfx)tst-gnu2-tls2mod2.so -+ - ifeq (yes,$(have-mtls-dialect-gnu2)) -+# This test fails if dl_tlsdesc_dynamic doesn't preserve all caller-saved -+# registers. See https://sourceware.org/bugzilla/show_bug.cgi?id=31372 -+test-xfail-tst-gnu2-tls2 = yes -+ - CFLAGS-tst-tlsgap-mod0.c += -mtls-dialect=gnu2 - CFLAGS-tst-tlsgap-mod1.c += -mtls-dialect=gnu2 - CFLAGS-tst-tlsgap-mod2.c += -mtls-dialect=gnu2 -+CFLAGS-tst-gnu2-tls2mod0.c += -mtls-dialect=gnu2 -+CFLAGS-tst-gnu2-tls2mod1.c += -mtls-dialect=gnu2 -+CFLAGS-tst-gnu2-tls2mod2.c += -mtls-dialect=gnu2 - endif -diff --git a/elf/tst-gnu2-tls2.c b/elf/tst-gnu2-tls2.c -new file mode 100644 -index 0000000000..7ac04d7f33 ---- /dev/null -+++ b/elf/tst-gnu2-tls2.c -@@ -0,0 +1,122 @@ -+/* Test TLSDESC relocation. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include "tst-gnu2-tls2.h" -+ -+#ifndef IS_SUPPORTED -+# define IS_SUPPORTED() true -+#endif -+ -+/* An architecture can define it to clobber caller-saved registers in -+ malloc below to verify that the implicit TLSDESC call won't change -+ caller-saved registers. */ -+#ifndef PREPARE_MALLOC -+# define PREPARE_MALLOC() -+#endif -+ -+extern void * __libc_malloc (size_t); -+ -+size_t malloc_counter = 0; -+ -+void * -+malloc (size_t n) -+{ -+ PREPARE_MALLOC (); -+ malloc_counter++; -+ return __libc_malloc (n); -+} -+ -+static void *mod[3]; -+#ifndef MOD -+# define MOD(i) "tst-gnu2-tls2mod" #i ".so" -+#endif -+static const char *modname[3] = { MOD(0), MOD(1), MOD(2) }; -+#undef MOD -+ -+static void -+open_mod (int i) -+{ -+ mod[i] = xdlopen (modname[i], RTLD_LAZY); -+ printf ("open %s\n", modname[i]); -+} -+ -+static void -+close_mod (int i) -+{ -+ xdlclose (mod[i]); -+ mod[i] = NULL; -+ printf ("close %s\n", modname[i]); -+} -+ -+static void -+access_mod (int i, const char *sym) -+{ -+ struct tls var = { -1, -1, -1, -1 }; -+ struct tls *(*f) (struct tls *) = xdlsym (mod[i], sym); -+ /* Check that our malloc is called. */ -+ malloc_counter = 0; -+ struct tls *p = f (&var); -+ TEST_VERIFY (malloc_counter != 0); -+ printf ("access %s: %s() = %p\n", modname[i], sym, p); -+ TEST_VERIFY_EXIT (memcmp (p, &var, sizeof (var)) == 0); -+ ++(p->a); -+} -+ -+static void * -+start (void *arg) -+{ -+ /* The DTV generation is at the last dlopen of mod0 and the -+ entry for mod1 is NULL. */ -+ -+ open_mod (1); /* Reuse modid of mod1. Uses dynamic TLS. */ -+ -+ /* Force the slow path in GNU2 TLS descriptor call. */ -+ access_mod (1, "apply_tls"); -+ -+ return arg; -+} -+ -+static int -+do_test (void) -+{ -+ if (!IS_SUPPORTED ()) -+ return EXIT_UNSUPPORTED; -+ -+ open_mod (0); -+ open_mod (1); -+ open_mod (2); -+ close_mod (0); -+ close_mod (1); /* Create modid gap at mod1. */ -+ open_mod (0); /* Reuse modid of mod0, bump generation count. */ -+ -+ /* Create a thread where DTV of mod1 is NULL. */ -+ pthread_t t = xpthread_create (NULL, start, NULL); -+ xpthread_join (t); -+ return 0; -+} -+ -+#include -diff --git a/elf/tst-gnu2-tls2.h b/elf/tst-gnu2-tls2.h -new file mode 100644 -index 0000000000..77964a57a3 ---- /dev/null -+++ b/elf/tst-gnu2-tls2.h -@@ -0,0 +1,36 @@ -+/* Test TLSDESC relocation. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+ -+struct tls -+{ -+ int64_t a, b, c, d; -+}; -+ -+extern struct tls *apply_tls (struct tls *); -+ -+/* An architecture can define them to verify that clobber caller-saved -+ registers aren't changed by the implicit TLSDESC call. */ -+#ifndef BEFORE_TLSDESC_CALL -+# define BEFORE_TLSDESC_CALL() -+#endif -+ -+#ifndef AFTER_TLSDESC_CALL -+# define AFTER_TLSDESC_CALL() -+#endif -diff --git a/elf/tst-gnu2-tls2mod0.c b/elf/tst-gnu2-tls2mod0.c -new file mode 100644 -index 0000000000..45556a0e17 ---- /dev/null -+++ b/elf/tst-gnu2-tls2mod0.c -@@ -0,0 +1,31 @@ -+/* DSO used by tst-gnu2-tls2. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include "tst-gnu2-tls2.h" -+ -+__thread struct tls tls_var0 __attribute__ ((visibility ("hidden"))); -+ -+struct tls * -+apply_tls (struct tls *p) -+{ -+ BEFORE_TLSDESC_CALL (); -+ tls_var0 = *p; -+ struct tls *ret = &tls_var0; -+ AFTER_TLSDESC_CALL (); -+ return ret; -+} -diff --git a/elf/tst-gnu2-tls2mod1.c b/elf/tst-gnu2-tls2mod1.c -new file mode 100644 -index 0000000000..e10b9dbc0a ---- /dev/null -+++ b/elf/tst-gnu2-tls2mod1.c -@@ -0,0 +1,31 @@ -+/* DSO used by tst-gnu2-tls2. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include "tst-gnu2-tls2.h" -+ -+__thread struct tls tls_var1[100] __attribute__ ((visibility ("hidden"))); -+ -+struct tls * -+apply_tls (struct tls *p) -+{ -+ BEFORE_TLSDESC_CALL (); -+ tls_var1[1] = *p; -+ struct tls *ret = &tls_var1[1]; -+ AFTER_TLSDESC_CALL (); -+ return ret; -+} -diff --git a/elf/tst-gnu2-tls2mod2.c b/elf/tst-gnu2-tls2mod2.c -new file mode 100644 -index 0000000000..141af51e55 ---- /dev/null -+++ b/elf/tst-gnu2-tls2mod2.c -@@ -0,0 +1,31 @@ -+/* DSO used by tst-gnu2-tls2. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include "tst-gnu2-tls2.h" -+ -+__thread struct tls tls_var2 __attribute__ ((visibility ("hidden"))); -+ -+struct tls * -+apply_tls (struct tls *p) -+{ -+ BEFORE_TLSDESC_CALL (); -+ tls_var2 = *p; -+ struct tls *ret = &tls_var2; -+ AFTER_TLSDESC_CALL (); -+ return ret; -+} -diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h -index fc1ef96587..50d74fe6e9 100644 ---- a/sysdeps/i386/dl-machine.h -+++ b/sysdeps/i386/dl-machine.h -@@ -347,7 +347,7 @@ and creates an unsatisfiable circular dependency.\n", - { - td->arg = _dl_make_tlsdesc_dynamic - (sym_map, sym->st_value + (ElfW(Word))td->arg); -- td->entry = _dl_tlsdesc_dynamic; -+ td->entry = GLRO(dl_x86_tlsdesc_dynamic); - } - else - # endif -diff --git a/sysdeps/i386/dl-tlsdesc-dynamic.h b/sysdeps/i386/dl-tlsdesc-dynamic.h -new file mode 100644 -index 0000000000..3627028577 ---- /dev/null -+++ b/sysdeps/i386/dl-tlsdesc-dynamic.h -@@ -0,0 +1,190 @@ -+/* Thread-local storage handling in the ELF dynamic linker. i386 version. -+ Copyright (C) 2004-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#undef REGISTER_SAVE_AREA -+ -+#if !defined USE_FNSAVE && (STATE_SAVE_ALIGNMENT % 16) != 0 -+# error STATE_SAVE_ALIGNMENT must be multiple of 16 -+#endif -+ -+#if DL_RUNTIME_RESOLVE_REALIGN_STACK -+# ifdef USE_FNSAVE -+# error USE_FNSAVE shouldn't be defined -+# endif -+# ifdef USE_FXSAVE -+/* Use fxsave to save all registers. */ -+# define REGISTER_SAVE_AREA 512 -+# endif -+#else -+# ifdef USE_FNSAVE -+/* Use fnsave to save x87 FPU stack registers. */ -+# define REGISTER_SAVE_AREA 108 -+# else -+# ifndef USE_FXSAVE -+# error USE_FXSAVE must be defined -+# endif -+/* Use fxsave to save all registers. Add 12 bytes to align the stack -+ to 16 bytes. */ -+# define REGISTER_SAVE_AREA (512 + 12) -+# endif -+#endif -+ -+ .hidden _dl_tlsdesc_dynamic -+ .global _dl_tlsdesc_dynamic -+ .type _dl_tlsdesc_dynamic,@function -+ -+ /* This function is used for symbols that need dynamic TLS. -+ -+ %eax points to the TLS descriptor, such that 0(%eax) points to -+ _dl_tlsdesc_dynamic itself, and 4(%eax) points to a struct -+ tlsdesc_dynamic_arg object. It must return in %eax the offset -+ between the thread pointer and the object denoted by the -+ argument, without clobbering any registers. -+ -+ The assembly code that follows is a rendition of the following -+ C code, hand-optimized a little bit. -+ -+ptrdiff_t -+__attribute__ ((__regparm__ (1))) -+_dl_tlsdesc_dynamic (struct tlsdesc *tdp) -+{ -+ struct tlsdesc_dynamic_arg *td = tdp->arg; -+ dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer + DTV_OFFSET); -+ if (__builtin_expect (td->gen_count <= dtv[0].counter -+ && (dtv[td->tlsinfo.ti_module].pointer.val -+ != TLS_DTV_UNALLOCATED), -+ 1)) -+ return dtv[td->tlsinfo.ti_module].pointer.val + td->tlsinfo.ti_offset -+ - __thread_pointer; -+ -+ return ___tls_get_addr (&td->tlsinfo) - __thread_pointer; -+} -+*/ -+ cfi_startproc -+ .align 16 -+_dl_tlsdesc_dynamic: -+ /* Like all TLS resolvers, preserve call-clobbered registers. -+ We need two scratch regs anyway. */ -+ subl $32, %esp -+ cfi_adjust_cfa_offset (32) -+ movl %ecx, 20(%esp) -+ movl %edx, 24(%esp) -+ movl TLSDESC_ARG(%eax), %eax -+ movl %gs:DTV_OFFSET, %edx -+ movl TLSDESC_GEN_COUNT(%eax), %ecx -+ cmpl (%edx), %ecx -+ ja 2f -+ movl TLSDESC_MODID(%eax), %ecx -+ movl (%edx,%ecx,8), %edx -+ cmpl $-1, %edx -+ je 2f -+ movl TLSDESC_MODOFF(%eax), %eax -+ addl %edx, %eax -+1: -+ movl 20(%esp), %ecx -+ subl %gs:0, %eax -+ movl 24(%esp), %edx -+ addl $32, %esp -+ cfi_adjust_cfa_offset (-32) -+ ret -+ .p2align 4,,7 -+2: -+ cfi_adjust_cfa_offset (32) -+#if DL_RUNTIME_RESOLVE_REALIGN_STACK -+ movl %ebx, -28(%esp) -+ movl %esp, %ebx -+ cfi_def_cfa_register(%ebx) -+ and $-STATE_SAVE_ALIGNMENT, %esp -+#endif -+#ifdef REGISTER_SAVE_AREA -+ subl $REGISTER_SAVE_AREA, %esp -+# if !DL_RUNTIME_RESOLVE_REALIGN_STACK -+ cfi_adjust_cfa_offset(REGISTER_SAVE_AREA) -+# endif -+#else -+# if !DL_RUNTIME_RESOLVE_REALIGN_STACK -+# error DL_RUNTIME_RESOLVE_REALIGN_STACK must be true -+# endif -+ /* Allocate stack space of the required size to save the state. */ -+ LOAD_PIC_REG (cx) -+ subl RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+XSAVE_STATE_SIZE_OFFSET+_rtld_local_ro@GOTOFF(%ecx), %esp -+#endif -+#ifdef USE_FNSAVE -+ fnsave (%esp) -+#elif defined USE_FXSAVE -+ fxsave (%esp) -+#else -+ /* Save the argument for ___tls_get_addr in EAX. */ -+ movl %eax, %ecx -+ movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax -+ xorl %edx, %edx -+ /* Clear the XSAVE Header. */ -+# ifdef USE_XSAVE -+ movl %edx, (512)(%esp) -+ movl %edx, (512 + 4 * 1)(%esp) -+ movl %edx, (512 + 4 * 2)(%esp) -+ movl %edx, (512 + 4 * 3)(%esp) -+# endif -+ movl %edx, (512 + 4 * 4)(%esp) -+ movl %edx, (512 + 4 * 5)(%esp) -+ movl %edx, (512 + 4 * 6)(%esp) -+ movl %edx, (512 + 4 * 7)(%esp) -+ movl %edx, (512 + 4 * 8)(%esp) -+ movl %edx, (512 + 4 * 9)(%esp) -+ movl %edx, (512 + 4 * 10)(%esp) -+ movl %edx, (512 + 4 * 11)(%esp) -+ movl %edx, (512 + 4 * 12)(%esp) -+ movl %edx, (512 + 4 * 13)(%esp) -+ movl %edx, (512 + 4 * 14)(%esp) -+ movl %edx, (512 + 4 * 15)(%esp) -+# ifdef USE_XSAVE -+ xsave (%esp) -+# else -+ xsavec (%esp) -+# endif -+ /* Restore the argument for ___tls_get_addr in EAX. */ -+ movl %ecx, %eax -+#endif -+ call HIDDEN_JUMPTARGET (___tls_get_addr) -+ /* Get register content back. */ -+#ifdef USE_FNSAVE -+ frstor (%esp) -+#elif defined USE_FXSAVE -+ fxrstor (%esp) -+#else -+ /* Save and retore ___tls_get_addr return value stored in EAX. */ -+ movl %eax, %ecx -+ movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax -+ xorl %edx, %edx -+ xrstor (%esp) -+ movl %ecx, %eax -+#endif -+#if DL_RUNTIME_RESOLVE_REALIGN_STACK -+ mov %ebx, %esp -+ cfi_def_cfa_register(%esp) -+ movl -28(%esp), %ebx -+ cfi_restore(%ebx) -+#else -+ addl $REGISTER_SAVE_AREA, %esp -+ cfi_adjust_cfa_offset(-REGISTER_SAVE_AREA) -+#endif -+ jmp 1b -+ cfi_endproc -+ .size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic -+ -+#undef STATE_SAVE_ALIGNMENT -diff --git a/sysdeps/i386/dl-tlsdesc.S b/sysdeps/i386/dl-tlsdesc.S -index 90d93caa0c..f002feee56 100644 ---- a/sysdeps/i386/dl-tlsdesc.S -+++ b/sysdeps/i386/dl-tlsdesc.S -@@ -18,8 +18,27 @@ - - #include - #include -+#include -+#include - #include "tlsdesc.h" - -+#ifndef DL_STACK_ALIGNMENT -+/* Due to GCC bug: -+ -+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066 -+ -+ __tls_get_addr may be called with 4-byte stack alignment. Although -+ this bug has been fixed in GCC 4.9.4, 5.3 and 6, we can't assume -+ that stack will be always aligned at 16 bytes. */ -+# define DL_STACK_ALIGNMENT 4 -+#endif -+ -+/* True if _dl_tlsdesc_dynamic should align stack for STATE_SAVE or align -+ stack to MINIMUM_ALIGNMENT bytes before calling ___tls_get_addr. */ -+#define DL_RUNTIME_RESOLVE_REALIGN_STACK \ -+ (STATE_SAVE_ALIGNMENT > DL_STACK_ALIGNMENT \ -+ || MINIMUM_ALIGNMENT > DL_STACK_ALIGNMENT) -+ - .text - - /* This function is used to compute the TP offset for symbols in -@@ -65,69 +84,35 @@ _dl_tlsdesc_undefweak: - .size _dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak - - #ifdef SHARED -- .hidden _dl_tlsdesc_dynamic -- .global _dl_tlsdesc_dynamic -- .type _dl_tlsdesc_dynamic,@function -- -- /* This function is used for symbols that need dynamic TLS. -- -- %eax points to the TLS descriptor, such that 0(%eax) points to -- _dl_tlsdesc_dynamic itself, and 4(%eax) points to a struct -- tlsdesc_dynamic_arg object. It must return in %eax the offset -- between the thread pointer and the object denoted by the -- argument, without clobbering any registers. -- -- The assembly code that follows is a rendition of the following -- C code, hand-optimized a little bit. -- --ptrdiff_t --__attribute__ ((__regparm__ (1))) --_dl_tlsdesc_dynamic (struct tlsdesc *tdp) --{ -- struct tlsdesc_dynamic_arg *td = tdp->arg; -- dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer + DTV_OFFSET); -- if (__builtin_expect (td->gen_count <= dtv[0].counter -- && (dtv[td->tlsinfo.ti_module].pointer.val -- != TLS_DTV_UNALLOCATED), -- 1)) -- return dtv[td->tlsinfo.ti_module].pointer.val + td->tlsinfo.ti_offset -- - __thread_pointer; -- -- return ___tls_get_addr (&td->tlsinfo) - __thread_pointer; --} --*/ -- cfi_startproc -- .align 16 --_dl_tlsdesc_dynamic: -- /* Like all TLS resolvers, preserve call-clobbered registers. -- We need two scratch regs anyway. */ -- subl $28, %esp -- cfi_adjust_cfa_offset (28) -- movl %ecx, 20(%esp) -- movl %edx, 24(%esp) -- movl TLSDESC_ARG(%eax), %eax -- movl %gs:DTV_OFFSET, %edx -- movl TLSDESC_GEN_COUNT(%eax), %ecx -- cmpl (%edx), %ecx -- ja .Lslow -- movl TLSDESC_MODID(%eax), %ecx -- movl (%edx,%ecx,8), %edx -- cmpl $-1, %edx -- je .Lslow -- movl TLSDESC_MODOFF(%eax), %eax -- addl %edx, %eax --.Lret: -- movl 20(%esp), %ecx -- subl %gs:0, %eax -- movl 24(%esp), %edx -- addl $28, %esp -- cfi_adjust_cfa_offset (-28) -- ret -- .p2align 4,,7 --.Lslow: -- cfi_adjust_cfa_offset (28) -- call HIDDEN_JUMPTARGET (___tls_get_addr) -- jmp .Lret -- cfi_endproc -- .size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic -+# define USE_FNSAVE -+# define MINIMUM_ALIGNMENT 4 -+# define STATE_SAVE_ALIGNMENT 4 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_fnsave -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef MINIMUM_ALIGNMENT -+# undef USE_FNSAVE -+ -+# define MINIMUM_ALIGNMENT 16 -+ -+# define USE_FXSAVE -+# define STATE_SAVE_ALIGNMENT 16 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_fxsave -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef USE_FXSAVE -+ -+# define USE_XSAVE -+# define STATE_SAVE_ALIGNMENT 64 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_xsave -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef USE_XSAVE -+ -+# define USE_XSAVEC -+# define STATE_SAVE_ALIGNMENT 64 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_xsavec -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef USE_XSAVEC - #endif /* SHARED */ -diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile -index 4d50b327b5..992aabe43e 100644 ---- a/sysdeps/x86/Makefile -+++ b/sysdeps/x86/Makefile -@@ -1,5 +1,5 @@ - ifeq ($(subdir),csu) --gen-as-const-headers += cpu-features-offsets.sym -+gen-as-const-headers += cpu-features-offsets.sym features-offsets.sym - endif - - ifeq ($(subdir),elf) -@@ -86,6 +86,11 @@ endif - tst-ifunc-isa-2-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-SSE4_2,-AVX,-AVX2,-AVX512F - tst-ifunc-isa-2-static-ENV = $(tst-ifunc-isa-2-ENV) - tst-hwcap-tunables-ARGS = -- $(host-test-program-cmd) -+ -+CFLAGS-tst-gnu2-tls2.c += -msse -+CFLAGS-tst-gnu2-tls2mod0.c += -msse2 -mtune=haswell -+CFLAGS-tst-gnu2-tls2mod1.c += -msse2 -mtune=haswell -+CFLAGS-tst-gnu2-tls2mod2.c += -msse2 -mtune=haswell - endif - - ifeq ($(subdir),math) -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index 25e6622a79..835113b42f 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -27,8 +27,13 @@ - extern void TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *) - attribute_hidden; - --#if defined SHARED && defined __x86_64__ --# include -+#if defined SHARED -+extern void _dl_tlsdesc_dynamic_fxsave (void) attribute_hidden; -+extern void _dl_tlsdesc_dynamic_xsave (void) attribute_hidden; -+extern void _dl_tlsdesc_dynamic_xsavec (void) attribute_hidden; -+ -+# ifdef __x86_64__ -+# include - - static void - TUNABLE_CALLBACK (set_plt_rewrite) (tunable_val_t *valp) -@@ -47,6 +52,15 @@ TUNABLE_CALLBACK (set_plt_rewrite) (tunable_val_t *valp) - : plt_rewrite_jmp); - } - } -+# else -+extern void _dl_tlsdesc_dynamic_fnsave (void) attribute_hidden; -+# endif -+#endif -+ -+#ifdef __x86_64__ -+extern void _dl_runtime_resolve_fxsave (void) attribute_hidden; -+extern void _dl_runtime_resolve_xsave (void) attribute_hidden; -+extern void _dl_runtime_resolve_xsavec (void) attribute_hidden; - #endif - - #ifdef __LP64__ -@@ -1130,6 +1144,44 @@ no_cpuid: - TUNABLE_CALLBACK (set_x86_shstk)); - #endif - -+ if (GLRO(dl_x86_cpu_features).xsave_state_size != 0) -+ { -+ if (CPU_FEATURE_USABLE_P (cpu_features, XSAVEC)) -+ { -+#ifdef __x86_64__ -+ GLRO(dl_x86_64_runtime_resolve) = _dl_runtime_resolve_xsavec; -+#endif -+#ifdef SHARED -+ GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_xsavec; -+#endif -+ } -+ else -+ { -+#ifdef __x86_64__ -+ GLRO(dl_x86_64_runtime_resolve) = _dl_runtime_resolve_xsave; -+#endif -+#ifdef SHARED -+ GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_xsave; -+#endif -+ } -+ } -+ else -+ { -+#ifdef __x86_64__ -+ GLRO(dl_x86_64_runtime_resolve) = _dl_runtime_resolve_fxsave; -+# ifdef SHARED -+ GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave; -+# endif -+#else -+# ifdef SHARED -+ if (CPU_FEATURE_USABLE_P (cpu_features, FXSR)) -+ GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave; -+ else -+ GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fnsave; -+# endif -+#endif -+ } -+ - #ifdef SHARED - # ifdef __x86_64__ - TUNABLE_GET (plt_rewrite, tunable_val_t *, -diff --git a/sysdeps/x86/dl-procinfo.c b/sysdeps/x86/dl-procinfo.c -index ee957b4d70..5920d4b320 100644 ---- a/sysdeps/x86/dl-procinfo.c -+++ b/sysdeps/x86/dl-procinfo.c -@@ -86,3 +86,19 @@ PROCINFO_CLASS const char _dl_x86_platforms[4][9] - #else - , - #endif -+ -+#if defined SHARED && !IS_IN (ldconfig) -+# if !defined PROCINFO_DECL -+ ._dl_x86_tlsdesc_dynamic -+# else -+PROCINFO_CLASS void * _dl_x86_tlsdesc_dynamic -+# endif -+# ifndef PROCINFO_DECL -+= NULL -+# endif -+# ifdef PROCINFO_DECL -+; -+# else -+, -+# endif -+#endif -diff --git a/sysdeps/x86_64/features-offsets.sym b/sysdeps/x86/features-offsets.sym -similarity index 89% -rename from sysdeps/x86_64/features-offsets.sym -rename to sysdeps/x86/features-offsets.sym -index 9e4be3393a..77e990c705 100644 ---- a/sysdeps/x86_64/features-offsets.sym -+++ b/sysdeps/x86/features-offsets.sym -@@ -3,4 +3,6 @@ - #include - - RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET offsetof (struct rtld_global_ro, _dl_x86_cpu_features) -+#ifdef __x86_64__ - RTLD_GLOBAL_DL_X86_FEATURE_1_OFFSET offsetof (struct rtld_global, _dl_x86_feature_1) -+#endif -diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h -index 837fd28734..485cad9c02 100644 ---- a/sysdeps/x86/sysdep.h -+++ b/sysdeps/x86/sysdep.h -@@ -70,6 +70,12 @@ - | (1 << X86_XSTATE_ZMM_H_ID)) - #endif - -+/* States which should be saved for TLSDESC_CALL and TLS_DESC_CALL. -+ Compiler assumes that all registers, including x87 FPU stack registers, -+ are unchanged after CALL, except for EFLAGS and RAX/EAX. */ -+#define TLSDESC_CALL_STATE_SAVE_MASK \ -+ (STATE_SAVE_MASK | (1 << X86_XSTATE_X87_ID)) -+ - /* Constants for bits in __x86_string_control: */ - - /* Avoid short distance REP MOVSB. */ -diff --git a/sysdeps/x86/tst-gnu2-tls2.c b/sysdeps/x86/tst-gnu2-tls2.c -new file mode 100644 -index 0000000000..de900a423b ---- /dev/null -+++ b/sysdeps/x86/tst-gnu2-tls2.c -@@ -0,0 +1,20 @@ -+#ifndef __x86_64__ -+#include -+ -+#define IS_SUPPORTED() CPU_FEATURE_ACTIVE (SSE2) -+#endif -+ -+/* Clear XMM0...XMM7 */ -+#define PREPARE_MALLOC() \ -+{ \ -+ asm volatile ("xorps %%xmm0, %%xmm0" : : : "xmm0" ); \ -+ asm volatile ("xorps %%xmm1, %%xmm1" : : : "xmm1" ); \ -+ asm volatile ("xorps %%xmm2, %%xmm2" : : : "xmm2" ); \ -+ asm volatile ("xorps %%xmm3, %%xmm3" : : : "xmm3" ); \ -+ asm volatile ("xorps %%xmm4, %%xmm4" : : : "xmm4" ); \ -+ asm volatile ("xorps %%xmm5, %%xmm5" : : : "xmm5" ); \ -+ asm volatile ("xorps %%xmm6, %%xmm6" : : : "xmm6" ); \ -+ asm volatile ("xorps %%xmm7, %%xmm7" : : : "xmm7" ); \ -+} -+ -+#include -diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile -index 90f4ecfd26..e8babc9a4e 100644 ---- a/sysdeps/x86_64/Makefile -+++ b/sysdeps/x86_64/Makefile -@@ -10,7 +10,7 @@ LDFLAGS-rtld += -Wl,-z,nomark-plt - endif - - ifeq ($(subdir),csu) --gen-as-const-headers += features-offsets.sym link-defines.sym -+gen-as-const-headers += link-defines.sym - endif - - ifeq ($(subdir),gmon) -diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h -index 6d605d0d32..ff5d45f7cb 100644 ---- a/sysdeps/x86_64/dl-machine.h -+++ b/sysdeps/x86_64/dl-machine.h -@@ -71,9 +71,6 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[], - int lazy, int profile) - { - Elf64_Addr *got; -- extern void _dl_runtime_resolve_fxsave (ElfW(Word)) attribute_hidden; -- extern void _dl_runtime_resolve_xsave (ElfW(Word)) attribute_hidden; -- extern void _dl_runtime_resolve_xsavec (ElfW(Word)) attribute_hidden; - extern void _dl_runtime_profile_sse (ElfW(Word)) attribute_hidden; - extern void _dl_runtime_profile_avx (ElfW(Word)) attribute_hidden; - extern void _dl_runtime_profile_avx512 (ElfW(Word)) attribute_hidden; -@@ -96,8 +93,6 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[], - /* Identify this shared object. */ - *(ElfW(Addr) *) (got + 1) = (ElfW(Addr)) l; - -- const struct cpu_features* cpu_features = __get_cpu_features (); -- - #ifdef SHARED - /* The got[2] entry contains the address of a function which gets - called to get the address of a so far unresolved function and -@@ -107,6 +102,7 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[], - end in this function. */ - if (__glibc_unlikely (profile)) - { -+ const struct cpu_features* cpu_features = __get_cpu_features (); - if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX512F)) - *(ElfW(Addr) *) (got + 2) = (ElfW(Addr)) &_dl_runtime_profile_avx512; - else if (X86_ISA_CPU_FEATURE_USABLE_P (cpu_features, AVX)) -@@ -126,15 +122,8 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[], - /* This function will get called to fix up the GOT entry - indicated by the offset on the stack, and then jump to - the resolved address. */ -- if (MINIMUM_X86_ISA_LEVEL >= AVX_X86_ISA_LEVEL -- || GLRO(dl_x86_cpu_features).xsave_state_size != 0) -- *(ElfW(Addr) *) (got + 2) -- = (CPU_FEATURE_USABLE_P (cpu_features, XSAVEC) -- ? (ElfW(Addr)) &_dl_runtime_resolve_xsavec -- : (ElfW(Addr)) &_dl_runtime_resolve_xsave); -- else -- *(ElfW(Addr) *) (got + 2) -- = (ElfW(Addr)) &_dl_runtime_resolve_fxsave; -+ *(ElfW(Addr) *) (got + 2) -+ = (ElfW(Addr)) GLRO(dl_x86_64_runtime_resolve); - } - } - -@@ -383,7 +372,7 @@ and creates an unsatisfiable circular dependency.\n", - { - td->arg = _dl_make_tlsdesc_dynamic - (sym_map, sym->st_value + reloc->r_addend); -- td->entry = _dl_tlsdesc_dynamic; -+ td->entry = GLRO(dl_x86_tlsdesc_dynamic); - } - else - # endif -diff --git a/sysdeps/x86_64/dl-procinfo.c b/sysdeps/x86_64/dl-procinfo.c -index 4d1d790fbb..06637a8154 100644 ---- a/sysdeps/x86_64/dl-procinfo.c -+++ b/sysdeps/x86_64/dl-procinfo.c -@@ -41,5 +41,21 @@ - - #include - -+#if !IS_IN (ldconfig) -+# if !defined PROCINFO_DECL && defined SHARED -+ ._dl_x86_64_runtime_resolve -+# else -+PROCINFO_CLASS void * _dl_x86_64_runtime_resolve -+# endif -+# ifndef PROCINFO_DECL -+= NULL -+# endif -+# if !defined SHARED || defined PROCINFO_DECL -+; -+# else -+, -+# endif -+#endif -+ - #undef PROCINFO_DECL - #undef PROCINFO_CLASS -diff --git a/sysdeps/x86_64/dl-tlsdesc-dynamic.h b/sysdeps/x86_64/dl-tlsdesc-dynamic.h -new file mode 100644 -index 0000000000..0c2e8d5320 ---- /dev/null -+++ b/sysdeps/x86_64/dl-tlsdesc-dynamic.h -@@ -0,0 +1,166 @@ -+/* Thread-local storage handling in the ELF dynamic linker. x86_64 version. -+ Copyright (C) 2004-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#ifndef SECTION -+# define SECTION(p) p -+#endif -+ -+#undef REGISTER_SAVE_AREA -+#undef LOCAL_STORAGE_AREA -+#undef BASE -+ -+#include "dl-trampoline-state.h" -+ -+ .section SECTION(.text),"ax",@progbits -+ -+ .hidden _dl_tlsdesc_dynamic -+ .global _dl_tlsdesc_dynamic -+ .type _dl_tlsdesc_dynamic,@function -+ -+ /* %rax points to the TLS descriptor, such that 0(%rax) points to -+ _dl_tlsdesc_dynamic itself, and 8(%rax) points to a struct -+ tlsdesc_dynamic_arg object. It must return in %rax the offset -+ between the thread pointer and the object denoted by the -+ argument, without clobbering any registers. -+ -+ The assembly code that follows is a rendition of the following -+ C code, hand-optimized a little bit. -+ -+ptrdiff_t -+_dl_tlsdesc_dynamic (register struct tlsdesc *tdp asm ("%rax")) -+{ -+ struct tlsdesc_dynamic_arg *td = tdp->arg; -+ dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer + DTV_OFFSET); -+ if (__builtin_expect (td->gen_count <= dtv[0].counter -+ && (dtv[td->tlsinfo.ti_module].pointer.val -+ != TLS_DTV_UNALLOCATED), -+ 1)) -+ return dtv[td->tlsinfo.ti_module].pointer.val + td->tlsinfo.ti_offset -+ - __thread_pointer; -+ -+ return __tls_get_addr_internal (&td->tlsinfo) - __thread_pointer; -+} -+*/ -+ cfi_startproc -+ .align 16 -+_dl_tlsdesc_dynamic: -+ _CET_ENDBR -+ /* Preserve call-clobbered registers that we modify. -+ We need two scratch regs anyway. */ -+ movq %rsi, -16(%rsp) -+ mov %fs:DTV_OFFSET, %RSI_LP -+ movq %rdi, -8(%rsp) -+ movq TLSDESC_ARG(%rax), %rdi -+ movq (%rsi), %rax -+ cmpq %rax, TLSDESC_GEN_COUNT(%rdi) -+ ja 2f -+ movq TLSDESC_MODID(%rdi), %rax -+ salq $4, %rax -+ movq (%rax,%rsi), %rax -+ cmpq $-1, %rax -+ je 2f -+ addq TLSDESC_MODOFF(%rdi), %rax -+1: -+ movq -16(%rsp), %rsi -+ sub %fs:0, %RAX_LP -+ movq -8(%rsp), %rdi -+ ret -+2: -+#if DL_RUNTIME_RESOLVE_REALIGN_STACK -+ movq %rbx, -24(%rsp) -+ mov %RSP_LP, %RBX_LP -+ cfi_def_cfa_register(%rbx) -+ and $-STATE_SAVE_ALIGNMENT, %RSP_LP -+#endif -+#ifdef REGISTER_SAVE_AREA -+# if DL_RUNTIME_RESOLVE_REALIGN_STACK -+ /* STATE_SAVE_OFFSET has space for 8 integer registers. But we -+ need space for RCX, RDX, RSI, RDI, R8, R9, R10 and R11, plus -+ RBX above. */ -+ sub $(REGISTER_SAVE_AREA + STATE_SAVE_ALIGNMENT), %RSP_LP -+# else -+ sub $REGISTER_SAVE_AREA, %RSP_LP -+ cfi_adjust_cfa_offset(REGISTER_SAVE_AREA) -+# endif -+#else -+ /* Allocate stack space of the required size to save the state. */ -+ sub _rtld_local_ro+RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+XSAVE_STATE_SIZE_OFFSET(%rip), %RSP_LP -+#endif -+ /* Besides rdi and rsi, saved above, save rcx, rdx, r8, r9, -+ r10 and r11. */ -+ movq %rcx, REGISTER_SAVE_RCX(%rsp) -+ movq %rdx, REGISTER_SAVE_RDX(%rsp) -+ movq %r8, REGISTER_SAVE_R8(%rsp) -+ movq %r9, REGISTER_SAVE_R9(%rsp) -+ movq %r10, REGISTER_SAVE_R10(%rsp) -+ movq %r11, REGISTER_SAVE_R11(%rsp) -+#ifdef USE_FXSAVE -+ fxsave STATE_SAVE_OFFSET(%rsp) -+#else -+ movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax -+ xorl %edx, %edx -+ /* Clear the XSAVE Header. */ -+# ifdef USE_XSAVE -+ movq %rdx, (STATE_SAVE_OFFSET + 512)(%rsp) -+ movq %rdx, (STATE_SAVE_OFFSET + 512 + 8)(%rsp) -+# endif -+ movq %rdx, (STATE_SAVE_OFFSET + 512 + 8 * 2)(%rsp) -+ movq %rdx, (STATE_SAVE_OFFSET + 512 + 8 * 3)(%rsp) -+ movq %rdx, (STATE_SAVE_OFFSET + 512 + 8 * 4)(%rsp) -+ movq %rdx, (STATE_SAVE_OFFSET + 512 + 8 * 5)(%rsp) -+ movq %rdx, (STATE_SAVE_OFFSET + 512 + 8 * 6)(%rsp) -+ movq %rdx, (STATE_SAVE_OFFSET + 512 + 8 * 7)(%rsp) -+# ifdef USE_XSAVE -+ xsave STATE_SAVE_OFFSET(%rsp) -+# else -+ xsavec STATE_SAVE_OFFSET(%rsp) -+# endif -+#endif -+ /* %rdi already points to the tlsinfo data structure. */ -+ call HIDDEN_JUMPTARGET (__tls_get_addr) -+ # Get register content back. -+#ifdef USE_FXSAVE -+ fxrstor STATE_SAVE_OFFSET(%rsp) -+#else -+ /* Save and retore __tls_get_addr return value stored in RAX. */ -+ mov %RAX_LP, %RCX_LP -+ movl $TLSDESC_CALL_STATE_SAVE_MASK, %eax -+ xorl %edx, %edx -+ xrstor STATE_SAVE_OFFSET(%rsp) -+ mov %RCX_LP, %RAX_LP -+#endif -+ movq REGISTER_SAVE_R11(%rsp), %r11 -+ movq REGISTER_SAVE_R10(%rsp), %r10 -+ movq REGISTER_SAVE_R9(%rsp), %r9 -+ movq REGISTER_SAVE_R8(%rsp), %r8 -+ movq REGISTER_SAVE_RDX(%rsp), %rdx -+ movq REGISTER_SAVE_RCX(%rsp), %rcx -+#if DL_RUNTIME_RESOLVE_REALIGN_STACK -+ mov %RBX_LP, %RSP_LP -+ cfi_def_cfa_register(%rsp) -+ movq -24(%rsp), %rbx -+ cfi_restore(%rbx) -+#else -+ add $REGISTER_SAVE_AREA, %RSP_LP -+ cfi_adjust_cfa_offset(-REGISTER_SAVE_AREA) -+#endif -+ jmp 1b -+ cfi_endproc -+ .size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic -+ -+#undef STATE_SAVE_ALIGNMENT -diff --git a/sysdeps/x86_64/dl-tlsdesc.S b/sysdeps/x86_64/dl-tlsdesc.S -index f748af2ece..ea69f5223a 100644 ---- a/sysdeps/x86_64/dl-tlsdesc.S -+++ b/sysdeps/x86_64/dl-tlsdesc.S -@@ -18,7 +18,19 @@ - - #include - #include -+#include -+#include - #include "tlsdesc.h" -+#include "dl-trampoline-save.h" -+ -+/* Area on stack to save and restore registers used for parameter -+ passing when calling _dl_tlsdesc_dynamic. */ -+#define REGISTER_SAVE_RCX 0 -+#define REGISTER_SAVE_RDX (REGISTER_SAVE_RCX + 8) -+#define REGISTER_SAVE_R8 (REGISTER_SAVE_RDX + 8) -+#define REGISTER_SAVE_R9 (REGISTER_SAVE_R8 + 8) -+#define REGISTER_SAVE_R10 (REGISTER_SAVE_R9 + 8) -+#define REGISTER_SAVE_R11 (REGISTER_SAVE_R10 + 8) - - .text - -@@ -67,80 +79,24 @@ _dl_tlsdesc_undefweak: - .size _dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak - - #ifdef SHARED -- .hidden _dl_tlsdesc_dynamic -- .global _dl_tlsdesc_dynamic -- .type _dl_tlsdesc_dynamic,@function -- -- /* %rax points to the TLS descriptor, such that 0(%rax) points to -- _dl_tlsdesc_dynamic itself, and 8(%rax) points to a struct -- tlsdesc_dynamic_arg object. It must return in %rax the offset -- between the thread pointer and the object denoted by the -- argument, without clobbering any registers. -- -- The assembly code that follows is a rendition of the following -- C code, hand-optimized a little bit. -- --ptrdiff_t --_dl_tlsdesc_dynamic (register struct tlsdesc *tdp asm ("%rax")) --{ -- struct tlsdesc_dynamic_arg *td = tdp->arg; -- dtv_t *dtv = *(dtv_t **)((char *)__thread_pointer + DTV_OFFSET); -- if (__builtin_expect (td->gen_count <= dtv[0].counter -- && (dtv[td->tlsinfo.ti_module].pointer.val -- != TLS_DTV_UNALLOCATED), -- 1)) -- return dtv[td->tlsinfo.ti_module].pointer.val + td->tlsinfo.ti_offset -- - __thread_pointer; -- -- return __tls_get_addr_internal (&td->tlsinfo) - __thread_pointer; --} --*/ -- cfi_startproc -- .align 16 --_dl_tlsdesc_dynamic: -- _CET_ENDBR -- /* Preserve call-clobbered registers that we modify. -- We need two scratch regs anyway. */ -- movq %rsi, -16(%rsp) -- mov %fs:DTV_OFFSET, %RSI_LP -- movq %rdi, -8(%rsp) -- movq TLSDESC_ARG(%rax), %rdi -- movq (%rsi), %rax -- cmpq %rax, TLSDESC_GEN_COUNT(%rdi) -- ja .Lslow -- movq TLSDESC_MODID(%rdi), %rax -- salq $4, %rax -- movq (%rax,%rsi), %rax -- cmpq $-1, %rax -- je .Lslow -- addq TLSDESC_MODOFF(%rdi), %rax --.Lret: -- movq -16(%rsp), %rsi -- sub %fs:0, %RAX_LP -- movq -8(%rsp), %rdi -- ret --.Lslow: -- /* Besides rdi and rsi, saved above, save rdx, rcx, r8, r9, -- r10 and r11. Also, align the stack, that's off by 8 bytes. */ -- subq $72, %rsp -- cfi_adjust_cfa_offset (72) -- movq %rdx, 8(%rsp) -- movq %rcx, 16(%rsp) -- movq %r8, 24(%rsp) -- movq %r9, 32(%rsp) -- movq %r10, 40(%rsp) -- movq %r11, 48(%rsp) -- /* %rdi already points to the tlsinfo data structure. */ -- call HIDDEN_JUMPTARGET (__tls_get_addr) -- movq 8(%rsp), %rdx -- movq 16(%rsp), %rcx -- movq 24(%rsp), %r8 -- movq 32(%rsp), %r9 -- movq 40(%rsp), %r10 -- movq 48(%rsp), %r11 -- addq $72, %rsp -- cfi_adjust_cfa_offset (-72) -- jmp .Lret -- cfi_endproc -- .size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic -+# define USE_FXSAVE -+# define STATE_SAVE_ALIGNMENT 16 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_fxsave -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef USE_FXSAVE -+ -+# define USE_XSAVE -+# define STATE_SAVE_ALIGNMENT 64 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_xsave -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef USE_XSAVE -+ -+# define USE_XSAVEC -+# define STATE_SAVE_ALIGNMENT 64 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_xsavec -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef USE_XSAVEC - #endif /* SHARED */ -diff --git a/sysdeps/x86_64/dl-trampoline-save.h b/sysdeps/x86_64/dl-trampoline-save.h -new file mode 100644 -index 0000000000..84eac4a8ac ---- /dev/null -+++ b/sysdeps/x86_64/dl-trampoline-save.h -@@ -0,0 +1,34 @@ -+/* x86-64 PLT trampoline register save macros. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#ifndef DL_STACK_ALIGNMENT -+/* Due to GCC bug: -+ -+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066 -+ -+ __tls_get_addr may be called with 8-byte stack alignment. Although -+ this bug has been fixed in GCC 4.9.4, 5.3 and 6, we can't assume -+ that stack will be always aligned at 16 bytes. */ -+# define DL_STACK_ALIGNMENT 8 -+#endif -+ -+/* True if _dl_runtime_resolve should align stack for STATE_SAVE or align -+ stack to 16 bytes before calling _dl_fixup. */ -+#define DL_RUNTIME_RESOLVE_REALIGN_STACK \ -+ (STATE_SAVE_ALIGNMENT > DL_STACK_ALIGNMENT \ -+ || 16 > DL_STACK_ALIGNMENT) -diff --git a/sysdeps/x86_64/dl-trampoline-state.h b/sysdeps/x86_64/dl-trampoline-state.h -new file mode 100644 -index 0000000000..575f120797 ---- /dev/null -+++ b/sysdeps/x86_64/dl-trampoline-state.h -@@ -0,0 +1,51 @@ -+/* x86-64 PLT dl-trampoline state macros. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#if (STATE_SAVE_ALIGNMENT % 16) != 0 -+# error STATE_SAVE_ALIGNMENT must be multiple of 16 -+#endif -+ -+#if (STATE_SAVE_OFFSET % STATE_SAVE_ALIGNMENT) != 0 -+# error STATE_SAVE_OFFSET must be multiple of STATE_SAVE_ALIGNMENT -+#endif -+ -+#if DL_RUNTIME_RESOLVE_REALIGN_STACK -+/* Local stack area before jumping to function address: RBX. */ -+# define LOCAL_STORAGE_AREA 8 -+# define BASE rbx -+# ifdef USE_FXSAVE -+/* Use fxsave to save XMM registers. */ -+# define REGISTER_SAVE_AREA (512 + STATE_SAVE_OFFSET) -+# if (REGISTER_SAVE_AREA % 16) != 0 -+# error REGISTER_SAVE_AREA must be multiple of 16 -+# endif -+# endif -+#else -+# ifndef USE_FXSAVE -+# error USE_FXSAVE must be defined -+# endif -+/* Use fxsave to save XMM registers. */ -+# define REGISTER_SAVE_AREA (512 + STATE_SAVE_OFFSET + 8) -+/* Local stack area before jumping to function address: All saved -+ registers. */ -+# define LOCAL_STORAGE_AREA REGISTER_SAVE_AREA -+# define BASE rsp -+# if (REGISTER_SAVE_AREA % 16) != 8 -+# error REGISTER_SAVE_AREA must be odd multiple of 8 -+# endif -+#endif -diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S -index b2e7e0f69b..87c5137837 100644 ---- a/sysdeps/x86_64/dl-trampoline.S -+++ b/sysdeps/x86_64/dl-trampoline.S -@@ -22,25 +22,7 @@ - #include - #include - #include -- --#ifndef DL_STACK_ALIGNMENT --/* Due to GCC bug: -- -- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58066 -- -- __tls_get_addr may be called with 8-byte stack alignment. Although -- this bug has been fixed in GCC 4.9.4, 5.3 and 6, we can't assume -- that stack will be always aligned at 16 bytes. We use unaligned -- 16-byte move to load and store SSE registers, which has no penalty -- on modern processors if stack is 16-byte aligned. */ --# define DL_STACK_ALIGNMENT 8 --#endif -- --/* True if _dl_runtime_resolve should align stack for STATE_SAVE or align -- stack to 16 bytes before calling _dl_fixup. */ --#define DL_RUNTIME_RESOLVE_REALIGN_STACK \ -- (STATE_SAVE_ALIGNMENT > DL_STACK_ALIGNMENT \ -- || 16 > DL_STACK_ALIGNMENT) -+#include "dl-trampoline-save.h" - - /* Area on stack to save and restore registers used for parameter - passing when calling _dl_fixup. */ -diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h -index f55c6ea040..d9ccfb40d4 100644 ---- a/sysdeps/x86_64/dl-trampoline.h -+++ b/sysdeps/x86_64/dl-trampoline.h -@@ -27,39 +27,7 @@ - # undef LOCAL_STORAGE_AREA - # undef BASE - --# if (STATE_SAVE_ALIGNMENT % 16) != 0 --# error STATE_SAVE_ALIGNMENT must be multiple of 16 --# endif -- --# if (STATE_SAVE_OFFSET % STATE_SAVE_ALIGNMENT) != 0 --# error STATE_SAVE_OFFSET must be multiple of STATE_SAVE_ALIGNMENT --# endif -- --# if DL_RUNTIME_RESOLVE_REALIGN_STACK --/* Local stack area before jumping to function address: RBX. */ --# define LOCAL_STORAGE_AREA 8 --# define BASE rbx --# ifdef USE_FXSAVE --/* Use fxsave to save XMM registers. */ --# define REGISTER_SAVE_AREA (512 + STATE_SAVE_OFFSET) --# if (REGISTER_SAVE_AREA % 16) != 0 --# error REGISTER_SAVE_AREA must be multiple of 16 --# endif --# endif --# else --# ifndef USE_FXSAVE --# error USE_FXSAVE must be defined --# endif --/* Use fxsave to save XMM registers. */ --# define REGISTER_SAVE_AREA (512 + STATE_SAVE_OFFSET + 8) --/* Local stack area before jumping to function address: All saved -- registers. */ --# define LOCAL_STORAGE_AREA REGISTER_SAVE_AREA --# define BASE rsp --# if (REGISTER_SAVE_AREA % 16) != 8 --# error REGISTER_SAVE_AREA must be odd multiple of 8 --# endif --# endif -+# include "dl-trampoline-state.h" - - .globl _dl_runtime_resolve - .hidden _dl_runtime_resolve - -commit 853e915fdd6ae6c5f1a7a68d2594ec8dbfef1286 -Author: H.J. Lu -Date: Wed Feb 28 12:08:03 2024 -0800 - - x86-64: Update _dl_tlsdesc_dynamic to preserve AMX registers - - _dl_tlsdesc_dynamic should also preserve AMX registers which are - caller-saved. Add X86_XSTATE_TILECFG_ID and X86_XSTATE_TILEDATA_ID - to x86-64 TLSDESC_CALL_STATE_SAVE_MASK. Compute the AMX state size - and save it in xsave_state_full_size which is only used by - _dl_tlsdesc_dynamic_xsave and _dl_tlsdesc_dynamic_xsavec. This fixes - the AMX part of BZ #31372. Tested on AMX processor. - - AMX test is enabled only for compilers with the fix for - - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114098 - - GCC 14 and GCC 11/12/13 branches have the bug fix. - Reviewed-by: Sunil K Pandey - - (cherry picked from commit 9b7091415af47082664717210ac49d51551456ab) - -diff --git a/sysdeps/unix/sysv/linux/x86_64/Makefile b/sysdeps/unix/sysv/linux/x86_64/Makefile -index 4223feb95f..9a1e7aa646 100644 ---- a/sysdeps/unix/sysv/linux/x86_64/Makefile -+++ b/sysdeps/unix/sysv/linux/x86_64/Makefile -@@ -63,6 +63,33 @@ $(objpfx)libx86-64-isa-level%.os: $(..)/sysdeps/unix/sysv/linux/x86_64/x86-64-is - $(objpfx)libx86-64-isa-level.so: $(objpfx)libx86-64-isa-level-1.so - cp $< $@ - endif -+ -+ifeq (yes,$(have-mamx-tile)) -+tests += \ -+ tst-gnu2-tls2-amx \ -+# tests -+ -+modules-names += \ -+ tst-gnu2-tls2-amx-mod0 \ -+ tst-gnu2-tls2-amx-mod1 \ -+ tst-gnu2-tls2-amx-mod2 \ -+# modules-names -+ -+$(objpfx)tst-gnu2-tls2-amx: $(shared-thread-library) -+$(objpfx)tst-gnu2-tls2-amx.out: \ -+ $(objpfx)tst-gnu2-tls2-amx-mod0.so \ -+ $(objpfx)tst-gnu2-tls2-amx-mod1.so \ -+ $(objpfx)tst-gnu2-tls2-amx-mod2.so -+$(objpfx)tst-gnu2-tls2-amx-mod0.so: $(libsupport) -+$(objpfx)tst-gnu2-tls2-amx-mod1.so: $(libsupport) -+$(objpfx)tst-gnu2-tls2-amx-mod2.so: $(libsupport) -+ -+CFLAGS-tst-gnu2-tls2-amx.c += -mamx-tile -+CFLAGS-tst-gnu2-tls2-amx-mod0.c += -mamx-tile -mtls-dialect=gnu2 -+CFLAGS-tst-gnu2-tls2-amx-mod1.c += -mamx-tile -mtls-dialect=gnu2 -+CFLAGS-tst-gnu2-tls2-amx-mod2.c += -mamx-tile -mtls-dialect=gnu2 -+endif -+ - endif # $(subdir) == elf - - ifneq ($(enable-cet),no) -diff --git a/sysdeps/unix/sysv/linux/x86_64/include/asm/prctl.h b/sysdeps/unix/sysv/linux/x86_64/include/asm/prctl.h -index 2f511321ad..ef4631bf4b 100644 ---- a/sysdeps/unix/sysv/linux/x86_64/include/asm/prctl.h -+++ b/sysdeps/unix/sysv/linux/x86_64/include/asm/prctl.h -@@ -20,3 +20,8 @@ - # define ARCH_SHSTK_SHSTK 0x1 - # define ARCH_SHSTK_WRSS 0x2 - #endif -+ -+#ifndef ARCH_GET_XCOMP_PERM -+# define ARCH_GET_XCOMP_PERM 0x1022 -+# define ARCH_REQ_XCOMP_PERM 0x1023 -+#endif -diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod0.c b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod0.c -new file mode 100644 -index 0000000000..2e0c7b91b7 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod0.c -@@ -0,0 +1,2 @@ -+#include "tst-gnu2-tls2-amx.h" -+#include -diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod1.c b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod1.c -new file mode 100644 -index 0000000000..b8a8ccf1c1 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod1.c -@@ -0,0 +1,2 @@ -+#include "tst-gnu2-tls2-amx.h" -+#include -diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod2.c b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod2.c -new file mode 100644 -index 0000000000..cdf4a8f363 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx-mod2.c -@@ -0,0 +1,2 @@ -+#include "tst-gnu2-tls2-amx.h" -+#include -diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c -new file mode 100644 -index 0000000000..ae4dd82556 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c -@@ -0,0 +1,83 @@ -+/* Test TLSDESC relocation with AMX. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include "tst-gnu2-tls2-amx.h" -+ -+extern int arch_prctl (int, ...); -+ -+#define X86_XSTATE_TILECFG_ID 17 -+#define X86_XSTATE_TILEDATA_ID 18 -+ -+/* Initialize tile config. */ -+__attribute__ ((noinline, noclone)) -+static void -+init_tile_config (__tilecfg *tileinfo) -+{ -+ int i; -+ tileinfo->palette_id = 1; -+ tileinfo->start_row = 0; -+ -+ tileinfo->colsb[0] = MAX_ROWS; -+ tileinfo->rows[0] = MAX_ROWS; -+ -+ for (i = 1; i < 4; ++i) -+ { -+ tileinfo->colsb[i] = MAX_COLS; -+ tileinfo->rows[i] = MAX_ROWS; -+ } -+ -+ _tile_loadconfig (tileinfo); -+} -+ -+static bool -+enable_amx (void) -+{ -+ uint64_t bitmask; -+ if (arch_prctl (ARCH_GET_XCOMP_PERM, &bitmask) != 0) -+ return false; -+ -+ if ((bitmask & (1 << X86_XSTATE_TILECFG_ID)) == 0) -+ return false; -+ -+ if (arch_prctl (ARCH_REQ_XCOMP_PERM, X86_XSTATE_TILEDATA_ID) != 0) -+ return false; -+ -+ /* Load tile configuration. */ -+ __tilecfg tile_data = { 0 }; -+ init_tile_config (&tile_data); -+ -+ return true; -+} -+ -+/* An architecture can define it to clobber caller-saved registers in -+ malloc below to verify that the implicit TLSDESC call won't change -+ caller-saved registers. */ -+static void -+clear_tile_register (void) -+{ -+ _tile_zero (2); -+} -+ -+#define MOD(i) "tst-gnu2-tls2-amx-mod" #i ".so" -+#define IS_SUPPORTED() enable_amx () -+#define PREPARE_MALLOC() clear_tile_register () -+ -+#include -diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.h b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.h -new file mode 100644 -index 0000000000..1845a3caba ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.h -@@ -0,0 +1,63 @@ -+/* Test TLSDESC relocation with AMX. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+#define MAX_ROWS 16 -+#define MAX_COLS 64 -+#define MAX 1024 -+#define STRIDE 64 -+ -+typedef struct __tile_config -+{ -+ uint8_t palette_id; -+ uint8_t start_row; -+ uint8_t reserved_0[14]; -+ uint16_t colsb[16]; -+ uint8_t rows[16]; -+} __tilecfg __attribute__ ((aligned (64))); -+ -+/* Initialize int8_t buffer */ -+static inline void -+init_buffer (int8_t *buf, int8_t value) -+{ -+ int rows, colsb, i, j; -+ rows = MAX_ROWS; -+ colsb = MAX_COLS; -+ -+ for (i = 0; i < rows; i++) -+ for (j = 0; j < colsb; j++) -+ buf[i * colsb + j] = value; -+} -+ -+#define BEFORE_TLSDESC_CALL() \ -+ int8_t src[MAX]; \ -+ int8_t res[MAX]; \ -+ /* Initialize src with data */ \ -+ init_buffer (src, 2); \ -+ /* Load tile rows from memory. */ \ -+ _tile_loadd (2, src, STRIDE); -+ -+#define AFTER_TLSDESC_CALL() \ -+ /* Store the tile data to memory. */ \ -+ _tile_stored (2, res, STRIDE); \ -+ _tile_release (); \ -+ TEST_VERIFY_EXIT (memcmp (src, res, sizeof (res)) == 0); -diff --git a/sysdeps/x86/cpu-features-offsets.sym b/sysdeps/x86/cpu-features-offsets.sym -index 6a8fd29813..21fc88d651 100644 ---- a/sysdeps/x86/cpu-features-offsets.sym -+++ b/sysdeps/x86/cpu-features-offsets.sym -@@ -3,3 +3,4 @@ - #include - - XSAVE_STATE_SIZE_OFFSET offsetof (struct cpu_features, xsave_state_size) -+XSAVE_STATE_FULL_SIZE_OFFSET offsetof (struct cpu_features, xsave_state_full_size) -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index 835113b42f..d71e8d3d2e 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -307,6 +307,8 @@ update_active (struct cpu_features *cpu_features) - __cpuid_count (0xd, 0, eax, ebx, ecx, edx); - if (ebx != 0) - { -+ /* NB: On AMX capable processors, ebx always includes AMX -+ states. */ - unsigned int xsave_state_full_size - = ALIGN_UP (ebx + STATE_SAVE_OFFSET, 64); - -@@ -320,6 +322,11 @@ update_active (struct cpu_features *cpu_features) - { - unsigned int xstate_comp_offsets[32]; - unsigned int xstate_comp_sizes[32]; -+#ifdef __x86_64__ -+ unsigned int xstate_amx_comp_offsets[32]; -+ unsigned int xstate_amx_comp_sizes[32]; -+ unsigned int amx_ecx; -+#endif - unsigned int i; - - xstate_comp_offsets[0] = 0; -@@ -327,16 +334,39 @@ update_active (struct cpu_features *cpu_features) - xstate_comp_offsets[2] = 576; - xstate_comp_sizes[0] = 160; - xstate_comp_sizes[1] = 256; -+#ifdef __x86_64__ -+ xstate_amx_comp_offsets[0] = 0; -+ xstate_amx_comp_offsets[1] = 160; -+ xstate_amx_comp_offsets[2] = 576; -+ xstate_amx_comp_sizes[0] = 160; -+ xstate_amx_comp_sizes[1] = 256; -+#endif - - for (i = 2; i < 32; i++) - { -- if ((STATE_SAVE_MASK & (1 << i)) != 0) -+ if ((FULL_STATE_SAVE_MASK & (1 << i)) != 0) - { - __cpuid_count (0xd, i, eax, ebx, ecx, edx); -- xstate_comp_sizes[i] = eax; -+#ifdef __x86_64__ -+ /* Include this in xsave_state_full_size. */ -+ amx_ecx = ecx; -+ xstate_amx_comp_sizes[i] = eax; -+ if ((AMX_STATE_SAVE_MASK & (1 << i)) != 0) -+ { -+ /* Exclude this from xsave_state_size. */ -+ ecx = 0; -+ xstate_comp_sizes[i] = 0; -+ } -+ else -+#endif -+ xstate_comp_sizes[i] = eax; - } - else - { -+#ifdef __x86_64__ -+ amx_ecx = 0; -+ xstate_amx_comp_sizes[i] = 0; -+#endif - ecx = 0; - xstate_comp_sizes[i] = 0; - } -@@ -349,6 +379,15 @@ update_active (struct cpu_features *cpu_features) - if ((ecx & (1 << 1)) != 0) - xstate_comp_offsets[i] - = ALIGN_UP (xstate_comp_offsets[i], 64); -+#ifdef __x86_64__ -+ xstate_amx_comp_offsets[i] -+ = (xstate_amx_comp_offsets[i - 1] -+ + xstate_amx_comp_sizes[i - 1]); -+ if ((amx_ecx & (1 << 1)) != 0) -+ xstate_amx_comp_offsets[i] -+ = ALIGN_UP (xstate_amx_comp_offsets[i], -+ 64); -+#endif - } - } - -@@ -357,6 +396,18 @@ update_active (struct cpu_features *cpu_features) - = xstate_comp_offsets[31] + xstate_comp_sizes[31]; - if (size) - { -+#ifdef __x86_64__ -+ unsigned int amx_size -+ = (xstate_amx_comp_offsets[31] -+ + xstate_amx_comp_sizes[31]); -+ amx_size = ALIGN_UP (amx_size + STATE_SAVE_OFFSET, -+ 64); -+ /* Set xsave_state_full_size to the compact AMX -+ state size for XSAVEC. NB: xsave_state_full_size -+ is only used in _dl_tlsdesc_dynamic_xsave and -+ _dl_tlsdesc_dynamic_xsavec. */ -+ cpu_features->xsave_state_full_size = amx_size; -+#endif - cpu_features->xsave_state_size - = ALIGN_UP (size + STATE_SAVE_OFFSET, 64); - CPU_FEATURE_SET (cpu_features, XSAVEC); -diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h -index b9bf3115b6..cd7bd27cf3 100644 ---- a/sysdeps/x86/include/cpu-features.h -+++ b/sysdeps/x86/include/cpu-features.h -@@ -934,6 +934,8 @@ struct cpu_features - /* The full state size for XSAVE when XSAVEC is disabled by - - GLIBC_TUNABLES=glibc.cpu.hwcaps=-XSAVEC -+ -+ and the AMX state size when XSAVEC is available. - */ - unsigned int xsave_state_full_size; - /* Data cache size for use in memory and string routines, typically -diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h -index 485cad9c02..db8e576e91 100644 ---- a/sysdeps/x86/sysdep.h -+++ b/sysdeps/x86/sysdep.h -@@ -56,6 +56,14 @@ - | (1 << X86_XSTATE_ZMM_H_ID) \ - | (1 << X86_XSTATE_ZMM_ID) \ - | (1 << X86_XSTATE_APX_F_ID)) -+ -+/* AMX state mask. */ -+# define AMX_STATE_SAVE_MASK \ -+ ((1 << X86_XSTATE_TILECFG_ID) | (1 << X86_XSTATE_TILEDATA_ID)) -+ -+/* States to be included in xsave_state_full_size. */ -+# define FULL_STATE_SAVE_MASK \ -+ (STATE_SAVE_MASK | AMX_STATE_SAVE_MASK) - #else - /* Offset for fxsave/xsave area used by _dl_tlsdesc_dynamic. Since i386 - doesn't have red-zone, use 0 here. */ -@@ -68,13 +76,17 @@ - | (1 << X86_XSTATE_BNDREGS_ID) \ - | (1 << X86_XSTATE_K_ID) \ - | (1 << X86_XSTATE_ZMM_H_ID)) -+ -+/* States to be included in xsave_state_size. */ -+# define FULL_STATE_SAVE_MASK STATE_SAVE_MASK - #endif - - /* States which should be saved for TLSDESC_CALL and TLS_DESC_CALL. -- Compiler assumes that all registers, including x87 FPU stack registers, -- are unchanged after CALL, except for EFLAGS and RAX/EAX. */ -+ Compiler assumes that all registers, including AMX and x87 FPU -+ stack registers, are unchanged after CALL, except for EFLAGS and -+ RAX/EAX. */ - #define TLSDESC_CALL_STATE_SAVE_MASK \ -- (STATE_SAVE_MASK | (1 << X86_XSTATE_X87_ID)) -+ (FULL_STATE_SAVE_MASK | (1 << X86_XSTATE_X87_ID)) - - /* Constants for bits in __x86_string_control: */ - -diff --git a/sysdeps/x86_64/configure b/sysdeps/x86_64/configure -index 418cc4a9b8..04a534fa12 100755 ---- a/sysdeps/x86_64/configure -+++ b/sysdeps/x86_64/configure -@@ -134,6 +134,34 @@ fi - config_vars="$config_vars - enable-cet = $enable_cet" - -+# Check if -mamx-tile works properly. -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -mamx-tile works properly" >&5 -+printf %s "checking whether -mamx-tile works properly... " >&6; } -+if test ${libc_cv_x86_have_amx_tile+y} -+then : -+ printf %s "(cached) " >&6 -+else $as_nop -+ cat > conftest.c < -+EOF -+ libc_cv_x86_have_amx_tile=no -+ if { ac_try='${CC-cc} -E $CFLAGS -mamx-tile conftest.c > conftest.i' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ if grep -q __builtin_ia32_ldtilecfg conftest.i; then -+ libc_cv_x86_have_amx_tile=yes -+ fi -+ fi -+ rm -rf conftest* -+fi -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_x86_have_amx_tile" >&5 -+printf "%s\n" "$libc_cv_x86_have_amx_tile" >&6; } -+config_vars="$config_vars -+have-mamx-tile = $libc_cv_x86_have_amx_tile" -+ - test -n "$critic_missing" && as_fn_error $? " - *** $critic_missing" "$LINENO" 5 - -diff --git a/sysdeps/x86_64/configure.ac b/sysdeps/x86_64/configure.ac -index d1f803c02e..c714c47351 100644 ---- a/sysdeps/x86_64/configure.ac -+++ b/sysdeps/x86_64/configure.ac -@@ -61,5 +61,20 @@ elif test $enable_cet = permissive; then - fi - LIBC_CONFIG_VAR([enable-cet], [$enable_cet]) - -+# Check if -mamx-tile works properly. -+AC_CACHE_CHECK(whether -mamx-tile works properly, -+ libc_cv_x86_have_amx_tile, [dnl -+cat > conftest.c < -+EOF -+ libc_cv_x86_have_amx_tile=no -+ if AC_TRY_COMMAND(${CC-cc} -E $CFLAGS -mamx-tile conftest.c > conftest.i); then -+ if grep -q __builtin_ia32_ldtilecfg conftest.i; then -+ libc_cv_x86_have_amx_tile=yes -+ fi -+ fi -+ rm -rf conftest*]) -+LIBC_CONFIG_VAR([have-mamx-tile], [$libc_cv_x86_have_amx_tile]) -+ - test -n "$critic_missing" && AC_MSG_ERROR([ - *** $critic_missing]) -diff --git a/sysdeps/x86_64/dl-tlsdesc-dynamic.h b/sysdeps/x86_64/dl-tlsdesc-dynamic.h -index 0c2e8d5320..9f02cfc3eb 100644 ---- a/sysdeps/x86_64/dl-tlsdesc-dynamic.h -+++ b/sysdeps/x86_64/dl-tlsdesc-dynamic.h -@@ -99,7 +99,7 @@ _dl_tlsdesc_dynamic: - # endif - #else - /* Allocate stack space of the required size to save the state. */ -- sub _rtld_local_ro+RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+XSAVE_STATE_SIZE_OFFSET(%rip), %RSP_LP -+ sub _rtld_local_ro+RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+XSAVE_STATE_FULL_SIZE_OFFSET(%rip), %RSP_LP - #endif - /* Besides rdi and rsi, saved above, save rcx, rdx, r8, r9, - r10 and r11. */ - -commit 354cabcb2634abe16da7a2ba5e648aac1204b58e -Author: H.J. Lu -Date: Mon Mar 18 06:40:16 2024 -0700 - - x86-64: Allocate state buffer space for RDI, RSI and RBX - - _dl_tlsdesc_dynamic preserves RDI, RSI and RBX before realigning stack. - After realigning stack, it saves RCX, RDX, R8, R9, R10 and R11. Define - TLSDESC_CALL_REGISTER_SAVE_AREA to allocate space for RDI, RSI and RBX - to avoid clobbering saved RDI, RSI and RBX values on stack by xsave to - STATE_SAVE_OFFSET(%rsp). - - +==================+<- stack frame start aligned at 8 or 16 bytes - | |<- RDI saved in the red zone - | |<- RSI saved in the red zone - | |<- RBX saved in the red zone - | |<- paddings for stack realignment of 64 bytes - |------------------|<- xsave buffer end aligned at 64 bytes - | |<- - | |<- - | |<- - |------------------|<- xsave buffer start at STATE_SAVE_OFFSET(%rsp) - | |<- 8-byte padding for 64-byte alignment - | |<- 8-byte padding for 64-byte alignment - | |<- R11 - | |<- R10 - | |<- R9 - | |<- R8 - | |<- RDX - | |<- RCX - +==================+<- RSP aligned at 64 bytes - - Define TLSDESC_CALL_REGISTER_SAVE_AREA, the total register save area size - for all integer registers by adding 24 to STATE_SAVE_OFFSET since RDI, RSI - and RBX are saved onto stack without adjusting stack pointer first, using - the red-zone. This fixes BZ #31501. - Reviewed-by: Sunil K Pandey - - (cherry picked from commit 717ebfa85c8240d32d0d19d86a484c31c55c9617) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index d71e8d3d2e..6fe1b728c6 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -310,7 +310,7 @@ update_active (struct cpu_features *cpu_features) - /* NB: On AMX capable processors, ebx always includes AMX - states. */ - unsigned int xsave_state_full_size -- = ALIGN_UP (ebx + STATE_SAVE_OFFSET, 64); -+ = ALIGN_UP (ebx + TLSDESC_CALL_REGISTER_SAVE_AREA, 64); - - cpu_features->xsave_state_size - = xsave_state_full_size; -@@ -400,8 +400,10 @@ update_active (struct cpu_features *cpu_features) - unsigned int amx_size - = (xstate_amx_comp_offsets[31] - + xstate_amx_comp_sizes[31]); -- amx_size = ALIGN_UP (amx_size + STATE_SAVE_OFFSET, -- 64); -+ amx_size -+ = ALIGN_UP ((amx_size -+ + TLSDESC_CALL_REGISTER_SAVE_AREA), -+ 64); - /* Set xsave_state_full_size to the compact AMX - state size for XSAVEC. NB: xsave_state_full_size - is only used in _dl_tlsdesc_dynamic_xsave and -@@ -409,7 +411,8 @@ update_active (struct cpu_features *cpu_features) - cpu_features->xsave_state_full_size = amx_size; - #endif - cpu_features->xsave_state_size -- = ALIGN_UP (size + STATE_SAVE_OFFSET, 64); -+ = ALIGN_UP (size + TLSDESC_CALL_REGISTER_SAVE_AREA, -+ 64); - CPU_FEATURE_SET (cpu_features, XSAVEC); - } - } -diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h -index db8e576e91..7359149e17 100644 ---- a/sysdeps/x86/sysdep.h -+++ b/sysdeps/x86/sysdep.h -@@ -38,14 +38,59 @@ - #ifdef __x86_64__ - /* Offset for fxsave/xsave area used by _dl_runtime_resolve. Also need - space to preserve RCX, RDX, RSI, RDI, R8, R9 and RAX. It must be -- aligned to 16 bytes for fxsave and 64 bytes for xsave. -- -- NB: Is is non-zero because of the 128-byte red-zone. Some registers -- are saved on stack without adjusting stack pointer first. When we -- update stack pointer to allocate more space, we need to take the -- red-zone into account. */ -+ aligned to 16 bytes for fxsave and 64 bytes for xsave. It is non-zero -+ because MOV, instead of PUSH, is used to save registers onto stack. -+ -+ +==================+<- stack frame start aligned at 8 or 16 bytes -+ | |<- paddings for stack realignment of 64 bytes -+ |------------------|<- xsave buffer end aligned at 64 bytes -+ | |<- -+ | |<- -+ | |<- -+ |------------------|<- xsave buffer start at STATE_SAVE_OFFSET(%rsp) -+ | |<- 8-byte padding for 64-byte alignment -+ | |<- R9 -+ | |<- R8 -+ | |<- RDI -+ | |<- RSI -+ | |<- RDX -+ | |<- RCX -+ | |<- RAX -+ +==================+<- RSP aligned at 64 bytes -+ -+ */ - # define STATE_SAVE_OFFSET (8 * 7 + 8) - -+/* _dl_tlsdesc_dynamic preserves RDI, RSI and RBX before realigning -+ stack. After realigning stack, it saves RCX, RDX, R8, R9, R10 and -+ R11. Allocate space for RDI, RSI and RBX to avoid clobbering saved -+ RDI, RSI and RBX values on stack by xsave. -+ -+ +==================+<- stack frame start aligned at 8 or 16 bytes -+ | |<- RDI saved in the red zone -+ | |<- RSI saved in the red zone -+ | |<- RBX saved in the red zone -+ | |<- paddings for stack realignment of 64 bytes -+ |------------------|<- xsave buffer end aligned at 64 bytes -+ | |<- -+ | |<- -+ | |<- -+ |------------------|<- xsave buffer start at STATE_SAVE_OFFSET(%rsp) -+ | |<- 8-byte padding for 64-byte alignment -+ | |<- 8-byte padding for 64-byte alignment -+ | |<- R11 -+ | |<- R10 -+ | |<- R9 -+ | |<- R8 -+ | |<- RDX -+ | |<- RCX -+ +==================+<- RSP aligned at 64 bytes -+ -+ Define the total register save area size for all integer registers by -+ adding 24 to STATE_SAVE_OFFSET since RDI, RSI and RBX are saved onto -+ stack without adjusting stack pointer first, using the red-zone. */ -+# define TLSDESC_CALL_REGISTER_SAVE_AREA (STATE_SAVE_OFFSET + 24) -+ - /* Save SSE, AVX, AVX512, mask, bound and APX registers. Bound and APX - registers are mutually exclusive. */ - # define STATE_SAVE_MASK \ -@@ -66,8 +111,9 @@ - (STATE_SAVE_MASK | AMX_STATE_SAVE_MASK) - #else - /* Offset for fxsave/xsave area used by _dl_tlsdesc_dynamic. Since i386 -- doesn't have red-zone, use 0 here. */ -+ uses PUSH to save registers onto stack, use 0 here. */ - # define STATE_SAVE_OFFSET 0 -+# define TLSDESC_CALL_REGISTER_SAVE_AREA 0 - - /* Save SSE, AVX, AXV512, mask and bound registers. */ - # define STATE_SAVE_MASK \ -diff --git a/sysdeps/x86_64/tst-gnu2-tls2mod1.S b/sysdeps/x86_64/tst-gnu2-tls2mod1.S -new file mode 100644 -index 0000000000..1d636669ba ---- /dev/null -+++ b/sysdeps/x86_64/tst-gnu2-tls2mod1.S -@@ -0,0 +1,87 @@ -+/* Check if TLSDESC relocation preserves %rdi, %rsi and %rbx. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+ -+/* On AVX512 machines, OFFSET == 40 caused _dl_tlsdesc_dynamic_xsavec -+ to clobber %rdi, %rsi and %rbx. On Intel AVX CPUs, the state size -+ is 960 bytes and this test didn't fail. It may be due to the unused -+ last 128 bytes. On AMD AVX CPUs, the state size is 832 bytes and -+ this test might fail without the fix. */ -+#ifndef OFFSET -+# define OFFSET 40 -+#endif -+ -+ .text -+ .p2align 4 -+ .globl apply_tls -+ .type apply_tls, @function -+apply_tls: -+ cfi_startproc -+ _CET_ENDBR -+ pushq %rbp -+ cfi_def_cfa_offset (16) -+ cfi_offset (6, -16) -+ movdqu (%RDI_LP), %xmm0 -+ lea tls_var1@TLSDESC(%rip), %RAX_LP -+ mov %RSP_LP, %RBP_LP -+ cfi_def_cfa_register (6) -+ /* Align stack to 64 bytes. */ -+ and $-64, %RSP_LP -+ sub $OFFSET, %RSP_LP -+ pushq %rbx -+ /* Set %ebx to 0xbadbeef. */ -+ movl $0xbadbeef, %ebx -+ movl $0xbadbeef, %esi -+ movq %rdi, saved_rdi(%rip) -+ movq %rsi, saved_rsi(%rip) -+ call *tls_var1@TLSCALL(%RAX_LP) -+ /* Check if _dl_tlsdesc_dynamic preserves %rdi, %rsi and %rbx. */ -+ cmpq saved_rdi(%rip), %rdi -+ jne L(hlt) -+ cmpq saved_rsi(%rip), %rsi -+ jne L(hlt) -+ cmpl $0xbadbeef, %ebx -+ jne L(hlt) -+ add %fs:0, %RAX_LP -+ movups %xmm0, 32(%RAX_LP) -+ movdqu 16(%RDI_LP), %xmm1 -+ mov %RAX_LP, %RBX_LP -+ movups %xmm1, 48(%RAX_LP) -+ lea 32(%RBX_LP), %RAX_LP -+ pop %rbx -+ leave -+ cfi_def_cfa (7, 8) -+ ret -+L(hlt): -+ hlt -+ cfi_endproc -+ .size apply_tls, .-apply_tls -+ .hidden tls_var1 -+ .globl tls_var1 -+ .section .tbss,"awT",@nobits -+ .align 16 -+ .type tls_var1, @object -+ .size tls_var1, 3200 -+tls_var1: -+ .zero 3200 -+ .local saved_rdi -+ .comm saved_rdi,8,8 -+ .local saved_rsi -+ .comm saved_rsi,8,8 -+ .section .note.GNU-stack,"",@progbits - -commit 15aebdbada54098787715448c94701f17033fc92 -Author: Adhemerval Zanella -Date: Tue Mar 12 13:21:18 2024 -0300 - - Ignore undefined symbols for -mtls-dialect=gnu2 - - So it does not fail for arm config that defaults to -mtp=soft (which - issues a call to __aeabi_read_tp). - Reviewed-by: H.J. Lu - - (cherry picked from commit 968b0ca9440040a2b31248a572891f0e55c1ab10) - -diff --git a/configure b/configure -index 59ff1e415d..117b48a421 100755 ---- a/configure -+++ b/configure -@@ -7020,7 +7020,7 @@ void foo (void) - } - EOF - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=gnu2 -nostdlib -nostartfiles -- conftest.c -o conftest 1>&5' -+ -shared conftest.c -o conftest 1>&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? -diff --git a/configure.ac b/configure.ac -index 65799e5685..19b88a47a5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1297,7 +1297,7 @@ void foo (void) - } - EOF - if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=gnu2 -nostdlib -nostartfiles -- conftest.c -o conftest 1>&AS_MESSAGE_LOG_FD]) -+ -shared conftest.c -o conftest 1>&AS_MESSAGE_LOG_FD]) - then - libc_cv_mtls_dialect_gnu2=yes - else - -commit a8ba52bde58c69f2b31da62ad2311f119adf6cb9 -Author: Adhemerval Zanella -Date: Tue Mar 12 13:21:19 2024 -0300 - - arm: Update _dl_tlsdesc_dynamic to preserve caller-saved registers (BZ 31372) - - ARM _dl_tlsdesc_dynamic slow path has two issues: - - * The ip/r12 is defined by AAPCS as a scratch register, and gcc is - used to save the stack pointer before on some function calls. So it - should also be saved/restored as well. It fixes the tst-gnu2-tls2. - - * None of the possible VFP registers are saved/restored. ARM has the - additional complexity to have different VFP bank sizes (depending of - VFP support by the chip). - - The tst-gnu2-tls2 test is extended to check for VFP registers, although - only for hardfp builds. Different than setcontext, _dl_tlsdesc_dynamic - does not have HWCAP_ARM_IWMMXT (I don't have a way to properly test - it and it is almost a decade since newer hardware was released). - - With this patch there is no need to mark tst-gnu2-tls2 as XFAIL. - - Checked on arm-linux-gnueabihf. - Reviewed-by: H.J. Lu - - (cherry picked from commit 64c7e344289ed085517c2227d8e3b06388242c13) - -diff --git a/config.h.in b/config.h.in -index 44a34072a4..4d33c63a84 100644 ---- a/config.h.in -+++ b/config.h.in -@@ -141,6 +141,9 @@ - /* LOONGARCH floating-point ABI for ld.so. */ - #undef LOONGARCH_ABI_FRLEN - -+/* Define whether ARM used hard-float and support VFPvX-D32. */ -+#undef HAVE_ARM_PCS_VFP_D32 -+ - /* Linux specific: minimum supported kernel version. */ - #undef __LINUX_KERNEL_VERSION - -diff --git a/elf/Makefile b/elf/Makefile -index c5c37a9147..030db4d207 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -3056,10 +3056,6 @@ $(objpfx)tst-gnu2-tls2.out: \ - $(objpfx)tst-gnu2-tls2mod2.so - - ifeq (yes,$(have-mtls-dialect-gnu2)) --# This test fails if dl_tlsdesc_dynamic doesn't preserve all caller-saved --# registers. See https://sourceware.org/bugzilla/show_bug.cgi?id=31372 --test-xfail-tst-gnu2-tls2 = yes -- - CFLAGS-tst-tlsgap-mod0.c += -mtls-dialect=gnu2 - CFLAGS-tst-tlsgap-mod1.c += -mtls-dialect=gnu2 - CFLAGS-tst-tlsgap-mod2.c += -mtls-dialect=gnu2 -diff --git a/elf/tst-gnu2-tls2.h b/elf/tst-gnu2-tls2.h -index 77964a57a3..1ade8151e2 100644 ---- a/elf/tst-gnu2-tls2.h -+++ b/elf/tst-gnu2-tls2.h -@@ -27,6 +27,10 @@ extern struct tls *apply_tls (struct tls *); - - /* An architecture can define them to verify that clobber caller-saved - registers aren't changed by the implicit TLSDESC call. */ -+#ifndef INIT_TLSDESC_CALL -+# define INIT_TLSDESC_CALL() -+#endif -+ - #ifndef BEFORE_TLSDESC_CALL - # define BEFORE_TLSDESC_CALL() - #endif -diff --git a/elf/tst-gnu2-tls2mod0.c b/elf/tst-gnu2-tls2mod0.c -index 45556a0e17..3fe3c14277 100644 ---- a/elf/tst-gnu2-tls2mod0.c -+++ b/elf/tst-gnu2-tls2mod0.c -@@ -16,13 +16,14 @@ - License along with the GNU C Library; if not, see - . */ - --#include "tst-gnu2-tls2.h" -+#include - - __thread struct tls tls_var0 __attribute__ ((visibility ("hidden"))); - - struct tls * - apply_tls (struct tls *p) - { -+ INIT_TLSDESC_CALL (); - BEFORE_TLSDESC_CALL (); - tls_var0 = *p; - struct tls *ret = &tls_var0; -diff --git a/elf/tst-gnu2-tls2mod1.c b/elf/tst-gnu2-tls2mod1.c -index e10b9dbc0a..e210538468 100644 ---- a/elf/tst-gnu2-tls2mod1.c -+++ b/elf/tst-gnu2-tls2mod1.c -@@ -16,13 +16,14 @@ - License along with the GNU C Library; if not, see - . */ - --#include "tst-gnu2-tls2.h" -+#include - - __thread struct tls tls_var1[100] __attribute__ ((visibility ("hidden"))); - - struct tls * - apply_tls (struct tls *p) - { -+ INIT_TLSDESC_CALL (); - BEFORE_TLSDESC_CALL (); - tls_var1[1] = *p; - struct tls *ret = &tls_var1[1]; -diff --git a/elf/tst-gnu2-tls2mod2.c b/elf/tst-gnu2-tls2mod2.c -index 141af51e55..6d3031dc5f 100644 ---- a/elf/tst-gnu2-tls2mod2.c -+++ b/elf/tst-gnu2-tls2mod2.c -@@ -16,13 +16,14 @@ - License along with the GNU C Library; if not, see - . */ - --#include "tst-gnu2-tls2.h" -+#include - - __thread struct tls tls_var2 __attribute__ ((visibility ("hidden"))); - - struct tls * - apply_tls (struct tls *p) - { -+ INIT_TLSDESC_CALL (); - BEFORE_TLSDESC_CALL (); - tls_var2 = *p; - struct tls *ret = &tls_var2; -diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure -index 35e2918922..4ef4d46cbd 100644 ---- a/sysdeps/arm/configure -+++ b/sysdeps/arm/configure -@@ -187,6 +187,38 @@ else - default-abi = soft" - fi - -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether VFP supports 32 registers" >&5 -+printf %s "checking whether VFP supports 32 registers... " >&6; } -+if test ${libc_cv_arm_pcs_vfp_d32+y} -+then : -+ printf %s "(cached) " >&6 -+else $as_nop -+ -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+void foo (void) -+{ -+ asm volatile ("vldr d16,=17" : : : "d16"); -+} -+ -+_ACEOF -+if ac_fn_c_try_compile "$LINENO" -+then : -+ libc_cv_arm_pcs_vfp_d32=yes -+else $as_nop -+ libc_cv_arm_pcs_vfp_d32=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -+fi -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_pcs_vfp_d32" >&5 -+printf "%s\n" "$libc_cv_arm_pcs_vfp_d32" >&6; } -+if test "$libc_cv_arm_pcs_vfp_d32" = yes ; -+then -+ printf "%s\n" "#define HAVE_ARM_PCS_VFP_D32 1" >>confdefs.h -+ -+fi -+ - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether PC-relative relocs in movw/movt work properly" >&5 - printf %s "checking whether PC-relative relocs in movw/movt work properly... " >&6; } - if test ${libc_cv_arm_pcrel_movw+y} -diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac -index 5172e30bbe..cd00ddc9d9 100644 ---- a/sysdeps/arm/configure.ac -+++ b/sysdeps/arm/configure.ac -@@ -21,6 +21,21 @@ else - LIBC_CONFIG_VAR([default-abi], [soft]) - fi - -+AC_CACHE_CHECK([whether VFP supports 32 registers], -+ libc_cv_arm_pcs_vfp_d32, [ -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -+void foo (void) -+{ -+ asm volatile ("vldr d16,=17" : : : "d16"); -+} -+]])], -+ [libc_cv_arm_pcs_vfp_d32=yes], -+ [libc_cv_arm_pcs_vfp_d32=no])]) -+if test "$libc_cv_arm_pcs_vfp_d32" = yes ; -+then -+ AC_DEFINE(HAVE_ARM_PCS_VFP_D32) -+fi -+ - AC_CACHE_CHECK([whether PC-relative relocs in movw/movt work properly], - libc_cv_arm_pcrel_movw, [ - cat > conftest.s <<\EOF -diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S -index 764c56e70f..ada106521d 100644 ---- a/sysdeps/arm/dl-tlsdesc.S -+++ b/sysdeps/arm/dl-tlsdesc.S -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include "tlsdesc.h" - - .text -@@ -83,14 +84,20 @@ _dl_tlsdesc_dynamic(struct tlsdesc *tdp) - .align 2 - _dl_tlsdesc_dynamic: - /* Our calling convention is to clobber r0, r1 and the processor -- flags. All others that are modified must be saved */ -- eabi_save ({r2,r3,r4,lr}) -- push {r2,r3,r4,lr} -- cfi_adjust_cfa_offset (16) -+ flags. All others that are modified must be saved. r5 is -+ used as the hwcap value to avoid reload after __tls_get_addr -+ call. If required we will save the vector register on the slow -+ path. */ -+ eabi_save ({r2,r3,r4,r5,ip,lr}) -+ push {r2,r3,r4,r5,ip,lr} -+ cfi_adjust_cfa_offset (24) - cfi_rel_offset (r2,0) - cfi_rel_offset (r3,4) - cfi_rel_offset (r4,8) -- cfi_rel_offset (lr,12) -+ cfi_rel_offset (r5,12) -+ cfi_rel_offset (ip,16) -+ cfi_rel_offset (lr,20) -+ - ldr r1, [r0] /* td */ - GET_TLS (lr) - mov r4, r0 /* r4 = tp */ -@@ -113,22 +120,69 @@ _dl_tlsdesc_dynamic: - rsbne r0, r4, r3 - bne 2f - 1: mov r0, r1 -+ -+ /* Load the hwcap to check for vector support. */ -+ ldr r2, 3f -+ ldr r1, .Lrtld_global_ro -+0: add r2, pc, r2 -+ ldr r2, [r2, r1] -+ ldr r5, [r2, #RTLD_GLOBAL_RO_DL_HWCAP_OFFSET] -+ -+#ifdef __SOFTFP__ -+ tst r5, #HWCAP_ARM_VFP -+ beq .Lno_vfp -+#endif -+ -+ /* Store the VFP registers. Don't use VFP instructions directly -+ because this code is used in non-VFP multilibs. */ -+#define VFP_STACK_REQ (32*8 + 8) -+ sub sp, sp, VFP_STACK_REQ -+ cfi_adjust_cfa_offset (VFP_STACK_REQ) -+ mov r3, sp -+ .inst 0xeca30b20 /* vstmia r3!, {d0-d15} */ -+ tst r5, #HWCAP_ARM_VFPD32 -+ beq 4f -+ .inst 0xece30b20 /* vstmia r3!, {d16-d31} */ -+ /* Store the floating-point status register. */ -+4: .inst 0xeef12a10 /* vmrs r2, fpscr */ -+ str r2, [r3] -+.Lno_vfp: - bl __tls_get_addr - rsb r0, r4, r0 -+#ifdef __SOFTFP__ -+ tst r5, #HWCAP_ARM_VFP -+ beq 2f -+#endif -+ mov r3, sp -+ .inst 0xecb30b20 /* vldmia r3!, {d0-d15} */ -+ tst r5, #HWCAP_ARM_VFPD32 -+ beq 5f -+ .inst 0xecf30b20 /* vldmia r3!, {d16-d31} */ -+ ldr r4, [r3] -+5: .inst 0xeee14a10 /* vmsr fpscr, r4 */ -+ add sp, sp, VFP_STACK_REQ -+ cfi_adjust_cfa_offset (-VFP_STACK_REQ) -+ - 2: - #if ((defined (__ARM_ARCH_4T__) && defined (__THUMB_INTERWORK__)) \ - || defined (ARM_ALWAYS_BX)) -- pop {r2,r3,r4, lr} -- cfi_adjust_cfa_offset (-16) -+ pop {r2,r3,r4,r5,ip, lr} -+ cfi_adjust_cfa_offset (-20) - cfi_restore (lr) -+ cfi_restore (ip) -+ cfi_restore (r5) - cfi_restore (r4) - cfi_restore (r3) - cfi_restore (r2) - bx lr - #else -- pop {r2,r3,r4, pc} -+ pop {r2,r3,r4,r5,ip, pc} - #endif - eabi_fnend - cfi_endproc - .size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic -+ -+3: .long _GLOBAL_OFFSET_TABLE_ - 0b - PC_OFS -+.Lrtld_global_ro: -+ .long C_SYMBOL_NAME(_rtld_global_ro)(GOT) - #endif /* SHARED */ -diff --git a/sysdeps/arm/tst-gnu2-tls2.h b/sysdeps/arm/tst-gnu2-tls2.h -new file mode 100644 -index 0000000000..e413ac21fb ---- /dev/null -+++ b/sysdeps/arm/tst-gnu2-tls2.h -@@ -0,0 +1,128 @@ -+/* Test TLSDESC relocation. ARM version. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+#include -+#include -+ -+#ifndef __SOFTFP__ -+ -+# ifdef HAVE_ARM_PCS_VFP_D32 -+# define SAVE_VFP_D32 \ -+ asm volatile ("vldr d16,=17" : : : "d16"); \ -+ asm volatile ("vldr d17,=18" : : : "d17"); \ -+ asm volatile ("vldr d18,=19" : : : "d18"); \ -+ asm volatile ("vldr d19,=20" : : : "d19"); \ -+ asm volatile ("vldr d20,=21" : : : "d20"); \ -+ asm volatile ("vldr d21,=22" : : : "d21"); \ -+ asm volatile ("vldr d22,=23" : : : "d22"); \ -+ asm volatile ("vldr d23,=24" : : : "d23"); \ -+ asm volatile ("vldr d24,=25" : : : "d24"); \ -+ asm volatile ("vldr d25,=26" : : : "d25"); \ -+ asm volatile ("vldr d26,=27" : : : "d26"); \ -+ asm volatile ("vldr d27,=28" : : : "d27"); \ -+ asm volatile ("vldr d28,=29" : : : "d28"); \ -+ asm volatile ("vldr d29,=30" : : : "d29"); \ -+ asm volatile ("vldr d30,=31" : : : "d30"); \ -+ asm volatile ("vldr d31,=32" : : : "d31"); -+# else -+# define SAVE_VFP_D32 -+# endif -+ -+# define INIT_TLSDESC_CALL() \ -+ unsigned long hwcap = getauxval (AT_HWCAP) -+ -+/* Set each vector register to a value from 1 to 32 before the TLS access, -+ dump to memory after TLS access, and compare with the expected values. */ -+ -+# define BEFORE_TLSDESC_CALL() \ -+ if (hwcap & HWCAP_ARM_VFP) \ -+ { \ -+ asm volatile ("vldr d0,=1" : : : "d0"); \ -+ asm volatile ("vldr d1,=2" : : : "d1"); \ -+ asm volatile ("vldr d2,=3" : : : "d1"); \ -+ asm volatile ("vldr d3,=4" : : : "d3"); \ -+ asm volatile ("vldr d4,=5" : : : "d4"); \ -+ asm volatile ("vldr d5,=6" : : : "d5"); \ -+ asm volatile ("vldr d6,=7" : : : "d6"); \ -+ asm volatile ("vldr d7,=8" : : : "d7"); \ -+ asm volatile ("vldr d8,=9" : : : "d8"); \ -+ asm volatile ("vldr d9,=10" : : : "d9"); \ -+ asm volatile ("vldr d10,=11" : : : "d10"); \ -+ asm volatile ("vldr d11,=12" : : : "d11"); \ -+ asm volatile ("vldr d12,=13" : : : "d12"); \ -+ asm volatile ("vldr d13,=14" : : : "d13"); \ -+ asm volatile ("vldr d14,=15" : : : "d14"); \ -+ asm volatile ("vldr d15,=16" : : : "d15"); \ -+ } \ -+ if (hwcap & HWCAP_ARM_VFPD32) \ -+ { \ -+ SAVE_VFP_D32 \ -+ } -+ -+# define VFP_STACK_REQ (16*8) -+# if __BYTE_ORDER == __BIG_ENDIAN -+# define DISP 7 -+# else -+# define DISP 0 -+# endif -+ -+# ifdef HAVE_ARM_PCS_VFP_D32 -+# define CHECK_VFP_D32 \ -+ char vfp[VFP_STACK_REQ]; \ -+ asm volatile ("vstmia %0, {d16-d31}\n" \ -+ : \ -+ : "r" (vfp) \ -+ : "memory"); \ -+ \ -+ char expected[VFP_STACK_REQ] = { 0 }; \ -+ for (int i = 0; i < 16; ++i) \ -+ expected[i * 8 + DISP] = i + 17; \ -+ \ -+ if (memcmp (vfp, expected, VFP_STACK_REQ) != 0) \ -+ abort (); -+# else -+# define CHECK_VFP_D32 -+# endif -+ -+# define AFTER_TLSDESC_CALL() \ -+ if (hwcap & HWCAP_ARM_VFP) \ -+ { \ -+ char vfp[VFP_STACK_REQ]; \ -+ asm volatile ("vstmia %0, {d0-d15}\n" \ -+ : \ -+ : "r" (vfp) \ -+ : "memory"); \ -+ \ -+ char expected[VFP_STACK_REQ] = { 0 }; \ -+ for (int i = 0; i < 16; ++i) \ -+ expected[i * 8 + DISP] = i + 1; \ -+ \ -+ if (memcmp (vfp, expected, VFP_STACK_REQ) != 0) \ -+ abort (); \ -+ } \ -+ if (hwcap & HWCAP_ARM_VFPD32) \ -+ { \ -+ CHECK_VFP_D32 \ -+ } -+ -+#endif /* __SOFTFP__ */ -+ -+#include_next - -commit aded2fc004e7ee85cf0b45b1382552d41e555a23 -Author: Adhemerval Zanella -Date: Tue Mar 12 13:21:20 2024 -0300 - - elf: Enable TLS descriptor tests on aarch64 - - The aarch64 uses 'trad' for traditional tls and 'desc' for tls - descriptors, but unlike other targets it defaults to 'desc'. The - gnutls2 configure check does not set aarch64 as an ABI that uses - TLS descriptors, which then disable somes stests. - - Also rename the internal machinery fron gnu2 to tls descriptors. - - Checked on aarch64-linux-gnu. - Reviewed-by: H.J. Lu - - (cherry picked from commit 3d53d18fc71c5d9ef4773b8bce04d54b80181926) - -diff --git a/configure b/configure -index 117b48a421..432e40a592 100755 ---- a/configure -+++ b/configure -@@ -653,7 +653,7 @@ LIBGD - libc_cv_cc_loop_to_function - libc_cv_cc_submachine - libc_cv_cc_nofma --libc_cv_mtls_dialect_gnu2 -+libc_cv_mtls_descriptor - libc_cv_has_glob_dat - libc_cv_fpie - libc_cv_z_execstack -@@ -4760,6 +4760,9 @@ libc_config_ok=no - # whether to use such directories. - with_fp_cond=1 - -+# A preconfigure script may define another name to TLS descriptor variant -+mtls_descriptor=gnu2 -+ - if frags=`ls -d $srcdir/sysdeps/*/preconfigure 2> /dev/null` - then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysdeps preconfigure fragments" >&5 -@@ -7006,9 +7009,9 @@ fi - printf "%s\n" "$libc_cv_has_glob_dat" >&6; } - - --{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -mtls-dialect=gnu2" >&5 --printf %s "checking for -mtls-dialect=gnu2... " >&6; } --if test ${libc_cv_mtls_dialect_gnu2+y} -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tls descriptor support" >&5 -+printf %s "checking for tls descriptor support... " >&6; } -+if test ${libc_cv_mtls_descriptor+y} - then : - printf %s "(cached) " >&6 - else $as_nop -@@ -7019,7 +7022,7 @@ void foo (void) - i = 10; - } - EOF --if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=gnu2 -nostdlib -nostartfiles -+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=$mtls_descriptor -nostdlib -nostartfiles - -shared conftest.c -o conftest 1>&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 -@@ -7027,17 +7030,17 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=gnu2 -nostdlib -nost - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; } - then -- libc_cv_mtls_dialect_gnu2=yes -+ libc_cv_mtls_descriptor=$mtls_descriptor - else -- libc_cv_mtls_dialect_gnu2=no -+ libc_cv_mtls_descriptor=no - fi - rm -f conftest* - fi --{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mtls_dialect_gnu2" >&5 --printf "%s\n" "$libc_cv_mtls_dialect_gnu2" >&6; } -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mtls_descriptor" >&5 -+printf "%s\n" "$libc_cv_mtls_descriptor" >&6; } - - config_vars="$config_vars --have-mtls-dialect-gnu2 = $libc_cv_mtls_dialect_gnu2" -+have-mtls-descriptor = $libc_cv_mtls_descriptor" - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -Wno-ignored-attributes is required for aliases" >&5 - printf %s "checking if -Wno-ignored-attributes is required for aliases... " >&6; } -diff --git a/configure.ac b/configure.ac -index 19b88a47a5..bdc385d03c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -442,6 +442,9 @@ libc_config_ok=no - # whether to use such directories. - with_fp_cond=1 - -+# A preconfigure script may define another name to TLS descriptor variant -+mtls_descriptor=gnu2 -+ - dnl Let sysdeps/*/preconfigure act here. - LIBC_PRECONFIGURE([$srcdir], [for sysdeps]) - -@@ -1287,7 +1290,7 @@ fi - rm -f conftest*]) - AC_SUBST(libc_cv_has_glob_dat) - --AC_CACHE_CHECK([for -mtls-dialect=gnu2], libc_cv_mtls_dialect_gnu2, -+AC_CACHE_CHECK([for tls descriptor support], libc_cv_mtls_descriptor, - [dnl - cat > conftest.c <&AS_MESSAGE_LOG_FD]) - then -- libc_cv_mtls_dialect_gnu2=yes -+ libc_cv_mtls_descriptor=$mtls_descriptor - else -- libc_cv_mtls_dialect_gnu2=no -+ libc_cv_mtls_descriptor=no - fi - rm -f conftest*]) --AC_SUBST(libc_cv_mtls_dialect_gnu2) --LIBC_CONFIG_VAR([have-mtls-dialect-gnu2], [$libc_cv_mtls_dialect_gnu2]) -+AC_SUBST(libc_cv_mtls_descriptor) -+LIBC_CONFIG_VAR([have-mtls-descriptor], [$libc_cv_mtls_descriptor]) - - dnl clang emits an warning for a double alias redirection, to warn the - dnl original symbol is sed even when weak definition overrides it. -diff --git a/elf/Makefile b/elf/Makefile -index 030db4d207..69aa423c4b 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -999,13 +999,13 @@ modules-names-tests = $(filter-out ifuncmod% tst-tlsmod%,\ - # For +depfiles in Makerules. - extra-test-objs += tst-auditmod17.os - --ifeq (yes,$(have-mtls-dialect-gnu2)) -+ifneq (no,$(have-mtls-descriptor)) - tests += tst-gnu2-tls1 - modules-names += tst-gnu2-tls1mod - $(objpfx)tst-gnu2-tls1: $(objpfx)tst-gnu2-tls1mod.so - tst-gnu2-tls1mod.so-no-z-defs = yes --CFLAGS-tst-gnu2-tls1mod.c += -mtls-dialect=gnu2 --endif # $(have-mtls-dialect-gnu2) -+CFLAGS-tst-gnu2-tls1mod.c += -mtls-dialect=$(have-mtls-descriptor) -+endif # $(have-mtls-descriptor) - - ifeq (yes,$(have-protected-data)) - modules-names += tst-protected1moda tst-protected1modb -@@ -2972,11 +2972,11 @@ $(objpfx)tst-tls-allocation-failure-static-patched.out: \ - $(objpfx)tst-audit-tlsdesc: $(objpfx)tst-audit-tlsdesc-mod1.so \ - $(objpfx)tst-audit-tlsdesc-mod2.so \ - $(shared-thread-library) --ifeq (yes,$(have-mtls-dialect-gnu2)) -+ifneq (no,$(have-mtls-descriptor)) - # The test is valid for all TLS types, but we want to exercise GNU2 - # TLS if possible. --CFLAGS-tst-audit-tlsdesc-mod1.c += -mtls-dialect=gnu2 --CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=gnu2 -+CFLAGS-tst-audit-tlsdesc-mod1.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=$(have-mtls-descriptor) - endif - $(objpfx)tst-audit-tlsdesc-dlopen: $(shared-thread-library) - $(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-audit-tlsdesc-mod1.so \ -@@ -3055,11 +3055,11 @@ $(objpfx)tst-gnu2-tls2.out: \ - $(objpfx)tst-gnu2-tls2mod1.so \ - $(objpfx)tst-gnu2-tls2mod2.so - --ifeq (yes,$(have-mtls-dialect-gnu2)) --CFLAGS-tst-tlsgap-mod0.c += -mtls-dialect=gnu2 --CFLAGS-tst-tlsgap-mod1.c += -mtls-dialect=gnu2 --CFLAGS-tst-tlsgap-mod2.c += -mtls-dialect=gnu2 --CFLAGS-tst-gnu2-tls2mod0.c += -mtls-dialect=gnu2 --CFLAGS-tst-gnu2-tls2mod1.c += -mtls-dialect=gnu2 --CFLAGS-tst-gnu2-tls2mod2.c += -mtls-dialect=gnu2 -+ifneq (no,$(have-mtls-descriptor)) -+CFLAGS-tst-tlsgap-mod0.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-tlsgap-mod1.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-tlsgap-mod2.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-gnu2-tls2mod0.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-gnu2-tls2mod1.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-gnu2-tls2mod2.c += -mtls-dialect=$(have-mtls-descriptor) - endif -diff --git a/sysdeps/aarch64/preconfigure b/sysdeps/aarch64/preconfigure -index d9bd1f8558..19657b627b 100644 ---- a/sysdeps/aarch64/preconfigure -+++ b/sysdeps/aarch64/preconfigure -@@ -2,5 +2,6 @@ case "$machine" in - aarch64*) - base_machine=aarch64 - machine=aarch64 -+ mtls_descriptor=desc - ;; - esac -diff --git a/sysdeps/arm/Makefile b/sysdeps/arm/Makefile -index d5cea717a9..619474eca9 100644 ---- a/sysdeps/arm/Makefile -+++ b/sysdeps/arm/Makefile -@@ -13,15 +13,15 @@ $(objpfx)libgcc-stubs.a: $(objpfx)aeabi_unwind_cpp_pr1.os - lib-noranlib: $(objpfx)libgcc-stubs.a - - ifeq ($(build-shared),yes) --ifeq (yes,$(have-mtls-dialect-gnu2)) -+ifneq (no,$(have-mtls-descriptor)) - tests += tst-armtlsdescloc tst-armtlsdescextnow tst-armtlsdescextlazy - modules-names += tst-armtlsdesclocmod - modules-names += tst-armtlsdescextlazymod tst-armtlsdescextnowmod - CPPFLAGS-tst-armtlsdescextnowmod.c += -Dstatic= - CPPFLAGS-tst-armtlsdescextlazymod.c += -Dstatic= --CFLAGS-tst-armtlsdesclocmod.c += -mtls-dialect=gnu2 --CFLAGS-tst-armtlsdescextnowmod.c += -mtls-dialect=gnu2 --CFLAGS-tst-armtlsdescextlazymod.c += -mtls-dialect=gnu2 -+CFLAGS-tst-armtlsdesclocmod.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-armtlsdescextnowmod.c += -mtls-dialect=$(have-mtls-descriptor) -+CFLAGS-tst-armtlsdescextlazymod.c += -mtls-dialect=$(have-mtls-descriptor) - LDFLAGS-tst-armtlsdescextnowmod.so += -Wl,-z,now - tst-armtlsdescloc-ENV = LD_BIND_NOW=1 - tst-armtlsdescextnow-ENV = LD_BIND_NOW=1 - -commit 5a461f2949ded98d8211939f84988bc464c7b4fe -Author: Andreas Schwab -Date: Tue Mar 19 13:49:50 2024 +0100 - - Add tst-gnu2-tls2mod1 to test-internal-extras - - That allows sysdeps/x86_64/tst-gnu2-tls2mod1.S to use internal headers. - - Fixes: 717ebfa85c ("x86-64: Allocate state buffer space for RDI, RSI and RBX") - (cherry picked from commit fd7ee2e6c5eb49e4a630a9978b4d668bff6354ee) - -diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile -index e8babc9a4e..9d374a3299 100644 ---- a/sysdeps/x86_64/Makefile -+++ b/sysdeps/x86_64/Makefile -@@ -210,6 +210,8 @@ tst-plt-rewrite2-ENV = GLIBC_TUNABLES=glibc.cpu.plt_rewrite=2 - $(objpfx)tst-plt-rewrite2: $(objpfx)tst-plt-rewritemod2.so - endif - -+test-internal-extras += tst-gnu2-tls2mod1 -+ - endif # $(subdir) == elf - - ifeq ($(subdir),csu) - -commit aa4249266e9906c4bc833e4847f4d8feef59504f -Author: Adhemerval Zanella -Date: Thu Feb 8 10:08:38 2024 -0300 - - x86: Fix Zen3/Zen4 ERMS selection (BZ 30994) - - The REP MOVSB usage on memcpy/memmove does not show much performance - improvement on Zen3/Zen4 cores compared to the vectorized loops. Also, - as from BZ 30994, if the source is aligned and the destination is not - the performance can be 20x slower. - - The performance difference is noticeable with small buffer sizes, closer - to the lower bounds limits when memcpy/memmove starts to use ERMS. The - performance of REP MOVSB is similar to vectorized instruction on the - size limit (the L2 cache). Also, there is no drawback to multiple cores - sharing the cache. - - Checked on x86_64-linux-gnu on Zen3. - Reviewed-by: H.J. Lu - - (cherry picked from commit 0c0d39fe4aeb0f69b26e76337c5dfd5530d5d44e) - -diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h -index d5101615e3..f34d12846c 100644 ---- a/sysdeps/x86/dl-cacheinfo.h -+++ b/sysdeps/x86/dl-cacheinfo.h -@@ -791,7 +791,6 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - long int data = -1; - long int shared = -1; - long int shared_per_thread = -1; -- long int core = -1; - unsigned int threads = 0; - unsigned long int level1_icache_size = -1; - unsigned long int level1_icache_linesize = -1; -@@ -809,7 +808,6 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - if (cpu_features->basic.kind == arch_kind_intel) - { - data = handle_intel (_SC_LEVEL1_DCACHE_SIZE, cpu_features); -- core = handle_intel (_SC_LEVEL2_CACHE_SIZE, cpu_features); - shared = handle_intel (_SC_LEVEL3_CACHE_SIZE, cpu_features); - shared_per_thread = shared; - -@@ -822,7 +820,8 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - = handle_intel (_SC_LEVEL1_DCACHE_ASSOC, cpu_features); - level1_dcache_linesize - = handle_intel (_SC_LEVEL1_DCACHE_LINESIZE, cpu_features); -- level2_cache_size = core; -+ level2_cache_size -+ = handle_intel (_SC_LEVEL2_CACHE_SIZE, cpu_features); - level2_cache_assoc - = handle_intel (_SC_LEVEL2_CACHE_ASSOC, cpu_features); - level2_cache_linesize -@@ -835,12 +834,12 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - level4_cache_size - = handle_intel (_SC_LEVEL4_CACHE_SIZE, cpu_features); - -- get_common_cache_info (&shared, &shared_per_thread, &threads, core); -+ get_common_cache_info (&shared, &shared_per_thread, &threads, -+ level2_cache_size); - } - else if (cpu_features->basic.kind == arch_kind_zhaoxin) - { - data = handle_zhaoxin (_SC_LEVEL1_DCACHE_SIZE); -- core = handle_zhaoxin (_SC_LEVEL2_CACHE_SIZE); - shared = handle_zhaoxin (_SC_LEVEL3_CACHE_SIZE); - shared_per_thread = shared; - -@@ -849,19 +848,19 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - level1_dcache_size = data; - level1_dcache_assoc = handle_zhaoxin (_SC_LEVEL1_DCACHE_ASSOC); - level1_dcache_linesize = handle_zhaoxin (_SC_LEVEL1_DCACHE_LINESIZE); -- level2_cache_size = core; -+ level2_cache_size = handle_zhaoxin (_SC_LEVEL2_CACHE_SIZE); - level2_cache_assoc = handle_zhaoxin (_SC_LEVEL2_CACHE_ASSOC); - level2_cache_linesize = handle_zhaoxin (_SC_LEVEL2_CACHE_LINESIZE); - level3_cache_size = shared; - level3_cache_assoc = handle_zhaoxin (_SC_LEVEL3_CACHE_ASSOC); - level3_cache_linesize = handle_zhaoxin (_SC_LEVEL3_CACHE_LINESIZE); - -- get_common_cache_info (&shared, &shared_per_thread, &threads, core); -+ get_common_cache_info (&shared, &shared_per_thread, &threads, -+ level2_cache_size); - } - else if (cpu_features->basic.kind == arch_kind_amd) - { - data = handle_amd (_SC_LEVEL1_DCACHE_SIZE); -- core = handle_amd (_SC_LEVEL2_CACHE_SIZE); - shared = handle_amd (_SC_LEVEL3_CACHE_SIZE); - - level1_icache_size = handle_amd (_SC_LEVEL1_ICACHE_SIZE); -@@ -869,7 +868,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - level1_dcache_size = data; - level1_dcache_assoc = handle_amd (_SC_LEVEL1_DCACHE_ASSOC); - level1_dcache_linesize = handle_amd (_SC_LEVEL1_DCACHE_LINESIZE); -- level2_cache_size = core; -+ level2_cache_size = handle_amd (_SC_LEVEL2_CACHE_SIZE);; - level2_cache_assoc = handle_amd (_SC_LEVEL2_CACHE_ASSOC); - level2_cache_linesize = handle_amd (_SC_LEVEL2_CACHE_LINESIZE); - level3_cache_size = shared; -@@ -880,12 +879,12 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - if (shared <= 0) - { - /* No shared L3 cache. All we have is the L2 cache. */ -- shared = core; -+ shared = level2_cache_size; - } - else if (cpu_features->basic.family < 0x17) - { - /* Account for exclusive L2 and L3 caches. */ -- shared += core; -+ shared += level2_cache_size; - } - - shared_per_thread = shared; -@@ -987,6 +986,12 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - if (CPU_FEATURE_USABLE_P (cpu_features, FSRM)) - rep_movsb_threshold = 2112; - -+ /* For AMD CPUs that support ERMS (Zen3+), REP MOVSB is in a lot of -+ cases slower than the vectorized path (and for some alignments, -+ it is really slow, check BZ #30994). */ -+ if (cpu_features->basic.kind == arch_kind_amd) -+ rep_movsb_threshold = non_temporal_threshold; -+ - /* The default threshold to use Enhanced REP STOSB. */ - unsigned long int rep_stosb_threshold = 2048; - -@@ -1028,16 +1033,9 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - SIZE_MAX); - - unsigned long int rep_movsb_stop_threshold; -- /* ERMS feature is implemented from AMD Zen3 architecture and it is -- performing poorly for data above L2 cache size. Henceforth, adding -- an upper bound threshold parameter to limit the usage of Enhanced -- REP MOVSB operations and setting its value to L2 cache size. */ -- if (cpu_features->basic.kind == arch_kind_amd) -- rep_movsb_stop_threshold = core; - /* Setting the upper bound of ERMS to the computed value of -- non-temporal threshold for architectures other than AMD. */ -- else -- rep_movsb_stop_threshold = non_temporal_threshold; -+ non-temporal threshold for all architectures. */ -+ rep_movsb_stop_threshold = non_temporal_threshold; - - cpu_features->data_cache_size = data; - cpu_features->shared_cache_size = shared; - -commit 6484a92698039c4a7a510f0214e22d067b0d78b3 -Author: Adhemerval Zanella -Date: Thu Feb 8 10:08:39 2024 -0300 - - x86: Do not prefer ERMS for memset on Zen3+ - - For AMD Zen3+ architecture, the performance of the vectorized loop is - slightly better than ERMS. - - Checked on x86_64-linux-gnu on Zen3. - Reviewed-by: H.J. Lu - - (cherry picked from commit 272708884cb750f12f5c74a00e6620c19dc6d567) - -diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h -index f34d12846c..5a98f70364 100644 ---- a/sysdeps/x86/dl-cacheinfo.h -+++ b/sysdeps/x86/dl-cacheinfo.h -@@ -1021,6 +1021,11 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - minimum value is fixed. */ - rep_stosb_threshold = TUNABLE_GET (x86_rep_stosb_threshold, - long int, NULL); -+ if (cpu_features->basic.kind == arch_kind_amd -+ && !TUNABLE_IS_INITIALIZED (x86_rep_stosb_threshold)) -+ /* For AMD Zen3+ architecture, the performance of the vectorized loop is -+ slightly better than ERMS. */ -+ rep_stosb_threshold = SIZE_MAX; - - TUNABLE_SET_WITH_BOUNDS (x86_data_cache_size, data, 0, SIZE_MAX); - TUNABLE_SET_WITH_BOUNDS (x86_shared_cache_size, shared, 0, SIZE_MAX); - -commit 5d070d12b3a52bc44dd1b71743abc4b6243862ae -Author: Adhemerval Zanella -Date: Thu Feb 8 10:08:40 2024 -0300 - - x86: Expand the comment on when REP STOSB is used on memset - - Reviewed-by: H.J. Lu - (cherry picked from commit 491e55beab7457ed310a4a47496f4a333c5d1032) - -diff --git a/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S b/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S -index 9984c3ca0f..97839a2248 100644 ---- a/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S -+++ b/sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S -@@ -21,7 +21,9 @@ - 2. If size is less than VEC, use integer register stores. - 3. If size is from VEC_SIZE to 2 * VEC_SIZE, use 2 VEC stores. - 4. If size is from 2 * VEC_SIZE to 4 * VEC_SIZE, use 4 VEC stores. -- 5. If size is more to 4 * VEC_SIZE, align to 4 * VEC_SIZE with -+ 5. On machines ERMS feature, if size is greater or equal than -+ __x86_rep_stosb_threshold then REP STOSB will be used. -+ 6. If size is more to 4 * VEC_SIZE, align to 4 * VEC_SIZE with - 4 VEC stores and store 4 * VEC at a time until done. */ - - #include - -commit 31c7d69af59da0da80caa74b2ec6ae149013384d -Author: Florian Weimer -Date: Fri Feb 16 07:40:37 2024 +0100 - - i386: Use generic memrchr in libc (bug 31316) - - Before this change, we incorrectly used the SSE2 variant in the - implementation, without checking that the system actually supports - SSE2. - - Tested-by: Sam James - (cherry picked from commit 0d9166c2245cad4ac520b337dee40c9a583872b6) - -diff --git a/sysdeps/i386/i686/multiarch/memrchr-c.c b/sysdeps/i386/i686/multiarch/memrchr-c.c -index ef7bbbe792..20bfdf3af3 100644 ---- a/sysdeps/i386/i686/multiarch/memrchr-c.c -+++ b/sysdeps/i386/i686/multiarch/memrchr-c.c -@@ -5,3 +5,4 @@ extern void *__memrchr_ia32 (const void *, int, size_t); - #endif - - #include "string/memrchr.c" -+strong_alias (__memrchr_ia32, __GI___memrchr) -diff --git a/sysdeps/i386/i686/multiarch/memrchr-sse2.S b/sysdeps/i386/i686/multiarch/memrchr-sse2.S -index d9dae04171..e123f87435 100644 ---- a/sysdeps/i386/i686/multiarch/memrchr-sse2.S -+++ b/sysdeps/i386/i686/multiarch/memrchr-sse2.S -@@ -720,5 +720,4 @@ L(ret_null): - ret - - END (__memrchr_sse2) --strong_alias (__memrchr_sse2, __GI___memrchr) - #endif - -commit b0e0a07018098c2c5927796be5681a298c312626 -Author: Joe Ramsay -Date: Tue Feb 20 16:44:13 2024 +0000 - - aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR - - This includes a fix for big-endian in AdvSIMD log, some cosmetic - changes, and numerous small optimisations mainly around inlining and - using indexed variants of MLA intrinsics. - Reviewed-by: Adhemerval Zanella - - (cherry picked from commit e302e1021391d13a9611ba3a910df128830bd19e) - -diff --git a/sysdeps/aarch64/fpu/acos_advsimd.c b/sysdeps/aarch64/fpu/acos_advsimd.c -index a8eabb5e71..0a86c9823a 100644 ---- a/sysdeps/aarch64/fpu/acos_advsimd.c -+++ b/sysdeps/aarch64/fpu/acos_advsimd.c -@@ -40,8 +40,8 @@ static const struct data - }; - - #define AllMask v_u64 (0xffffffffffffffff) --#define Oneu (0x3ff0000000000000) --#define Small (0x3e50000000000000) /* 2^-53. */ -+#define Oneu 0x3ff0000000000000 -+#define Small 0x3e50000000000000 /* 2^-53. */ - - #if WANT_SIMD_EXCEPT - static float64x2_t VPCS_ATTR NOINLINE -diff --git a/sysdeps/aarch64/fpu/asin_advsimd.c b/sysdeps/aarch64/fpu/asin_advsimd.c -index 141646e954..2de6eff407 100644 ---- a/sysdeps/aarch64/fpu/asin_advsimd.c -+++ b/sysdeps/aarch64/fpu/asin_advsimd.c -@@ -39,8 +39,8 @@ static const struct data - }; - - #define AllMask v_u64 (0xffffffffffffffff) --#define One (0x3ff0000000000000) --#define Small (0x3e50000000000000) /* 2^-12. */ -+#define One 0x3ff0000000000000 -+#define Small 0x3e50000000000000 /* 2^-12. */ - - #if WANT_SIMD_EXCEPT - static float64x2_t VPCS_ATTR NOINLINE -diff --git a/sysdeps/aarch64/fpu/atan2_sve.c b/sysdeps/aarch64/fpu/atan2_sve.c -index 09a4c559b8..04fa71fa37 100644 ---- a/sysdeps/aarch64/fpu/atan2_sve.c -+++ b/sysdeps/aarch64/fpu/atan2_sve.c -@@ -37,9 +37,6 @@ static const struct data - .pi_over_2 = 0x1.921fb54442d18p+0, - }; - --/* Useful constants. */ --#define SignMask sv_u64 (0x8000000000000000) -- - /* Special cases i.e. 0, infinity, nan (fall back to scalar calls). */ - static svfloat64_t NOINLINE - special_case (svfloat64_t y, svfloat64_t x, svfloat64_t ret, -@@ -72,14 +69,15 @@ svfloat64_t SV_NAME_D2 (atan2) (svfloat64_t y, svfloat64_t x, const svbool_t pg) - svbool_t cmp_y = zeroinfnan (iy, pg); - svbool_t cmp_xy = svorr_z (pg, cmp_x, cmp_y); - -- svuint64_t sign_x = svand_x (pg, ix, SignMask); -- svuint64_t sign_y = svand_x (pg, iy, SignMask); -- svuint64_t sign_xy = sveor_x (pg, sign_x, sign_y); -- - svfloat64_t ax = svabs_x (pg, x); - svfloat64_t ay = svabs_x (pg, y); -+ svuint64_t iax = svreinterpret_u64 (ax); -+ svuint64_t iay = svreinterpret_u64 (ay); -+ -+ svuint64_t sign_x = sveor_x (pg, ix, iax); -+ svuint64_t sign_y = sveor_x (pg, iy, iay); -+ svuint64_t sign_xy = sveor_x (pg, sign_x, sign_y); - -- svbool_t pred_xlt0 = svcmplt (pg, x, 0.0); - svbool_t pred_aygtax = svcmpgt (pg, ay, ax); - - /* Set up z for call to atan. */ -@@ -88,8 +86,9 @@ svfloat64_t SV_NAME_D2 (atan2) (svfloat64_t y, svfloat64_t x, const svbool_t pg) - svfloat64_t z = svdiv_x (pg, n, d); - - /* Work out the correct shift. */ -- svfloat64_t shift = svsel (pred_xlt0, sv_f64 (-2.0), sv_f64 (0.0)); -- shift = svsel (pred_aygtax, svadd_x (pg, shift, 1.0), shift); -+ svfloat64_t shift = svreinterpret_f64 (svlsr_x (pg, sign_x, 1)); -+ shift = svsel (pred_aygtax, sv_f64 (1.0), shift); -+ shift = svreinterpret_f64 (svorr_x (pg, sign_x, svreinterpret_u64 (shift))); - shift = svmul_x (pg, shift, data_ptr->pi_over_2); - - /* Use split Estrin scheme for P(z^2) with deg(P)=19. */ -@@ -109,10 +108,10 @@ svfloat64_t SV_NAME_D2 (atan2) (svfloat64_t y, svfloat64_t x, const svbool_t pg) - ret = svadd_m (pg, ret, shift); - - /* Account for the sign of x and y. */ -- ret = svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (ret), sign_xy)); -- - if (__glibc_unlikely (svptest_any (pg, cmp_xy))) -- return special_case (y, x, ret, cmp_xy); -- -- return ret; -+ return special_case ( -+ y, x, -+ svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (ret), sign_xy)), -+ cmp_xy); -+ return svreinterpret_f64 (sveor_x (pg, svreinterpret_u64 (ret), sign_xy)); - } -diff --git a/sysdeps/aarch64/fpu/atan2f_sve.c b/sysdeps/aarch64/fpu/atan2f_sve.c -index b92f83cdea..9ea197147c 100644 ---- a/sysdeps/aarch64/fpu/atan2f_sve.c -+++ b/sysdeps/aarch64/fpu/atan2f_sve.c -@@ -32,10 +32,8 @@ static const struct data - .pi_over_2 = 0x1.921fb6p+0f, - }; - --#define SignMask sv_u32 (0x80000000) -- - /* Special cases i.e. 0, infinity, nan (fall back to scalar calls). */ --static inline svfloat32_t -+static svfloat32_t NOINLINE - special_case (svfloat32_t y, svfloat32_t x, svfloat32_t ret, - const svbool_t cmp) - { -@@ -67,14 +65,15 @@ svfloat32_t SV_NAME_F2 (atan2) (svfloat32_t y, svfloat32_t x, const svbool_t pg) - svbool_t cmp_y = zeroinfnan (iy, pg); - svbool_t cmp_xy = svorr_z (pg, cmp_x, cmp_y); - -- svuint32_t sign_x = svand_x (pg, ix, SignMask); -- svuint32_t sign_y = svand_x (pg, iy, SignMask); -- svuint32_t sign_xy = sveor_x (pg, sign_x, sign_y); -- - svfloat32_t ax = svabs_x (pg, x); - svfloat32_t ay = svabs_x (pg, y); -+ svuint32_t iax = svreinterpret_u32 (ax); -+ svuint32_t iay = svreinterpret_u32 (ay); -+ -+ svuint32_t sign_x = sveor_x (pg, ix, iax); -+ svuint32_t sign_y = sveor_x (pg, iy, iay); -+ svuint32_t sign_xy = sveor_x (pg, sign_x, sign_y); - -- svbool_t pred_xlt0 = svcmplt (pg, x, 0.0); - svbool_t pred_aygtax = svcmpgt (pg, ay, ax); - - /* Set up z for call to atan. */ -@@ -83,11 +82,12 @@ svfloat32_t SV_NAME_F2 (atan2) (svfloat32_t y, svfloat32_t x, const svbool_t pg) - svfloat32_t z = svdiv_x (pg, n, d); - - /* Work out the correct shift. */ -- svfloat32_t shift = svsel (pred_xlt0, sv_f32 (-2.0), sv_f32 (0.0)); -- shift = svsel (pred_aygtax, svadd_x (pg, shift, 1.0), shift); -+ svfloat32_t shift = svreinterpret_f32 (svlsr_x (pg, sign_x, 1)); -+ shift = svsel (pred_aygtax, sv_f32 (1.0), shift); -+ shift = svreinterpret_f32 (svorr_x (pg, sign_x, svreinterpret_u32 (shift))); - shift = svmul_x (pg, shift, sv_f32 (data_ptr->pi_over_2)); - -- /* Use split Estrin scheme for P(z^2) with deg(P)=7. */ -+ /* Use pure Estrin scheme for P(z^2) with deg(P)=7. */ - svfloat32_t z2 = svmul_x (pg, z, z); - svfloat32_t z4 = svmul_x (pg, z2, z2); - svfloat32_t z8 = svmul_x (pg, z4, z4); -@@ -101,10 +101,12 @@ svfloat32_t SV_NAME_F2 (atan2) (svfloat32_t y, svfloat32_t x, const svbool_t pg) - ret = svadd_m (pg, ret, shift); - - /* Account for the sign of x and y. */ -- ret = svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (ret), sign_xy)); - - if (__glibc_unlikely (svptest_any (pg, cmp_xy))) -- return special_case (y, x, ret, cmp_xy); -+ return special_case ( -+ y, x, -+ svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (ret), sign_xy)), -+ cmp_xy); - -- return ret; -+ return svreinterpret_f32 (sveor_x (pg, svreinterpret_u32 (ret), sign_xy)); - } -diff --git a/sysdeps/aarch64/fpu/cos_advsimd.c b/sysdeps/aarch64/fpu/cos_advsimd.c -index 2897e8b909..3924c9ce44 100644 ---- a/sysdeps/aarch64/fpu/cos_advsimd.c -+++ b/sysdeps/aarch64/fpu/cos_advsimd.c -@@ -63,8 +63,7 @@ float64x2_t VPCS_ATTR V_NAME_D1 (cos) (float64x2_t x) - special-case handler later. */ - r = vbslq_f64 (cmp, v_f64 (1.0), r); - #else -- cmp = vcageq_f64 (d->range_val, x); -- cmp = vceqzq_u64 (cmp); /* cmp = ~cmp. */ -+ cmp = vcageq_f64 (x, d->range_val); - r = x; - #endif - -diff --git a/sysdeps/aarch64/fpu/cosf_advsimd.c b/sysdeps/aarch64/fpu/cosf_advsimd.c -index 60abc8dfcf..d0c285b03a 100644 ---- a/sysdeps/aarch64/fpu/cosf_advsimd.c -+++ b/sysdeps/aarch64/fpu/cosf_advsimd.c -@@ -64,8 +64,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (cos) (float32x4_t x) - special-case handler later. */ - r = vbslq_f32 (cmp, v_f32 (1.0f), r); - #else -- cmp = vcageq_f32 (d->range_val, x); -- cmp = vceqzq_u32 (cmp); /* cmp = ~cmp. */ -+ cmp = vcageq_f32 (x, d->range_val); - r = x; - #endif - -diff --git a/sysdeps/aarch64/fpu/exp10_advsimd.c b/sysdeps/aarch64/fpu/exp10_advsimd.c -index fe7149b191..eeb31ca839 100644 ---- a/sysdeps/aarch64/fpu/exp10_advsimd.c -+++ b/sysdeps/aarch64/fpu/exp10_advsimd.c -@@ -57,7 +57,7 @@ const static struct data - # define BigBound v_u64 (0x4070000000000000) /* asuint64 (0x1p8). */ - # define Thres v_u64 (0x2070000000000000) /* BigBound - TinyBound. */ - --static inline float64x2_t VPCS_ATTR -+static float64x2_t VPCS_ATTR NOINLINE - special_case (float64x2_t x, float64x2_t y, uint64x2_t cmp) - { - /* If fenv exceptions are to be triggered correctly, fall back to the scalar -@@ -72,7 +72,7 @@ special_case (float64x2_t x, float64x2_t y, uint64x2_t cmp) - # define SpecialBias1 v_u64 (0x7000000000000000) /* 0x1p769. */ - # define SpecialBias2 v_u64 (0x3010000000000000) /* 0x1p-254. */ - --static float64x2_t VPCS_ATTR NOINLINE -+static inline float64x2_t VPCS_ATTR - special_case (float64x2_t s, float64x2_t y, float64x2_t n, - const struct data *d) - { -diff --git a/sysdeps/aarch64/fpu/exp10f_advsimd.c b/sysdeps/aarch64/fpu/exp10f_advsimd.c -index 7ee0c90948..ab117b69da 100644 ---- a/sysdeps/aarch64/fpu/exp10f_advsimd.c -+++ b/sysdeps/aarch64/fpu/exp10f_advsimd.c -@@ -25,7 +25,8 @@ - static const struct data - { - float32x4_t poly[5]; -- float32x4_t shift, log10_2, log2_10_hi, log2_10_lo; -+ float32x4_t log10_2_and_inv, shift; -+ - #if !WANT_SIMD_EXCEPT - float32x4_t scale_thresh; - #endif -@@ -38,9 +39,9 @@ static const struct data - .poly = { V4 (0x1.26bb16p+1f), V4 (0x1.5350d2p+1f), V4 (0x1.04744ap+1f), - V4 (0x1.2d8176p+0f), V4 (0x1.12b41ap-1f) }, - .shift = V4 (0x1.8p23f), -- .log10_2 = V4 (0x1.a934fp+1), -- .log2_10_hi = V4 (0x1.344136p-2), -- .log2_10_lo = V4 (-0x1.ec10cp-27), -+ -+ /* Stores constants 1/log10(2), log10(2)_high, log10(2)_low, 0. */ -+ .log10_2_and_inv = { 0x1.a934fp+1, 0x1.344136p-2, -0x1.ec10cp-27, 0 }, - #if !WANT_SIMD_EXCEPT - .scale_thresh = V4 (ScaleBound) - #endif -@@ -98,24 +99,22 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (exp10) (float32x4_t x) - #if WANT_SIMD_EXCEPT - /* asuint(x) - TinyBound >= BigBound - TinyBound. */ - uint32x4_t cmp = vcgeq_u32 ( -- vsubq_u32 (vandq_u32 (vreinterpretq_u32_f32 (x), v_u32 (0x7fffffff)), -- TinyBound), -- Thres); -+ vsubq_u32 (vreinterpretq_u32_f32 (vabsq_f32 (x)), TinyBound), Thres); - float32x4_t xm = x; - /* If any lanes are special, mask them with 1 and retain a copy of x to allow - special case handler to fix special lanes later. This is only necessary if - fenv exceptions are to be triggered correctly. */ - if (__glibc_unlikely (v_any_u32 (cmp))) -- x = vbslq_f32 (cmp, v_f32 (1), x); -+ x = v_zerofy_f32 (x, cmp); - #endif - - /* exp10(x) = 2^n * 10^r = 2^n * (1 + poly (r)), - with poly(r) in [1/sqrt(2), sqrt(2)] and - x = r + n * log10 (2), with r in [-log10(2)/2, log10(2)/2]. */ -- float32x4_t z = vfmaq_f32 (d->shift, x, d->log10_2); -+ float32x4_t z = vfmaq_laneq_f32 (d->shift, x, d->log10_2_and_inv, 0); - float32x4_t n = vsubq_f32 (z, d->shift); -- float32x4_t r = vfmsq_f32 (x, n, d->log2_10_hi); -- r = vfmsq_f32 (r, n, d->log2_10_lo); -+ float32x4_t r = vfmsq_laneq_f32 (x, n, d->log10_2_and_inv, 1); -+ r = vfmsq_laneq_f32 (r, n, d->log10_2_and_inv, 2); - uint32x4_t e = vshlq_n_u32 (vreinterpretq_u32_f32 (z), 23); - - float32x4_t scale = vreinterpretq_f32_u32 (vaddq_u32 (e, ExponentBias)); -diff --git a/sysdeps/aarch64/fpu/exp2_advsimd.c b/sysdeps/aarch64/fpu/exp2_advsimd.c -index 391a93180c..ae1e63d503 100644 ---- a/sysdeps/aarch64/fpu/exp2_advsimd.c -+++ b/sysdeps/aarch64/fpu/exp2_advsimd.c -@@ -24,6 +24,7 @@ - #define IndexMask (N - 1) - #define BigBound 1022.0 - #define UOFlowBound 1280.0 -+#define TinyBound 0x2000000000000000 /* asuint64(0x1p-511). */ - - static const struct data - { -@@ -48,14 +49,13 @@ lookup_sbits (uint64x2_t i) - - #if WANT_SIMD_EXCEPT - --# define TinyBound 0x2000000000000000 /* asuint64(0x1p-511). */ - # define Thres 0x2080000000000000 /* asuint64(512.0) - TinyBound. */ - - /* Call scalar exp2 as a fallback. */ - static float64x2_t VPCS_ATTR NOINLINE --special_case (float64x2_t x) -+special_case (float64x2_t x, float64x2_t y, uint64x2_t is_special) - { -- return v_call_f64 (exp2, x, x, v_u64 (0xffffffffffffffff)); -+ return v_call_f64 (exp2, x, y, is_special); - } - - #else -@@ -65,7 +65,7 @@ special_case (float64x2_t x) - # define SpecialBias1 0x7000000000000000 /* 0x1p769. */ - # define SpecialBias2 0x3010000000000000 /* 0x1p-254. */ - --static float64x2_t VPCS_ATTR -+static inline float64x2_t VPCS_ATTR - special_case (float64x2_t s, float64x2_t y, float64x2_t n, - const struct data *d) - { -@@ -94,10 +94,10 @@ float64x2_t V_NAME_D1 (exp2) (float64x2_t x) - #if WANT_SIMD_EXCEPT - uint64x2_t ia = vreinterpretq_u64_f64 (vabsq_f64 (x)); - cmp = vcgeq_u64 (vsubq_u64 (ia, v_u64 (TinyBound)), v_u64 (Thres)); -- /* If any special case (inf, nan, small and large x) is detected, -- fall back to scalar for all lanes. */ -- if (__glibc_unlikely (v_any_u64 (cmp))) -- return special_case (x); -+ /* Mask special lanes and retain a copy of x for passing to special-case -+ handler. */ -+ float64x2_t xc = x; -+ x = v_zerofy_f64 (x, cmp); - #else - cmp = vcagtq_f64 (x, d->scale_big_bound); - #endif -@@ -120,9 +120,11 @@ float64x2_t V_NAME_D1 (exp2) (float64x2_t x) - float64x2_t y = v_pairwise_poly_3_f64 (r, r2, d->poly); - y = vmulq_f64 (r, y); - --#if !WANT_SIMD_EXCEPT - if (__glibc_unlikely (v_any_u64 (cmp))) -+#if !WANT_SIMD_EXCEPT - return special_case (s, y, n, d); -+#else -+ return special_case (xc, vfmaq_f64 (s, s, y), cmp); - #endif - return vfmaq_f64 (s, s, y); - } -diff --git a/sysdeps/aarch64/fpu/exp2f_sve.c b/sysdeps/aarch64/fpu/exp2f_sve.c -index 9a5a523a10..8a686e3e05 100644 ---- a/sysdeps/aarch64/fpu/exp2f_sve.c -+++ b/sysdeps/aarch64/fpu/exp2f_sve.c -@@ -20,6 +20,8 @@ - #include "sv_math.h" - #include "poly_sve_f32.h" - -+#define Thres 0x1.5d5e2ap+6f -+ - static const struct data - { - float poly[5]; -@@ -33,7 +35,7 @@ static const struct data - .shift = 0x1.903f8p17f, - /* Roughly 87.3. For x < -Thres, the result is subnormal and not handled - correctly by FEXPA. */ -- .thres = 0x1.5d5e2ap+6f, -+ .thres = Thres, - }; - - static svfloat32_t NOINLINE -diff --git a/sysdeps/aarch64/fpu/exp_advsimd.c b/sysdeps/aarch64/fpu/exp_advsimd.c -index fd215f1d2c..5e3a9a0d44 100644 ---- a/sysdeps/aarch64/fpu/exp_advsimd.c -+++ b/sysdeps/aarch64/fpu/exp_advsimd.c -@@ -54,7 +54,7 @@ const static volatile struct - # define BigBound v_u64 (0x4080000000000000) /* asuint64 (0x1p9). */ - # define SpecialBound v_u64 (0x2080000000000000) /* BigBound - TinyBound. */ - --static inline float64x2_t VPCS_ATTR -+static float64x2_t VPCS_ATTR NOINLINE - special_case (float64x2_t x, float64x2_t y, uint64x2_t cmp) - { - /* If fenv exceptions are to be triggered correctly, fall back to the scalar -@@ -69,7 +69,7 @@ special_case (float64x2_t x, float64x2_t y, uint64x2_t cmp) - # define SpecialBias1 v_u64 (0x7000000000000000) /* 0x1p769. */ - # define SpecialBias2 v_u64 (0x3010000000000000) /* 0x1p-254. */ - --static float64x2_t VPCS_ATTR NOINLINE -+static inline float64x2_t VPCS_ATTR - special_case (float64x2_t s, float64x2_t y, float64x2_t n) - { - /* 2^(n/N) may overflow, break it up into s1*s2. */ -diff --git a/sysdeps/aarch64/fpu/expm1_advsimd.c b/sysdeps/aarch64/fpu/expm1_advsimd.c -index 0b85bd06f3..3628398674 100644 ---- a/sysdeps/aarch64/fpu/expm1_advsimd.c -+++ b/sysdeps/aarch64/fpu/expm1_advsimd.c -@@ -23,7 +23,7 @@ - static const struct data - { - float64x2_t poly[11]; -- float64x2_t invln2, ln2_lo, ln2_hi, shift; -+ float64x2_t invln2, ln2, shift; - int64x2_t exponent_bias; - #if WANT_SIMD_EXCEPT - uint64x2_t thresh, tiny_bound; -@@ -38,8 +38,7 @@ static const struct data - V2 (0x1.71ddf82db5bb4p-19), V2 (0x1.27e517fc0d54bp-22), - V2 (0x1.af5eedae67435p-26), V2 (0x1.1f143d060a28ap-29) }, - .invln2 = V2 (0x1.71547652b82fep0), -- .ln2_hi = V2 (0x1.62e42fefa39efp-1), -- .ln2_lo = V2 (0x1.abc9e3b39803fp-56), -+ .ln2 = { 0x1.62e42fefa39efp-1, 0x1.abc9e3b39803fp-56 }, - .shift = V2 (0x1.8p52), - .exponent_bias = V2 (0x3ff0000000000000), - #if WANT_SIMD_EXCEPT -@@ -83,7 +82,7 @@ float64x2_t VPCS_ATTR V_NAME_D1 (expm1) (float64x2_t x) - x = v_zerofy_f64 (x, special); - #else - /* Large input, NaNs and Infs. */ -- uint64x2_t special = vceqzq_u64 (vcaltq_f64 (x, d->oflow_bound)); -+ uint64x2_t special = vcageq_f64 (x, d->oflow_bound); - #endif - - /* Reduce argument to smaller range: -@@ -93,8 +92,8 @@ float64x2_t VPCS_ATTR V_NAME_D1 (expm1) (float64x2_t x) - where 2^i is exact because i is an integer. */ - float64x2_t n = vsubq_f64 (vfmaq_f64 (d->shift, d->invln2, x), d->shift); - int64x2_t i = vcvtq_s64_f64 (n); -- float64x2_t f = vfmsq_f64 (x, n, d->ln2_hi); -- f = vfmsq_f64 (f, n, d->ln2_lo); -+ float64x2_t f = vfmsq_laneq_f64 (x, n, d->ln2, 0); -+ f = vfmsq_laneq_f64 (f, n, d->ln2, 1); - - /* Approximate expm1(f) using polynomial. - Taylor expansion for expm1(x) has the form: -diff --git a/sysdeps/aarch64/fpu/expm1f_advsimd.c b/sysdeps/aarch64/fpu/expm1f_advsimd.c -index 8d4c9a2193..93db200f61 100644 ---- a/sysdeps/aarch64/fpu/expm1f_advsimd.c -+++ b/sysdeps/aarch64/fpu/expm1f_advsimd.c -@@ -23,7 +23,8 @@ - static const struct data - { - float32x4_t poly[5]; -- float32x4_t invln2, ln2_lo, ln2_hi, shift; -+ float32x4_t invln2_and_ln2; -+ float32x4_t shift; - int32x4_t exponent_bias; - #if WANT_SIMD_EXCEPT - uint32x4_t thresh; -@@ -34,9 +35,8 @@ static const struct data - /* Generated using fpminimax with degree=5 in [-log(2)/2, log(2)/2]. */ - .poly = { V4 (0x1.fffffep-2), V4 (0x1.5554aep-3), V4 (0x1.555736p-5), - V4 (0x1.12287cp-7), V4 (0x1.6b55a2p-10) }, -- .invln2 = V4 (0x1.715476p+0f), -- .ln2_hi = V4 (0x1.62e4p-1f), -- .ln2_lo = V4 (0x1.7f7d1cp-20f), -+ /* Stores constants: invln2, ln2_hi, ln2_lo, 0. */ -+ .invln2_and_ln2 = { 0x1.715476p+0f, 0x1.62e4p-1f, 0x1.7f7d1cp-20f, 0 }, - .shift = V4 (0x1.8p23f), - .exponent_bias = V4 (0x3f800000), - #if !WANT_SIMD_EXCEPT -@@ -80,7 +80,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (expm1) (float32x4_t x) - x = v_zerofy_f32 (x, special); - #else - /* Handles very large values (+ve and -ve), +/-NaN, +/-Inf. */ -- uint32x4_t special = vceqzq_u32 (vcaltq_f32 (x, d->oflow_bound)); -+ uint32x4_t special = vcagtq_f32 (x, d->oflow_bound); - #endif - - /* Reduce argument to smaller range: -@@ -88,10 +88,11 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (expm1) (float32x4_t x) - and f = x - i * ln2, then f is in [-ln2/2, ln2/2]. - exp(x) - 1 = 2^i * (expm1(f) + 1) - 1 - where 2^i is exact because i is an integer. */ -- float32x4_t j = vsubq_f32 (vfmaq_f32 (d->shift, d->invln2, x), d->shift); -+ float32x4_t j = vsubq_f32 ( -+ vfmaq_laneq_f32 (d->shift, x, d->invln2_and_ln2, 0), d->shift); - int32x4_t i = vcvtq_s32_f32 (j); -- float32x4_t f = vfmsq_f32 (x, j, d->ln2_hi); -- f = vfmsq_f32 (f, j, d->ln2_lo); -+ float32x4_t f = vfmsq_laneq_f32 (x, j, d->invln2_and_ln2, 1); -+ f = vfmsq_laneq_f32 (f, j, d->invln2_and_ln2, 2); - - /* Approximate expm1(f) using polynomial. - Taylor expansion for expm1(x) has the form: -diff --git a/sysdeps/aarch64/fpu/log_advsimd.c b/sysdeps/aarch64/fpu/log_advsimd.c -index 067ae79613..21df61728c 100644 ---- a/sysdeps/aarch64/fpu/log_advsimd.c -+++ b/sysdeps/aarch64/fpu/log_advsimd.c -@@ -58,8 +58,13 @@ lookup (uint64x2_t i) - uint64_t i1 = (i[1] >> (52 - V_LOG_TABLE_BITS)) & IndexMask; - float64x2_t e0 = vld1q_f64 (&__v_log_data.table[i0].invc); - float64x2_t e1 = vld1q_f64 (&__v_log_data.table[i1].invc); -+#if __BYTE_ORDER == __LITTLE_ENDIAN - e.invc = vuzp1q_f64 (e0, e1); - e.logc = vuzp2q_f64 (e0, e1); -+#else -+ e.invc = vuzp1q_f64 (e1, e0); -+ e.logc = vuzp2q_f64 (e1, e0); -+#endif - return e; - } - -diff --git a/sysdeps/aarch64/fpu/sin_advsimd.c b/sysdeps/aarch64/fpu/sin_advsimd.c -index efce183e86..a0d9d3b819 100644 ---- a/sysdeps/aarch64/fpu/sin_advsimd.c -+++ b/sysdeps/aarch64/fpu/sin_advsimd.c -@@ -75,8 +75,7 @@ float64x2_t VPCS_ATTR V_NAME_D1 (sin) (float64x2_t x) - r = vbslq_f64 (cmp, vreinterpretq_f64_u64 (cmp), x); - #else - r = x; -- cmp = vcageq_f64 (d->range_val, x); -- cmp = vceqzq_u64 (cmp); /* cmp = ~cmp. */ -+ cmp = vcageq_f64 (x, d->range_val); - #endif - - /* n = rint(|x|/pi). */ -diff --git a/sysdeps/aarch64/fpu/sinf_advsimd.c b/sysdeps/aarch64/fpu/sinf_advsimd.c -index 60cf3f2ca1..375dfc3331 100644 ---- a/sysdeps/aarch64/fpu/sinf_advsimd.c -+++ b/sysdeps/aarch64/fpu/sinf_advsimd.c -@@ -67,8 +67,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (sin) (float32x4_t x) - r = vbslq_f32 (cmp, vreinterpretq_f32_u32 (cmp), x); - #else - r = x; -- cmp = vcageq_f32 (d->range_val, x); -- cmp = vceqzq_u32 (cmp); /* cmp = ~cmp. */ -+ cmp = vcageq_f32 (x, d->range_val); - #endif - - /* n = rint(|x|/pi) */ -diff --git a/sysdeps/aarch64/fpu/tan_advsimd.c b/sysdeps/aarch64/fpu/tan_advsimd.c -index d7e5ba7b1a..0459821ab2 100644 ---- a/sysdeps/aarch64/fpu/tan_advsimd.c -+++ b/sysdeps/aarch64/fpu/tan_advsimd.c -@@ -23,7 +23,7 @@ - static const struct data - { - float64x2_t poly[9]; -- float64x2_t half_pi_hi, half_pi_lo, two_over_pi, shift; -+ float64x2_t half_pi, two_over_pi, shift; - #if !WANT_SIMD_EXCEPT - float64x2_t range_val; - #endif -@@ -34,8 +34,7 @@ static const struct data - V2 (0x1.226e5e5ecdfa3p-7), V2 (0x1.d6c7ddbf87047p-9), - V2 (0x1.7ea75d05b583ep-10), V2 (0x1.289f22964a03cp-11), - V2 (0x1.4e4fd14147622p-12) }, -- .half_pi_hi = V2 (0x1.921fb54442d18p0), -- .half_pi_lo = V2 (0x1.1a62633145c07p-54), -+ .half_pi = { 0x1.921fb54442d18p0, 0x1.1a62633145c07p-54 }, - .two_over_pi = V2 (0x1.45f306dc9c883p-1), - .shift = V2 (0x1.8p52), - #if !WANT_SIMD_EXCEPT -@@ -56,15 +55,15 @@ special_case (float64x2_t x) - - /* Vector approximation for double-precision tan. - Maximum measured error is 3.48 ULP: -- __v_tan(0x1.4457047ef78d8p+20) got -0x1.f6ccd8ecf7dedp+37 -- want -0x1.f6ccd8ecf7deap+37. */ -+ _ZGVnN2v_tan(0x1.4457047ef78d8p+20) got -0x1.f6ccd8ecf7dedp+37 -+ want -0x1.f6ccd8ecf7deap+37. */ - float64x2_t VPCS_ATTR V_NAME_D1 (tan) (float64x2_t x) - { - const struct data *dat = ptr_barrier (&data); -- /* Our argument reduction cannot calculate q with sufficient accuracy for very -- large inputs. Fall back to scalar routine for all lanes if any are too -- large, or Inf/NaN. If fenv exceptions are expected, also fall back for tiny -- input to avoid underflow. */ -+ /* Our argument reduction cannot calculate q with sufficient accuracy for -+ very large inputs. Fall back to scalar routine for all lanes if any are -+ too large, or Inf/NaN. If fenv exceptions are expected, also fall back for -+ tiny input to avoid underflow. */ - #if WANT_SIMD_EXCEPT - uint64x2_t iax = vreinterpretq_u64_f64 (vabsq_f64 (x)); - /* iax - tiny_bound > range_val - tiny_bound. */ -@@ -82,8 +81,8 @@ float64x2_t VPCS_ATTR V_NAME_D1 (tan) (float64x2_t x) - /* Use q to reduce x to r in [-pi/4, pi/4], by: - r = x - q * pi/2, in extended precision. */ - float64x2_t r = x; -- r = vfmsq_f64 (r, q, dat->half_pi_hi); -- r = vfmsq_f64 (r, q, dat->half_pi_lo); -+ r = vfmsq_laneq_f64 (r, q, dat->half_pi, 0); -+ r = vfmsq_laneq_f64 (r, q, dat->half_pi, 1); - /* Further reduce r to [-pi/8, pi/8], to be reconstructed using double angle - formula. */ - r = vmulq_n_f64 (r, 0.5); -@@ -106,14 +105,15 @@ float64x2_t VPCS_ATTR V_NAME_D1 (tan) (float64x2_t x) - and reciprocity around pi/2: - tan(x) = 1 / (tan(pi/2 - x)) - to assemble result using change-of-sign and conditional selection of -- numerator/denominator, dependent on odd/even-ness of q (hence quadrant). */ -+ numerator/denominator, dependent on odd/even-ness of q (hence quadrant). -+ */ - float64x2_t n = vfmaq_f64 (v_f64 (-1), p, p); - float64x2_t d = vaddq_f64 (p, p); - - uint64x2_t no_recip = vtstq_u64 (vreinterpretq_u64_s64 (qi), v_u64 (1)); - - #if !WANT_SIMD_EXCEPT -- uint64x2_t special = vceqzq_u64 (vcaleq_f64 (x, dat->range_val)); -+ uint64x2_t special = vcageq_f64 (x, dat->range_val); - if (__glibc_unlikely (v_any_u64 (special))) - return special_case (x); - #endif -diff --git a/sysdeps/aarch64/fpu/tanf_advsimd.c b/sysdeps/aarch64/fpu/tanf_advsimd.c -index 1f16103f8a..5a7489390a 100644 ---- a/sysdeps/aarch64/fpu/tanf_advsimd.c -+++ b/sysdeps/aarch64/fpu/tanf_advsimd.c -@@ -23,7 +23,8 @@ - static const struct data - { - float32x4_t poly[6]; -- float32x4_t neg_half_pi_1, neg_half_pi_2, neg_half_pi_3, two_over_pi, shift; -+ float32x4_t pi_consts; -+ float32x4_t shift; - #if !WANT_SIMD_EXCEPT - float32x4_t range_val; - #endif -@@ -31,10 +32,9 @@ static const struct data - /* Coefficients generated using FPMinimax. */ - .poly = { V4 (0x1.55555p-2f), V4 (0x1.11166p-3f), V4 (0x1.b88a78p-5f), - V4 (0x1.7b5756p-6f), V4 (0x1.4ef4cep-8f), V4 (0x1.0e1e74p-7f) }, -- .neg_half_pi_1 = V4 (-0x1.921fb6p+0f), -- .neg_half_pi_2 = V4 (0x1.777a5cp-25f), -- .neg_half_pi_3 = V4 (0x1.ee59dap-50f), -- .two_over_pi = V4 (0x1.45f306p-1f), -+ /* Stores constants: (-pi/2)_high, (-pi/2)_mid, (-pi/2)_low, and 2/pi. */ -+ .pi_consts -+ = { -0x1.921fb6p+0f, 0x1.777a5cp-25f, 0x1.ee59dap-50f, 0x1.45f306p-1f }, - .shift = V4 (0x1.8p+23f), - #if !WANT_SIMD_EXCEPT - .range_val = V4 (0x1p15f), -@@ -58,10 +58,11 @@ eval_poly (float32x4_t z, const struct data *d) - { - float32x4_t z2 = vmulq_f32 (z, z); - #if WANT_SIMD_EXCEPT -- /* Tiny z (<= 0x1p-31) will underflow when calculating z^4. If fp exceptions -- are to be triggered correctly, sidestep this by fixing such lanes to 0. */ -+ /* Tiny z (<= 0x1p-31) will underflow when calculating z^4. -+ If fp exceptions are to be triggered correctly, -+ sidestep this by fixing such lanes to 0. */ - uint32x4_t will_uflow -- = vcleq_u32 (vreinterpretq_u32_f32 (vabsq_f32 (z)), TinyBound); -+ = vcleq_u32 (vreinterpretq_u32_f32 (vabsq_f32 (z)), TinyBound); - if (__glibc_unlikely (v_any_u32 (will_uflow))) - z2 = vbslq_f32 (will_uflow, v_f32 (0), z2); - #endif -@@ -94,16 +95,16 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (tan) (float32x4_t x) - #endif - - /* n = rint(x/(pi/2)). */ -- float32x4_t q = vfmaq_f32 (d->shift, d->two_over_pi, x); -+ float32x4_t q = vfmaq_laneq_f32 (d->shift, x, d->pi_consts, 3); - float32x4_t n = vsubq_f32 (q, d->shift); - /* Determine if x lives in an interval, where |tan(x)| grows to infinity. */ - uint32x4_t pred_alt = vtstq_u32 (vreinterpretq_u32_f32 (q), v_u32 (1)); - - /* r = x - n * (pi/2) (range reduction into -pi./4 .. pi/4). */ - float32x4_t r; -- r = vfmaq_f32 (x, d->neg_half_pi_1, n); -- r = vfmaq_f32 (r, d->neg_half_pi_2, n); -- r = vfmaq_f32 (r, d->neg_half_pi_3, n); -+ r = vfmaq_laneq_f32 (x, n, d->pi_consts, 0); -+ r = vfmaq_laneq_f32 (r, n, d->pi_consts, 1); -+ r = vfmaq_laneq_f32 (r, n, d->pi_consts, 2); - - /* If x lives in an interval, where |tan(x)| - - is finite, then use a polynomial approximation of the form - -commit 395a89f61e19fa916ae4cc93fc10d81a28ce3039 -Author: Szabolcs Nagy -Date: Wed Mar 13 14:34:14 2024 +0000 - - aarch64: fix check for SVE support in assembler - - Due to GCC bug 110901 -mcpu can override -march setting when compiling - asm code and thus a compiler targetting a specific cpu can fail the - configure check even when binutils gas supports SVE. - - The workaround is that explicit .arch directive overrides both -mcpu - and -march, and since that's what the actual SVE memcpy uses the - configure check should use that too even if the GCC issue is fixed - independently. - - Reviewed-by: Florian Weimer - (cherry picked from commit 73c26018ed0ecd9c807bb363cc2c2ab4aca66a82) - -diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure -old mode 100644 -new mode 100755 -index ca57edce47..9606137e8d ---- a/sysdeps/aarch64/configure -+++ b/sysdeps/aarch64/configure -@@ -325,9 +325,10 @@ then : - printf %s "(cached) " >&6 - else $as_nop - cat > conftest.s <<\EOF -- ptrue p0.b -+ .arch armv8.2-a+sve -+ ptrue p0.b - EOF --if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5' -+if { ac_try='${CC-cc} -c conftest.s 1>&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? -diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac -index 27874eceb4..56d12d661d 100644 ---- a/sysdeps/aarch64/configure.ac -+++ b/sysdeps/aarch64/configure.ac -@@ -90,9 +90,10 @@ LIBC_CONFIG_VAR([aarch64-variant-pcs], [$libc_cv_aarch64_variant_pcs]) - # Check if asm support armv8.2-a+sve - AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl - cat > conftest.s <<\EOF -- ptrue p0.b -+ .arch armv8.2-a+sve -+ ptrue p0.b - EOF --if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then -+if AC_TRY_COMMAND(${CC-cc} -c conftest.s 1>&AS_MESSAGE_LOG_FD); then - libc_cv_aarch64_sve_asm=yes - else - libc_cv_aarch64_sve_asm=no - -commit 9d92452c70805a2e2dbbdb2b1ffc34bd86e1c8df -Author: Wilco Dijkstra -Date: Thu Mar 21 16:48:33 2024 +0000 - - AArch64: Check kernel version for SVE ifuncs - - Old Linux kernels disable SVE after every system call. Calling the - SVE-optimized memcpy afterwards will then cause a trap to reenable SVE. - As a result, applications with a high use of syscalls may run slower with - the SVE memcpy. This is true for kernels between 4.15.0 and before 6.2.0, - except for 5.14.0 which was patched. Avoid this by checking the kernel - version and selecting the SVE ifunc on modern kernels. - - Parse the kernel version reported by uname() into a 24-bit kernel.major.minor - value without calling any library functions. If uname() is not supported or - if the version format is not recognized, assume the kernel is modern. - - Tested-by: Florian Weimer - Reviewed-by: Szabolcs Nagy - (cherry picked from commit 2e94e2f5d2bf2de124c8ad7da85463355e54ccb2) - -diff --git a/sysdeps/aarch64/cpu-features.h b/sysdeps/aarch64/cpu-features.h -index 77a782422a..5f2da91ebb 100644 ---- a/sysdeps/aarch64/cpu-features.h -+++ b/sysdeps/aarch64/cpu-features.h -@@ -71,6 +71,7 @@ struct cpu_features - /* Currently, the GLIBC memory tagging tunable only defines 8 bits. */ - uint8_t mte_state; - bool sve; -+ bool prefer_sve_ifuncs; - bool mops; - }; - -diff --git a/sysdeps/aarch64/multiarch/init-arch.h b/sysdeps/aarch64/multiarch/init-arch.h -index c52860efb2..61dc40088f 100644 ---- a/sysdeps/aarch64/multiarch/init-arch.h -+++ b/sysdeps/aarch64/multiarch/init-arch.h -@@ -36,5 +36,7 @@ - MTE_ENABLED (); \ - bool __attribute__((unused)) sve = \ - GLRO(dl_aarch64_cpu_features).sve; \ -+ bool __attribute__((unused)) prefer_sve_ifuncs = \ -+ GLRO(dl_aarch64_cpu_features).prefer_sve_ifuncs; \ - bool __attribute__((unused)) mops = \ - GLRO(dl_aarch64_cpu_features).mops; -diff --git a/sysdeps/aarch64/multiarch/memcpy.c b/sysdeps/aarch64/multiarch/memcpy.c -index d12eccfca5..ce53567dab 100644 ---- a/sysdeps/aarch64/multiarch/memcpy.c -+++ b/sysdeps/aarch64/multiarch/memcpy.c -@@ -47,7 +47,7 @@ select_memcpy_ifunc (void) - { - if (IS_A64FX (midr)) - return __memcpy_a64fx; -- return __memcpy_sve; -+ return prefer_sve_ifuncs ? __memcpy_sve : __memcpy_generic; - } - - if (IS_THUNDERX (midr)) -diff --git a/sysdeps/aarch64/multiarch/memmove.c b/sysdeps/aarch64/multiarch/memmove.c -index 2081eeb4d4..fe95037be3 100644 ---- a/sysdeps/aarch64/multiarch/memmove.c -+++ b/sysdeps/aarch64/multiarch/memmove.c -@@ -47,7 +47,7 @@ select_memmove_ifunc (void) - { - if (IS_A64FX (midr)) - return __memmove_a64fx; -- return __memmove_sve; -+ return prefer_sve_ifuncs ? __memmove_sve : __memmove_generic; - } - - if (IS_THUNDERX (midr)) -diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c -index b1a3f673f0..c0b047bc0d 100644 ---- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c -+++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - - #define DCZID_DZP_MASK (1 << 4) -@@ -62,6 +63,46 @@ get_midr_from_mcpu (const struct tunable_str_t *mcpu) - return UINT64_MAX; - } - -+#if __LINUX_KERNEL_VERSION < 0x060200 -+ -+/* Return true if we prefer using SVE in string ifuncs. Old kernels disable -+ SVE after every system call which results in unnecessary traps if memcpy -+ uses SVE. This is true for kernels between 4.15.0 and before 6.2.0, except -+ for 5.14.0 which was patched. For these versions return false to avoid using -+ SVE ifuncs. -+ Parse the kernel version into a 24-bit kernel.major.minor value without -+ calling any library functions. If uname() is not supported or if the version -+ format is not recognized, assume the kernel is modern and return true. */ -+ -+static inline bool -+prefer_sve_ifuncs (void) -+{ -+ struct utsname buf; -+ const char *p = &buf.release[0]; -+ int kernel = 0; -+ int val; -+ -+ if (__uname (&buf) < 0) -+ return true; -+ -+ for (int shift = 16; shift >= 0; shift -= 8) -+ { -+ for (val = 0; *p >= '0' && *p <= '9'; p++) -+ val = val * 10 + *p - '0'; -+ kernel |= (val & 255) << shift; -+ if (*p++ != '.') -+ break; -+ } -+ -+ if (kernel >= 0x060200 || kernel == 0x050e00) -+ return true; -+ if (kernel >= 0x040f00) -+ return false; -+ return true; -+} -+ -+#endif -+ - static inline void - init_cpu_features (struct cpu_features *cpu_features) - { -@@ -126,6 +167,13 @@ init_cpu_features (struct cpu_features *cpu_features) - /* Check if SVE is supported. */ - cpu_features->sve = GLRO (dl_hwcap) & HWCAP_SVE; - -+ cpu_features->prefer_sve_ifuncs = cpu_features->sve; -+ -+#if __LINUX_KERNEL_VERSION < 0x060200 -+ if (cpu_features->sve) -+ cpu_features->prefer_sve_ifuncs = prefer_sve_ifuncs (); -+#endif -+ - /* Check if MOPS is supported. */ - cpu_features->mops = GLRO (dl_hwcap2) & HWCAP2_MOPS; - } - -commit 9883f4304cfb1558d0f1e6d9f48c4ab0a35355fe -Author: H.J. Lu -Date: Wed Feb 28 09:51:14 2024 -0800 - - x86-64: Don't use SSE resolvers for ISA level 3 or above - - When glibc is built with ISA level 3 or above enabled, SSE resolvers - aren't available and glibc fails to build: - - ld: .../elf/librtld.os: in function `init_cpu_features': - .../elf/../sysdeps/x86/cpu-features.c:1200:(.text+0x1445f): undefined reference to `_dl_runtime_resolve_fxsave' - ld: .../elf/librtld.os: relocation R_X86_64_PC32 against undefined hidden symbol `_dl_runtime_resolve_fxsave' can not be used when making a shared object - /usr/local/bin/ld: final link failed: bad value - - For ISA level 3 or above, don't use _dl_runtime_resolve_fxsave nor - _dl_tlsdesc_dynamic_fxsave. - - This fixes BZ #31429. - Reviewed-by: Noah Goldstein - - (cherry picked from commit befe2d3c4dec8be2cdd01a47132e47bdb7020922) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index 6fe1b728c6..b8abe733ab 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -18,6 +18,7 @@ - - #include - #include -+#include - #include - #include - #include -@@ -1198,7 +1199,9 @@ no_cpuid: - TUNABLE_CALLBACK (set_x86_shstk)); - #endif - -+#if MINIMUM_X86_ISA_LEVEL < AVX_X86_ISA_LEVEL - if (GLRO(dl_x86_cpu_features).xsave_state_size != 0) -+#endif - { - if (CPU_FEATURE_USABLE_P (cpu_features, XSAVEC)) - { -@@ -1219,22 +1222,24 @@ no_cpuid: - #endif - } - } -+#if MINIMUM_X86_ISA_LEVEL < AVX_X86_ISA_LEVEL - else - { --#ifdef __x86_64__ -+# ifdef __x86_64__ - GLRO(dl_x86_64_runtime_resolve) = _dl_runtime_resolve_fxsave; --# ifdef SHARED -+# ifdef SHARED - GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave; --# endif --#else --# ifdef SHARED -+# endif -+# else -+# ifdef SHARED - if (CPU_FEATURE_USABLE_P (cpu_features, FXSR)) - GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave; - else - GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fnsave; -+# endif - # endif --#endif - } -+#endif - - #ifdef SHARED - # ifdef __x86_64__ -diff --git a/sysdeps/x86_64/dl-tlsdesc.S b/sysdeps/x86_64/dl-tlsdesc.S -index ea69f5223a..057a10862a 100644 ---- a/sysdeps/x86_64/dl-tlsdesc.S -+++ b/sysdeps/x86_64/dl-tlsdesc.S -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include "tlsdesc.h" - #include "dl-trampoline-save.h" - -@@ -79,12 +80,14 @@ _dl_tlsdesc_undefweak: - .size _dl_tlsdesc_undefweak, .-_dl_tlsdesc_undefweak - - #ifdef SHARED --# define USE_FXSAVE --# define STATE_SAVE_ALIGNMENT 16 --# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_fxsave --# include "dl-tlsdesc-dynamic.h" --# undef _dl_tlsdesc_dynamic --# undef USE_FXSAVE -+# if MINIMUM_X86_ISA_LEVEL < AVX_X86_ISA_LEVEL -+# define USE_FXSAVE -+# define STATE_SAVE_ALIGNMENT 16 -+# define _dl_tlsdesc_dynamic _dl_tlsdesc_dynamic_fxsave -+# include "dl-tlsdesc-dynamic.h" -+# undef _dl_tlsdesc_dynamic -+# undef USE_FXSAVE -+# endif - - # define USE_XSAVE - # define STATE_SAVE_ALIGNMENT 64 - -commit 7b92f46f04c6cbce19d19ae1099628431858996c -Author: Sunil K Pandey -Date: Thu Feb 29 17:57:02 2024 -0800 - - x86-64: Simplify minimum ISA check ifdef conditional with if - - Replace minimum ISA check ifdef conditional with if. Since - MINIMUM_X86_ISA_LEVEL and AVX_X86_ISA_LEVEL are compile time constants, - compiler will perform constant folding optimization, getting same - results. - - Reviewed-by: H.J. Lu - (cherry picked from commit b6e3898194bbae78910bbe9cd086937014961e45) - -diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c -index b8abe733ab..3d7c2819d7 100644 ---- a/sysdeps/x86/cpu-features.c -+++ b/sysdeps/x86/cpu-features.c -@@ -1199,9 +1199,8 @@ no_cpuid: - TUNABLE_CALLBACK (set_x86_shstk)); - #endif - --#if MINIMUM_X86_ISA_LEVEL < AVX_X86_ISA_LEVEL -- if (GLRO(dl_x86_cpu_features).xsave_state_size != 0) --#endif -+ if (MINIMUM_X86_ISA_LEVEL >= AVX_X86_ISA_LEVEL -+ || (GLRO(dl_x86_cpu_features).xsave_state_size != 0)) - { - if (CPU_FEATURE_USABLE_P (cpu_features, XSAVEC)) - { -@@ -1222,24 +1221,22 @@ no_cpuid: - #endif - } - } --#if MINIMUM_X86_ISA_LEVEL < AVX_X86_ISA_LEVEL - else - { --# ifdef __x86_64__ -+#ifdef __x86_64__ - GLRO(dl_x86_64_runtime_resolve) = _dl_runtime_resolve_fxsave; --# ifdef SHARED -+# ifdef SHARED - GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave; --# endif --# else --# ifdef SHARED -+# endif -+#else -+# ifdef SHARED - if (CPU_FEATURE_USABLE_P (cpu_features, FXSR)) - GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave; - else - GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fnsave; --# endif - # endif -- } - #endif -+ } - - #ifdef SHARED - # ifdef __x86_64__ - -commit edb9a76e3008725e9dc035d38a58e849a3bde0f1 -Author: Florian Weimer -Date: Sun Apr 14 08:24:51 2024 +0200 - - powerpc: Fix ld.so address determination for PCREL mode (bug 31640) - - This seems to have stopped working with some GCC 14 versions, - which clobber r2. With other compilers, the kernel-provided - r2 value is still available at this point. - - Reviewed-by: Peter Bergner - (cherry picked from commit 14e56bd4ce15ac2d1cc43f762eb2e6b83fec1afe) - -diff --git a/sysdeps/powerpc/powerpc64/dl-machine.h b/sysdeps/powerpc/powerpc64/dl-machine.h -index c6682f3445..2b6f5d2b08 100644 ---- a/sysdeps/powerpc/powerpc64/dl-machine.h -+++ b/sysdeps/powerpc/powerpc64/dl-machine.h -@@ -78,6 +78,7 @@ elf_host_tolerates_class (const Elf64_Ehdr *ehdr) - static inline Elf64_Addr - elf_machine_load_address (void) __attribute__ ((const)); - -+#ifndef __PCREL__ - static inline Elf64_Addr - elf_machine_load_address (void) - { -@@ -105,6 +106,24 @@ elf_machine_dynamic (void) - /* Then subtract off the load address offset. */ - return runtime_dynamic - elf_machine_load_address() ; - } -+#else /* __PCREL__ */ -+/* In PCREL mode, r2 may have been clobbered. Rely on relative -+ relocations instead. */ -+ -+static inline ElfW(Addr) -+elf_machine_load_address (void) -+{ -+ extern const ElfW(Ehdr) __ehdr_start attribute_hidden; -+ return (ElfW(Addr)) &__ehdr_start; -+} -+ -+static inline ElfW(Addr) -+elf_machine_dynamic (void) -+{ -+ extern ElfW(Dyn) _DYNAMIC[] attribute_hidden; -+ return (ElfW(Addr)) _DYNAMIC - elf_machine_load_address (); -+} -+#endif /* __PCREL__ */ - - /* The PLT uses Elf64_Rela relocs. */ - #define elf_machine_relplt elf_machine_rela - -commit 04df8652eb1919da18d54b3dcd6db1675993d45d -Author: H.J. Lu -Date: Thu Feb 15 11:19:56 2024 -0800 - - Apply the Makefile sorting fix - - Apply the Makefile sorting fix generated by sort-makefile-lines.py. - - (cherry picked from commit ef7f4b1fef67430a8f3cfc77fa6aada2add851d7) - -diff --git a/sysdeps/loongarch/lp64/multiarch/Makefile b/sysdeps/loongarch/lp64/multiarch/Makefile -index fe863e1ba4..01762ef526 100644 ---- a/sysdeps/loongarch/lp64/multiarch/Makefile -+++ b/sysdeps/loongarch/lp64/multiarch/Makefile -@@ -1,52 +1,52 @@ - ifeq ($(subdir),string) - sysdep_routines += \ -- strlen-aligned \ -- strlen-lsx \ -- strlen-lasx \ -- strnlen-aligned \ -- strnlen-lsx \ -- strnlen-lasx \ -+ memchr-aligned \ -+ memchr-lasx \ -+ memchr-lsx \ -+ memcmp-aligned \ -+ memcmp-lasx \ -+ memcmp-lsx \ -+ memcpy-aligned \ -+ memcpy-unaligned \ -+ memmove-lasx \ -+ memmove-lsx \ -+ memmove-unaligned \ -+ memrchr-generic \ -+ memrchr-lasx \ -+ memrchr-lsx \ -+ memset-aligned \ -+ memset-lasx \ -+ memset-lsx \ -+ memset-unaligned \ -+ rawmemchr-aligned \ -+ rawmemchr-lasx \ -+ rawmemchr-lsx \ -+ stpcpy-aligned \ -+ stpcpy-lasx \ -+ stpcpy-lsx \ -+ stpcpy-unaligned \ - strchr-aligned \ -- strchr-lsx \ - strchr-lasx \ -- strrchr-aligned \ -- strrchr-lsx \ -- strrchr-lasx \ -+ strchr-lsx \ - strchrnul-aligned \ -- strchrnul-lsx \ - strchrnul-lasx \ -+ strchrnul-lsx \ - strcmp-aligned \ - strcmp-lsx \ -- strncmp-aligned \ -- strncmp-lsx \ - strcpy-aligned \ -- strcpy-unaligned \ -- strcpy-lsx \ - strcpy-lasx \ -- stpcpy-aligned \ -- stpcpy-unaligned \ -- stpcpy-lsx \ -- stpcpy-lasx \ -- memcpy-aligned \ -- memcpy-unaligned \ -- memmove-unaligned \ -- memmove-lsx \ -- memmove-lasx \ -- rawmemchr-aligned \ -- rawmemchr-lsx \ -- rawmemchr-lasx \ -- memchr-aligned \ -- memchr-lsx \ -- memchr-lasx \ -- memrchr-generic \ -- memrchr-lsx \ -- memrchr-lasx \ -- memset-aligned \ -- memset-unaligned \ -- memset-lsx \ -- memset-lasx \ -- memcmp-aligned \ -- memcmp-lsx \ -- memcmp-lasx \ -+ strcpy-lsx \ -+ strcpy-unaligned \ -+ strlen-aligned \ -+ strlen-lasx \ -+ strlen-lsx \ -+ strncmp-aligned \ -+ strncmp-lsx \ -+ strnlen-aligned \ -+ strnlen-lasx \ -+ strnlen-lsx \ -+ strrchr-aligned \ -+ strrchr-lasx \ -+ strrchr-lsx \ - # sysdep_routines - endif -diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile -index 992aabe43e..5311b594af 100644 ---- a/sysdeps/x86/Makefile -+++ b/sysdeps/x86/Makefile -@@ -15,18 +15,18 @@ CFLAGS-dl-get-cpu-features.os += $(rtld-early-cflags) - CFLAGS-get-cpuid-feature-leaf.o += $(no-stack-protector) - - tests += \ -- tst-get-cpu-features \ -- tst-get-cpu-features-static \ - tst-cpu-features-cpuinfo \ - tst-cpu-features-cpuinfo-static \ - tst-cpu-features-supports \ - tst-cpu-features-supports-static \ -+ tst-get-cpu-features \ -+ tst-get-cpu-features-static \ - tst-hwcap-tunables \ - # tests - tests-static += \ -- tst-get-cpu-features-static \ - tst-cpu-features-cpuinfo-static \ - tst-cpu-features-supports-static \ -+ tst-get-cpu-features-static \ - # tests-static - ifeq (yes,$(have-ifunc)) - ifeq (yes,$(have-gcc-ifunc)) -diff --git a/sysdeps/x86_64/Makefile b/sysdeps/x86_64/Makefile -index 9d374a3299..0ede447405 100644 ---- a/sysdeps/x86_64/Makefile -+++ b/sysdeps/x86_64/Makefile -@@ -252,6 +252,10 @@ sysdep-dl-routines += dl-cet - - tests += \ - tst-cet-legacy-1 \ -+ tst-cet-legacy-10 \ -+ tst-cet-legacy-10-static \ -+ tst-cet-legacy-10a \ -+ tst-cet-legacy-10a-static \ - tst-cet-legacy-1a \ - tst-cet-legacy-2 \ - tst-cet-legacy-2a \ -@@ -263,15 +267,11 @@ tests += \ - tst-cet-legacy-8 \ - tst-cet-legacy-9 \ - tst-cet-legacy-9-static \ -- tst-cet-legacy-10 \ -- tst-cet-legacy-10-static \ -- tst-cet-legacy-10a \ -- tst-cet-legacy-10a-static \ - # tests - tests-static += \ -- tst-cet-legacy-9-static \ - tst-cet-legacy-10-static \ - tst-cet-legacy-10a-static \ -+ tst-cet-legacy-9-static \ - # tests-static - tst-cet-legacy-1a-ARGS = -- $(host-test-program-cmd) - -diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile -index ea81753b70..e1a490dd98 100644 ---- a/sysdeps/x86_64/fpu/multiarch/Makefile -+++ b/sysdeps/x86_64/fpu/multiarch/Makefile -@@ -4,10 +4,10 @@ libm-sysdep_routines += \ - s_ceilf-c \ - s_floor-c \ - s_floorf-c \ -- s_rint-c \ -- s_rintf-c \ - s_nearbyint-c \ - s_nearbyintf-c \ -+ s_rint-c \ -+ s_rintf-c \ - s_roundeven-c \ - s_roundevenf-c \ - s_trunc-c \ -@@ -21,10 +21,10 @@ libm-sysdep_routines += \ - s_floorf-sse4_1 \ - s_nearbyint-sse4_1 \ - s_nearbyintf-sse4_1 \ -- s_roundeven-sse4_1 \ -- s_roundevenf-sse4_1 \ - s_rint-sse4_1 \ - s_rintf-sse4_1 \ -+ s_roundeven-sse4_1 \ -+ s_roundevenf-sse4_1 \ - s_trunc-sse4_1 \ - s_truncf-sse4_1 \ - # libm-sysdep_routines -@@ -84,12 +84,12 @@ CFLAGS-s_cosf-fma.c = -mfma -mavx2 - CFLAGS-s_sincosf-fma.c = -mfma -mavx2 - - libm-sysdep_routines += \ -+ e_asin-fma4 \ -+ e_atan2-fma4 \ - e_exp-fma4 \ - e_log-fma4 \ - e_pow-fma4 \ -- e_asin-fma4 \ - s_atan-fma4 \ -- e_atan2-fma4 \ - s_sin-fma4 \ - s_sincos-fma4 \ - s_tan-fma4 \ -@@ -106,10 +106,10 @@ CFLAGS-s_tan-fma4.c = -mfma4 - CFLAGS-s_sincos-fma4.c = -mfma4 - - libm-sysdep_routines += \ -+ e_atan2-avx \ - e_exp-avx \ - e_log-avx \ - s_atan-avx \ -- e_atan2-avx \ - s_sin-avx \ - s_sincos-avx \ - s_tan-avx \ -diff --git a/sysdeps/x86_64/multiarch/Makefile b/sysdeps/x86_64/multiarch/Makefile -index e1e894c963..d3d2270394 100644 ---- a/sysdeps/x86_64/multiarch/Makefile -+++ b/sysdeps/x86_64/multiarch/Makefile -@@ -4,8 +4,8 @@ sysdep_routines += \ - memchr-avx2 \ - memchr-avx2-rtm \ - memchr-evex \ -- memchr-evex512 \ - memchr-evex-rtm \ -+ memchr-evex512 \ - memchr-sse2 \ - memcmp-avx2-movbe \ - memcmp-avx2-movbe-rtm \ -@@ -37,8 +37,8 @@ sysdep_routines += \ - rawmemchr-avx2 \ - rawmemchr-avx2-rtm \ - rawmemchr-evex \ -- rawmemchr-evex512 \ - rawmemchr-evex-rtm \ -+ rawmemchr-evex512 \ - rawmemchr-sse2 \ - stpcpy-avx2 \ - stpcpy-avx2-rtm \ - -commit 423099a03264ea28298f47355d7811b8efe03c97 -Author: Sunil K Pandey -Date: Tue Feb 13 12:23:14 2024 -0800 - - x86_64: Exclude SSE, AVX and FMA4 variants in libm multiarch - - When glibc is built with ISA level 3 or higher by default, the resulting - glibc binaries won't run on SSE or FMA4 processors. Exclude SSE, AVX and - FMA4 variants in libm multiarch when ISA level 3 or higher is enabled by - default. - - When glibc is built with ISA level 2 enabled by default, only keep SSE4.1 - variant. - - Fixes BZ 31335. - - NB: elf/tst-valgrind-smoke test fails with ISA level 4, because valgrind - doesn't support AVX512 instructions: - - https://bugs.kde.org/show_bug.cgi?id=383010 - - Reviewed-by: H.J. Lu - (cherry picked from commit 9f78a7c1d0963282608da836b840f0d5ae1c478e) - -diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure -index 1f4c2d67fd..2a5421bb31 100644 ---- a/sysdeps/x86/configure -+++ b/sysdeps/x86/configure -@@ -98,6 +98,7 @@ printf "%s\n" "$libc_cv_have_x86_lahf_sahf" >&6; } - if test $libc_cv_have_x86_lahf_sahf = yes; then - printf "%s\n" "#define HAVE_X86_LAHF_SAHF 1" >>confdefs.h - -+ ISAFLAG="-DHAVE_X86_LAHF_SAHF" - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MOVBE instruction support" >&5 - printf %s "checking for MOVBE instruction support... " >&6; } -@@ -120,9 +121,41 @@ printf "%s\n" "$libc_cv_have_x86_movbe" >&6; } - if test $libc_cv_have_x86_movbe = yes; then - printf "%s\n" "#define HAVE_X86_MOVBE 1" >>confdefs.h - -+ ISAFLAG="$ISAFLAG -DHAVE_X86_MOVBE" - fi -+ -+ # Check for ISA level support. -+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ISA level support" >&5 -+printf %s "checking for ISA level support... " >&6; } -+if test ${libc_cv_have_x86_isa_level+y} -+then : -+ printf %s "(cached) " >&6 -+else $as_nop -+ cat > conftest.c < -+#if MINIMUM_X86_ISA_LEVEL >= 4 -+libc_cv_have_x86_isa_level=4 -+#elif MINIMUM_X86_ISA_LEVEL == 3 -+libc_cv_have_x86_isa_level=3 -+#elif MINIMUM_X86_ISA_LEVEL == 2 -+libc_cv_have_x86_isa_level=2 -+#else -+libc_cv_have_x86_isa_level=baseline -+#endif -+EOF -+ eval `${CC-cc} $CFLAGS $CPPFLAGS $ISAFLAG -I$srcdir -E conftest.c | grep libc_cv_have_x86_isa_level` -+ rm -rf conftest* -+fi -+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_have_x86_isa_level" >&5 -+printf "%s\n" "$libc_cv_have_x86_isa_level" >&6; } -+else -+ libc_cv_have_x86_isa_level=baseline - fi - config_vars="$config_vars -+have-x86-isa-level = $libc_cv_have_x86_isa_level" -+config_vars="$config_vars -+x86-isa-level-3-or-above = 3 4" -+config_vars="$config_vars - enable-x86-isa-level = $libc_cv_include_x86_isa_level" - - printf "%s\n" "#define SUPPORT_STATIC_PIE 1" >>confdefs.h -diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac -index 437a50623b..78ff7c8f41 100644 ---- a/sysdeps/x86/configure.ac -+++ b/sysdeps/x86/configure.ac -@@ -72,6 +72,7 @@ if test $libc_cv_include_x86_isa_level = yes; then - fi]) - if test $libc_cv_have_x86_lahf_sahf = yes; then - AC_DEFINE(HAVE_X86_LAHF_SAHF) -+ ISAFLAG="-DHAVE_X86_LAHF_SAHF" - fi - AC_CACHE_CHECK([for MOVBE instruction support], - libc_cv_have_x86_movbe, [dnl -@@ -81,8 +82,31 @@ if test $libc_cv_include_x86_isa_level = yes; then - fi]) - if test $libc_cv_have_x86_movbe = yes; then - AC_DEFINE(HAVE_X86_MOVBE) -+ ISAFLAG="$ISAFLAG -DHAVE_X86_MOVBE" - fi -+ -+ # Check for ISA level support. -+ AC_CACHE_CHECK([for ISA level support], -+ libc_cv_have_x86_isa_level, [dnl -+cat > conftest.c < -+#if MINIMUM_X86_ISA_LEVEL >= 4 -+libc_cv_have_x86_isa_level=4 -+#elif MINIMUM_X86_ISA_LEVEL == 3 -+libc_cv_have_x86_isa_level=3 -+#elif MINIMUM_X86_ISA_LEVEL == 2 -+libc_cv_have_x86_isa_level=2 -+#else -+libc_cv_have_x86_isa_level=baseline -+#endif -+EOF -+ eval `${CC-cc} $CFLAGS $CPPFLAGS $ISAFLAG -I$srcdir -E conftest.c | grep libc_cv_have_x86_isa_level` -+ rm -rf conftest*]) -+else -+ libc_cv_have_x86_isa_level=baseline - fi -+LIBC_CONFIG_VAR([have-x86-isa-level], [$libc_cv_have_x86_isa_level]) -+LIBC_CONFIG_VAR([x86-isa-level-3-or-above], [3 4]) - LIBC_CONFIG_VAR([enable-x86-isa-level], [$libc_cv_include_x86_isa_level]) - - dnl Static PIE is supported. -diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile -index e1a490dd98..6ddd50240c 100644 ---- a/sysdeps/x86_64/fpu/multiarch/Makefile -+++ b/sysdeps/x86_64/fpu/multiarch/Makefile -@@ -1,49 +1,4 @@ - ifeq ($(subdir),math) --libm-sysdep_routines += \ -- s_ceil-c \ -- s_ceilf-c \ -- s_floor-c \ -- s_floorf-c \ -- s_nearbyint-c \ -- s_nearbyintf-c \ -- s_rint-c \ -- s_rintf-c \ -- s_roundeven-c \ -- s_roundevenf-c \ -- s_trunc-c \ -- s_truncf-c \ --# libm-sysdep_routines -- --libm-sysdep_routines += \ -- s_ceil-sse4_1 \ -- s_ceilf-sse4_1 \ -- s_floor-sse4_1 \ -- s_floorf-sse4_1 \ -- s_nearbyint-sse4_1 \ -- s_nearbyintf-sse4_1 \ -- s_rint-sse4_1 \ -- s_rintf-sse4_1 \ -- s_roundeven-sse4_1 \ -- s_roundevenf-sse4_1 \ -- s_trunc-sse4_1 \ -- s_truncf-sse4_1 \ --# libm-sysdep_routines -- --libm-sysdep_routines += \ -- e_asin-fma \ -- e_atan2-fma \ -- e_exp-fma \ -- e_log-fma \ -- e_log2-fma \ -- e_pow-fma \ -- s_atan-fma \ -- s_expm1-fma \ -- s_log1p-fma \ -- s_sin-fma \ -- s_sincos-fma \ -- s_tan-fma \ --# libm-sysdep_routines -- - CFLAGS-e_asin-fma.c = -mfma -mavx2 - CFLAGS-e_atan2-fma.c = -mfma -mavx2 - CFLAGS-e_exp-fma.c = -mfma -mavx2 -@@ -57,23 +12,6 @@ CFLAGS-s_sin-fma.c = -mfma -mavx2 - CFLAGS-s_tan-fma.c = -mfma -mavx2 - CFLAGS-s_sincos-fma.c = -mfma -mavx2 - --libm-sysdep_routines += \ -- s_cosf-sse2 \ -- s_sincosf-sse2 \ -- s_sinf-sse2 \ --# libm-sysdep_routines -- --libm-sysdep_routines += \ -- e_exp2f-fma \ -- e_expf-fma \ -- e_log2f-fma \ -- e_logf-fma \ -- e_powf-fma \ -- s_cosf-fma \ -- s_sincosf-fma \ -- s_sinf-fma \ --# libm-sysdep_routines -- - CFLAGS-e_exp2f-fma.c = -mfma -mavx2 - CFLAGS-e_expf-fma.c = -mfma -mavx2 - CFLAGS-e_log2f-fma.c = -mfma -mavx2 -@@ -83,17 +21,93 @@ CFLAGS-s_sinf-fma.c = -mfma -mavx2 - CFLAGS-s_cosf-fma.c = -mfma -mavx2 - CFLAGS-s_sincosf-fma.c = -mfma -mavx2 - -+# Check if ISA level is 3 or above. -+ifneq (,$(filter $(have-x86-isa-level),$(x86-isa-level-3-or-above))) - libm-sysdep_routines += \ -+ s_ceil-avx \ -+ s_ceilf-avx \ -+ s_floor-avx \ -+ s_floorf-avx \ -+ s_nearbyint-avx \ -+ s_nearbyintf-avx \ -+ s_rint-avx \ -+ s_rintf-avx \ -+ s_roundeven-avx \ -+ s_roundevenf-avx \ -+ s_trunc-avx \ -+ s_truncf-avx \ -+# libm-sysdep_routines -+else -+libm-sysdep_routines += \ -+ e_asin-fma \ - e_asin-fma4 \ -+ e_atan2-avx \ -+ e_atan2-fma \ - e_atan2-fma4 \ -+ e_exp-avx \ -+ e_exp-fma \ - e_exp-fma4 \ -+ e_exp2f-fma \ -+ e_expf-fma \ -+ e_log-avx \ -+ e_log-fma \ - e_log-fma4 \ -+ e_log2-fma \ -+ e_log2f-fma \ -+ e_logf-fma \ -+ e_pow-fma \ - e_pow-fma4 \ -+ e_powf-fma \ -+ s_atan-avx \ -+ s_atan-fma \ - s_atan-fma4 \ -+ s_ceil-sse4_1 \ -+ s_ceilf-sse4_1 \ -+ s_cosf-fma \ -+ s_cosf-sse2 \ -+ s_expm1-fma \ -+ s_floor-sse4_1 \ -+ s_floorf-sse4_1 \ -+ s_log1p-fma \ -+ s_nearbyint-sse4_1 \ -+ s_nearbyintf-sse4_1 \ -+ s_rint-sse4_1 \ -+ s_rintf-sse4_1 \ -+ s_roundeven-sse4_1 \ -+ s_roundevenf-sse4_1 \ -+ s_sin-avx \ -+ s_sin-fma \ - s_sin-fma4 \ -+ s_sincos-avx \ -+ s_sincos-fma \ - s_sincos-fma4 \ -+ s_sincosf-fma \ -+ s_sincosf-sse2 \ -+ s_sinf-fma \ -+ s_sinf-sse2 \ -+ s_tan-avx \ -+ s_tan-fma \ - s_tan-fma4 \ -+ s_trunc-sse4_1 \ -+ s_truncf-sse4_1 \ - # libm-sysdep_routines -+ifeq ($(have-x86-isa-level),baseline) -+libm-sysdep_routines += \ -+ s_ceil-c \ -+ s_ceilf-c \ -+ s_floor-c \ -+ s_floorf-c \ -+ s_nearbyint-c \ -+ s_nearbyintf-c \ -+ s_rint-c \ -+ s_rintf-c \ -+ s_roundeven-c \ -+ s_roundevenf-c \ -+ s_trunc-c \ -+ s_truncf-c \ -+# libm-sysdep_routines -+endif -+endif - - CFLAGS-e_asin-fma4.c = -mfma4 - CFLAGS-e_atan2-fma4.c = -mfma4 -@@ -105,16 +119,6 @@ CFLAGS-s_sin-fma4.c = -mfma4 - CFLAGS-s_tan-fma4.c = -mfma4 - CFLAGS-s_sincos-fma4.c = -mfma4 - --libm-sysdep_routines += \ -- e_atan2-avx \ -- e_exp-avx \ -- e_log-avx \ -- s_atan-avx \ -- s_sin-avx \ -- s_sincos-avx \ -- s_tan-avx \ --# libm-sysdep_routines -- - CFLAGS-e_atan2-avx.c = -msse2avx -DSSE2AVX - CFLAGS-e_exp-avx.c = -msse2avx -DSSE2AVX - CFLAGS-e_log-avx.c = -msse2avx -DSSE2AVX -diff --git a/sysdeps/x86_64/fpu/multiarch/e_asin.c b/sysdeps/x86_64/fpu/multiarch/e_asin.c -index 2eaa6c2c04..d64fca2586 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_asin.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_asin.c -@@ -16,26 +16,29 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern double __redirect_ieee754_asin (double); - extern double __redirect_ieee754_acos (double); - --#define SYMBOL_NAME ieee754_asin --#include "ifunc-fma4.h" -+# define SYMBOL_NAME ieee754_asin -+# include "ifunc-fma4.h" - - libc_ifunc_redirected (__redirect_ieee754_asin, __ieee754_asin, - IFUNC_SELECTOR ()); - libm_alias_finite (__ieee754_asin, __asin) - --#undef SYMBOL_NAME --#define SYMBOL_NAME ieee754_acos --#include "ifunc-fma4.h" -+# undef SYMBOL_NAME -+# define SYMBOL_NAME ieee754_acos -+# include "ifunc-fma4.h" - - libc_ifunc_redirected (__redirect_ieee754_acos, __ieee754_acos, - IFUNC_SELECTOR ()); - libm_alias_finite (__ieee754_acos, __acos) - --#define __ieee754_acos __ieee754_acos_sse2 --#define __ieee754_asin __ieee754_asin_sse2 -+# define __ieee754_acos __ieee754_acos_sse2 -+# define __ieee754_asin __ieee754_asin_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_atan2.c b/sysdeps/x86_64/fpu/multiarch/e_atan2.c -index 17ee4f3c36..8a86c14ded 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_atan2.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_atan2.c -@@ -16,16 +16,19 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern double __redirect_ieee754_atan2 (double, double); - --#define SYMBOL_NAME ieee754_atan2 --#include "ifunc-avx-fma4.h" -+# define SYMBOL_NAME ieee754_atan2 -+# include "ifunc-avx-fma4.h" - - libc_ifunc_redirected (__redirect_ieee754_atan2, - __ieee754_atan2, IFUNC_SELECTOR ()); - libm_alias_finite (__ieee754_atan2, __atan2) - --#define __ieee754_atan2 __ieee754_atan2_sse2 -+# define __ieee754_atan2 __ieee754_atan2_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp.c b/sysdeps/x86_64/fpu/multiarch/e_exp.c -index 406b7ebd44..d56329291a 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_exp.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_exp.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern double __redirect_ieee754_exp (double); - --#define SYMBOL_NAME ieee754_exp --#include "ifunc-avx-fma4.h" -+# define SYMBOL_NAME ieee754_exp -+# include "ifunc-avx-fma4.h" - - libc_ifunc_redirected (__redirect_ieee754_exp, __ieee754_exp, - IFUNC_SELECTOR ()); - libm_alias_finite (__ieee754_exp, __exp) - --#define __exp __ieee754_exp_sse2 -+# define __exp __ieee754_exp_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_exp2f.c b/sysdeps/x86_64/fpu/multiarch/e_exp2f.c -index 804fd6be85..06fe5028d6 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_exp2f.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_exp2f.c -@@ -16,25 +16,28 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern float __redirect_exp2f (float); - --#define SYMBOL_NAME exp2f --#include "ifunc-fma.h" -+# define SYMBOL_NAME exp2f -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_exp2f, __exp2f, IFUNC_SELECTOR ()); - --#ifdef SHARED -+# ifdef SHARED - versioned_symbol (libm, __ieee754_exp2f, exp2f, GLIBC_2_27); - libm_alias_float_other (__exp2, exp2) --#else -+# else - libm_alias_float (__exp2, exp2) --#endif -+# endif - - strong_alias (__exp2f, __ieee754_exp2f) - libm_alias_finite (__exp2f, __exp2f) - --#define __exp2f __exp2f_sse2 -+# define __exp2f __exp2f_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_expf.c b/sysdeps/x86_64/fpu/multiarch/e_expf.c -index 4a7e2a5bce..19d767f636 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_expf.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_expf.c -@@ -16,28 +16,31 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern float __redirect_expf (float); - --#define SYMBOL_NAME expf --#include "ifunc-fma.h" -+# define SYMBOL_NAME expf -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ()); - --#ifdef SHARED -+# ifdef SHARED - __hidden_ver1 (__expf, __GI___expf, __redirect_expf) - __attribute__ ((visibility ("hidden"))); - - versioned_symbol (libm, __ieee754_expf, expf, GLIBC_2_27); - libm_alias_float_other (__exp, exp) --#else -+# else - libm_alias_float (__exp, exp) --#endif -+# endif - - strong_alias (__expf, __ieee754_expf) - libm_alias_finite (__expf, __expf) - --#define __expf __expf_sse2 -+# define __expf __expf_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_log.c b/sysdeps/x86_64/fpu/multiarch/e_log.c -index 067fbf58c3..d80c1b1463 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_log.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_log.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern double __redirect_ieee754_log (double); - --#define SYMBOL_NAME ieee754_log --#include "ifunc-avx-fma4.h" -+# define SYMBOL_NAME ieee754_log -+# include "ifunc-avx-fma4.h" - - libc_ifunc_redirected (__redirect_ieee754_log, __ieee754_log, - IFUNC_SELECTOR ()); - libm_alias_finite (__ieee754_log, __log) - --#define __log __ieee754_log_sse2 -+# define __log __ieee754_log_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_log2.c b/sysdeps/x86_64/fpu/multiarch/e_log2.c -index 9c57a2f6cc..9686782c09 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_log2.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_log2.c -@@ -16,28 +16,31 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern double __redirect_log2 (double); - --#define SYMBOL_NAME log2 --#include "ifunc-fma.h" -+# define SYMBOL_NAME log2 -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_log2, __log2, IFUNC_SELECTOR ()); - --#ifdef SHARED -+# ifdef SHARED - __hidden_ver1 (__log2, __GI___log2, __redirect_log2) - __attribute__ ((visibility ("hidden"))); - - versioned_symbol (libm, __ieee754_log2, log2, GLIBC_2_29); - libm_alias_double_other (__log2, log2) --#else -+# else - libm_alias_double (__log2, log2) --#endif -+# endif - - strong_alias (__log2, __ieee754_log2) - libm_alias_finite (__log2, __log2) - --#define __log2 __log2_sse2 -+# define __log2 __log2_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_log2f.c b/sysdeps/x86_64/fpu/multiarch/e_log2f.c -index 2b45c87f38..8ada46e11e 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_log2f.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_log2f.c -@@ -16,28 +16,31 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern float __redirect_log2f (float); - --#define SYMBOL_NAME log2f --#include "ifunc-fma.h" -+# define SYMBOL_NAME log2f -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ()); - --#ifdef SHARED -+# ifdef SHARED - __hidden_ver1 (__log2f, __GI___log2f, __redirect_log2f) - __attribute__ ((visibility ("hidden"))); - - versioned_symbol (libm, __ieee754_log2f, log2f, GLIBC_2_27); - libm_alias_float_other (__log2, log2) --#else -+# else - libm_alias_float (__log2, log2) --#endif -+# endif - - strong_alias (__log2f, __ieee754_log2f) - libm_alias_finite (__log2f, __log2f) - --#define __log2f __log2f_sse2 -+# define __log2f __log2f_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_logf.c b/sysdeps/x86_64/fpu/multiarch/e_logf.c -index 97e23c8fea..a3978d9a8e 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_logf.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_logf.c -@@ -16,28 +16,31 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern float __redirect_logf (float); - --#define SYMBOL_NAME logf --#include "ifunc-fma.h" -+# define SYMBOL_NAME logf -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ()); - --#ifdef SHARED -+# ifdef SHARED - __hidden_ver1 (__logf, __GI___logf, __redirect_logf) - __attribute__ ((visibility ("hidden"))); - - versioned_symbol (libm, __ieee754_logf, logf, GLIBC_2_27); - libm_alias_float_other (__log, log) --#else -+# else - libm_alias_float (__log, log) --#endif -+# endif - - strong_alias (__logf, __ieee754_logf) - libm_alias_finite (__logf, __logf) - --#define __logf __logf_sse2 -+# define __logf __logf_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_pow.c b/sysdeps/x86_64/fpu/multiarch/e_pow.c -index 42618e7112..f8f17aff9f 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_pow.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_pow.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - - extern double __redirect_ieee754_pow (double, double); - --#define SYMBOL_NAME ieee754_pow --#include "ifunc-fma4.h" -+# define SYMBOL_NAME ieee754_pow -+# include "ifunc-fma4.h" - - libc_ifunc_redirected (__redirect_ieee754_pow, - __ieee754_pow, IFUNC_SELECTOR ()); - libm_alias_finite (__ieee754_pow, __pow) - --#define __pow __ieee754_pow_sse2 -+# define __pow __ieee754_pow_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/e_powf.c b/sysdeps/x86_64/fpu/multiarch/e_powf.c -index 8e6ce13cc1..8b1a4c7d04 100644 ---- a/sysdeps/x86_64/fpu/multiarch/e_powf.c -+++ b/sysdeps/x86_64/fpu/multiarch/e_powf.c -@@ -16,31 +16,34 @@ - License along with the GNU C Library; if not, see - . */ - --#include --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include -+# include - --#define powf __redirect_powf --#define __DECL_SIMD___redirect_powf --#include --#undef powf -+# define powf __redirect_powf -+# define __DECL_SIMD___redirect_powf -+# include -+# undef powf - --#define SYMBOL_NAME powf --#include "ifunc-fma.h" -+# define SYMBOL_NAME powf -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_powf, __powf, IFUNC_SELECTOR ()); - --#ifdef SHARED -+# ifdef SHARED - __hidden_ver1 (__powf, __GI___powf, __redirect_powf) - __attribute__ ((visibility ("hidden"))); - - versioned_symbol (libm, __ieee754_powf, powf, GLIBC_2_27); - libm_alias_float_other (__pow, pow) --#else -+# else - libm_alias_float (__pow, pow) --#endif -+# endif - - strong_alias (__powf, __ieee754_powf) - libm_alias_finite (__powf, __powf) - --#define __powf __powf_sse2 -+# define __powf __powf_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_atan.c b/sysdeps/x86_64/fpu/multiarch/s_atan.c -index 71bad096a9..4d2c6ce006 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_atan.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_atan.c -@@ -16,15 +16,18 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern double __redirect_atan (double); - --#define SYMBOL_NAME atan --#include "ifunc-avx-fma4.h" -+# define SYMBOL_NAME atan -+# include "ifunc-avx-fma4.h" - - libc_ifunc_redirected (__redirect_atan, __atan, IFUNC_SELECTOR ()); - libm_alias_double (__atan, atan) - --#define __atan __atan_sse2 -+# define __atan __atan_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil-avx.S b/sysdeps/x86_64/fpu/multiarch/s_ceil-avx.S -new file mode 100644 -index 0000000000..e6c1106753 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_ceil-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of ceil function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__ceil) -+ vroundsd $10, %xmm0, %xmm0, %xmm0 -+ ret -+END(__ceil) -+ -+libm_alias_double (__ceil, ceil) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S -index 64119011ad..dba756c38f 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_ceil-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __ceil_sse41 __ceil -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__ceil_sse41) - roundsd $10, %xmm0, %xmm0 - ret - END(__ceil_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_double (__ceil, ceil) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil.c b/sysdeps/x86_64/fpu/multiarch/s_ceil.c -index cc028addee..46c8e91e19 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_ceil.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_ceil.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define ceil __redirect_ceil --#define __ceil __redirect___ceil --#include --#undef ceil --#undef __ceil -+# define ceil __redirect_ceil -+# define __ceil __redirect___ceil -+# include -+# undef ceil -+# undef __ceil - --#define SYMBOL_NAME ceil --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME ceil -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_ceil, __ceil, IFUNC_SELECTOR ()); - libm_alias_double (__ceil, ceil) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceilf-avx.S b/sysdeps/x86_64/fpu/multiarch/s_ceilf-avx.S -new file mode 100644 -index 0000000000..b4d8ac0455 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_ceilf-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of ceilf function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__ceilf) -+ vroundss $10, %xmm0, %xmm0, %xmm0 -+ ret -+END(__ceilf) -+ -+libm_alias_float (__ceil, ceil) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S -index dd9a9f6b71..9abc87b91a 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_ceilf-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __ceilf_sse41 __ceilf -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__ceilf_sse41) - roundss $10, %xmm0, %xmm0 - ret - END(__ceilf_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_float (__ceil, ceil) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceilf.c b/sysdeps/x86_64/fpu/multiarch/s_ceilf.c -index 97a0ca7d19..bb53108f73 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_ceilf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_ceilf.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define ceilf __redirect_ceilf --#define __ceilf __redirect___ceilf --#include --#undef ceilf --#undef __ceilf -+# define ceilf __redirect_ceilf -+# define __ceilf __redirect___ceilf -+# include -+# undef ceilf -+# undef __ceilf - --#define SYMBOL_NAME ceilf --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME ceilf -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_ceilf, __ceilf, IFUNC_SELECTOR ()); - libm_alias_float (__ceil, ceil) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_cosf.c b/sysdeps/x86_64/fpu/multiarch/s_cosf.c -index 2703c576df..8a02e04538 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_cosf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_cosf.c -@@ -16,13 +16,18 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern float __redirect_cosf (float); - --#define SYMBOL_NAME cosf --#include "ifunc-fma.h" -+# define SYMBOL_NAME cosf -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_cosf, __cosf, IFUNC_SELECTOR ()); - - libm_alias_float (__cos, cos) -+#else -+# include -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_expm1.c b/sysdeps/x86_64/fpu/multiarch/s_expm1.c -index 8a2d69f9b2..d58ef3d8f5 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_expm1.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_expm1.c -@@ -16,21 +16,24 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern double __redirect_expm1 (double); - --#define SYMBOL_NAME expm1 --#include "ifunc-fma.h" -+# define SYMBOL_NAME expm1 -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_expm1, __expm1, IFUNC_SELECTOR ()); - libm_alias_double (__expm1, expm1) - --#define __expm1 __expm1_sse2 -+# define __expm1 __expm1_sse2 - - /* NB: __expm1 may be expanded to __expm1_sse2 in the following - prototypes. */ - extern long double __expm1l (long double); - extern long double __expm1f128 (long double); - -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor-avx.S b/sysdeps/x86_64/fpu/multiarch/s_floor-avx.S -new file mode 100644 -index 0000000000..ff74b5a8bf ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_floor-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of floor function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__floor) -+ vroundsd $9, %xmm0, %xmm0, %xmm0 -+ ret -+END(__floor) -+ -+libm_alias_double (__floor, floor) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S -index 2f7521f39f..c9b9b0639b 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_floor-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __floor_sse41 __floor -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__floor_sse41) - roundsd $9, %xmm0, %xmm0 - ret - END(__floor_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_double (__floor, floor) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor.c b/sysdeps/x86_64/fpu/multiarch/s_floor.c -index 8cebd48e10..2c87dd0056 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_floor.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_floor.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define floor __redirect_floor --#define __floor __redirect___floor --#include --#undef floor --#undef __floor -+# define floor __redirect_floor -+# define __floor __redirect___floor -+# include -+# undef floor -+# undef __floor - --#define SYMBOL_NAME floor --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME floor -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_floor, __floor, IFUNC_SELECTOR ()); - libm_alias_double (__floor, floor) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_floorf-avx.S b/sysdeps/x86_64/fpu/multiarch/s_floorf-avx.S -new file mode 100644 -index 0000000000..c378baae8e ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_floorf-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of floorf function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__floorf) -+ vroundss $9, %xmm0, %xmm0, %xmm0 -+ ret -+END(__floorf) -+ -+libm_alias_float (__floor, floor) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S -index 5f6020d27d..c2216899db 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_floorf-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __floorf_sse41 __floorf -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__floorf_sse41) - roundss $9, %xmm0, %xmm0 - ret - END(__floorf_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_float (__floor, floor) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_floorf.c b/sysdeps/x86_64/fpu/multiarch/s_floorf.c -index a14e18b03c..a277802b6d 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_floorf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_floorf.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define floorf __redirect_floorf --#define __floorf __redirect___floorf --#include --#undef floorf --#undef __floorf -+# define floorf __redirect_floorf -+# define __floorf __redirect___floorf -+# include -+# undef floorf -+# undef __floorf - --#define SYMBOL_NAME floorf --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME floorf -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_floorf, __floorf, IFUNC_SELECTOR ()); - libm_alias_float (__floor, floor) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_log1p.c b/sysdeps/x86_64/fpu/multiarch/s_log1p.c -index a8e1a3f21b..3fa1185d81 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_log1p.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_log1p.c -@@ -16,14 +16,17 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern double __redirect_log1p (double); - --#define SYMBOL_NAME log1p --#include "ifunc-fma.h" -+# define SYMBOL_NAME log1p -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_log1p, __log1p, IFUNC_SELECTOR ()); - --#define __log1p __log1p_sse2 -+# define __log1p __log1p_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_nearbyint-avx.S b/sysdeps/x86_64/fpu/multiarch/s_nearbyint-avx.S -new file mode 100644 -index 0000000000..5bfdf73c28 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_nearbyint-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of nearbyint function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__nearbyint) -+ vroundsd $0xc, %xmm0, %xmm0, %xmm0 -+ ret -+END(__nearbyint) -+ -+libm_alias_double (__nearbyint, nearbyint) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S -index 674f7eb40a..9d84410a1f 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_nearbyint-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __nearbyint_sse41 __nearbyint -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__nearbyint_sse41) - roundsd $0xc, %xmm0, %xmm0 - ret - END(__nearbyint_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_double (__nearbyint, nearbyint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_nearbyint.c b/sysdeps/x86_64/fpu/multiarch/s_nearbyint.c -index 693e42dd4e..057a7ca60f 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_nearbyint.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_nearbyint.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# include - --#define nearbyint __redirect_nearbyint --#define __nearbyint __redirect___nearbyint --#include --#undef nearbyint --#undef __nearbyint -+# define nearbyint __redirect_nearbyint -+# define __nearbyint __redirect___nearbyint -+# include -+# undef nearbyint -+# undef __nearbyint - --#define SYMBOL_NAME nearbyint --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME nearbyint -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_nearbyint, __nearbyint, - IFUNC_SELECTOR ()); - libm_alias_double (__nearbyint, nearbyint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-avx.S b/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-avx.S -new file mode 100644 -index 0000000000..1dbaed0324 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implmentation of nearbyintf function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__nearbyintf) -+ vroundss $0xc, %xmm0, %xmm0, %xmm0 -+ ret -+END(__nearbyintf) -+ -+libm_alias_float (__nearbyint, nearbyint) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S -index 5892bd7563..3cf35f92d6 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_nearbyintf-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __nearbyintf_sse41 __nearbyintf -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__nearbyintf_sse41) - roundss $0xc, %xmm0, %xmm0 - ret - END(__nearbyintf_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_float (__nearbyint, nearbyint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c b/sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c -index a0ac009f4b..41f374ba72 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# include - --#define nearbyintf __redirect_nearbyintf --#define __nearbyintf __redirect___nearbyintf --#include --#undef nearbyintf --#undef __nearbyintf -+# define nearbyintf __redirect_nearbyintf -+# define __nearbyintf __redirect___nearbyintf -+# include -+# undef nearbyintf -+# undef __nearbyintf - --#define SYMBOL_NAME nearbyintf --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME nearbyintf -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_nearbyintf, __nearbyintf, - IFUNC_SELECTOR ()); - libm_alias_float (__nearbyint, nearbyint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_rint-avx.S b/sysdeps/x86_64/fpu/multiarch/s_rint-avx.S -new file mode 100644 -index 0000000000..2b403b331f ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_rint-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of rint function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__rint) -+ vroundsd $4, %xmm0, %xmm0, %xmm0 -+ ret -+END(__rint) -+ -+libm_alias_double (__rint, rint) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S -index 405372991b..8cd9cf759f 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_rint-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __rint_sse41 __rint -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__rint_sse41) - roundsd $4, %xmm0, %xmm0 - ret - END(__rint_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_double (__rint, rint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_rint.c b/sysdeps/x86_64/fpu/multiarch/s_rint.c -index 754c87e004..18623b7d99 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_rint.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_rint.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define rint __redirect_rint --#define __rint __redirect___rint --#include --#undef rint --#undef __rint -+# define rint __redirect_rint -+# define __rint __redirect___rint -+# include -+# undef rint -+# undef __rint - --#define SYMBOL_NAME rint --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME rint -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_rint, __rint, IFUNC_SELECTOR ()); - libm_alias_double (__rint, rint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_rintf-avx.S b/sysdeps/x86_64/fpu/multiarch/s_rintf-avx.S -new file mode 100644 -index 0000000000..171c2867f4 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_rintf-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of rintf function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__rintf) -+ vroundss $4, %xmm0, %xmm0, %xmm0 -+ ret -+END(__rintf) -+ -+libm_alias_float (__rint, rint) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S -index 8ac67ce767..fc1e70f0c9 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_rintf-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __rintf_sse41 __rintf -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__rintf_sse41) - roundss $4, %xmm0, %xmm0 - ret - END(__rintf_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_float (__rint, rint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_rintf.c b/sysdeps/x86_64/fpu/multiarch/s_rintf.c -index e9d6b7a5f2..e275368dec 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_rintf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_rintf.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define rintf __redirect_rintf --#define __rintf __redirect___rintf --#include --#undef rintf --#undef __rintf -+# define rintf __redirect_rintf -+# define __rintf __redirect___rintf -+# include -+# undef rintf -+# undef __rintf - --#define SYMBOL_NAME rintf --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME rintf -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_rintf, __rintf, IFUNC_SELECTOR ()); - libm_alias_float (__rint, rint) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_roundeven-avx.S b/sysdeps/x86_64/fpu/multiarch/s_roundeven-avx.S -new file mode 100644 -index 0000000000..576790355c ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_roundeven-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of roundeven function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__roundeven) -+ vroundsd $8, %xmm0, %xmm0, %xmm0 -+ ret -+END(__roundeven) -+ -+libm_alias_double (__roundeven, roundeven) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_roundeven-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_roundeven-sse4_1.S -index 5ef102336b..f00be56c59 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_roundeven-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_roundeven-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __roundeven_sse41 __roundeven -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__roundeven_sse41) - roundsd $8, %xmm0, %xmm0 - ret - END(__roundeven_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_double (__roundeven, roundeven) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_roundeven.c b/sysdeps/x86_64/fpu/multiarch/s_roundeven.c -index 8737b32e26..139aad088f 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_roundeven.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_roundeven.c -@@ -16,16 +16,19 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# include - --#define roundeven __redirect_roundeven --#define __roundeven __redirect___roundeven --#include --#undef roundeven --#undef __roundeven -+# define roundeven __redirect_roundeven -+# define __roundeven __redirect___roundeven -+# include -+# undef roundeven -+# undef __roundeven - --#define SYMBOL_NAME roundeven --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME roundeven -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_roundeven, __roundeven, IFUNC_SELECTOR ()); - libm_alias_double (__roundeven, roundeven) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_roundevenf-avx.S b/sysdeps/x86_64/fpu/multiarch/s_roundevenf-avx.S -new file mode 100644 -index 0000000000..42c359f4cd ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_roundevenf-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of roundevenf function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__roundevenf) -+ vroundss $8, %xmm0, %xmm0, %xmm0 -+ ret -+END(__roundevenf) -+ -+libm_alias_float (__roundeven, roundeven) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_roundevenf-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_roundevenf-sse4_1.S -index 792c90ba07..6b148e4353 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_roundevenf-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_roundevenf-sse4_1.S -@@ -17,8 +17,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __roundevenf_sse41 __roundevenf -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__roundevenf_sse41) - roundss $8, %xmm0, %xmm0 - ret - END(__roundevenf_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_float (__roundeven, roundeven) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_roundevenf.c b/sysdeps/x86_64/fpu/multiarch/s_roundevenf.c -index e96016a4d5..2fb090075d 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_roundevenf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_roundevenf.c -@@ -16,16 +16,19 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# include - --#define roundevenf __redirect_roundevenf --#define __roundevenf __redirect___roundevenf --#include --#undef roundevenf --#undef __roundevenf -+# define roundevenf __redirect_roundevenf -+# define __roundevenf __redirect___roundevenf -+# include -+# undef roundevenf -+# undef __roundevenf - --#define SYMBOL_NAME roundevenf --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME roundevenf -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_roundevenf, __roundevenf, IFUNC_SELECTOR ()); - libm_alias_float (__roundeven, roundeven) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_sin.c b/sysdeps/x86_64/fpu/multiarch/s_sin.c -index 355cc0092e..21e77943a3 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_sin.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_sin.c -@@ -16,24 +16,27 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern double __redirect_sin (double); - extern double __redirect_cos (double); - --#define SYMBOL_NAME sin --#include "ifunc-avx-fma4.h" -+# define SYMBOL_NAME sin -+# include "ifunc-avx-fma4.h" - - libc_ifunc_redirected (__redirect_sin, __sin, IFUNC_SELECTOR ()); - libm_alias_double (__sin, sin) - --#undef SYMBOL_NAME --#define SYMBOL_NAME cos --#include "ifunc-avx-fma4.h" -+# undef SYMBOL_NAME -+# define SYMBOL_NAME cos -+# include "ifunc-avx-fma4.h" - - libc_ifunc_redirected (__redirect_cos, __cos, IFUNC_SELECTOR ()); - libm_alias_double (__cos, cos) - --#define __cos __cos_sse2 --#define __sin __sin_sse2 -+# define __cos __cos_sse2 -+# define __sin __sin_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_sincos.c b/sysdeps/x86_64/fpu/multiarch/s_sincos.c -index 70107e999c..b35757f8de 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_sincos.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_sincos.c -@@ -16,15 +16,18 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern void __redirect_sincos (double, double *, double *); - --#define SYMBOL_NAME sincos --#include "ifunc-fma4.h" -+# define SYMBOL_NAME sincos -+# include "ifunc-fma4.h" - - libc_ifunc_redirected (__redirect_sincos, __sincos, IFUNC_SELECTOR ()); - libm_alias_double (__sincos, sincos) - --#define __sincos __sincos_sse2 -+# define __sincos __sincos_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_sincosf.c b/sysdeps/x86_64/fpu/multiarch/s_sincosf.c -index 80bc028451..0ea9b40e84 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_sincosf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_sincosf.c -@@ -16,13 +16,18 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern void __redirect_sincosf (float, float *, float *); - --#define SYMBOL_NAME sincosf --#include "ifunc-fma.h" -+# define SYMBOL_NAME sincosf -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_sincosf, __sincosf, IFUNC_SELECTOR ()); - - libm_alias_float (__sincos, sincos) -+#else -+# include -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_sinf.c b/sysdeps/x86_64/fpu/multiarch/s_sinf.c -index a32b9e9550..c61624e3ee 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_sinf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_sinf.c -@@ -16,13 +16,18 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern float __redirect_sinf (float); - --#define SYMBOL_NAME sinf --#include "ifunc-fma.h" -+# define SYMBOL_NAME sinf -+# include "ifunc-fma.h" - - libc_ifunc_redirected (__redirect_sinf, __sinf, IFUNC_SELECTOR ()); - - libm_alias_float (__sin, sin) -+#else -+# include -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_tan.c b/sysdeps/x86_64/fpu/multiarch/s_tan.c -index f9a2474a13..125d992ba1 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_tan.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_tan.c -@@ -16,15 +16,18 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < AVX2_X86_ISA_LEVEL -+# include - - extern double __redirect_tan (double); - --#define SYMBOL_NAME tan --#include "ifunc-avx-fma4.h" -+# define SYMBOL_NAME tan -+# include "ifunc-avx-fma4.h" - - libc_ifunc_redirected (__redirect_tan, __tan, IFUNC_SELECTOR ()); - libm_alias_double (__tan, tan) - --#define __tan __tan_sse2 -+# define __tan __tan_sse2 -+#endif - #include -diff --git a/sysdeps/x86_64/fpu/multiarch/s_trunc-avx.S b/sysdeps/x86_64/fpu/multiarch/s_trunc-avx.S -new file mode 100644 -index 0000000000..b3e87e9606 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_trunc-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of trunc function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__trunc) -+ vroundsd $11, %xmm0, %xmm0, %xmm0 -+ ret -+END(__trunc) -+ -+libm_alias_double (__trunc, trunc) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S -index b496a6ef49..2b79174eed 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_trunc-sse4_1.S -@@ -18,8 +18,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __trunc_sse41 __trunc -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__trunc_sse41) - roundsd $11, %xmm0, %xmm0 - ret - END(__trunc_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_double (__trunc, trunc) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_trunc.c b/sysdeps/x86_64/fpu/multiarch/s_trunc.c -index 9bc9df8744..ea89c4f85d 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_trunc.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_trunc.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define trunc __redirect_trunc --#define __trunc __redirect___trunc --#include --#undef trunc --#undef __trunc -+# define trunc __redirect_trunc -+# define __trunc __redirect___trunc -+# include -+# undef trunc -+# undef __trunc - --#define SYMBOL_NAME trunc --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME trunc -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_trunc, __trunc, IFUNC_SELECTOR ()); - libm_alias_double (__trunc, trunc) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_truncf-avx.S b/sysdeps/x86_64/fpu/multiarch/s_truncf-avx.S -new file mode 100644 -index 0000000000..f31ac7d7f7 ---- /dev/null -+++ b/sysdeps/x86_64/fpu/multiarch/s_truncf-avx.S -@@ -0,0 +1,28 @@ -+/* AVX implementation of truncf function. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+ .text -+ENTRY(__truncf) -+ vroundss $11, %xmm0, %xmm0, %xmm0 -+ ret -+END(__truncf) -+ -+libm_alias_float (__trunc, trunc) -diff --git a/sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S b/sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S -index 22e9a83307..60498b2cb2 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S -+++ b/sysdeps/x86_64/fpu/multiarch/s_truncf-sse4_1.S -@@ -18,8 +18,20 @@ - - #include - -+#include -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+# include -+# define __truncf_sse41 __truncf -+ .text -+#else - .section .text.sse4.1,"ax",@progbits -+#endif -+ - ENTRY(__truncf_sse41) - roundss $11, %xmm0, %xmm0 - ret - END(__truncf_sse41) -+ -+#if MINIMUM_X86_ISA_LEVEL == SSE4_1_X86_ISA_LEVEL -+libm_alias_float (__trunc, trunc) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/s_truncf.c b/sysdeps/x86_64/fpu/multiarch/s_truncf.c -index dae01d166a..92435ce39d 100644 ---- a/sysdeps/x86_64/fpu/multiarch/s_truncf.c -+++ b/sysdeps/x86_64/fpu/multiarch/s_truncf.c -@@ -16,17 +16,20 @@ - License along with the GNU C Library; if not, see - . */ - --#define NO_MATH_REDIRECT --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL < SSE4_1_X86_ISA_LEVEL -+# define NO_MATH_REDIRECT -+# include - --#define truncf __redirect_truncf --#define __truncf __redirect___truncf --#include --#undef truncf --#undef __truncf -+# define truncf __redirect_truncf -+# define __truncf __redirect___truncf -+# include -+# undef truncf -+# undef __truncf - --#define SYMBOL_NAME truncf --#include "ifunc-sse4_1.h" -+# define SYMBOL_NAME truncf -+# include "ifunc-sse4_1.h" - - libc_ifunc_redirected (__redirect_truncf, __truncf, IFUNC_SELECTOR ()); - libm_alias_float (__trunc, trunc) -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/w_exp.c b/sysdeps/x86_64/fpu/multiarch/w_exp.c -index 27eee98a0a..3584187e0e 100644 ---- a/sysdeps/x86_64/fpu/multiarch/w_exp.c -+++ b/sysdeps/x86_64/fpu/multiarch/w_exp.c -@@ -1 +1,6 @@ --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL -+# include -+#else -+# include -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/w_log.c b/sysdeps/x86_64/fpu/multiarch/w_log.c -index 9b2b018711..414ca3ca3d 100644 ---- a/sysdeps/x86_64/fpu/multiarch/w_log.c -+++ b/sysdeps/x86_64/fpu/multiarch/w_log.c -@@ -1 +1,6 @@ --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL -+# include -+#else -+# include -+#endif -diff --git a/sysdeps/x86_64/fpu/multiarch/w_pow.c b/sysdeps/x86_64/fpu/multiarch/w_pow.c -index b50c1988de..d5fcc4f871 100644 ---- a/sysdeps/x86_64/fpu/multiarch/w_pow.c -+++ b/sysdeps/x86_64/fpu/multiarch/w_pow.c -@@ -1 +1,6 @@ --#include -+#include -+#if MINIMUM_X86_ISA_LEVEL >= AVX2_X86_ISA_LEVEL -+# include -+#else -+# include -+#endif - -commit 31da30f23cddd36db29d5b6a1c7619361b271fb4 -Author: Charles Fol -Date: Thu Mar 28 12:25:38 2024 -0300 - - iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence (CVE-2024-2961) - - ISO-2022-CN-EXT uses escape sequences to indicate character set changes - (as specified by RFC 1922). While the SOdesignation has the expected - bounds checks, neither SS2designation nor SS3designation have its; - allowing a write overflow of 1, 2, or 3 bytes with fixed values: - '$+I', '$+J', '$+K', '$+L', '$+M', or '$*H'. - - Checked on aarch64-linux-gnu. - - Co-authored-by: Adhemerval Zanella - Reviewed-by: Carlos O'Donell - Tested-by: Carlos O'Donell - - (cherry picked from commit f9dc609e06b1136bb0408be9605ce7973a767ada) - -diff --git a/iconvdata/Makefile b/iconvdata/Makefile -index ea019ce5c0..7196a8744b 100644 ---- a/iconvdata/Makefile -+++ b/iconvdata/Makefile -@@ -75,7 +75,8 @@ ifeq (yes,$(build-shared)) - tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \ - tst-iconv6 bug-iconv5 bug-iconv6 tst-iconv7 bug-iconv8 bug-iconv9 \ - bug-iconv10 bug-iconv11 bug-iconv12 tst-iconv-big5-hkscs-to-2ucs4 \ -- bug-iconv13 bug-iconv14 bug-iconv15 -+ bug-iconv13 bug-iconv14 bug-iconv15 \ -+ tst-iconv-iso-2022-cn-ext - ifeq ($(have-thread-library),yes) - tests += bug-iconv3 - endif -@@ -330,6 +331,8 @@ $(objpfx)bug-iconv14.out: $(addprefix $(objpfx), $(gconv-modules)) \ - $(addprefix $(objpfx),$(modules.so)) - $(objpfx)bug-iconv15.out: $(addprefix $(objpfx), $(gconv-modules)) \ - $(addprefix $(objpfx),$(modules.so)) -+$(objpfx)tst-iconv-iso-2022-cn-ext.out: $(addprefix $(objpfx), $(gconv-modules)) \ -+ $(addprefix $(objpfx),$(modules.so)) - - $(objpfx)iconv-test.out: run-iconv-test.sh \ - $(addprefix $(objpfx), $(gconv-modules)) \ -diff --git a/iconvdata/iso-2022-cn-ext.c b/iconvdata/iso-2022-cn-ext.c -index b34c8a36f4..cce29b1969 100644 ---- a/iconvdata/iso-2022-cn-ext.c -+++ b/iconvdata/iso-2022-cn-ext.c -@@ -574,6 +574,12 @@ DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); - { \ - const char *escseq; \ - \ -+ if (outptr + 4 > outend) \ -+ { \ -+ result = __GCONV_FULL_OUTPUT; \ -+ break; \ -+ } \ -+ \ - assert (used == CNS11643_2_set); /* XXX */ \ - escseq = "*H"; \ - *outptr++ = ESC; \ -@@ -587,6 +593,12 @@ DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized"); - { \ - const char *escseq; \ - \ -+ if (outptr + 4 > outend) \ -+ { \ -+ result = __GCONV_FULL_OUTPUT; \ -+ break; \ -+ } \ -+ \ - assert ((used >> 5) >= 3 && (used >> 5) <= 7); \ - escseq = "+I+J+K+L+M" + ((used >> 5) - 3) * 2; \ - *outptr++ = ESC; \ -diff --git a/iconvdata/tst-iconv-iso-2022-cn-ext.c b/iconvdata/tst-iconv-iso-2022-cn-ext.c -new file mode 100644 -index 0000000000..96a8765fd5 ---- /dev/null -+++ b/iconvdata/tst-iconv-iso-2022-cn-ext.c -@@ -0,0 +1,128 @@ -+/* Verify ISO-2022-CN-EXT does not write out of the bounds. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+#include -+#include -+#include -+ -+/* The test sets up a two memory page buffer with the second page marked -+ PROT_NONE to trigger a fault if the conversion writes beyond the exact -+ expected amount. Then we carry out various conversions and precisely -+ place the start of the output buffer in order to trigger a SIGSEGV if the -+ process writes anywhere between 1 and page sized bytes more (only one -+ PROT_NONE page is setup as a canary) than expected. These tests exercise -+ all three of the cases in ISO-2022-CN-EXT where the converter must switch -+ character sets and may run out of buffer space while doing the -+ operation. */ -+ -+static int -+do_test (void) -+{ -+ iconv_t cd = iconv_open ("ISO-2022-CN-EXT", "UTF-8"); -+ TEST_VERIFY_EXIT (cd != (iconv_t) -1); -+ -+ char *ntf; -+ size_t ntfsize; -+ char *outbufbase; -+ { -+ int pgz = getpagesize (); -+ TEST_VERIFY_EXIT (pgz > 0); -+ ntfsize = 2 * pgz; -+ -+ ntf = xmmap (NULL, ntfsize, PROT_READ | PROT_WRITE, MAP_PRIVATE -+ | MAP_ANONYMOUS, -1); -+ xmprotect (ntf + pgz, pgz, PROT_NONE); -+ -+ outbufbase = ntf + pgz; -+ } -+ -+ /* Check if SOdesignation escape sequence does not trigger an OOB write. */ -+ { -+ char inbuf[] = "\xe4\xba\xa4\xe6\x8d\xa2"; -+ -+ for (int i = 0; i < 9; i++) -+ { -+ char *inp = inbuf; -+ size_t inleft = sizeof (inbuf) - 1; -+ -+ char *outp = outbufbase - i; -+ size_t outleft = i; -+ -+ TEST_VERIFY_EXIT (iconv (cd, &inp, &inleft, &outp, &outleft) -+ == (size_t) -1); -+ TEST_COMPARE (errno, E2BIG); -+ -+ TEST_VERIFY_EXIT (iconv (cd, NULL, NULL, NULL, NULL) == 0); -+ } -+ } -+ -+ /* Same as before for SS2designation. */ -+ { -+ char inbuf[] = "㴽 \xe3\xb4\xbd"; -+ -+ for (int i = 0; i < 14; i++) -+ { -+ char *inp = inbuf; -+ size_t inleft = sizeof (inbuf) - 1; -+ -+ char *outp = outbufbase - i; -+ size_t outleft = i; -+ -+ TEST_VERIFY_EXIT (iconv (cd, &inp, &inleft, &outp, &outleft) -+ == (size_t) -1); -+ TEST_COMPARE (errno, E2BIG); -+ -+ TEST_VERIFY_EXIT (iconv (cd, NULL, NULL, NULL, NULL) == 0); -+ } -+ } -+ -+ /* Same as before for SS3designation. */ -+ { -+ char inbuf[] = "劄 \xe5\x8a\x84"; -+ -+ for (int i = 0; i < 14; i++) -+ { -+ char *inp = inbuf; -+ size_t inleft = sizeof (inbuf) - 1; -+ -+ char *outp = outbufbase - i; -+ size_t outleft = i; -+ -+ TEST_VERIFY_EXIT (iconv (cd, &inp, &inleft, &outp, &outleft) -+ == (size_t) -1); -+ TEST_COMPARE (errno, E2BIG); -+ -+ TEST_VERIFY_EXIT (iconv (cd, NULL, NULL, NULL, NULL) == 0); -+ } -+ } -+ -+ TEST_VERIFY_EXIT (iconv_close (cd) != -1); -+ -+ xmunmap (ntf, ntfsize); -+ -+ return 0; -+} -+ -+#include - -commit e828914cf9f2fc2caa5bced0fc6a03cb78324979 -Author: Florian Weimer -Date: Tue Apr 23 21:16:32 2024 +0200 - - nptl: Fix tst-cancel30 on kernels without ppoll_time64 support - - Fall back to ppoll if ppoll_time64 fails with ENOSYS. - Fixes commit 370da8a121c3ba9eeb2f13da15fc0f21f4136b25 ("nptl: Fix - tst-cancel30 on sparc64"). - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit f4724843ada64a51d66f65d3199fe431f9d4c254) - -diff --git a/sysdeps/pthread/tst-cancel30.c b/sysdeps/pthread/tst-cancel30.c -index 3030660e5f..94ad6281bc 100644 ---- a/sysdeps/pthread/tst-cancel30.c -+++ b/sysdeps/pthread/tst-cancel30.c -@@ -18,6 +18,7 @@ - License along with the GNU C Library; if not, see - . */ - -+#include - #include - #include - #include -@@ -46,13 +47,19 @@ tf (void *arg) - - /* Wait indefinitely for cancellation, which only works if asynchronous - cancellation is enabled. */ --#if defined SYS_ppoll || defined SYS_ppoll_time64 --# ifndef SYS_ppoll_time64 --# define SYS_ppoll_time64 SYS_ppoll -+#ifdef SYS_ppoll_time64 -+ long int ret = syscall (SYS_ppoll_time64, NULL, 0, NULL, NULL); -+ (void) ret; -+# ifdef SYS_ppoll -+ if (ret == -1 && errno == ENOSYS) -+ syscall (SYS_ppoll, NULL, 0, NULL, NULL); - # endif -- syscall (SYS_ppoll_time64, NULL, 0, NULL, NULL); - #else -+# ifdef SYS_ppoll -+ syscall (SYS_ppoll, NULL, 0, NULL, NULL); -+# else - for (;;); -+# endif - #endif - - return 0; - -commit e701c7d761f6e5c48d8e9dd5da88cbe2e94943f4 -Author: Florian Weimer -Date: Thu Apr 25 12:56:48 2024 +0200 - - i386: ulp update for SSE2 --disable-multi-arch configurations - - (cherry picked from commit 3a3a4497421422aa854c855cbe5110ca7d598ffc) - -diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps -index 84e6686eba..f2139fc172 100644 ---- a/sysdeps/i386/fpu/libm-test-ulps -+++ b/sysdeps/i386/fpu/libm-test-ulps -@@ -1232,6 +1232,7 @@ ldouble: 6 - - Function: "hypot": - double: 1 -+float: 1 - float128: 1 - ldouble: 1 - - -commit 2f8f157eb0cc7f1d8d9a3fcaa8c55bed53b092a8 -Author: H.J. Lu -Date: Tue Apr 23 13:59:50 2024 -0700 - - x86: Define MINIMUM_X86_ISA_LEVEL in config.h [BZ #31676] - - Define MINIMUM_X86_ISA_LEVEL at configure time to avoid - - /usr/bin/ld: …/build/elf/librtld.os: in function `init_cpu_features': - …/git/elf/../sysdeps/x86/cpu-features.c:1202: undefined reference to `_dl_runtime_resolve_fxsave' - /usr/bin/ld: …/build/elf/librtld.os: relocation R_X86_64_PC32 against undefined hidden symbol `_dl_runtime_resolve_fxsave' can not be used when making a shared object - /usr/bin/ld: final link failed: bad value - collect2: error: ld returned 1 exit status - - when glibc is built with -march=x86-64-v3 and configured with - --with-rtld-early-cflags=-march=x86-64, which is used to allow ld.so to - print an error message on unsupported CPUs: - - Fatal glibc error: CPU does not support x86-64-v3 - - This fixes BZ #31676. - Reviewed-by: Sunil K Pandey - - (cherry picked from commit 46c999741340ea559784c20a45077955b50aca43) - -diff --git a/config.h.in b/config.h.in -index 4d33c63a84..1e647de585 100644 ---- a/config.h.in -+++ b/config.h.in -@@ -286,6 +286,9 @@ - /* Define if x86 ISA level should be included in shared libraries. */ - #undef INCLUDE_X86_ISA_LEVEL - -+/* The x86 ISA level. 1 for baseline. Undefined on non-x86. */ -+#undef MINIMUM_X86_ISA_LEVEL -+ - /* Define if -msahf is enabled by default on x86. */ - #undef HAVE_X86_LAHF_SAHF - -diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure -index 2a5421bb31..d28d9bcb29 100644 ---- a/sysdeps/x86/configure -+++ b/sysdeps/x86/configure -@@ -151,6 +151,13 @@ printf "%s\n" "$libc_cv_have_x86_isa_level" >&6; } - else - libc_cv_have_x86_isa_level=baseline - fi -+if test $libc_cv_have_x86_isa_level = baseline; then -+ printf "%s\n" "#define MINIMUM_X86_ISA_LEVEL 1" >>confdefs.h -+ -+else -+ printf "%s\n" "#define MINIMUM_X86_ISA_LEVEL $libc_cv_have_x86_isa_level" >>confdefs.h -+ -+fi - config_vars="$config_vars - have-x86-isa-level = $libc_cv_have_x86_isa_level" - config_vars="$config_vars -diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac -index 78ff7c8f41..5b0acd03d2 100644 ---- a/sysdeps/x86/configure.ac -+++ b/sysdeps/x86/configure.ac -@@ -105,6 +105,11 @@ EOF - else - libc_cv_have_x86_isa_level=baseline - fi -+if test $libc_cv_have_x86_isa_level = baseline; then -+ AC_DEFINE_UNQUOTED(MINIMUM_X86_ISA_LEVEL, 1) -+else -+ AC_DEFINE_UNQUOTED(MINIMUM_X86_ISA_LEVEL, $libc_cv_have_x86_isa_level) -+fi - LIBC_CONFIG_VAR([have-x86-isa-level], [$libc_cv_have_x86_isa_level]) - LIBC_CONFIG_VAR([x86-isa-level-3-or-above], [3 4]) - LIBC_CONFIG_VAR([enable-x86-isa-level], [$libc_cv_include_x86_isa_level]) -diff --git a/sysdeps/x86/isa-level.h b/sysdeps/x86/isa-level.h -index 11fe1ca90c..2c7f74212b 100644 ---- a/sysdeps/x86/isa-level.h -+++ b/sysdeps/x86/isa-level.h -@@ -61,8 +61,10 @@ - # define __X86_ISA_V4 0 - #endif - --#define MINIMUM_X86_ISA_LEVEL \ -+#ifndef MINIMUM_X86_ISA_LEVEL -+# define MINIMUM_X86_ISA_LEVEL \ - (__X86_ISA_V1 + __X86_ISA_V2 + __X86_ISA_V3 + __X86_ISA_V4) -+#endif - - /* Depending on the minimum ISA level, a feature check result can be a - compile-time constant.. */ - -commit 1263d583d2e28afb8be53f8d6922f0842036f35d -Author: Florian Weimer -Date: Thu Apr 25 15:00:45 2024 +0200 - - CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup cache (bug 31677) - - Using alloca matches what other caches do. The request length is - bounded by MAXKEYLEN. - - Reviewed-by: Carlos O'Donell - (cherry picked from commit 87801a8fd06db1d654eea3e4f7626ff476a9bdaa) - -diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c -index 0c6e46f15c..f227dc7fa2 100644 ---- a/nscd/netgroupcache.c -+++ b/nscd/netgroupcache.c -@@ -502,12 +502,13 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, - = (struct indataset *) mempool_alloc (db, - sizeof (*dataset) + req->key_len, - 1); -- struct indataset dataset_mem; - bool cacheable = true; - if (__glibc_unlikely (dataset == NULL)) - { - cacheable = false; -- dataset = &dataset_mem; -+ /* The alloca is safe because nscd_run_worker verfies that -+ key_len is not larger than MAXKEYLEN. */ -+ dataset = alloca (sizeof (*dataset) + req->key_len); - } - - datahead_init_pos (&dataset->head, sizeof (*dataset) + req->key_len, - -commit 5a508e0b508c8ad53bd0d2fb48fd71b242626341 -Author: Florian Weimer -Date: Thu Apr 25 15:01:07 2024 +0200 - - CVE-2024-33600: nscd: Do not send missing not-found response in addgetnetgrentX (bug 31678) - - If we failed to add a not-found response to the cache, the dataset - point can be null, resulting in a null pointer dereference. - - Reviewed-by: Siddhesh Poyarekar - (cherry picked from commit 7835b00dbce53c3c87bbbb1754a95fb5e58187aa) - -diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c -index f227dc7fa2..c18fe111f3 100644 ---- a/nscd/netgroupcache.c -+++ b/nscd/netgroupcache.c -@@ -147,7 +147,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - /* No such service. */ - cacheable = do_notfound (db, fd, req, key, &dataset, &total, &timeout, - &key_copy); -- goto writeout; -+ goto maybe_cache_add; - } - - memset (&data, '\0', sizeof (data)); -@@ -348,7 +348,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - { - cacheable = do_notfound (db, fd, req, key, &dataset, &total, &timeout, - &key_copy); -- goto writeout; -+ goto maybe_cache_add; - } - - total = buffilled; -@@ -410,14 +410,12 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - } - - if (he == NULL && fd != -1) -- { -- /* We write the dataset before inserting it to the database -- since while inserting this thread might block and so would -- unnecessarily let the receiver wait. */ -- writeout: -+ /* We write the dataset before inserting it to the database since -+ while inserting this thread might block and so would -+ unnecessarily let the receiver wait. */ - writeall (fd, &dataset->resp, dataset->head.recsize); -- } - -+ maybe_cache_add: - if (cacheable) - { - /* If necessary, we also propagate the data to disk. */ - -commit c99f886de54446cd4447db6b44be93dabbdc2f8b -Author: Florian Weimer -Date: Thu Apr 25 15:01:07 2024 +0200 - - CVE-2024-33600: nscd: Avoid null pointer crashes after notfound response (bug 31678) - - The addgetnetgrentX call in addinnetgrX may have failed to produce - a result, so the result variable in addinnetgrX can be NULL. - Use db->negtimeout as the fallback value if there is no result data; - the timeout is also overwritten below. - - Also avoid sending a second not-found response. (The client - disconnects after receiving the first response, so the data stream did - not go out of sync even without this fix.) It is still beneficial to - add the negative response to the mapping, so that the client can get - it from there in the future, instead of going through the socket. - - Reviewed-by: Siddhesh Poyarekar - (cherry picked from commit b048a482f088e53144d26a61c390bed0210f49f2) - -diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c -index c18fe111f3..e22ffa5884 100644 ---- a/nscd/netgroupcache.c -+++ b/nscd/netgroupcache.c -@@ -511,14 +511,15 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, - - datahead_init_pos (&dataset->head, sizeof (*dataset) + req->key_len, - sizeof (innetgroup_response_header), -- he == NULL ? 0 : dh->nreloads + 1, result->head.ttl); -+ he == NULL ? 0 : dh->nreloads + 1, -+ result == NULL ? db->negtimeout : result->head.ttl); - /* Set the notfound status and timeout based on the result from - getnetgrent. */ -- dataset->head.notfound = result->head.notfound; -+ dataset->head.notfound = result == NULL || result->head.notfound; - dataset->head.timeout = timeout; - - dataset->resp.version = NSCD_VERSION; -- dataset->resp.found = result->resp.found; -+ dataset->resp.found = result != NULL && result->resp.found; - /* Until we find a matching entry the result is 0. */ - dataset->resp.result = 0; - -@@ -566,7 +567,9 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, - goto out; - } - -- if (he == NULL) -+ /* addgetnetgrentX may have already sent a notfound response. Do -+ not send another one. */ -+ if (he == NULL && dataset->resp.found) - { - /* We write the dataset before inserting it to the database - since while inserting this thread might block and so would - -commit a9a8d3eebb145779a18d90e3966009a1daa63cd8 -Author: Florian Weimer -Date: Thu Apr 25 15:01:07 2024 +0200 - - CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX (bug 31680) - - This avoids potential memory corruption when the underlying NSS - callback function does not use the buffer space to store all strings - (e.g., for constant strings). - - Instead of custom buffer management, two scratch buffers are used. - This increases stack usage somewhat. - - Scratch buffer allocation failure is handled by return -1 - (an invalid timeout value) instead of terminating the process. - This fixes bug 31679. - - Reviewed-by: Siddhesh Poyarekar - (cherry picked from commit c04a21e050d64a1193a6daab872bca2528bda44b) - -diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c -index e22ffa5884..e8fe041846 100644 ---- a/nscd/netgroupcache.c -+++ b/nscd/netgroupcache.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #include "../nss/netgroup.h" - #include "nscd.h" -@@ -65,6 +66,16 @@ struct dataset - char strdata[0]; - }; - -+/* Send a notfound response to FD. Always returns -1 to indicate an -+ ephemeral error. */ -+static time_t -+send_notfound (int fd) -+{ -+ if (fd != -1) -+ TEMP_FAILURE_RETRY (send (fd, ¬found, sizeof (notfound), MSG_NOSIGNAL)); -+ return -1; -+} -+ - /* Sends a notfound message and prepares a notfound dataset to write to the - cache. Returns true if there was enough memory to allocate the dataset and - returns the dataset in DATASETP, total bytes to write in TOTALP and the -@@ -83,8 +94,7 @@ do_notfound (struct database_dyn *db, int fd, request_header *req, - total = sizeof (notfound); - timeout = time (NULL) + db->negtimeout; - -- if (fd != -1) -- TEMP_FAILURE_RETRY (send (fd, ¬found, total, MSG_NOSIGNAL)); -+ send_notfound (fd); - - dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1); - /* If we cannot permanently store the result, so be it. */ -@@ -109,11 +119,78 @@ do_notfound (struct database_dyn *db, int fd, request_header *req, - return cacheable; - } - -+struct addgetnetgrentX_scratch -+{ -+ /* This is the result that the caller should use. It can be NULL, -+ point into buffer, or it can be in the cache. */ -+ struct dataset *dataset; -+ -+ struct scratch_buffer buffer; -+ -+ /* Used internally in addgetnetgrentX as a staging area. */ -+ struct scratch_buffer tmp; -+ -+ /* Number of bytes in buffer that are actually used. */ -+ size_t buffer_used; -+}; -+ -+static void -+addgetnetgrentX_scratch_init (struct addgetnetgrentX_scratch *scratch) -+{ -+ scratch->dataset = NULL; -+ scratch_buffer_init (&scratch->buffer); -+ scratch_buffer_init (&scratch->tmp); -+ -+ /* Reserve space for the header. */ -+ scratch->buffer_used = sizeof (struct dataset); -+ static_assert (sizeof (struct dataset) < sizeof (scratch->tmp.__space), -+ "initial buffer space"); -+ memset (scratch->tmp.data, 0, sizeof (struct dataset)); -+} -+ -+static void -+addgetnetgrentX_scratch_free (struct addgetnetgrentX_scratch *scratch) -+{ -+ scratch_buffer_free (&scratch->buffer); -+ scratch_buffer_free (&scratch->tmp); -+} -+ -+/* Copy LENGTH bytes from S into SCRATCH. Returns NULL if SCRATCH -+ could not be resized, otherwise a pointer to the copy. */ -+static char * -+addgetnetgrentX_append_n (struct addgetnetgrentX_scratch *scratch, -+ const char *s, size_t length) -+{ -+ while (true) -+ { -+ size_t remaining = scratch->buffer.length - scratch->buffer_used; -+ if (remaining >= length) -+ break; -+ if (!scratch_buffer_grow_preserve (&scratch->buffer)) -+ return NULL; -+ } -+ char *copy = scratch->buffer.data + scratch->buffer_used; -+ memcpy (copy, s, length); -+ scratch->buffer_used += length; -+ return copy; -+} -+ -+/* Copy S into SCRATCH, including its null terminator. Returns false -+ if SCRATCH could not be resized. */ -+static bool -+addgetnetgrentX_append (struct addgetnetgrentX_scratch *scratch, const char *s) -+{ -+ if (s == NULL) -+ s = ""; -+ return addgetnetgrentX_append_n (scratch, s, strlen (s) + 1) != NULL; -+} -+ -+/* Caller must initialize and free *SCRATCH. If the return value is -+ negative, this function has sent a notfound response. */ - static time_t - addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - const char *key, uid_t uid, struct hashentry *he, -- struct datahead *dh, struct dataset **resultp, -- void **tofreep) -+ struct datahead *dh, struct addgetnetgrentX_scratch *scratch) - { - if (__glibc_unlikely (debug_level > 0)) - { -@@ -132,14 +209,10 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - - char *key_copy = NULL; - struct __netgrent data; -- size_t buflen = MAX (1024, sizeof (*dataset) + req->key_len); -- size_t buffilled = sizeof (*dataset); -- char *buffer = NULL; - size_t nentries = 0; - size_t group_len = strlen (key) + 1; - struct name_list *first_needed - = alloca (sizeof (struct name_list) + group_len); -- *tofreep = NULL; - - if (netgroup_database == NULL - && !__nss_database_get (nss_database_netgroup, &netgroup_database)) -@@ -151,8 +224,6 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - } - - memset (&data, '\0', sizeof (data)); -- buffer = xmalloc (buflen); -- *tofreep = buffer; - first_needed->next = first_needed; - memcpy (first_needed->name, key, group_len); - data.needed_groups = first_needed; -@@ -195,8 +266,8 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - while (1) - { - int e; -- status = getfct.f (&data, buffer + buffilled, -- buflen - buffilled - req->key_len, &e); -+ status = getfct.f (&data, scratch->tmp.data, -+ scratch->tmp.length, &e); - if (status == NSS_STATUS_SUCCESS) - { - if (data.type == triple_val) -@@ -204,68 +275,10 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - const char *nhost = data.val.triple.host; - const char *nuser = data.val.triple.user; - const char *ndomain = data.val.triple.domain; -- -- size_t hostlen = strlen (nhost ?: "") + 1; -- size_t userlen = strlen (nuser ?: "") + 1; -- size_t domainlen = strlen (ndomain ?: "") + 1; -- -- if (nhost == NULL || nuser == NULL || ndomain == NULL -- || nhost > nuser || nuser > ndomain) -- { -- const char *last = nhost; -- if (last == NULL -- || (nuser != NULL && nuser > last)) -- last = nuser; -- if (last == NULL -- || (ndomain != NULL && ndomain > last)) -- last = ndomain; -- -- size_t bufused -- = (last == NULL -- ? buffilled -- : last + strlen (last) + 1 - buffer); -- -- /* We have to make temporary copies. */ -- size_t needed = hostlen + userlen + domainlen; -- -- if (buflen - req->key_len - bufused < needed) -- { -- buflen += MAX (buflen, 2 * needed); -- /* Save offset in the old buffer. We don't -- bother with the NULL check here since -- we'll do that later anyway. */ -- size_t nhostdiff = nhost - buffer; -- size_t nuserdiff = nuser - buffer; -- size_t ndomaindiff = ndomain - buffer; -- -- char *newbuf = xrealloc (buffer, buflen); -- /* Fix up the triplet pointers into the new -- buffer. */ -- nhost = (nhost ? newbuf + nhostdiff -- : NULL); -- nuser = (nuser ? newbuf + nuserdiff -- : NULL); -- ndomain = (ndomain ? newbuf + ndomaindiff -- : NULL); -- *tofreep = buffer = newbuf; -- } -- -- nhost = memcpy (buffer + bufused, -- nhost ?: "", hostlen); -- nuser = memcpy ((char *) nhost + hostlen, -- nuser ?: "", userlen); -- ndomain = memcpy ((char *) nuser + userlen, -- ndomain ?: "", domainlen); -- } -- -- char *wp = buffer + buffilled; -- wp = memmove (wp, nhost ?: "", hostlen); -- wp += hostlen; -- wp = memmove (wp, nuser ?: "", userlen); -- wp += userlen; -- wp = memmove (wp, ndomain ?: "", domainlen); -- wp += domainlen; -- buffilled = wp - buffer; -+ if (!(addgetnetgrentX_append (scratch, nhost) -+ && addgetnetgrentX_append (scratch, nuser) -+ && addgetnetgrentX_append (scratch, ndomain))) -+ return send_notfound (fd); - ++nentries; - } - else -@@ -317,8 +330,8 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - } - else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE) - { -- buflen *= 2; -- *tofreep = buffer = xrealloc (buffer, buflen); -+ if (!scratch_buffer_grow (&scratch->tmp)) -+ return send_notfound (fd); - } - else if (status == NSS_STATUS_RETURN - || status == NSS_STATUS_NOTFOUND -@@ -351,10 +364,17 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - goto maybe_cache_add; - } - -- total = buffilled; -+ /* Capture the result size without the key appended. */ -+ total = scratch->buffer_used; -+ -+ /* Make a copy of the key. The scratch buffer must not move after -+ this point. */ -+ key_copy = addgetnetgrentX_append_n (scratch, key, req->key_len); -+ if (key_copy == NULL) -+ return send_notfound (fd); - - /* Fill in the dataset. */ -- dataset = (struct dataset *) buffer; -+ dataset = scratch->buffer.data; - timeout = datahead_init_pos (&dataset->head, total + req->key_len, - total - offsetof (struct dataset, resp), - he == NULL ? 0 : dh->nreloads + 1, -@@ -363,11 +383,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - dataset->resp.version = NSCD_VERSION; - dataset->resp.found = 1; - dataset->resp.nresults = nentries; -- dataset->resp.result_len = buffilled - sizeof (*dataset); -- -- assert (buflen - buffilled >= req->key_len); -- key_copy = memcpy (buffer + buffilled, key, req->key_len); -- buffilled += req->key_len; -+ dataset->resp.result_len = total - sizeof (*dataset); - - /* Now we can determine whether on refill we have to create a new - record or not. */ -@@ -398,7 +414,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - if (__glibc_likely (newp != NULL)) - { - /* Adjust pointer into the memory block. */ -- key_copy = (char *) newp + (key_copy - buffer); -+ key_copy = (char *) newp + (key_copy - (char *) dataset); - - dataset = memcpy (newp, dataset, total + req->key_len); - cacheable = true; -@@ -439,7 +455,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - } - - out: -- *resultp = dataset; -+ scratch->dataset = dataset; - - return timeout; - } -@@ -460,6 +476,9 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, - if (user != NULL) - key = strchr (key, '\0') + 1; - const char *domain = *key++ ? key : NULL; -+ struct addgetnetgrentX_scratch scratch; -+ -+ addgetnetgrentX_scratch_init (&scratch); - - if (__glibc_unlikely (debug_level > 0)) - { -@@ -475,12 +494,8 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, - group, group_len, - db, uid); - time_t timeout; -- void *tofree; - if (result != NULL) -- { -- timeout = result->head.timeout; -- tofree = NULL; -- } -+ timeout = result->head.timeout; - else - { - request_header req_get = -@@ -489,7 +504,10 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, - .key_len = group_len - }; - timeout = addgetnetgrentX (db, -1, &req_get, group, uid, NULL, NULL, -- &result, &tofree); -+ &scratch); -+ result = scratch.dataset; -+ if (timeout < 0) -+ goto out; - } - - struct indataset -@@ -603,7 +621,7 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, - } - - out: -- free (tofree); -+ addgetnetgrentX_scratch_free (&scratch); - return timeout; - } - -@@ -613,11 +631,12 @@ addgetnetgrentX_ignore (struct database_dyn *db, int fd, request_header *req, - const char *key, uid_t uid, struct hashentry *he, - struct datahead *dh) - { -- struct dataset *ignore; -- void *tofree; -- time_t timeout = addgetnetgrentX (db, fd, req, key, uid, he, dh, -- &ignore, &tofree); -- free (tofree); -+ struct addgetnetgrentX_scratch scratch; -+ addgetnetgrentX_scratch_init (&scratch); -+ time_t timeout = addgetnetgrentX (db, fd, req, key, uid, he, dh, &scratch); -+ addgetnetgrentX_scratch_free (&scratch); -+ if (timeout < 0) -+ timeout = 0; - return timeout; - } - -@@ -661,5 +680,9 @@ readdinnetgr (struct database_dyn *db, struct hashentry *he, - .key_len = he->len - }; - -- return addinnetgrX (db, -1, &req, db->data + he->key, he->owner, he, dh); -+ int timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner, -+ he, dh); -+ if (timeout < 0) -+ timeout = 0; -+ return timeout; - } - -commit fd658f026f25cf59e8db243bc3b3e09cd5a20ba0 -Author: H.J. Lu -Date: Thu Apr 25 08:06:52 2024 -0700 - - elf: Also compile dl-misc.os with $(rtld-early-cflags) - - Also compile dl-misc.os with $(rtld-early-cflags) to avoid - - Program received signal SIGILL, Illegal instruction. - 0x00007ffff7fd36ea in _dl_strtoul (nptr=nptr@entry=0x7fffffffe2c9 "2", - endptr=endptr@entry=0x7fffffffd728) at dl-misc.c:156 - 156 bool positive = true; - (gdb) bt - #0 0x00007ffff7fd36ea in _dl_strtoul (nptr=nptr@entry=0x7fffffffe2c9 "2", - endptr=endptr@entry=0x7fffffffd728) at dl-misc.c:156 - #1 0x00007ffff7fdb1a9 in tunable_initialize ( - cur=cur@entry=0x7ffff7ffbc00 , - strval=strval@entry=0x7fffffffe2c9 "2", len=len@entry=1) - at dl-tunables.c:131 - #2 0x00007ffff7fdb3a2 in parse_tunables (valstring=) - at dl-tunables.c:258 - #3 0x00007ffff7fdb5d9 in __GI___tunables_init (envp=0x7fffffffdd58) - at dl-tunables.c:288 - #4 0x00007ffff7fe44c3 in _dl_sysdep_start ( - start_argptr=start_argptr@entry=0x7fffffffdcb0, - dl_main=dl_main@entry=0x7ffff7fe5f80 ) - at ../sysdeps/unix/sysv/linux/dl-sysdep.c:110 - #5 0x00007ffff7fe5cae in _dl_start_final (arg=0x7fffffffdcb0) at rtld.c:494 - #6 _dl_start (arg=0x7fffffffdcb0) at rtld.c:581 - #7 0x00007ffff7fe4b38 in _start () - (gdb) - - when setting GLIBC_TUNABLES in glibc compiled with APX. - Reviewed-by: Florian Weimer - - (cherry picked from commit 049b7684c912dd32b67b1b15b0f43bf07d5f512e) - -diff --git a/elf/Makefile b/elf/Makefile -index 69aa423c4b..a50a988e73 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -170,6 +170,7 @@ CFLAGS-.op += $(call elide-stack-protector,.op,$(elide-routines.os)) - CFLAGS-.os += $(call elide-stack-protector,.os,$(all-rtld-routines)) - - # Add the requested compiler flags to the early startup code. -+CFLAGS-dl-misc.os += $(rtld-early-cflags) - CFLAGS-dl-printf.os += $(rtld-early-cflags) - CFLAGS-dl-setup_hash.os += $(rtld-early-cflags) - CFLAGS-dl-sysdep.os += $(rtld-early-cflags) - -commit 9831f98c266a8d56d1bf729b709c08e40375540c -Author: Florian Weimer -Date: Fri Apr 19 14:38:17 2024 +0200 - - login: Check default sizes of structs utmp, utmpx, lastlog - - The default is for ports with a 64-bit time_t. - Ports with a 32-bit time_t or with __WORDSIZE_TIME64_COMPAT32=1 - need to override it. - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 4d4da5aab936504b2d3eca3146e109630d9093c4) - -diff --git a/login/Makefile b/login/Makefile -index 1e22008a61..b26ac42bfc 100644 ---- a/login/Makefile -+++ b/login/Makefile -@@ -44,7 +44,7 @@ subdir-dirs = programs - vpath %.c programs - - tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname tst-getlogin tst-updwtmpx \ -- tst-pututxline-lockfail tst-pututxline-cache -+ tst-pututxline-lockfail tst-pututxline-cache tst-utmp-size - - # Empty compatibility library for old binaries. - extra-libs := libutil -diff --git a/login/tst-utmp-size.c b/login/tst-utmp-size.c -new file mode 100644 -index 0000000000..1b7f7ff042 ---- /dev/null -+++ b/login/tst-utmp-size.c -@@ -0,0 +1,33 @@ -+/* Check expected sizes of struct utmp, struct utmpx, struct lastlog. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#include -+#include -+#include -+ -+static int -+do_test (void) -+{ -+ _Static_assert (sizeof (struct utmp) == UTMP_SIZE, "struct utmp size"); -+ _Static_assert (sizeof (struct utmpx) == UTMP_SIZE, "struct utmpx size"); -+ _Static_assert (sizeof (struct lastlog) == LASTLOG_SIZE, -+ "struct lastlog size"); -+ return 0; -+} -+ -+#include -diff --git a/sysdeps/arc/utmp-size.h b/sysdeps/arc/utmp-size.h -new file mode 100644 -index 0000000000..a247fcd3da ---- /dev/null -+++ b/sysdeps/arc/utmp-size.h -@@ -0,0 +1,3 @@ -+/* arc has less padding than other architectures with 64-bit time_t. */ -+#define UTMP_SIZE 392 -+#define LASTLOG_SIZE 296 -diff --git a/sysdeps/arm/utmp-size.h b/sysdeps/arm/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/arm/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/csky/utmp-size.h b/sysdeps/csky/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/csky/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/generic/utmp-size.h b/sysdeps/generic/utmp-size.h -new file mode 100644 -index 0000000000..89dbe878b0 ---- /dev/null -+++ b/sysdeps/generic/utmp-size.h -@@ -0,0 +1,23 @@ -+/* Expected sizes of utmp-related structures stored in files. 64-bit version. -+ Copyright (C) 2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+/* Expected size, in bytes, of struct utmp and struct utmpx. */ -+#define UTMP_SIZE 400 -+ -+/* Expected size, in bytes, of struct lastlog. */ -+#define LASTLOG_SIZE 296 -diff --git a/sysdeps/hppa/utmp-size.h b/sysdeps/hppa/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/hppa/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/m68k/utmp-size.h b/sysdeps/m68k/utmp-size.h -new file mode 100644 -index 0000000000..5946685819 ---- /dev/null -+++ b/sysdeps/m68k/utmp-size.h -@@ -0,0 +1,3 @@ -+/* m68k has 2-byte alignment. */ -+#define UTMP_SIZE 382 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/microblaze/utmp-size.h b/sysdeps/microblaze/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/microblaze/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/mips/utmp-size.h b/sysdeps/mips/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/mips/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/nios2/utmp-size.h b/sysdeps/nios2/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/nios2/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/or1k/utmp-size.h b/sysdeps/or1k/utmp-size.h -new file mode 100644 -index 0000000000..6b3653aa4d ---- /dev/null -+++ b/sysdeps/or1k/utmp-size.h -@@ -0,0 +1,3 @@ -+/* or1k has less padding than other architectures with 64-bit time_t. */ -+#define UTMP_SIZE 392 -+#define LASTLOG_SIZE 296 -diff --git a/sysdeps/powerpc/utmp-size.h b/sysdeps/powerpc/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/powerpc/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/riscv/utmp-size.h b/sysdeps/riscv/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/riscv/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/sh/utmp-size.h b/sysdeps/sh/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/sh/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/sparc/utmp-size.h b/sysdeps/sparc/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/sparc/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 -diff --git a/sysdeps/x86/utmp-size.h b/sysdeps/x86/utmp-size.h -new file mode 100644 -index 0000000000..8f21ebe1b6 ---- /dev/null -+++ b/sysdeps/x86/utmp-size.h -@@ -0,0 +1,2 @@ -+#define UTMP_SIZE 384 -+#define LASTLOG_SIZE 292 - -commit 836d43b98973e0845b739ff5d3aad3af09dc7d0f -Author: Florian Weimer -Date: Fri Apr 19 14:38:17 2024 +0200 - - login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) - - These structs describe file formats under /var/log, and should not - depend on the definition of _TIME_BITS. This is achieved by - defining __WORDSIZE_TIME64_COMPAT32 to 1 on 32-bit ports that - support 32-bit time_t values (where __time_t is 32 bits). - - Reviewed-by: Adhemerval Zanella - (cherry picked from commit 9abdae94c7454c45e02e97e4ed1eb1b1915d13d8) - -diff --git a/bits/wordsize.h b/bits/wordsize.h -index 14edae3a11..53013a9275 100644 ---- a/bits/wordsize.h -+++ b/bits/wordsize.h -@@ -21,7 +21,9 @@ - #define __WORDSIZE32_PTRDIFF_LONG - - /* Set to 1 in order to force time types to be 32 bits instead of 64 bits in -- struct lastlog and struct utmp{,x} on 64-bit ports. This may be done in -+ struct lastlog and struct utmp{,x}. This may be done in - order to make 64-bit ports compatible with 32-bit ports. Set to 0 for -- 64-bit ports where the time types are 64-bits or for any 32-bit ports. */ -+ 64-bit ports where the time types are 64-bits and new 32-bit ports -+ where time_t is 64 bits, and there is no companion architecture with -+ 32-bit time_t. */ - #define __WORDSIZE_TIME64_COMPAT32 -diff --git a/login/Makefile b/login/Makefile -index b26ac42bfc..f91190e3dc 100644 ---- a/login/Makefile -+++ b/login/Makefile -@@ -44,7 +44,9 @@ subdir-dirs = programs - vpath %.c programs - - tests := tst-utmp tst-utmpx tst-grantpt tst-ptsname tst-getlogin tst-updwtmpx \ -- tst-pututxline-lockfail tst-pututxline-cache tst-utmp-size -+ tst-pututxline-lockfail tst-pututxline-cache tst-utmp-size tst-utmp-size-64 -+ -+CFLAGS-tst-utmp-size-64.c += -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 - - # Empty compatibility library for old binaries. - extra-libs := libutil -diff --git a/login/tst-utmp-size-64.c b/login/tst-utmp-size-64.c -new file mode 100644 -index 0000000000..7a581a4c12 ---- /dev/null -+++ b/login/tst-utmp-size-64.c -@@ -0,0 +1,2 @@ -+/* The on-disk layout must not change in time64 mode. */ -+#include "tst-utmp-size.c" -diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h -new file mode 100644 -index 0000000000..6ecbfe7c86 ---- /dev/null -+++ b/sysdeps/arm/bits/wordsize.h -@@ -0,0 +1,21 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#define __WORDSIZE 32 -+#define __WORDSIZE_TIME64_COMPAT32 1 -+#define __WORDSIZE32_SIZE_ULONG 0 -+#define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/csky/bits/wordsize.h b/sysdeps/csky/bits/wordsize.h -new file mode 100644 -index 0000000000..6ecbfe7c86 ---- /dev/null -+++ b/sysdeps/csky/bits/wordsize.h -@@ -0,0 +1,21 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#define __WORDSIZE 32 -+#define __WORDSIZE_TIME64_COMPAT32 1 -+#define __WORDSIZE32_SIZE_ULONG 0 -+#define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/m68k/bits/wordsize.h b/sysdeps/m68k/bits/wordsize.h -new file mode 100644 -index 0000000000..6ecbfe7c86 ---- /dev/null -+++ b/sysdeps/m68k/bits/wordsize.h -@@ -0,0 +1,21 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#define __WORDSIZE 32 -+#define __WORDSIZE_TIME64_COMPAT32 1 -+#define __WORDSIZE32_SIZE_ULONG 0 -+#define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/microblaze/bits/wordsize.h b/sysdeps/microblaze/bits/wordsize.h -new file mode 100644 -index 0000000000..6ecbfe7c86 ---- /dev/null -+++ b/sysdeps/microblaze/bits/wordsize.h -@@ -0,0 +1,21 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#define __WORDSIZE 32 -+#define __WORDSIZE_TIME64_COMPAT32 1 -+#define __WORDSIZE32_SIZE_ULONG 0 -+#define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/mips/bits/wordsize.h b/sysdeps/mips/bits/wordsize.h -index 57f0f2a22f..30dd3fd85d 100644 ---- a/sysdeps/mips/bits/wordsize.h -+++ b/sysdeps/mips/bits/wordsize.h -@@ -19,11 +19,7 @@ - - #define __WORDSIZE _MIPS_SZPTR - --#if _MIPS_SIM == _ABI64 --# define __WORDSIZE_TIME64_COMPAT32 1 --#else --# define __WORDSIZE_TIME64_COMPAT32 0 --#endif -+#define __WORDSIZE_TIME64_COMPAT32 1 - - #if __WORDSIZE == 32 - #define __WORDSIZE32_SIZE_ULONG 0 -diff --git a/sysdeps/nios2/bits/wordsize.h b/sysdeps/nios2/bits/wordsize.h -new file mode 100644 -index 0000000000..6ecbfe7c86 ---- /dev/null -+++ b/sysdeps/nios2/bits/wordsize.h -@@ -0,0 +1,21 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#define __WORDSIZE 32 -+#define __WORDSIZE_TIME64_COMPAT32 1 -+#define __WORDSIZE32_SIZE_ULONG 0 -+#define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/powerpc/powerpc32/bits/wordsize.h b/sysdeps/powerpc/powerpc32/bits/wordsize.h -index 04ca9debf0..6993fb6b29 100644 ---- a/sysdeps/powerpc/powerpc32/bits/wordsize.h -+++ b/sysdeps/powerpc/powerpc32/bits/wordsize.h -@@ -2,10 +2,9 @@ - - #if defined __powerpc64__ - # define __WORDSIZE 64 --# define __WORDSIZE_TIME64_COMPAT32 1 - #else - # define __WORDSIZE 32 --# define __WORDSIZE_TIME64_COMPAT32 0 - # define __WORDSIZE32_SIZE_ULONG 0 - # define __WORDSIZE32_PTRDIFF_LONG 0 - #endif -+#define __WORDSIZE_TIME64_COMPAT32 1 -diff --git a/sysdeps/powerpc/powerpc64/bits/wordsize.h b/sysdeps/powerpc/powerpc64/bits/wordsize.h -index 04ca9debf0..6993fb6b29 100644 ---- a/sysdeps/powerpc/powerpc64/bits/wordsize.h -+++ b/sysdeps/powerpc/powerpc64/bits/wordsize.h -@@ -2,10 +2,9 @@ - - #if defined __powerpc64__ - # define __WORDSIZE 64 --# define __WORDSIZE_TIME64_COMPAT32 1 - #else - # define __WORDSIZE 32 --# define __WORDSIZE_TIME64_COMPAT32 0 - # define __WORDSIZE32_SIZE_ULONG 0 - # define __WORDSIZE32_PTRDIFF_LONG 0 - #endif -+#define __WORDSIZE_TIME64_COMPAT32 1 -diff --git a/sysdeps/sh/bits/wordsize.h b/sysdeps/sh/bits/wordsize.h -new file mode 100644 -index 0000000000..6ecbfe7c86 ---- /dev/null -+++ b/sysdeps/sh/bits/wordsize.h -@@ -0,0 +1,21 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#define __WORDSIZE 32 -+#define __WORDSIZE_TIME64_COMPAT32 1 -+#define __WORDSIZE32_SIZE_ULONG 0 -+#define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/sparc/sparc32/bits/wordsize.h b/sysdeps/sparc/sparc32/bits/wordsize.h -index 4bbd2e63b4..a2e79e0fa9 100644 ---- a/sysdeps/sparc/sparc32/bits/wordsize.h -+++ b/sysdeps/sparc/sparc32/bits/wordsize.h -@@ -1,6 +1,6 @@ - /* Determine the wordsize from the preprocessor defines. */ - - #define __WORDSIZE 32 --#define __WORDSIZE_TIME64_COMPAT32 0 -+#define __WORDSIZE_TIME64_COMPAT32 1 - #define __WORDSIZE32_SIZE_ULONG 0 - #define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/sparc/sparc64/bits/wordsize.h b/sysdeps/sparc/sparc64/bits/wordsize.h -index 2f66f10d72..ea103e5970 100644 ---- a/sysdeps/sparc/sparc64/bits/wordsize.h -+++ b/sysdeps/sparc/sparc64/bits/wordsize.h -@@ -2,10 +2,9 @@ - - #if defined __arch64__ || defined __sparcv9 - # define __WORDSIZE 64 --# define __WORDSIZE_TIME64_COMPAT32 1 - #else - # define __WORDSIZE 32 --# define __WORDSIZE_TIME64_COMPAT32 0 - # define __WORDSIZE32_SIZE_ULONG 0 - # define __WORDSIZE32_PTRDIFF_LONG 0 - #endif -+#define __WORDSIZE_TIME64_COMPAT32 1 -diff --git a/sysdeps/unix/sysv/linux/hppa/bits/wordsize.h b/sysdeps/unix/sysv/linux/hppa/bits/wordsize.h -new file mode 100644 -index 0000000000..6ecbfe7c86 ---- /dev/null -+++ b/sysdeps/unix/sysv/linux/hppa/bits/wordsize.h -@@ -0,0 +1,21 @@ -+/* Copyright (C) 1999-2024 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ . */ -+ -+#define __WORDSIZE 32 -+#define __WORDSIZE_TIME64_COMPAT32 1 -+#define __WORDSIZE32_SIZE_ULONG 0 -+#define __WORDSIZE32_PTRDIFF_LONG 0 -diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h b/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h -index 04ca9debf0..6993fb6b29 100644 ---- a/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h -+++ b/sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h -@@ -2,10 +2,9 @@ - - #if defined __powerpc64__ - # define __WORDSIZE 64 --# define __WORDSIZE_TIME64_COMPAT32 1 - #else - # define __WORDSIZE 32 --# define __WORDSIZE_TIME64_COMPAT32 0 - # define __WORDSIZE32_SIZE_ULONG 0 - # define __WORDSIZE32_PTRDIFF_LONG 0 - #endif -+#define __WORDSIZE_TIME64_COMPAT32 1 -diff --git a/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h -index 7562875ee2..ea103e5970 100644 ---- a/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h -+++ b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h -@@ -2,10 +2,9 @@ - - #if defined __arch64__ || defined __sparcv9 - # define __WORDSIZE 64 --# define __WORDSIZE_TIME64_COMPAT32 1 - #else - # define __WORDSIZE 32 - # define __WORDSIZE32_SIZE_ULONG 0 - # define __WORDSIZE32_PTRDIFF_LONG 0 --# define __WORDSIZE_TIME64_COMPAT32 0 - #endif -+#define __WORDSIZE_TIME64_COMPAT32 1 -diff --git a/sysdeps/x86/bits/wordsize.h b/sysdeps/x86/bits/wordsize.h -index 70f652bca1..3f40aa76f9 100644 ---- a/sysdeps/x86/bits/wordsize.h -+++ b/sysdeps/x86/bits/wordsize.h -@@ -8,10 +8,9 @@ - #define __WORDSIZE32_PTRDIFF_LONG 0 - #endif - -+#define __WORDSIZE_TIME64_COMPAT32 1 -+ - #ifdef __x86_64__ --# define __WORDSIZE_TIME64_COMPAT32 1 - /* Both x86-64 and x32 use the 64-bit system call interface. */ - # define __SYSCALL_WORDSIZE 64 --#else --# define __WORDSIZE_TIME64_COMPAT32 0 - #endif - -commit acc56074b0a5127631a64640aef1b7c5c103ebd8 -Author: Florian Weimer -Date: Thu May 2 17:06:19 2024 +0200 - - nscd: Use time_t for return type of addgetnetgrentX - - Using int may give false results for future dates (timeouts after the - year 2028). - - Fixes commit 04a21e050d64a1193a6daab872bca2528bda44b ("CVE-2024-33601, - CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX - (bug 31680)"). - - Reviewed-by: Carlos O'Donell - (cherry picked from commit 4bbca1a44691a6e9adcee5c6798a707b626bc331) - -diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c -index e8fe041846..01d554af9c 100644 ---- a/nscd/netgroupcache.c -+++ b/nscd/netgroupcache.c -@@ -680,8 +680,8 @@ readdinnetgr (struct database_dyn *db, struct hashentry *he, - .key_len = he->len - }; - -- int timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner, -- he, dh); -+ time_t timeout = addinnetgrX (db, -1, &req, db->data + he->key, he->owner, -+ he, dh); - if (timeout < 0) - timeout = 0; - return timeout; - -commit 273a835fe7c685cc54266bb8b502787bad5e9bae -Author: Carlos O'Donell -Date: Tue Apr 23 13:30:37 2024 -0400 - - time: Allow later version licensing. - - The FSF's Licensing and Compliance Lab noted a discrepancy in the - licensing of several files in the glibc package. - - When timespect_get.c was impelemented the license did not include - the standard ", or (at your option) any later version." text. - - Change the license in timespec_get.c and all copied files to match - the expected license. - - This change was previously approved in principle by the FSF in - RT ticket #1316403. And a similar instance was fixed in - commit 46703efa02f6ddebce5ee54c92f7c32598de0de6. - - (cherry picked from commit 91695ee4598b39d181ab8df579b888a8863c4cab) - -diff --git a/sysdeps/unix/sysv/linux/timespec_get.c b/sysdeps/unix/sysv/linux/timespec_get.c -index c6e5e66289..778d1e3354 100644 ---- a/sysdeps/unix/sysv/linux/timespec_get.c -+++ b/sysdeps/unix/sysv/linux/timespec_get.c -@@ -5,7 +5,7 @@ - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either -- version 2.1 of the License. -+ version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of -diff --git a/sysdeps/unix/sysv/linux/timespec_getres.c b/sysdeps/unix/sysv/linux/timespec_getres.c -index 5acebe2a2c..2eef9e512c 100644 ---- a/sysdeps/unix/sysv/linux/timespec_getres.c -+++ b/sysdeps/unix/sysv/linux/timespec_getres.c -@@ -5,7 +5,7 @@ - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either -- version 2.1 of the License. -+ version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of -diff --git a/time/timespec_get.c b/time/timespec_get.c -index b031e42ca2..26a044bca6 100644 ---- a/time/timespec_get.c -+++ b/time/timespec_get.c -@@ -4,7 +4,7 @@ - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either -- version 2.1 of the License. -+ version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of -diff --git a/time/timespec_getres.c b/time/timespec_getres.c -index edb397507c..2e18b8bcac 100644 ---- a/time/timespec_getres.c -+++ b/time/timespec_getres.c -@@ -5,7 +5,7 @@ - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either -- version 2.1 of the License. -+ version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - -commit 3148714ab61ad61281bae5a30f530d637034ac3b -Author: Gabi Falk -Date: Tue Apr 30 20:05:02 2024 +0000 - - i586: Fix multiple definitions of __memcpy_chk and __mempcpy_chk - - /home/bmg/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.2.1/../../../../x86_64-glibc-linux-gnu/bin/ld: /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(memcpy_chk.o): in function `__memcpy_chk': - /home/bmg/src/glibc/debug/../sysdeps/i386/memcpy_chk.S:29: multiple definition of `__memcpy_chk';/home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(memcpy.o):/home/bmg/src/glibc/string/../sysdeps/i386/i586/memcpy.S:31: first defined here /home/bmg/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.2.1/../../../../x86_64-glibc-linux-gnu/bin/ld: /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(mempcpy_chk.o): in function `__mempcpy_chk': /home/bmg/src/glibc/debug/../sysdeps/i386/mempcpy_chk.S:28: multiple definition of `__mempcpy_chk'; /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(mempcpy.o):/home/bmg/src/glibc/string/../sysdeps/i386/i586/memcpy.S:31: first defined here - - After this change, the static library built for i586, regardless of PIC - options, contains implementations of these functions respectively from - sysdeps/i386/memcpy_chk.S and sysdeps/i386/mempcpy_chk.S. This ensures - that memcpy and mempcpy won't pull in __chk_fail and the routines it - calls. - - Reported-by: Florian Weimer - Signed-off-by: Gabi Falk - Reviewed-by: H.J. Lu - Reviewed-by: Dmitry V. Levin - (cherry picked from commit 789894a2f554d4503ecb2f13b2b4e93e43414f33) - -diff --git a/sysdeps/i386/i586/memcpy.S b/sysdeps/i386/i586/memcpy.S -index 3e26f112d6..79856d498a 100644 ---- a/sysdeps/i386/i586/memcpy.S -+++ b/sysdeps/i386/i586/memcpy.S -@@ -26,7 +26,7 @@ - #define LEN SRC+4 - - .text --#if defined PIC && IS_IN (libc) -+#if defined SHARED && IS_IN (libc) - ENTRY (__memcpy_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) - -commit ad92c483a4bd34db1cfb3eb625212ea64848244f -Author: Gabi Falk -Date: Tue Apr 30 20:05:03 2024 +0000 - - i686: Fix multiple definitions of __memmove_chk and __memset_chk - - Commit c73c96a4a1af1326df7f96eec58209e1e04066d8 updated memcpy.S and - mempcpy.S, but omitted memmove.S and memset.S. As a result, the static - library built as PIC, whether with or without multiarch support, - contains two definitions for each of the __memmove_chk and __memset_chk - symbols. - - /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../lib/libc.a(memset-ia32.o): in function `__memset_chk': - /var/tmp/portage/sys-libs/glibc-2.39-r3/work/glibc-2.39/string/../sysdeps/i386/i686/memset.S:32: multiple definition of `__memset_chk'; /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../lib/libc.a(memset_chk.o):/var/tmp/portage/sys-libs/glibc-2.39-r3/work/glibc-2.39/debug/../sysdeps/i386/i686/multiarch/memset_chk.c:24: first defined here - - After this change, regardless of PIC options, the static library, built - for i686 with multiarch contains implementations of these functions - respectively from debug/memmove_chk.c and debug/memset_chk.c, and - without multiarch contains implementations of these functions - respectively from sysdeps/i386/memmove_chk.S and - sysdeps/i386/memset_chk.S. This ensures that memmove and memset won't - pull in __chk_fail and the routines it calls. - - Reported-by: Sam James - Tested-by: Sam James - Fixes: c73c96a4a1 ("i686: Fix build with --disable-multiarch") - Signed-off-by: Gabi Falk - Reviewed-by: H.J. Lu - Reviewed-by: Dmitry V. Levin - (cherry picked from commit 5a2cf833f5772d6c37c7adac388dd9af9cc1c4b9) - -diff --git a/sysdeps/i386/i686/memmove.S b/sysdeps/i386/i686/memmove.S -index f230359ad6..effd958120 100644 ---- a/sysdeps/i386/i686/memmove.S -+++ b/sysdeps/i386/i686/memmove.S -@@ -29,7 +29,7 @@ - #define SRC DEST+4 - #define LEN SRC+4 - --#if defined PIC && IS_IN (libc) -+#if defined SHARED && IS_IN (libc) - ENTRY_CHK (__memmove_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) -diff --git a/sysdeps/i386/i686/memset.S b/sysdeps/i386/i686/memset.S -index f02f5a6df7..ab06771ea0 100644 ---- a/sysdeps/i386/i686/memset.S -+++ b/sysdeps/i386/i686/memset.S -@@ -27,7 +27,7 @@ - #define LEN CHR+4 - - .text --#if defined PIC && IS_IN (libc) -+#if defined SHARED && IS_IN (libc) - ENTRY_CHK (__memset_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) - -commit ff110b2591f0bdeccd121c3726af19c62d6fb184 -Author: Gabi Falk -Date: Tue Apr 30 20:05:04 2024 +0000 - - Add a test to check for duplicate definitions in the static library - - This change follows two previous fixes addressing multiple definitions - of __memcpy_chk and __mempcpy_chk functions on i586, and __memmove_chk - and __memset_chk functions on i686. The test is intended to prevent - such issues from occurring in the future. - - Signed-off-by: Gabi Falk - Reviewed-by: H.J. Lu - Reviewed-by: Dmitry V. Levin - (cherry picked from commit ded2e0753e9c46debeb2e0d26c5e560d2581d314) - -diff --git a/Makefile b/Makefile -index 7052b46df8..2e351c0321 100644 ---- a/Makefile -+++ b/Makefile -@@ -577,6 +577,13 @@ $(objpfx)lint-makefiles.out: scripts/lint-makefiles.sh - $(SHELL) $< "$(PYTHON)" `pwd` > $@ ; \ - $(evaluate-test) - -+# Link libc.a as a whole to verify that it does not contain multiple -+# definitions of any symbols. -+tests-special += $(objpfx)link-static-libc.out -+$(objpfx)link-static-libc.out: -+ $(LINK.o) $(whole-archive) -r $(objpfx)libc.a -o /dev/null > $@ 2>&1; \ -+ $(evaluate-test) -+ - # Print test summary for tests in $1 .sum file; - # $2 is optional test identifier. - # Fail if there are unexpected failures in the test results. - -commit fa616ea3730cb42046d19f28d611be0bc390af7c -Author: Sam James -Date: Sat May 4 13:28:13 2024 +0100 - - Revert "Add a test to check for duplicate definitions in the static library" - - This reverts commit ff110b2591f0bdeccd121c3726af19c62d6fb184. - - I had the wrong cherry-pick reference (the commit content is right; it's - just referring to a base that isn't upstream), but let's revert and reapply - for clarity. - - Signed-off-by: Sam James - -diff --git a/Makefile b/Makefile -index 2e351c0321..7052b46df8 100644 ---- a/Makefile -+++ b/Makefile -@@ -577,13 +577,6 @@ $(objpfx)lint-makefiles.out: scripts/lint-makefiles.sh - $(SHELL) $< "$(PYTHON)" `pwd` > $@ ; \ - $(evaluate-test) - --# Link libc.a as a whole to verify that it does not contain multiple --# definitions of any symbols. --tests-special += $(objpfx)link-static-libc.out --$(objpfx)link-static-libc.out: -- $(LINK.o) $(whole-archive) -r $(objpfx)libc.a -o /dev/null > $@ 2>&1; \ -- $(evaluate-test) -- - # Print test summary for tests in $1 .sum file; - # $2 is optional test identifier. - # Fail if there are unexpected failures in the test results. - -commit c16871e662cd0f3370173d916864b19e69f1bc9a -Author: Sam James -Date: Sat May 4 13:28:51 2024 +0100 - - Revert "i686: Fix multiple definitions of __memmove_chk and __memset_chk" - - This reverts commit ad92c483a4bd34db1cfb3eb625212ea64848244f. - - I had the wrong cherry-pick reference (the commit content is right; it's - just referring to a base that isn't upstream), but let's revert and reapply - for clarity. - - Signed-off-by: Sam James - -diff --git a/sysdeps/i386/i686/memmove.S b/sysdeps/i386/i686/memmove.S -index effd958120..f230359ad6 100644 ---- a/sysdeps/i386/i686/memmove.S -+++ b/sysdeps/i386/i686/memmove.S -@@ -29,7 +29,7 @@ - #define SRC DEST+4 - #define LEN SRC+4 - --#if defined SHARED && IS_IN (libc) -+#if defined PIC && IS_IN (libc) - ENTRY_CHK (__memmove_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) -diff --git a/sysdeps/i386/i686/memset.S b/sysdeps/i386/i686/memset.S -index ab06771ea0..f02f5a6df7 100644 ---- a/sysdeps/i386/i686/memset.S -+++ b/sysdeps/i386/i686/memset.S -@@ -27,7 +27,7 @@ - #define LEN CHR+4 - - .text --#if defined SHARED && IS_IN (libc) -+#if defined PIC && IS_IN (libc) - ENTRY_CHK (__memset_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) - -commit 5141d4d83c17406f0eaea3e345ef2b52e10f386e -Author: Sam James -Date: Sat May 4 13:28:54 2024 +0100 - - Revert "i586: Fix multiple definitions of __memcpy_chk and __mempcpy_chk" - - This reverts commit 3148714ab61ad61281bae5a30f530d637034ac3b. - - I had the wrong cherry-pick reference (the commit content is right; it's - just referring to a base that isn't upstream), but let's revert and reapply - for clarity. - - Signed-off-by: Sam James - -diff --git a/sysdeps/i386/i586/memcpy.S b/sysdeps/i386/i586/memcpy.S -index 79856d498a..3e26f112d6 100644 ---- a/sysdeps/i386/i586/memcpy.S -+++ b/sysdeps/i386/i586/memcpy.S -@@ -26,7 +26,7 @@ - #define LEN SRC+4 - - .text --#if defined SHARED && IS_IN (libc) -+#if defined PIC && IS_IN (libc) - ENTRY (__memcpy_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) - -commit 8323a83abd73446dc434aceff66219712c09140b -Author: Gabi Falk -Date: Tue Apr 30 20:05:02 2024 +0000 - - i586: Fix multiple definitions of __memcpy_chk and __mempcpy_chk - - /home/bmg/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.2.1/../../../../x86_64-glibc-linux-gnu/bin/ld: /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(memcpy_chk.o): in function `__memcpy_chk': - /home/bmg/src/glibc/debug/../sysdeps/i386/memcpy_chk.S:29: multiple definition of `__memcpy_chk';/home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(memcpy.o):/home/bmg/src/glibc/string/../sysdeps/i386/i586/memcpy.S:31: first defined here /home/bmg/install/compilers/x86_64-linux-gnu/lib/gcc/x86_64-glibc-linux-gnu/13.2.1/../../../../x86_64-glibc-linux-gnu/bin/ld: /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(mempcpy_chk.o): in function `__mempcpy_chk': /home/bmg/src/glibc/debug/../sysdeps/i386/mempcpy_chk.S:28: multiple definition of `__mempcpy_chk'; /home/bmg/build/glibcs/i586-linux-gnu/glibc/libc.a(mempcpy.o):/home/bmg/src/glibc/string/../sysdeps/i386/i586/memcpy.S:31: first defined here - - After this change, the static library built for i586, regardless of PIC - options, contains implementations of these functions respectively from - sysdeps/i386/memcpy_chk.S and sysdeps/i386/mempcpy_chk.S. This ensures - that memcpy and mempcpy won't pull in __chk_fail and the routines it - calls. - - Reported-by: Florian Weimer - Signed-off-by: Gabi Falk - Reviewed-by: H.J. Lu - Reviewed-by: Dmitry V. Levin - (cherry picked from commit 0fdf4ba48ccce5abf567340b0ab8fa8ed8a9bc6e) - -diff --git a/sysdeps/i386/i586/memcpy.S b/sysdeps/i386/i586/memcpy.S -index 3e26f112d6..79856d498a 100644 ---- a/sysdeps/i386/i586/memcpy.S -+++ b/sysdeps/i386/i586/memcpy.S -@@ -26,7 +26,7 @@ - #define LEN SRC+4 - - .text --#if defined PIC && IS_IN (libc) -+#if defined SHARED && IS_IN (libc) - ENTRY (__memcpy_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) - -commit 8b005d7869debac4d5cd67f65e49a0fad89da9ad -Author: Gabi Falk -Date: Tue Apr 30 20:05:03 2024 +0000 - - i686: Fix multiple definitions of __memmove_chk and __memset_chk - - Commit c73c96a4a1af1326df7f96eec58209e1e04066d8 updated memcpy.S and - mempcpy.S, but omitted memmove.S and memset.S. As a result, the static - library built as PIC, whether with or without multiarch support, - contains two definitions for each of the __memmove_chk and __memset_chk - symbols. - - /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../lib/libc.a(memset-ia32.o): in function `__memset_chk': - /var/tmp/portage/sys-libs/glibc-2.39-r3/work/glibc-2.39/string/../sysdeps/i386/i686/memset.S:32: multiple definition of `__memset_chk'; /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../lib/libc.a(memset_chk.o):/var/tmp/portage/sys-libs/glibc-2.39-r3/work/glibc-2.39/debug/../sysdeps/i386/i686/multiarch/memset_chk.c:24: first defined here - - After this change, regardless of PIC options, the static library, built - for i686 with multiarch contains implementations of these functions - respectively from debug/memmove_chk.c and debug/memset_chk.c, and - without multiarch contains implementations of these functions - respectively from sysdeps/i386/memmove_chk.S and - sysdeps/i386/memset_chk.S. This ensures that memmove and memset won't - pull in __chk_fail and the routines it calls. - - Reported-by: Sam James - Tested-by: Sam James - Fixes: c73c96a4a1 ("i686: Fix build with --disable-multiarch") - Signed-off-by: Gabi Falk - Reviewed-by: H.J. Lu - Reviewed-by: Dmitry V. Levin - (cherry picked from commit 5a2cf833f5772d6c37c7adac388dd9af9cc1c4b9) - -diff --git a/sysdeps/i386/i686/memmove.S b/sysdeps/i386/i686/memmove.S -index f230359ad6..effd958120 100644 ---- a/sysdeps/i386/i686/memmove.S -+++ b/sysdeps/i386/i686/memmove.S -@@ -29,7 +29,7 @@ - #define SRC DEST+4 - #define LEN SRC+4 - --#if defined PIC && IS_IN (libc) -+#if defined SHARED && IS_IN (libc) - ENTRY_CHK (__memmove_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) -diff --git a/sysdeps/i386/i686/memset.S b/sysdeps/i386/i686/memset.S -index f02f5a6df7..ab06771ea0 100644 ---- a/sysdeps/i386/i686/memset.S -+++ b/sysdeps/i386/i686/memset.S -@@ -27,7 +27,7 @@ - #define LEN CHR+4 - - .text --#if defined PIC && IS_IN (libc) -+#if defined SHARED && IS_IN (libc) - ENTRY_CHK (__memset_chk) - movl 12(%esp), %eax - cmpl %eax, 16(%esp) - -commit f8e462342189525e4605cf233b8f798d1c7f398d -Author: Gabi Falk -Date: Tue Apr 30 20:05:04 2024 +0000 - - Add a test to check for duplicate definitions in the static library - - This change follows two previous fixes addressing multiple definitions - of __memcpy_chk and __mempcpy_chk functions on i586, and __memmove_chk - and __memset_chk functions on i686. The test is intended to prevent - such issues from occurring in the future. - - Signed-off-by: Gabi Falk - Reviewed-by: H.J. Lu - Reviewed-by: Dmitry V. Levin - (cherry picked from commit ded2e0753e9c46debeb2e0d26c5e560d2581d314) - -diff --git a/Makefile b/Makefile -index 7052b46df8..2e351c0321 100644 ---- a/Makefile -+++ b/Makefile -@@ -577,6 +577,13 @@ $(objpfx)lint-makefiles.out: scripts/lint-makefiles.sh - $(SHELL) $< "$(PYTHON)" `pwd` > $@ ; \ - $(evaluate-test) - -+# Link libc.a as a whole to verify that it does not contain multiple -+# definitions of any symbols. -+tests-special += $(objpfx)link-static-libc.out -+$(objpfx)link-static-libc.out: -+ $(LINK.o) $(whole-archive) -r $(objpfx)libc.a -o /dev/null > $@ 2>&1; \ -+ $(evaluate-test) -+ - # Print test summary for tests in $1 .sum file; - # $2 is optional test identifier. - # Fail if there are unexpected failures in the test results. diff --git a/pkgs/development/libraries/glibc/2.40-master.patch b/pkgs/development/libraries/glibc/2.40-master.patch new file mode 100644 index 0000000000000..0b418d1dbeb37 --- /dev/null +++ b/pkgs/development/libraries/glibc/2.40-master.patch @@ -0,0 +1,5127 @@ +commit 6daa77104520ca992a9369bd01cccd4d98c82984 +Author: Andreas K. Hüttel +Date: Sun Jul 21 19:02:10 2024 +0200 + + Replace advisories directory + + Signed-off-by: Andreas K. Hüttel + +diff --git a/advisories/GLIBC-SA-2023-0001 b/advisories/GLIBC-SA-2023-0001 +deleted file mode 100644 +index 3d19c91b6a..0000000000 +--- a/advisories/GLIBC-SA-2023-0001 ++++ /dev/null +@@ -1,14 +0,0 @@ +-printf: incorrect output for integers with thousands separator and width field +- +-When the printf family of functions is called with a format specifier +-that uses an (enable grouping) and a minimum width +-specifier, the resulting output could be larger than reasonably expected +-by a caller that computed a tight bound on the buffer size. The +-resulting larger than expected output could result in a buffer overflow +-in the printf family of functions. +- +-CVE-Id: CVE-2023-25139 +-Public-Date: 2023-02-02 +-Vulnerable-Commit: e88b9f0e5cc50cab57a299dc7efe1a4eb385161d (2.37) +-Fix-Commit: c980549cc6a1c03c23cc2fe3e7b0fe626a0364b0 (2.38) +-Fix-Commit: 07b9521fc6369d000216b96562ff7c0ed32a16c4 (2.37-4) +diff --git a/advisories/GLIBC-SA-2023-0002 b/advisories/GLIBC-SA-2023-0002 +deleted file mode 100644 +index 5122669a64..0000000000 +--- a/advisories/GLIBC-SA-2023-0002 ++++ /dev/null +@@ -1,15 +0,0 @@ +-getaddrinfo: Stack read overflow in no-aaaa mode +- +-If the system is configured in no-aaaa mode via /etc/resolv.conf, +-getaddrinfo is called for the AF_UNSPEC address family, and a DNS +-response is received over TCP that is larger than 2048 bytes, +-getaddrinfo may potentially disclose stack contents via the returned +-address data, or crash. +- +-CVE-Id: CVE-2023-4527 +-Public-Date: 2023-09-12 +-Vulnerable-Commit: f282cdbe7f436c75864e5640a409a10485e9abb2 (2.36) +-Fix-Commit: bd77dd7e73e3530203be1c52c8a29d08270cb25d (2.39) +-Fix-Commit: 4ea972b7edd7e36610e8cde18bf7a8149d7bac4f (2.36-113) +-Fix-Commit: b7529346025a130fee483d42178b5c118da971bb (2.37-38) +-Fix-Commit: b25508dd774b617f99419bdc3cf2ace4560cd2d6 (2.38-19) +diff --git a/advisories/GLIBC-SA-2023-0003 b/advisories/GLIBC-SA-2023-0003 +deleted file mode 100644 +index d3aef80348..0000000000 +--- a/advisories/GLIBC-SA-2023-0003 ++++ /dev/null +@@ -1,15 +0,0 @@ +-getaddrinfo: Potential use-after-free +- +-When an NSS plugin only implements the _gethostbyname2_r and +-_getcanonname_r callbacks, getaddrinfo could use memory that was freed +-during buffer resizing, potentially causing a crash or read or write to +-arbitrary memory. +- +-CVE-Id: CVE-2023-4806 +-Public-Date: 2023-09-12 +-Fix-Commit: 973fe93a5675c42798b2161c6f29c01b0e243994 (2.39) +-Fix-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) +-Fix-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) +-Fix-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) +-Fix-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) +-Fix-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) +diff --git a/advisories/GLIBC-SA-2023-0004 b/advisories/GLIBC-SA-2023-0004 +deleted file mode 100644 +index 5286a7aa54..0000000000 +--- a/advisories/GLIBC-SA-2023-0004 ++++ /dev/null +@@ -1,16 +0,0 @@ +-tunables: local privilege escalation through buffer overflow +- +-If a tunable of the form NAME=NAME=VAL is passed in the environment of a +-setuid program and NAME is valid, it may result in a buffer overflow, +-which could be exploited to achieve escalated privileges. This flaw was +-introduced in glibc 2.34. +- +-CVE-Id: CVE-2023-4911 +-Public-Date: 2023-10-03 +-Vulnerable-Commit: 2ed18c5b534d9e92fc006202a5af0df6b72e7aca (2.34) +-Fix-Commit: 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa (2.39) +-Fix-Commit: dcc367f148bc92e7f3778a125f7a416b093964d9 (2.34-423) +-Fix-Commit: c84018a05aec80f5ee6f682db0da1130b0196aef (2.35-274) +-Fix-Commit: 22955ad85186ee05834e47e665056148ca07699c (2.36-118) +-Fix-Commit: b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 (2.37-45) +-Fix-Commit: 750a45a783906a19591fb8ff6b7841470f1f5701 (2.38-27) +diff --git a/advisories/GLIBC-SA-2023-0005 b/advisories/GLIBC-SA-2023-0005 +deleted file mode 100644 +index cc4eb90b82..0000000000 +--- a/advisories/GLIBC-SA-2023-0005 ++++ /dev/null +@@ -1,18 +0,0 @@ +-getaddrinfo: DoS due to memory leak +- +-The fix for CVE-2023-4806 introduced a memory leak when an application +-calls getaddrinfo for AF_INET6 with AI_CANONNAME, AI_ALL and AI_V4MAPPED +-flags set. +- +-CVE-Id: CVE-2023-5156 +-Public-Date: 2023-09-25 +-Vulnerable-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420) +-Vulnerable-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270) +-Vulnerable-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115) +-Vulnerable-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39) +-Vulnerable-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20) +-Fix-Commit: 8006457ab7e1cd556b919f477348a96fe88f2e49 (2.34-421) +-Fix-Commit: 17092c0311f954e6f3c010f73ce3a78c24ac279a (2.35-272) +-Fix-Commit: 856bac55f98dc840e7c27cfa82262b933385de90 (2.36-116) +-Fix-Commit: 4473d1b87d04b25cdd0e0354814eeaa421328268 (2.37-42) +-Fix-Commit: 5ee59ca371b99984232d7584fe2b1a758b4421d3 (2.38-24) +diff --git a/advisories/GLIBC-SA-2024-0001 b/advisories/GLIBC-SA-2024-0001 +deleted file mode 100644 +index 28931c75ae..0000000000 +--- a/advisories/GLIBC-SA-2024-0001 ++++ /dev/null +@@ -1,15 +0,0 @@ +-syslog: Heap buffer overflow in __vsyslog_internal +- +-__vsyslog_internal did not handle a case where printing a SYSLOG_HEADER +-containing a long program name failed to update the required buffer +-size, leading to the allocation and overflow of a too-small buffer on +-the heap. +- +-CVE-Id: CVE-2023-6246 +-Public-Date: 2024-01-30 +-Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) +-Fix-Commit: 6bd0e4efcc78f3c0115e5ea9739a1642807450da (2.39) +-Fix-Commit: 23514c72b780f3da097ecf33a793b7ba9c2070d2 (2.38-42) +-Fix-Commit: 97a4292aa4a2642e251472b878d0ec4c46a0e59a (2.37-57) +-Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) +-Fix-Commit: d1a83b6767f68b3cb5b4b4ea2617254acd040c82 (2.36-126) +diff --git a/advisories/GLIBC-SA-2024-0002 b/advisories/GLIBC-SA-2024-0002 +deleted file mode 100644 +index 940bfcf2fc..0000000000 +--- a/advisories/GLIBC-SA-2024-0002 ++++ /dev/null +@@ -1,15 +0,0 @@ +-syslog: Heap buffer overflow in __vsyslog_internal +- +-__vsyslog_internal used the return value of snprintf/vsnprintf to +-calculate buffer sizes for memory allocation. If these functions (for +-any reason) failed and returned -1, the resulting buffer would be too +-small to hold output. +- +-CVE-Id: CVE-2023-6779 +-Public-Date: 2024-01-30 +-Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) +-Fix-Commit: 7e5a0c286da33159d47d0122007aac016f3e02cd (2.39) +-Fix-Commit: d0338312aace5bbfef85e03055e1212dd0e49578 (2.38-43) +-Fix-Commit: 67062eccd9a65d7fda9976a56aeaaf6c25a80214 (2.37-58) +-Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) +-Fix-Commit: 2bc9d7c002bdac38b5c2a3f11b78e309d7765b83 (2.36-127) +diff --git a/advisories/GLIBC-SA-2024-0003 b/advisories/GLIBC-SA-2024-0003 +deleted file mode 100644 +index b43a5150ab..0000000000 +--- a/advisories/GLIBC-SA-2024-0003 ++++ /dev/null +@@ -1,13 +0,0 @@ +-syslog: Integer overflow in __vsyslog_internal +- +-__vsyslog_internal calculated a buffer size by adding two integers, but +-did not first check if the addition would overflow. +- +-CVE-Id: CVE-2023-6780 +-Public-Date: 2024-01-30 +-Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37) +-Fix-Commit: ddf542da94caf97ff43cc2875c88749880b7259b (2.39) +-Fix-Commit: d37c2b20a4787463d192b32041c3406c2bd91de0 (2.38-44) +-Fix-Commit: 2b58cba076e912961ceaa5fa58588e4b10f791c0 (2.37-59) +-Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16) +-Fix-Commit: b9b7d6a27aa0632f334352fa400771115b3c69b7 (2.36-128) +diff --git a/advisories/GLIBC-SA-2024-0004 b/advisories/GLIBC-SA-2024-0004 +deleted file mode 100644 +index 08df2b3118..0000000000 +--- a/advisories/GLIBC-SA-2024-0004 ++++ /dev/null +@@ -1,28 +0,0 @@ +-ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence +- +-The iconv() function in the GNU C Library versions 2.39 and older may +-overflow the output buffer passed to it by up to 4 bytes when converting +-strings to the ISO-2022-CN-EXT character set, which may be used to +-crash an application or overwrite a neighbouring variable. +- +-ISO-2022-CN-EXT uses escape sequences to indicate character set changes +-(as specified by RFC 1922). While the SOdesignation has the expected +-bounds checks, neither SS2designation nor SS3designation have its; +-allowing a write overflow of 1, 2, or 3 bytes with fixed values: +-'$+I', '$+J', '$+K', '$+L', '$+M', or '$*H'. +- +-CVE-Id: CVE-2024-2961 +-Public-Date: 2024-04-17 +-Vulnerable-Commit: 755104edc75c53f4a0e7440334e944ad3c6b32fc (2.1.93-169) +-Fix-Commit: f9dc609e06b1136bb0408be9605ce7973a767ada (2.40) +-Fix-Commit: 31da30f23cddd36db29d5b6a1c7619361b271fb4 (2.39-31) +-Fix-Commit: e1135387deded5d73924f6ca20c72a35dc8e1bda (2.38-66) +-Fix-Commit: 89ce64b269a897a7780e4c73a7412016381c6ecf (2.37-89) +-Fix-Commit: 4ed98540a7fd19f458287e783ae59c41e64df7b5 (2.36-164) +-Fix-Commit: 36280d1ce5e245aabefb877fe4d3c6cff95dabfa (2.35-315) +-Fix-Commit: a8b0561db4b9847ebfbfec20075697d5492a363c (2.34-459) +-Fix-Commit: ed4f16ff6bed3037266f1fa682ebd32a18fce29c (2.33-263) +-Fix-Commit: 682ad4c8623e611a971839990ceef00346289cc9 (2.32-140) +-Fix-Commit: 3703c32a8d304c1ee12126134ce69be965f38000 (2.31-154) +- +-Reported-By: Charles Fol +diff --git a/advisories/GLIBC-SA-2024-0005 b/advisories/GLIBC-SA-2024-0005 +deleted file mode 100644 +index a59596610a..0000000000 +--- a/advisories/GLIBC-SA-2024-0005 ++++ /dev/null +@@ -1,22 +0,0 @@ +-nscd: Stack-based buffer overflow in netgroup cache +- +-If the Name Service Cache Daemon's (nscd) fixed size cache is exhausted +-by client requests then a subsequent client request for netgroup data +-may result in a stack-based buffer overflow. This flaw was introduced +-in glibc 2.15 when the cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-CVE-Id: CVE-2024-33599 +-Public-Date: 2024-04-23 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: 69c58d5ef9f584ea198bd00f7964d364d0e6b921 (2.31-155) +-Fix-Commit: a77064893bfe8a701770e2f53a4d33805bc47a5a (2.32-141) +-Fix-Commit: 5c75001a96abcd50cbdb74df24c3f013188d076e (2.33-264) +-Fix-Commit: 52f73e5c4e29b14e79167272297977f360ae1e97 (2.34-460) +-Fix-Commit: 7a95873543ce225376faf13bb71c43dea6d24f86 (2.35-316) +-Fix-Commit: caa3151ca460bdd9330adeedd68c3112d97bffe4 (2.36-165) +-Fix-Commit: f75c298e747b2b8b41b1c2f551c011a52c41bfd1 (2.37-91) +-Fix-Commit: 5968aebb86164034b8f8421b4abab2f837a5bdaf (2.38-72) +-Fix-Commit: 1263d583d2e28afb8be53f8d6922f0842036f35d (2.39-35) +-Fix-Commit: 87801a8fd06db1d654eea3e4f7626ff476a9bdaa (2.40) +diff --git a/advisories/GLIBC-SA-2024-0006 b/advisories/GLIBC-SA-2024-0006 +deleted file mode 100644 +index d44148d3d9..0000000000 +--- a/advisories/GLIBC-SA-2024-0006 ++++ /dev/null +@@ -1,32 +0,0 @@ +-nscd: Null pointer crash after notfound response +- +-If the Name Service Cache Daemon's (nscd) cache fails to add a not-found +-netgroup response to the cache, the client request can result in a null +-pointer dereference. This flaw was introduced in glibc 2.15 when the +-cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-CVE-Id: CVE-2024-33600 +-Public-Date: 2024-04-24 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: b048a482f088e53144d26a61c390bed0210f49f2 (2.40) +-Fix-Commit: 7835b00dbce53c3c87bbbb1754a95fb5e58187aa (2.40) +-Fix-Commit: c99f886de54446cd4447db6b44be93dabbdc2f8b (2.39-37) +-Fix-Commit: 5a508e0b508c8ad53bd0d2fb48fd71b242626341 (2.39-36) +-Fix-Commit: 2ae9446c1b7a3064743b4a51c0bbae668ee43e4c (2.38-74) +-Fix-Commit: 541ea5172aa658c4bd5c6c6d6fd13903c3d5bb0a (2.38-73) +-Fix-Commit: a8070b31043c7585c36ba68a74298c4f7af075c3 (2.37-93) +-Fix-Commit: 5eea50c4402e39588de98aa1d4469a79774703d4 (2.37-92) +-Fix-Commit: f205b3af56740e3b014915b1bd3b162afe3407ef (2.36-167) +-Fix-Commit: c34f470a615b136170abd16142da5dd0c024f7d1 (2.36-166) +-Fix-Commit: bafadc589fbe21ae330e8c2af74db9da44a17660 (2.35-318) +-Fix-Commit: 4370bef52b0f3f3652c6aa13d7a9bb3ac079746d (2.35-317) +-Fix-Commit: 1f94122289a9bf7dba573f5d60327aaa2b85cf2e (2.34-462) +-Fix-Commit: 966d6ac9e40222b84bb21674cc4f83c8d72a5a26 (2.34-461) +-Fix-Commit: e3eef1b8fbdd3a7917af466ca9c4b7477251ca79 (2.33-266) +-Fix-Commit: f20a8d696b13c6261b52a6434899121f8b19d5a7 (2.33-265) +-Fix-Commit: be602180146de37582a3da3a0caa4b719645de9c (2.32-143) +-Fix-Commit: 394eae338199078b7961b051c191539870742d7b (2.32-142) +-Fix-Commit: 8d7949183760170c61e55def723c1d8050187874 (2.31-157) +-Fix-Commit: 304ce5fe466c4762b21b36c26926a4657b59b53e (2.31-156) +diff --git a/advisories/GLIBC-SA-2024-0007 b/advisories/GLIBC-SA-2024-0007 +deleted file mode 100644 +index b6928fa27a..0000000000 +--- a/advisories/GLIBC-SA-2024-0007 ++++ /dev/null +@@ -1,28 +0,0 @@ +-nscd: netgroup cache may terminate daemon on memory allocation failure +- +-The Name Service Cache Daemon's (nscd) netgroup cache uses xmalloc or +-xrealloc and these functions may terminate the process due to a memory +-allocation failure resulting in a denial of service to the clients. The +-flaw was introduced in glibc 2.15 when the cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-Subsequent refactoring of the netgroup cache only added more uses of +-xmalloc and xrealloc. Uses of xmalloc and xrealloc in other parts of +-nscd only occur during startup of the daemon and so are not affected by +-client requests that could trigger an out of memory followed by +-termination. +- +-CVE-Id: CVE-2024-33601 +-Public-Date: 2024-04-24 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40) +-Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38) +-Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75) +-Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94) +-Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168) +-Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319) +-Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463) +-Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267) +-Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144) +-Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158) +diff --git a/advisories/GLIBC-SA-2024-0008 b/advisories/GLIBC-SA-2024-0008 +deleted file mode 100644 +index d93e2a6f0b..0000000000 +--- a/advisories/GLIBC-SA-2024-0008 ++++ /dev/null +@@ -1,26 +0,0 @@ +-nscd: netgroup cache assumes NSS callback uses in-buffer strings +- +-The Name Service Cache Daemon's (nscd) netgroup cache can corrupt memory +-when the NSS callback does not store all strings in the provided buffer. +-The flaw was introduced in glibc 2.15 when the cache was added to nscd. +- +-This vulnerability is only present in the nscd binary. +- +-There is no guarantee from the NSS callback API that the returned +-strings are all within the buffer. However, the netgroup cache code +-assumes that the NSS callback uses in-buffer strings and if it doesn't +-the buffer resizing logic could lead to potential memory corruption. +- +-CVE-Id: CVE-2024-33602 +-Public-Date: 2024-04-24 +-Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15) +-Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40) +-Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38) +-Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75) +-Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94) +-Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168) +-Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319) +-Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463) +-Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267) +-Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144) +-Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158) +diff --git a/advisories/README b/advisories/README +deleted file mode 100644 +index b8f8a829ca..0000000000 +--- a/advisories/README ++++ /dev/null +@@ -1,77 +0,0 @@ +-GNU C Library Security Advisory Format +-====================================== +- +-Security advisories in this directory follow a simple git commit log +-format, with a heading and free-format description augmented with tags +-to allow parsing key information. References to code changes are +-specific to the glibc repository and follow a specific format: +- +- Tag-name: (release-version) +- +-The indicates a specific commit in the repository. The +-release-version indicates the publicly consumable release in which this +-commit is known to exist. The release-version is derived from the +-git-describe format, (i.e. stripped out from glibc-2.34.NNN-gxxxx) and +-is of the form 2.34-NNN. If the -NNN suffix is absent, it means that +-the change is in that release tarball, otherwise the change is on the +-release/2.YY/master branch and not in any released tarball. +- +-The following tags are currently being used: +- +-CVE-Id: +-This is the CVE-Id assigned under the CVE Program +-(https://www.cve.org/). +- +-Public-Date: +-The date this issue became publicly known. +- +-Vulnerable-Commit: +-The commit that introduced this vulnerability. There could be multiple +-entries, one for each release branch in the glibc repository; the +-release-version portion of this tag should tell you which branch this is +-on. +- +-Fix-Commit: +-The commit that fixed this vulnerability. There could be multiple +-entries for each release branch in the glibc repository, indicating that +-all of those commits contributed to fixing that issue in each of those +-branches. +- +-Reported-By: +-The entity that reported this issue. There could be multiple entries, one for +-each reporter. +- +-Adding an Advisory +------------------- +- +-An advisory for a CVE needs to be added on the master branch in two steps: +- +-1. Add the text of the advisory without any Fix-Commit tags along with +- the fix for the CVE. Add the Vulnerable-Commit tag, if applicable. +- The advisories directory does not exist in release branches, so keep +- the advisory text commit distinct from the code changes, to ease +- backports. Ask for the GLIBC-SA advisory number from the security +- team. +- +-2. Finish all backports on release branches and then back on the msater +- branch, add all commit refs to the advisory using the Fix-Commit +- tags. Don't bother adding the release-version subscript since the +- next step will overwrite it. +- +-3. Run the process-advisories.sh script in the scripts directory on the +- advisory: +- +- scripts/process-advisories.sh update GLIBC-SA-YYYY-NNNN +- +- (replace YYYY-NNNN with the actual advisory number). +- +-4. Verify the updated advisory and push the result. +- +-Getting a NEWS snippet from advisories +--------------------------------------- +- +-Run: +- +- scripts/process-advisories.sh news +- +-and copy the content into the NEWS file. + +commit 8bbb8d7b16cae777eed06bc9d2e059fc00be24e9 +Author: Florian Weimer +Date: Wed Jul 24 12:06:47 2024 +0200 + + resolv: Allow short error responses to match any query (bug 31890) + + Reviewed-by: DJ Delorie + (cherry picked from commit 691a3b2e9bfaba842e46a5ccb7f5e6ea144c3ade) + +diff --git a/NEWS b/NEWS +index 31281ac408..66b755ed34 100644 +--- a/NEWS ++++ b/NEWS +@@ -5,6 +5,12 @@ See the end for copying conditions. + Please send GNU C library bug reports via + using `glibc' in the "product" field. + ++Version 2.41 ++ ++The following bugs are resolved with this release: ++ ++ [31890] resolv: Allow short error responses to match any DNS query ++ + Version 2.40 + + Major new features: +diff --git a/resolv/Makefile b/resolv/Makefile +index 5f44f5896b..d927e337d9 100644 +--- a/resolv/Makefile ++++ b/resolv/Makefile +@@ -106,6 +106,7 @@ tests += \ + tst-resolv-nondecimal \ + tst-resolv-res_init-multi \ + tst-resolv-search \ ++ tst-resolv-short-response \ + tst-resolv-trailing \ + + # This test calls __res_context_send directly, which is not exported +@@ -299,6 +300,8 @@ $(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-search: $(objpfx)libresolv.so $(shared-thread-library) ++$(objpfx)tst-resolv-short-response: $(objpfx)libresolv.so \ ++ $(shared-thread-library) + $(objpfx)tst-resolv-trailing: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-threads: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-txnid-collision: $(objpfx)libresolv.a \ +diff --git a/resolv/res_send.c b/resolv/res_send.c +index ea7cf192b2..572e72c32f 100644 +--- a/resolv/res_send.c ++++ b/resolv/res_send.c +@@ -1199,19 +1199,30 @@ send_dg(res_state statp, + } + + /* Check for the correct header layout and a matching +- question. */ ++ question. Some recursive resolvers send REFUSED ++ without copying back the question section ++ (producing a response that is only HFIXEDSZ bytes ++ long). Skip query matching in this case. */ ++ bool thisansp_error = (anhp->rcode == SERVFAIL || ++ anhp->rcode == NOTIMP || ++ anhp->rcode == REFUSED); ++ bool skip_query_match = (*thisresplenp == HFIXEDSZ ++ && ntohs (anhp->qdcount) == 0 ++ && thisansp_error); + int matching_query = 0; /* Default to no matching query. */ + if (!recvresp1 + && anhp->id == hp->id +- && __libc_res_queriesmatch (buf, buf + buflen, +- *thisansp, +- *thisansp + *thisanssizp)) ++ && (skip_query_match ++ || __libc_res_queriesmatch (buf, buf + buflen, ++ *thisansp, ++ *thisansp + *thisanssizp))) + matching_query = 1; + if (!recvresp2 + && anhp->id == hp2->id +- && __libc_res_queriesmatch (buf2, buf2 + buflen2, +- *thisansp, +- *thisansp + *thisanssizp)) ++ && (skip_query_match ++ || __libc_res_queriesmatch (buf2, buf2 + buflen2, ++ *thisansp, ++ *thisansp + *thisanssizp))) + matching_query = 2; + if (matching_query == 0) + /* Spurious UDP packet. Drop it and continue +@@ -1221,9 +1232,7 @@ send_dg(res_state statp, + goto wait; + } + +- if (anhp->rcode == SERVFAIL || +- anhp->rcode == NOTIMP || +- anhp->rcode == REFUSED) { ++ if (thisansp_error) { + next_ns: + if (recvresp1 || (buf2 != NULL && recvresp2)) { + *resplen2 = 0; +diff --git a/resolv/tst-resolv-short-response.c b/resolv/tst-resolv-short-response.c +new file mode 100644 +index 0000000000..cf1e39876f +--- /dev/null ++++ b/resolv/tst-resolv-short-response.c +@@ -0,0 +1,112 @@ ++/* Test for spurious timeouts with short 12-byte responses (bug 31890). ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++/* The rcode in the initial response. */ ++static volatile int rcode; ++ ++static void ++response (const struct resolv_response_context *ctx, ++ struct resolv_response_builder *b, ++ const char *qname, uint16_t qclass, uint16_t qtype) ++{ ++ switch (ctx->server_index) ++ { ++ case 0: ++ /* First server times out. */ ++ struct resolv_response_flags flags = {.rcode = rcode}; ++ resolv_response_init (b, flags); ++ break; ++ case 1: ++ /* Second server sends reply. */ ++ resolv_response_init (b, (struct resolv_response_flags) {}); ++ resolv_response_add_question (b, qname, qclass, qtype); ++ resolv_response_section (b, ns_s_an); ++ resolv_response_open_record (b, qname, qclass, qtype, 0); ++ switch (qtype) ++ { ++ case T_A: ++ { ++ char ipv4[4] = {192, 0, 2, 17}; ++ resolv_response_add_data (b, &ipv4, sizeof (ipv4)); ++ } ++ break; ++ case T_AAAA: ++ { ++ char ipv6[16] ++ = {0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; ++ resolv_response_add_data (b, &ipv6, sizeof (ipv6)); ++ } ++ break; ++ default: ++ FAIL_EXIT1 ("unexpected TYPE%d query", qtype); ++ } ++ resolv_response_close_record (b); ++ break; ++ default: ++ FAIL_EXIT1 ("unexpected query to server %d", ctx->server_index); ++ } ++} ++ ++static void ++check_one (void) ++{ ++ ++ /* The buggy 1-second query timeout results in 30 seconds of delay, ++ which triggers a test timeout failure. */ ++ for (int i = 0; i < 10; ++i) ++ { ++ check_hostent ("www.example", gethostbyname ("www.example"), ++ "name: www.example\n" ++ "address: 192.0.2.17\n"); ++ check_hostent ("www.example", gethostbyname2 ("www.example", AF_INET6), ++ "name: www.example\n" ++ "address: 2001:db8::1\n"); ++ } ++} ++ ++static int ++do_test (void) ++{ ++ struct resolv_test *aux = resolv_test_start ++ ((struct resolv_redirect_config) ++ { ++ .response_callback = response, ++ }); ++ ++ _res.options |= RES_SNGLKUP; ++ ++ rcode = 2; /* SERVFAIL. */ ++ check_one (); ++ ++ rcode = 4; /* NOTIMP. */ ++ check_one (); ++ ++ rcode = 5; /* REFUSED. */ ++ check_one (); ++ ++ resolv_test_end (aux); ++ ++ return 0; ++} ++ ++#include + +commit ef141426630da0946f0af8732eddce9b9a52b2d3 +Author: Florian Weimer +Date: Wed Jul 24 12:06:47 2024 +0200 + + resolv: Do not wait for non-existing second DNS response after error (bug 30081) + + In single-request mode, there is no second response after an error + because the second query has not been sent yet. Waiting for it + introduces an unnecessary timeout. + + Reviewed-by: DJ Delorie + (cherry picked from commit af625987d619388a100b153520d3ee308bda9889) + +diff --git a/NEWS b/NEWS +index 66b755ed34..4d7100b21c 100644 +--- a/NEWS ++++ b/NEWS +@@ -9,6 +9,7 @@ Version 2.41 + + The following bugs are resolved with this release: + ++ [30081] resolv: Do not wait for non-existing second DNS response after error + [31890] resolv: Allow short error responses to match any DNS query + + Version 2.40 +diff --git a/resolv/Makefile b/resolv/Makefile +index d927e337d9..abff7fc007 100644 +--- a/resolv/Makefile ++++ b/resolv/Makefile +@@ -106,6 +106,7 @@ tests += \ + tst-resolv-nondecimal \ + tst-resolv-res_init-multi \ + tst-resolv-search \ ++ tst-resolv-semi-failure \ + tst-resolv-short-response \ + tst-resolv-trailing \ + +@@ -300,6 +301,8 @@ $(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)tst-resolv-search: $(objpfx)libresolv.so $(shared-thread-library) ++$(objpfx)tst-resolv-semi-failure: $(objpfx)libresolv.so \ ++ $(shared-thread-library) + $(objpfx)tst-resolv-short-response: $(objpfx)libresolv.so \ + $(shared-thread-library) + $(objpfx)tst-resolv-trailing: $(objpfx)libresolv.so $(shared-thread-library) +diff --git a/resolv/res_send.c b/resolv/res_send.c +index 572e72c32f..9c77613f37 100644 +--- a/resolv/res_send.c ++++ b/resolv/res_send.c +@@ -1238,7 +1238,7 @@ send_dg(res_state statp, + *resplen2 = 0; + return resplen; + } +- if (buf2 != NULL) ++ if (buf2 != NULL && !single_request) + { + /* No data from the first reply. */ + resplen = 0; +diff --git a/resolv/tst-resolv-semi-failure.c b/resolv/tst-resolv-semi-failure.c +new file mode 100644 +index 0000000000..aa9798b5a7 +--- /dev/null ++++ b/resolv/tst-resolv-semi-failure.c +@@ -0,0 +1,133 @@ ++/* Test parallel failure/success responses (bug 30081). ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++/* The rcode in the initial response. */ ++static volatile int rcode; ++ ++/* Whether to fail the initial A query (!fail_aaaa) or the initial ++ AAAA query (fail_aaaa). */ ++static volatile bool fail_aaaa; ++ ++static void ++response (const struct resolv_response_context *ctx, ++ struct resolv_response_builder *b, ++ const char *qname, uint16_t qclass, uint16_t qtype) ++{ ++ /* Handle the failing query. */ ++ if ((fail_aaaa && qtype == T_AAAA) && ctx->server_index == 0) ++ { ++ struct resolv_response_flags flags = {.rcode = rcode}; ++ resolv_response_init (b, flags); ++ return; ++ } ++ ++ /* Otherwise produce a response. */ ++ resolv_response_init (b, (struct resolv_response_flags) {}); ++ resolv_response_add_question (b, qname, qclass, qtype); ++ resolv_response_section (b, ns_s_an); ++ resolv_response_open_record (b, qname, qclass, qtype, 0); ++ switch (qtype) ++ { ++ case T_A: ++ { ++ char ipv4[4] = {192, 0, 2, 17}; ++ resolv_response_add_data (b, &ipv4, sizeof (ipv4)); ++ } ++ break; ++ case T_AAAA: ++ { ++ char ipv6[16] ++ = {0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; ++ resolv_response_add_data (b, &ipv6, sizeof (ipv6)); ++ } ++ break; ++ default: ++ FAIL_EXIT1 ("unexpected TYPE%d query", qtype); ++ } ++ resolv_response_close_record (b); ++} ++ ++static void ++check_one (void) ++{ ++ ++ /* The buggy 1-second query timeout results in 30 seconds of delay, ++ which triggers are test timeout failure. */ ++ for (int i = 0; i < 30; ++i) ++ { ++ static const struct addrinfo hints = ++ { ++ .ai_family = AF_UNSPEC, ++ .ai_socktype = SOCK_STREAM, ++ }; ++ struct addrinfo *ai; ++ int ret = getaddrinfo ("www.example", "80", &hints, &ai); ++ const char *expected; ++ if (ret == 0 && ai->ai_next != NULL) ++ expected = ("address: STREAM/TCP 192.0.2.17 80\n" ++ "address: STREAM/TCP 2001:db8::1 80\n"); ++ else ++ /* Only one response because the AAAA lookup failure is ++ treated as an ignoreable error. */ ++ expected = "address: STREAM/TCP 192.0.2.17 80\n"; ++ check_addrinfo ("www.example", ai, ret, expected); ++ if (ret == 0) ++ freeaddrinfo (ai); ++ } ++} ++ ++static int ++do_test (void) ++{ ++ for (int do_single_lookup = 0; do_single_lookup < 2; ++do_single_lookup) ++ { ++ struct resolv_test *aux = resolv_test_start ++ ((struct resolv_redirect_config) ++ { ++ .response_callback = response, ++ }); ++ ++ if (do_single_lookup) ++ _res.options |= RES_SNGLKUP; ++ ++ for (int do_fail_aaaa = 0; do_fail_aaaa < 2; ++do_fail_aaaa) ++ { ++ fail_aaaa = do_fail_aaaa; ++ ++ rcode = 2; /* SERVFAIL. */ ++ check_one (); ++ ++ rcode = 4; /* NOTIMP. */ ++ check_one (); ++ ++ rcode = 5; /* REFUSED. */ ++ check_one (); ++ } ++ ++ resolv_test_end (aux); ++ } ++ ++ return 0; ++} ++ ++#include +diff --git a/resolv/tst-resolv-short-response.c b/resolv/tst-resolv-short-response.c +index cf1e39876f..be354ae1c7 100644 +--- a/resolv/tst-resolv-short-response.c ++++ b/resolv/tst-resolv-short-response.c +@@ -81,6 +81,18 @@ check_one (void) + check_hostent ("www.example", gethostbyname2 ("www.example", AF_INET6), + "name: www.example\n" + "address: 2001:db8::1\n"); ++ static const struct addrinfo hints = ++ { ++ .ai_family = AF_UNSPEC, ++ .ai_socktype = SOCK_STREAM, ++ }; ++ struct addrinfo *ai; ++ int ret = getaddrinfo ("www.example", "80", &hints, &ai); ++ check_addrinfo ("www.example", ai, ret, ++ "address: STREAM/TCP 192.0.2.17 80\n" ++ "address: STREAM/TCP 2001:db8::1 80\n"); ++ if (ret == 0) ++ freeaddrinfo (ai); + } + } + + +commit b6aeba2de157ba0cdc8fb0aed67b632b3490f383 +Author: Florian Weimer +Date: Wed Jul 24 12:50:17 2024 +0200 + + manual: Do not mention STATIC_TLS in dynamic linker hardening recommendations + + The current toolchain does not consistently generate it, and + glibc does not use it. + + Reviewed-by: Szabolcs Nagy + (cherry picked from commit 90842d3980064ef410b998b22170ad409b76b9fd) + +diff --git a/manual/dynlink.texi b/manual/dynlink.texi +index 03565d4fb0..1500a53de6 100644 +--- a/manual/dynlink.texi ++++ b/manual/dynlink.texi +@@ -993,21 +993,21 @@ The dynamic segment should also mention @code{BIND_NOW} on the + enough). + + @item +-For shared objects (not main programs), if the program header has a +-@code{PT_TLS} segment, the dynamic segment (as shown by @samp{readelf +--dW}) should contain the @code{STATIC_TLS} flag on the @code{FLAGS} +-line. +- +-If @code{STATIC_TLS} is missing in shared objects, ensure that the +-appropriate relocations for GNU2 TLS descriptors are used (for example, ++Ensure that only static TLS relocations (thread-pointer relative offset ++locations) are used, for example @code{R_AARCH64_TLS_TPREL} and ++@code{X86_64_TPOFF64}. As the second-best option, and only if ++compatibility with non-hardened applications using @code{dlopen} is ++needed, GNU2 TLS descriptor relocations can be used (for example, + @code{R_AARCH64_TLSDESC} or @code{R_X86_64_TLSDESC}). + + @item +-There should not be a reference to the symbols @code{__tls_get_addr}, +-@code{__tls_get_offset}, @code{__tls_get_addr_opt} in the dynamic symbol +-table (in the @samp{readelf -sDW} output). Thread-local storage must be +-accessed using the initial-exec (static) model, or using GNU2 TLS +-descriptors. ++There should not be references to the traditional TLS function symbols ++@code{__tls_get_addr}, @code{__tls_get_offset}, ++@code{__tls_get_addr_opt} in the dynamic symbol table (in the ++@samp{readelf -sDW} output). Supporting global dynamic TLS relocations ++(such as @code{R_AARCH64_TLS_DTPMOD}, @code{R_AARCH64_TLS_DTPREL}, ++@code{R_X86_64_DTPMOD64}, @code{R_X86_64_DTPOFF64}) should not be used, ++either. + + @item + Likewise, the functions @code{dlopen}, @code{dlmopen}, @code{dlclose} + +commit 145b5886379c8de4f0a1bca3556a4c3d7b6c24b2 +Author: Florian Weimer +Date: Wed Jul 24 13:42:16 2024 +0200 + + Fix version number in NEWS file + +diff --git a/NEWS b/NEWS +index 4d7100b21c..6b62f55658 100644 +--- a/NEWS ++++ b/NEWS +@@ -5,7 +5,7 @@ See the end for copying conditions. + Please send GNU C library bug reports via + using `glibc' in the "product" field. + +-Version 2.41 ++Version 2.40.1 + + The following bugs are resolved with this release: + + +commit 2aebac5e158277d852b87b0cbd4af2b2d10ac387 +Author: Miguel Martín +Date: Tue Jul 16 17:14:56 2024 +0200 + + malloc: avoid global locks in tst-aligned_alloc-lib.c + + Make sure the DSO used by aligned_alloc/calloc/malloc tests does not get + a global lock on multithreaded tests. + Reviewed-by: Arjun Shankar + + (cherry picked from commit 9a27b566b2048f599048f2f4afe1cce06c4ef43d) + +diff --git a/malloc/tst-aligned_alloc-lib.c b/malloc/tst-aligned_alloc-lib.c +index 0205df5acf..9ef1f839c1 100644 +--- a/malloc/tst-aligned_alloc-lib.c ++++ b/malloc/tst-aligned_alloc-lib.c +@@ -17,37 +17,38 @@ + License along with the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +-#include + #include + #include ++#include + + extern void *__libc_malloc (size_t size); + extern void *__libc_calloc (size_t n, size_t size); + ++__thread unsigned int seed = 0; ++ + int aligned_alloc_count = 0; + int libc_malloc_count = 0; + int libc_calloc_count = 0; + +-/* Get a random alignment value. Biased towards the smaller values. Must be +- a power of 2. */ +-static size_t get_random_alignment (void) +-{ +- size_t aligns[] = { +- 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384 +- }; +- +- return aligns[random () % array_length (aligns)]; +-} +- +-static void *get_random_alloc (size_t size) ++static void * ++get_random_alloc (size_t size) + { + void *retval; + size_t align; ++ struct timespec tp; ++ ++ if (seed == 0) ++ { ++ clock_gettime (CLOCK_REALTIME, &tp); ++ seed = tp.tv_nsec; ++ } + +- switch (random() % 3) +- { ++ switch (rand_r (&seed) % 3) ++ { + case 1: +- align = get_random_alignment (); ++ /* Get a random alignment value. Biased towards the smaller ++ * values up to 16384. Must be a power of 2. */ ++ align = 1 << rand_r (&seed) % 15; + retval = aligned_alloc (align, size); + aligned_alloc_count++; + break; +@@ -59,13 +60,13 @@ static void *get_random_alloc (size_t size) + retval = __libc_malloc (size); + libc_malloc_count++; + break; +- } ++ } + + return retval; + } + +- +-void * __random_malloc (size_t size) ++void * ++__random_malloc (size_t size) + { + return get_random_alloc (size); + } + +commit 5d2a931a8167a288374c3a38dc10fe0492ab5ffe +Author: Miguel Martín +Date: Tue Jul 16 17:14:57 2024 +0200 + + malloc: add multi-threaded tests for aligned_alloc/calloc/malloc + + Improve aligned_alloc/calloc/malloc test coverage by adding + multi-threaded tests with random memory allocations and with/without + cross-thread memory deallocations. + + Perform a number of memory allocation calls with random sizes limited + to 0xffff. + + Use the existing DSO ('malloc/tst-aligned_alloc-lib.c') to randomize + allocator selection. + + The multi-threaded allocation/deallocation is staged as described below: + + - Stage 1: Half of the threads will be allocating memory and the + other half will be waiting for them to finish the allocation. + - Stage 2: Half of the threads will be allocating memory and the + other half will be deallocating memory. + - Stage 3: Half of the threads will be deallocating memory and the + second half waiting on them to finish. + + Add 'malloc/tst-aligned-alloc-random-thread.c' where each thread will + deallocate only the memory that was previously allocated by itself. + + Add 'malloc/tst-aligned-alloc-random-thread-cross.c' where each thread + will deallocate memory that was previously allocated by another thread. + + The intention is to be able to utilize existing malloc testing to ensure + that similar allocation APIs are also exposed to the same rigors. + Reviewed-by: Arjun Shankar + + (cherry picked from commit b0fbcb7d0051a68baf26b2aed51a8a31c34d68e5) + +diff --git a/malloc/Makefile b/malloc/Makefile +index 02aff1bd1d..98d507a6eb 100644 +--- a/malloc/Makefile ++++ b/malloc/Makefile +@@ -28,6 +28,8 @@ tests := \ + mallocbug \ + tst-aligned-alloc \ + tst-aligned-alloc-random \ ++ tst-aligned-alloc-random-thread \ ++ tst-aligned-alloc-random-thread-cross \ + tst-alloc_buffer \ + tst-calloc \ + tst-free-errno \ +@@ -151,6 +153,8 @@ ifeq ($(have-GLIBC_2.23)$(build-shared),yesyes) + # the tests expect specific internal behavior that is changed due to linking to + # libmcheck.a. + tests-exclude-mcheck = \ ++ tst-aligned-alloc-random-thread \ ++ tst-aligned-alloc-random-thread-cross \ + tst-compathooks-off \ + tst-compathooks-on \ + tst-malloc-backtrace \ +@@ -415,7 +419,11 @@ $(objpfx)tst-mallocstate: $(objpfx)libc_malloc_debug.so + $(objpfx)tst-mallocstate-malloc-check: $(objpfx)libc_malloc_debug.so + + $(objpfx)tst-aligned-alloc-random.out: $(objpfx)tst-aligned_alloc-lib.so ++$(objpfx)tst-aligned-alloc-random-thread.out: $(objpfx)tst-aligned_alloc-lib.so ++$(objpfx)tst-aligned-alloc-random-thread-cross.out: $(objpfx)tst-aligned_alloc-lib.so + $(objpfx)tst-malloc-random.out: $(objpfx)tst-aligned_alloc-lib.so + + tst-aligned-alloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so ++tst-aligned-alloc-random-thread-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so ++tst-aligned-alloc-random-thread-cross-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so + tst-malloc-random-ENV = LD_PRELOAD=$(objpfx)tst-aligned_alloc-lib.so +diff --git a/malloc/tst-aligned-alloc-random-thread-cross.c b/malloc/tst-aligned-alloc-random-thread-cross.c +new file mode 100644 +index 0000000000..360ecc56ee +--- /dev/null ++++ b/malloc/tst-aligned-alloc-random-thread-cross.c +@@ -0,0 +1,19 @@ ++/* multi-threaded memory allocation and cross-thread deallocation test. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; see the file COPYING.LIB. If ++ not, see . */ ++#define CROSS_THREAD_DEALLOC ++#include "tst-aligned-alloc-random-thread.c" +diff --git a/malloc/tst-aligned-alloc-random-thread.c b/malloc/tst-aligned-alloc-random-thread.c +new file mode 100644 +index 0000000000..e95f79250a +--- /dev/null ++++ b/malloc/tst-aligned-alloc-random-thread.c +@@ -0,0 +1,145 @@ ++/* multi-threaded memory allocation/deallocation test. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2.1 of the ++ License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; see the file COPYING.LIB. If ++ not, see . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifndef ITERATIONS ++# define ITERATIONS 16 ++#endif ++ ++#ifndef NUM_THREADS ++# define NUM_THREADS 8 ++#endif ++ ++#ifndef NUM_ALLOCATIONS ++# define NUM_ALLOCATIONS 2048 ++#endif ++ ++static pthread_barrier_t barrier; ++ ++__thread unsigned int seed; ++ ++typedef struct ++{ ++ int id; ++ pthread_t thread; ++} thread; ++ ++thread threads[NUM_THREADS]; ++ ++void *allocations[NUM_THREADS][NUM_ALLOCATIONS]; ++ ++void ++run_thread_dealloc (int id) ++{ ++ for (int i = 0; i < NUM_ALLOCATIONS; i++) ++ { ++ free (allocations[id][i]); ++ allocations[id][i] = NULL; ++ } ++} ++ ++void ++run_thread_alloc (int id) ++{ ++ size_t msb, size; ++ for (int i = 0; i < NUM_ALLOCATIONS; i++) ++ { ++ msb = 1 << rand_r (&seed) % 16; ++ size = msb + rand_r (&seed) % msb; ++ allocations[id][i] = malloc (size); ++ TEST_VERIFY_EXIT (allocations[id][i] != NULL); ++ } ++} ++ ++void * ++run_allocations (void *arg) ++{ ++ int id = *((int *) arg); ++ seed = time (NULL) + id; ++ ++ /* Stage 1: First half o the threads allocating memory and the second ++ * half waiting for them to finish ++ */ ++ if (id < NUM_THREADS / 2) ++ run_thread_alloc (id); ++ ++ xpthread_barrier_wait (&barrier); ++ ++ /* Stage 2: Half of the threads allocationg memory and the other ++ * half deallocating: ++ * - In the non cross-thread dealloc scenario the first half will be ++ * deallocating the memory allocated by themselves in stage 1 and the ++ * second half will be allocating memory. ++ * - In the cross-thread dealloc scenario the first half will continue ++ * to allocate memory and the second half will deallocate the memory ++ * allocated by the first half in stage 1. ++ */ ++ if (id < NUM_THREADS / 2) ++#ifndef CROSS_THREAD_DEALLOC ++ run_thread_dealloc (id); ++#else ++ run_thread_alloc (id + NUM_THREADS / 2); ++#endif ++ else ++#ifndef CROSS_THREAD_DEALLOC ++ run_thread_alloc (id); ++#else ++ run_thread_dealloc (id - NUM_THREADS / 2); ++#endif ++ ++ xpthread_barrier_wait (&barrier); ++ ++ // Stage 3: Second half of the threads deallocating and the first half ++ // waiting for them to finish. ++ if (id >= NUM_THREADS / 2) ++ run_thread_dealloc (id); ++ ++ return NULL; ++} ++ ++static int ++do_test (void) ++{ ++ xpthread_barrier_init (&barrier, NULL, NUM_THREADS); ++ ++ for (int i = 0; i < ITERATIONS; i++) ++ { ++ for (int t = 0; t < NUM_THREADS; t++) ++ { ++ threads[t].id = t; ++ threads[t].thread ++ = xpthread_create (NULL, run_allocations, &threads[t].id); ++ } ++ ++ for (int t = 0; t < NUM_THREADS; t++) ++ xpthread_join (threads[t].thread); ++ } ++ ++ return 0; ++} ++ ++#include + +commit 65fbcfe58991194301a7e4fb9c53ab936573e711 +Author: Arjun Shankar +Date: Mon Jul 29 14:30:59 2024 +0200 + + manual/stdio: Clarify putc and putwc + + The manual entry for `putc' described what "most systems" do instead of + describing the glibc implementation and its guarantees. This commit + fixes that by warning that putc may be implemented as a macro that + double-evaluates `stream', and removing the performance claim. + + Even though the current `putc' implementation does not double-evaluate + `stream', offering this obscure guarantee as an extension to what + POSIX allows does not seem very useful. + + The entry for `putwc' is also edited to bring it in line with `putc'. + Reviewed-by: Florian Weimer + + (cherry picked from commit 10de4a47ef3f481592e3c62eb07bcda23e9fde4d) + +diff --git a/manual/stdio.texi b/manual/stdio.texi +index f5e289d58a..f9529a098d 100644 +--- a/manual/stdio.texi ++++ b/manual/stdio.texi +@@ -903,21 +903,21 @@ This function is a GNU extension. + @deftypefun int putc (int @var{c}, FILE *@var{stream}) + @standards{ISO, stdio.h} + @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} +-This is just like @code{fputc}, except that most systems implement it as ++This is just like @code{fputc}, except that it may be implemented as + a macro, making it faster. One consequence is that it may evaluate the + @var{stream} argument more than once, which is an exception to the +-general rule for macros. @code{putc} is usually the best function to +-use for writing a single character. ++general rule for macros. Therefore, @var{stream} should never be an ++expression with side-effects. + @end deftypefun + + @deftypefun wint_t putwc (wchar_t @var{wc}, FILE *@var{stream}) + @standards{ISO, wchar.h} + @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} +-This is just like @code{fputwc}, except that it can be implement as ++This is just like @code{fputwc}, except that it may be implemented as + a macro, making it faster. One consequence is that it may evaluate the + @var{stream} argument more than once, which is an exception to the +-general rule for macros. @code{putwc} is usually the best function to +-use for writing a single wide character. ++general rule for macros. Therefore, @var{stream} should never be an ++expression with side-effects. + @end deftypefun + + @deftypefun int putc_unlocked (int @var{c}, FILE *@var{stream}) + +commit 132a72f93cb4ad9f16b8469dc061de5f75f6a44e +Author: Lukas Bulwahn +Date: Mon Jul 29 11:08:17 2024 +0200 + + manual: make setrlimit() description less ambiguous + + The existing description for setrlimit() has some ambiguity. It could be + understood to have the semantics of getrlimit(), i.e., the limits from the + process are stored in the provided rlp pointer. + + Make the description more explicit that rlp are the input values, and that + the limits of the process is changed with this function. + + Reviewed-by: Florian Weimer + (cherry picked from commit aedbf08891069fc029ed021e4dba933eb877b394) + +diff --git a/manual/resource.texi b/manual/resource.texi +index c9b21dedeb..25966bcb64 100644 +--- a/manual/resource.texi ++++ b/manual/resource.texi +@@ -192,8 +192,8 @@ If the sources are compiled with @code{_FILE_OFFSET_BITS == 64} on a + @standards{BSD, sys/resource.h} + @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} + @c Direct syscall on most systems; lock-taking critical section on HURD. +-Store the current and maximum limits for the resource @var{resource} +-in @code{*@var{rlp}}. ++Change the current and maximum limits of the process for the resource ++@var{resource} to the values provided in @code{*@var{rlp}}. + + The return value is @code{0} on success and @code{-1} on failure. The + following @code{errno} error condition is possible: + +commit 509166c9a53ad81217a28cc67ba2a688f02fc477 +Author: Florian Weimer +Date: Wed Jun 26 11:27:54 2024 +0200 + + Enhance test coverage for strnlen, wcsnlen + + This commit adds string/test-strnlen-nonarray and + wcsmbs/test-wcsnlen-nonarray. + + Reviewed-by: Noah Goldstein + (cherry picked from commit 783d4c0b81889c39a9ddf13b60d0fde4040fb1c0) + +diff --git a/string/Makefile b/string/Makefile +index 8f31fa49e6..2e20fc00fd 100644 +--- a/string/Makefile ++++ b/string/Makefile +@@ -184,6 +184,7 @@ tests := \ + test-strncpy \ + test-strndup \ + test-strnlen \ ++ test-strnlen-nonarray \ + test-strpbrk \ + test-strrchr \ + test-strspn \ +diff --git a/string/test-Xnlen-nonarray.c b/string/test-Xnlen-nonarray.c +new file mode 100644 +index 0000000000..499bef2041 +--- /dev/null ++++ b/string/test-Xnlen-nonarray.c +@@ -0,0 +1,133 @@ ++/* Test non-array inputs to string length functions. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* This skeleton file is included from string/test-strnlen-nonarray.c ++ and wcsmbs/test-wcsnlen-nonarray.c to test that reading of the array ++ stops at the first null character. ++ ++ TEST_IDENTIFIER must be the test function identifier. TEST_NAME is ++ the same as a string. ++ ++ CHAR must be defined as the character type. */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++typedef __typeof (TEST_IDENTIFIER) *proto_t; ++ ++#define TEST_MAIN ++#include "test-string.h" ++ ++IMPL (TEST_IDENTIFIER, 1) ++ ++static int ++test_main (void) ++{ ++ enum { buffer_length = 256 }; ++ TEST_VERIFY_EXIT (sysconf (_SC_PAGESIZE) >= buffer_length); ++ ++ test_init (); ++ ++ /* Buffer layout: There are a_count 'A' character followed by ++ zero_count null character, for a total of buffer_length ++ character: ++ ++ AAAAA...AAAAA 00000 ... 00000 (unmapped page follows) ++ \ / \ / ++ (a_count) (zero_count) ++ \___ (buffer_length) ___/ ++ ^ ++ | ++ start_offset ++ ++ The buffer length does not change, but a_count (and thus _zero) ++ and start_offset vary. ++ ++ If start_offset == buffer_length, only 0 is a valid length ++ argument. The result is 0. ++ ++ Otherwwise, if zero_count > 0 (if there a null characters in the ++ buffer), then any length argument is valid. If start_offset < ++ a_count (i.e., there is a non-null character at start_offset), the ++ result is the minimum of a_count - start_offset and the length ++ argument. Otherwise the result is 0. ++ ++ Otherwise, there are no null characters before the unmapped page. ++ The length argument must not be greater than buffer_length - ++ start_offset, and the result is the length argument. */ ++ ++ struct support_next_to_fault ntf ++ = support_next_to_fault_allocate (buffer_length * sizeof (CHAR)); ++ CHAR *buffer = (CHAR *) ntf.buffer; ++ ++ FOR_EACH_IMPL (impl, 0) ++ { ++ printf ("info: testing %s\n", impl->name); ++ for (size_t i = 0; i < buffer_length; ++i) ++ buffer[i] = 'A'; ++ ++ for (int zero_count = 0; zero_count <= buffer_length; ++zero_count) ++ { ++ if (zero_count > 0) ++ buffer[buffer_length - zero_count] = 0; ++ int a_count = buffer_length - zero_count; ++ for (int start_offset = 0; start_offset <= buffer_length; ++ ++start_offset) ++ { ++ CHAR *start_pointer = buffer + start_offset; ++ if (start_offset == buffer_length) ++ TEST_COMPARE (CALL (impl, buffer + start_offset, 0), 0); ++ else if (zero_count > 0) ++ for (int length_argument = 0; ++ length_argument <= 2 * buffer_length; ++ ++length_argument) ++ { ++ if (test_verbose) ++ printf ("zero_count=%d a_count=%d start_offset=%d" ++ " length_argument=%d\n", ++ zero_count, a_count, start_offset, ++ length_argument); ++ if (start_offset < a_count) ++ TEST_COMPARE (CALL (impl, start_pointer, length_argument), ++ MIN (a_count - start_offset, ++ length_argument)); ++ else ++ TEST_COMPARE (CALL (impl, start_pointer, length_argument), ++ 0); ++ } ++ else ++ for (int length_argument = 0; ++ length_argument <= buffer_length - start_offset; ++ ++length_argument) ++ TEST_COMPARE (CALL (impl, start_pointer, length_argument), ++ length_argument); ++ } ++ } ++ } ++ ++ support_next_to_fault_free (&ntf); ++ ++ return 0; ++} ++ ++#include +diff --git a/string/test-strnlen-nonarray.c b/string/test-strnlen-nonarray.c +new file mode 100644 +index 0000000000..0ad05756d9 +--- /dev/null ++++ b/string/test-strnlen-nonarray.c +@@ -0,0 +1,4 @@ ++#define TEST_IDENTIFIER strnlen ++#define TEST_NAME "strnlen" ++typedef char CHAR; ++#include "test-Xnlen-nonarray.c" +diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile +index 1cddd8cc6d..c51c9b4f1f 100644 +--- a/wcsmbs/Makefile ++++ b/wcsmbs/Makefile +@@ -160,6 +160,7 @@ tests := \ + test-wcsncmp \ + test-wcsncpy \ + test-wcsnlen \ ++ test-wcsnlen-nonarray \ + test-wcspbrk \ + test-wcsrchr \ + test-wcsspn \ +diff --git a/wcsmbs/test-wcsnlen-nonarray.c b/wcsmbs/test-wcsnlen-nonarray.c +new file mode 100644 +index 0000000000..a4b21fecd3 +--- /dev/null ++++ b/wcsmbs/test-wcsnlen-nonarray.c +@@ -0,0 +1,5 @@ ++#include ++#define TEST_IDENTIFIER wcsnlen ++#define TEST_NAME "wcsnlen" ++typedef wchar_t CHAR; ++#include "../string/test-Xnlen-nonarray.c" + +commit 46f19b234244f4654b9e3898ac1c27de86068222 +Author: Florian Weimer +Date: Thu Jun 27 16:26:56 2024 +0200 + + Enhanced test coverage for strncmp, wcsncmp + + Add string/test-strncmp-nonarray and + wcsmbs/test-wcsncmp-nonarray. + + This is the test that uncovered bug 31934. Test run time + is more than one minute on a fairly current system, so turn + these into xtests that do not run automatically. + + Reviewed-by: Noah Goldstein + (cherry picked from commit 54252394c25ddf0062e288d4a6ab7a885f8ae009) + +diff --git a/string/Makefile b/string/Makefile +index 2e20fc00fd..1dff405c27 100644 +--- a/string/Makefile ++++ b/string/Makefile +@@ -236,7 +236,10 @@ tests-unsupported += $(tests-translation) + endif + + # This test allocates a lot of memory and can run for a long time. +-xtests = tst-strcoll-overflow ++xtests += tst-strcoll-overflow ++ ++# This test runs for a long time. ++xtests += test-strncmp-nonarray + + # This test needs libdl. + ifeq (yes,$(build-shared)) +diff --git a/string/test-Xncmp-nonarray.c b/string/test-Xncmp-nonarray.c +new file mode 100644 +index 0000000000..9f3a3ca75d +--- /dev/null ++++ b/string/test-Xncmp-nonarray.c +@@ -0,0 +1,183 @@ ++/* Test non-array inputs to string comparison functions. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* This skeleton file is included from string/test-strncmp-nonarray.c and ++ wcsmbs/test-wcsncmp-nonarray.c to test that reading of the arrays stops ++ at the first null character. ++ ++ TEST_IDENTIFIER must be the test function identifier. TEST_NAME is ++ the same as a string. ++ ++ CHAR must be defined as the character type. */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* Much shorter than test-Xnlen-nonarray.c because of deeply nested loops. */ ++enum { buffer_length = 80 }; ++ ++/* The test buffer layout follows what is described test-Xnlen-nonarray.c, ++ except that there two buffers, left and right. The variables ++ a_count, zero_count, start_offset are all duplicated. */ ++ ++/* Return the maximum string length for a string that starts at ++ start_offset. */ ++static int ++string_length (int a_count, int start_offset) ++{ ++ if (start_offset == buffer_length || start_offset >= a_count) ++ return 0; ++ else ++ return a_count - start_offset; ++} ++ ++/* This is the valid maximum length argument computation for ++ strnlen/wcsnlen. See text-Xnlen-nonarray.c. */ ++static int ++maximum_length (int start_offset, int zero_count) ++{ ++ if (start_offset == buffer_length) ++ return 0; ++ else if (zero_count > 0) ++ /* Effectively unbounded, but we need to stop fairly low, ++ otherwise testing takes too long. */ ++ return buffer_length + 32; ++ else ++ return buffer_length - start_offset; ++} ++ ++typedef __typeof (TEST_IDENTIFIER) *proto_t; ++ ++#define TEST_MAIN ++#include "test-string.h" ++ ++IMPL (TEST_IDENTIFIER, 1) ++ ++static int ++test_main (void) ++{ ++ TEST_VERIFY_EXIT (sysconf (_SC_PAGESIZE) >= buffer_length); ++ test_init (); ++ ++ struct support_next_to_fault left_ntf ++ = support_next_to_fault_allocate (buffer_length * sizeof (CHAR)); ++ CHAR *left_buffer = (CHAR *) left_ntf.buffer; ++ struct support_next_to_fault right_ntf ++ = support_next_to_fault_allocate (buffer_length * sizeof (CHAR)); ++ CHAR *right_buffer = (CHAR *) right_ntf.buffer; ++ ++ FOR_EACH_IMPL (impl, 0) ++ { ++ printf ("info: testing %s\n", impl->name); ++ for (size_t i = 0; i < buffer_length; ++i) ++ left_buffer[i] = 'A'; ++ ++ for (int left_zero_count = 0; left_zero_count <= buffer_length; ++ ++left_zero_count) ++ { ++ if (left_zero_count > 0) ++ left_buffer[buffer_length - left_zero_count] = 0; ++ int left_a_count = buffer_length - left_zero_count; ++ for (size_t i = 0; i < buffer_length; ++i) ++ right_buffer[i] = 'A'; ++ for (int right_zero_count = 0; right_zero_count <= buffer_length; ++ ++right_zero_count) ++ { ++ if (right_zero_count > 0) ++ right_buffer[buffer_length - right_zero_count] = 0; ++ int right_a_count = buffer_length - right_zero_count; ++ for (int left_start_offset = 0; ++ left_start_offset <= buffer_length; ++ ++left_start_offset) ++ { ++ CHAR *left_start_pointer = left_buffer + left_start_offset; ++ int left_maxlen ++ = maximum_length (left_start_offset, left_zero_count); ++ int left_length ++ = string_length (left_a_count, left_start_offset); ++ for (int right_start_offset = 0; ++ right_start_offset <= buffer_length; ++ ++right_start_offset) ++ { ++ CHAR *right_start_pointer ++ = right_buffer + right_start_offset; ++ int right_maxlen ++ = maximum_length (right_start_offset, right_zero_count); ++ int right_length ++ = string_length (right_a_count, right_start_offset); ++ ++ /* Maximum length is modelled after strnlen/wcsnlen, ++ and must be valid for both pointer arguments at ++ the same time. */ ++ int maxlen = MIN (left_maxlen, right_maxlen); ++ ++ for (int length_argument = 0; length_argument <= maxlen; ++ ++length_argument) ++ { ++ if (test_verbose) ++ { ++ printf ("left: zero_count=%d" ++ " a_count=%d start_offset=%d\n", ++ left_zero_count, left_a_count, ++ left_start_offset); ++ printf ("right: zero_count=%d" ++ " a_count=%d start_offset=%d\n", ++ right_zero_count, right_a_count, ++ right_start_offset); ++ printf ("length argument: %d\n", ++ length_argument); ++ } ++ ++ /* Effective lengths bounded by length argument. ++ The effective length determines the ++ outcome of the comparison. */ ++ int left_effective ++ = MIN (left_length, length_argument); ++ int right_effective ++ = MIN (right_length, length_argument); ++ if (left_effective == right_effective) ++ TEST_COMPARE (CALL (impl, ++ left_start_pointer, ++ right_start_pointer, ++ length_argument), 0); ++ else if (left_effective < right_effective) ++ TEST_COMPARE (CALL (impl, ++ left_start_pointer, ++ right_start_pointer, ++ length_argument) < 0, 1); ++ else ++ TEST_COMPARE (CALL (impl, ++ left_start_pointer, ++ right_start_pointer, ++ length_argument) > 0, 1); ++ } ++ } ++ } ++ } ++ } ++ } ++ ++ return 0; ++} ++ ++#include +diff --git a/string/test-strncmp-nonarray.c b/string/test-strncmp-nonarray.c +new file mode 100644 +index 0000000000..581e52d01b +--- /dev/null ++++ b/string/test-strncmp-nonarray.c +@@ -0,0 +1,4 @@ ++#define TEST_IDENTIFIER strncmp ++#define TEST_NAME "strncmp" ++typedef char CHAR; ++#include "test-Xncmp-nonarray.c" +diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile +index c51c9b4f1f..63adf0e8ef 100644 +--- a/wcsmbs/Makefile ++++ b/wcsmbs/Makefile +@@ -206,6 +206,10 @@ tests := \ + wcsmbs-tst1 \ + # tests + ++# This test runs for a long time. ++xtests += test-wcsncmp-nonarray ++ ++ + include ../Rules + + ifeq ($(run-built-tests),yes) +diff --git a/wcsmbs/test-wcsncmp-nonarray.c b/wcsmbs/test-wcsncmp-nonarray.c +new file mode 100644 +index 0000000000..1ad9ebd8fd +--- /dev/null ++++ b/wcsmbs/test-wcsncmp-nonarray.c +@@ -0,0 +1,5 @@ ++#include ++#define TEST_IDENTIFIER wcsncmp ++#define TEST_NAME "wcsncmp" ++typedef wchar_t CHAR; ++#include "../string/test-Xncmp-nonarray.c" + +commit 3433a358428bcec2d203fa408b85f442c9a465ca +Author: H.J. Lu +Date: Wed Jul 24 14:05:13 2024 -0700 + + linux: Update the mremap C implementation [BZ #31968] + + Update the mremap C implementation to support the optional argument for + MREMAP_DONTUNMAP added in Linux 5.7 since it may not always be correct + to implement a variadic function as a non-variadic function on all Linux + targets. Return MAP_FAILED and set errno to EINVAL for unknown flag bits. + This fixes BZ #31968. + + Note: A test must be added when a new flag bit is introduced. + + Signed-off-by: H.J. Lu + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 6c40cb0e9f893d49dc7caee580a055de53562206) + +diff --git a/NEWS b/NEWS +index 6b62f55658..5948704ef9 100644 +--- a/NEWS ++++ b/NEWS +@@ -11,6 +11,7 @@ The following bugs are resolved with this release: + + [30081] resolv: Do not wait for non-existing second DNS response after error + [31890] resolv: Allow short error responses to match any DNS query ++ [31968] mremap implementation in C does not handle arguments correctly + + Version 2.40 + +diff --git a/sysdeps/unix/sysv/linux/mremap.c b/sysdeps/unix/sysv/linux/mremap.c +index 4f770799c4..1ada5c1f40 100644 +--- a/sysdeps/unix/sysv/linux/mremap.c ++++ b/sysdeps/unix/sysv/linux/mremap.c +@@ -20,6 +20,12 @@ + #include + #include + #include ++#include ++ ++#define MREMAP_KNOWN_BITS \ ++ (MREMAP_MAYMOVE \ ++ | MREMAP_FIXED \ ++ | MREMAP_DONTUNMAP) + + void * + __mremap (void *addr, size_t old_len, size_t new_len, int flags, ...) +@@ -27,7 +33,13 @@ __mremap (void *addr, size_t old_len, size_t new_len, int flags, ...) + va_list va; + void *new_addr = NULL; + +- if (flags & MREMAP_FIXED) ++ if (flags & ~(MREMAP_KNOWN_BITS)) ++ { ++ __set_errno (EINVAL); ++ return MAP_FAILED; ++ } ++ ++ if (flags & (MREMAP_FIXED | MREMAP_DONTUNMAP)) + { + va_start (va, flags); + new_addr = va_arg (va, void *); + +commit 2eb2d78ca75d7432bd1d11d227f4c899554ea02e +Author: H.J. Lu +Date: Wed Jul 24 14:05:14 2024 -0700 + + mremap: Update manual entry + + Update mremap manual entry: + + 1. Change mremap to variadic. + 2. Document MREMAP_FIXED and MREMAP_DONTUNMAP. + + Signed-off-by: H.J. Lu + Reviewed-by: Adhemerval Zanella + (cherry picked from commit cb2dee4eccf46642eef588bee64f9c875c408f1c) + +diff --git a/NEWS b/NEWS +index 5948704ef9..8da0408ad9 100644 +--- a/NEWS ++++ b/NEWS +@@ -10,6 +10,7 @@ Version 2.40.1 + The following bugs are resolved with this release: + + [30081] resolv: Do not wait for non-existing second DNS response after error ++ [31968] mremap implementation in C does not handle arguments correctly + [31890] resolv: Allow short error responses to match any DNS query + [31968] mremap implementation in C does not handle arguments correctly + +diff --git a/manual/llio.texi b/manual/llio.texi +index 6f0a48609b..ea84196abd 100644 +--- a/manual/llio.texi ++++ b/manual/llio.texi +@@ -1892,7 +1892,7 @@ There is no existing mapping in at least part of the given region. + + @end deftypefun + +-@deftypefun {void *} mremap (void *@var{address}, size_t @var{length}, size_t @var{new_length}, int @var{flag}) ++@deftypefun {void *} mremap (void *@var{address}, size_t @var{length}, size_t @var{new_length}, int @var{flag}, ... /* void *@var{new_address} */) + @standards{GNU, sys/mman.h} + @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}} + +@@ -1901,12 +1901,40 @@ area. @var{address} and @var{length} must cover a region entirely mapped + in the same @code{mmap} statement. A new mapping with the same + characteristics will be returned with the length @var{new_length}. + +-One option is possible, @code{MREMAP_MAYMOVE}. If it is given in +-@var{flags}, the system may remove the existing mapping and create a new +-one of the desired length in another location. ++Possible flags are + +-The address of the resulting mapping is returned, or @math{-1}. Possible +-error codes include: ++@table @code ++ ++@item MREMAP_MAYMOVE ++If it is given in @var{flags}, the system may remove the existing mapping ++and create a new one of the desired length in another location. ++ ++@item MREMAP_FIXED ++If it is given in @var{flags}, @code{mremap} accepts a fifth argument, ++@code{void *new_address}, which specifies a page-aligned address to ++which the mapping must be moved. Any previous mapping at the address ++range specified by @var{new_address} and @var{new_size} is unmapped. ++ ++@code{MREMAP_FIXED} must be used together with @code{MREMAP_MAYMOVE}. ++ ++@item MREMAP_DONTUNMAP ++If it is given in @var{flags}, @code{mremap} accepts a fifth argument, ++@code{void *new_address}, which specifies a page-aligned address. Any ++previous mapping at the address range specified by @var{new_address} and ++@var{new_size} is unmapped. If @var{new_address} is @code{NULL}, the ++kernel chooses the page-aligned address at which to create the mapping. ++Otherwise, the kernel takes it as a hint about where to place the mapping. ++The mapping at the address range specified by @var{old_address} and ++@var{old_size} isn't unmapped. ++ ++@code{MREMAP_DONTUNMAP} must be used together with @code{MREMAP_MAYMOVE}. ++@var{old_size} must be the same as @var{new_size}. This flag bit is ++Linux-specific. ++ ++@end table ++ ++The address of the resulting mapping is returned, or @code{MAP_FAILED}. ++Possible error codes include: + + @table @code + +@@ -1915,7 +1943,7 @@ There is no existing mapping in at least part of the original region, or + the region covers two or more distinct mappings. + + @item EINVAL +-The address given is misaligned or inappropriate. ++Any arguments are inappropriate, including unknown @var{flags} values. + + @item EAGAIN + The region has pages locked, and if extended it would exceed the + +commit ca53bc68ab92ab413a7d53e951227d380a85ebd8 +Author: H.J. Lu +Date: Wed Jul 24 14:05:15 2024 -0700 + + Add mremap tests + + Add tests for MREMAP_MAYMOVE and MREMAP_FIXED. On Linux, also test + MREMAP_DONTUNMAP. + + Signed-off-by: H.J. Lu + Reviewed-by: Adhemerval Zanella + (cherry picked from commit ff0320bec2810192d453c579623482fab87bfa01) + +diff --git a/misc/Makefile b/misc/Makefile +index 5d17c562fe..7b7f8351bf 100644 +--- a/misc/Makefile ++++ b/misc/Makefile +@@ -257,6 +257,8 @@ tests := \ + tst-mntent-blank-passno \ + tst-mntent-escape \ + tst-mntent2 \ ++ tst-mremap1 \ ++ tst-mremap2 \ + tst-preadvwritev \ + tst-preadvwritev2 \ + tst-preadvwritev64 \ +diff --git a/misc/tst-mremap1.c b/misc/tst-mremap1.c +new file mode 100644 +index 0000000000..0469991a6c +--- /dev/null ++++ b/misc/tst-mremap1.c +@@ -0,0 +1,46 @@ ++/* Test mremap with MREMAP_MAYMOVE. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ size_t old_size = getpagesize (); ++ char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANONYMOUS, -1); ++ old_addr[0] = 1; ++ old_addr[old_size - 1] = 2; ++ ++ /* Test MREMAP_MAYMOVE. */ ++ size_t new_size = old_size + old_size; ++ char *new_addr = mremap (old_addr, old_size, new_size, MREMAP_MAYMOVE); ++ TEST_VERIFY_EXIT (new_addr != MAP_FAILED); ++ new_addr[0] = 1; ++ new_addr[new_size - 1] = 2; ++ xmunmap (new_addr, new_size); ++ ++ return 0; ++} ++ ++#include +diff --git a/misc/tst-mremap2.c b/misc/tst-mremap2.c +new file mode 100644 +index 0000000000..45be7f0369 +--- /dev/null ++++ b/misc/tst-mremap2.c +@@ -0,0 +1,54 @@ ++/* Test mremap with MREMAP_FIXED. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ size_t old_size = getpagesize (); ++ size_t new_size = old_size + old_size; ++ char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANONYMOUS, -1); ++ old_addr[0] = 1; ++ old_addr[old_size - 1] = 2; ++ ++ char *fixed_addr = xmmap (NULL, new_size, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANONYMOUS, -1); ++ fixed_addr[0] = 1; ++ fixed_addr[new_size - 1] = 2; ++ ++ /* Test MREMAP_FIXED. */ ++ char *new_addr = mremap (old_addr, old_size, new_size, ++ MREMAP_FIXED | MREMAP_MAYMOVE, ++ fixed_addr); ++ if (new_addr == MAP_FAILED) ++ return mremap_failure_exit (errno); ++ new_addr[0] = 1; ++ new_addr[new_size - 1] = 2; ++ xmunmap (new_addr, new_size); ++ ++ return 0; ++} ++ ++#include +diff --git a/sysdeps/generic/mremap-failure.h b/sysdeps/generic/mremap-failure.h +new file mode 100644 +index 0000000000..bc0d476368 +--- /dev/null ++++ b/sysdeps/generic/mremap-failure.h +@@ -0,0 +1,25 @@ ++/* mremap failure handling. Generic version. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* Return exit value on mremap failure with errno ERR. */ ++ ++static int ++mremap_failure_exit (int err) ++{ ++ return EXIT_FAILURE; ++} +diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile +index 097b5a26fc..59998c7af4 100644 +--- a/sysdeps/unix/sysv/linux/Makefile ++++ b/sysdeps/unix/sysv/linux/Makefile +@@ -206,6 +206,7 @@ tests += \ + tst-getauxval \ + tst-gettid \ + tst-gettid-kill \ ++ tst-linux-mremap1 \ + tst-memfd_create \ + tst-misalign-clone \ + tst-mlock2 \ +diff --git a/sysdeps/unix/sysv/linux/mremap-failure.h b/sysdeps/unix/sysv/linux/mremap-failure.h +new file mode 100644 +index 0000000000..c99ab30ca9 +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/mremap-failure.h +@@ -0,0 +1,30 @@ ++/* mremap failure handling. Linux version. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++ ++/* Return exit value on mremap failure with errno ERR. */ ++ ++static int ++mremap_failure_exit (int err) ++{ ++ if (err != EINVAL) ++ return EXIT_FAILURE; ++ ++ return EXIT_UNSUPPORTED; ++} +diff --git a/sysdeps/unix/sysv/linux/tst-linux-mremap1.c b/sysdeps/unix/sysv/linux/tst-linux-mremap1.c +new file mode 100644 +index 0000000000..408e8af2ab +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/tst-linux-mremap1.c +@@ -0,0 +1,63 @@ ++/* Test mremap with MREMAP_DONTUNMAP. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ size_t old_size = getpagesize (); ++ size_t new_size = old_size; ++ char *old_addr = xmmap (NULL, old_size, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANONYMOUS, -1); ++ old_addr[0] = 1; ++ old_addr[old_size - 1] = 2; ++ ++ /* Create an available 64-page mmap region. */ ++ size_t fixed_size = old_size * 64; ++ char *fixed_addr = xmmap (NULL, fixed_size, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANONYMOUS, -1); ++ xmunmap (fixed_addr, fixed_size); ++ ++ /* Add 3 * pagesize. */ ++ fixed_size += 3 * old_size; ++ ++ /* Test MREMAP_DONTUNMAP. It should return FIXED_ADDR created above. */ ++ char *new_addr = mremap (old_addr, old_size, new_size, ++ MREMAP_DONTUNMAP | MREMAP_MAYMOVE, ++ fixed_addr); ++ if (new_addr == MAP_FAILED) ++ return mremap_failure_exit (errno); ++ TEST_VERIFY_EXIT (fixed_addr == new_addr); ++ old_addr[0] = 3; ++ old_addr[old_size - 1] = 4; ++ new_addr[0] = 1; ++ new_addr[new_size - 1] = 2; ++ xmunmap (new_addr, new_size); ++ xmunmap (old_addr, old_size); ++ ++ return 0; ++} ++ ++#include + +commit 928769737c8f0cbb51dfa2a02de0594c2395d802 +Author: Florian Weimer +Date: Thu Aug 1 10:46:10 2024 +0200 + + resolv: Fix tst-resolv-short-response for older GCC (bug 32042) + + Previous GCC versions do not support the C23 change that + allows labels on declarations. + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit ec119972cb2598c04ec7d4219e20506006836f64) + +diff --git a/resolv/tst-resolv-short-response.c b/resolv/tst-resolv-short-response.c +index be354ae1c7..9b06b0c176 100644 +--- a/resolv/tst-resolv-short-response.c ++++ b/resolv/tst-resolv-short-response.c +@@ -33,8 +33,10 @@ response (const struct resolv_response_context *ctx, + { + case 0: + /* First server times out. */ +- struct resolv_response_flags flags = {.rcode = rcode}; +- resolv_response_init (b, flags); ++ { ++ struct resolv_response_flags flags = {.rcode = rcode}; ++ resolv_response_init (b, flags); ++ } + break; + case 1: + /* Second server sends reply. */ + +commit aa533d58ff12e27771d9c960a727d74992a3f2a3 +Author: Florian Weimer +Date: Fri Aug 2 15:22:14 2024 +0200 + + x86: Tunables may incorrectly set Prefer_PMINUB_for_stringop (bug 32047) + + Fixes commit 5bcf6265f215326d14dfacdce8532792c2c7f8f8 ("x86: + Disable non-temporal memset on Skylake Server"). + + Reviewed-by: Noah Goldstein + (cherry picked from commit 7a630f7d3392ca391a399486ce2846f9e4b4ee63) + +diff --git a/sysdeps/x86/cpu-tunables.c b/sysdeps/x86/cpu-tunables.c +index ae9dcd6180..ccc6b64dc2 100644 +--- a/sysdeps/x86/cpu-tunables.c ++++ b/sysdeps/x86/cpu-tunables.c +@@ -248,6 +248,7 @@ TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *valp) + CHECK_GLIBC_IFUNC_PREFERRED_BOTH (n, cpu_features, + Avoid_Non_Temporal_Memset, 25); + } ++ break; + case 26: + { + CHECK_GLIBC_IFUNC_PREFERRED_NEED_BOTH + +commit 6a97e2ba144a554809161d488f25e4bae07c9405 +Author: Andreas Schwab +Date: Mon Aug 5 10:55:51 2024 +0200 + + Fix name space violation in fortify wrappers (bug 32052) + + Rename the identifier sz to __sz everywhere. + + Fixes: a643f60c53 ("Make sure that the fortified function conditionals are constant") + (cherry picked from commit 39ca997ab378990d5ac1aadbaa52aaf1db6d526f) + +diff --git a/NEWS b/NEWS +index 8da0408ad9..b9eb4a558b 100644 +--- a/NEWS ++++ b/NEWS +@@ -13,6 +13,7 @@ The following bugs are resolved with this release: + [31968] mremap implementation in C does not handle arguments correctly + [31890] resolv: Allow short error responses to match any DNS query + [31968] mremap implementation in C does not handle arguments correctly ++ [32052] Name space violation in fortify wrappers + + Version 2.40 + +diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h +index 91a80dd7c6..4b8bc35bdf 100644 +--- a/libio/bits/stdio2.h ++++ b/libio/bits/stdio2.h +@@ -308,14 +308,14 @@ fgets (__fortify_clang_overload_arg (char *, __restrict, __s), int __n, + "fgets called with bigger size than length of " + "destination buffer") + { +- size_t sz = __glibc_objsize (__s); +- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) ++ size_t __sz = __glibc_objsize (__s); ++ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __fgets_alias (__s, __n, __stream); + #if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, sizeof (char), sz)) +- return __fgets_chk_warn (__s, sz, __n, __stream); ++ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) ++ return __fgets_chk_warn (__s, __sz, __n, __stream); + #endif +- return __fgets_chk (__s, sz, __n, __stream); ++ return __fgets_chk (__s, __sz, __n, __stream); + } + + __fortify_function __wur __nonnull ((4)) __attribute_overloadable__ size_t +@@ -326,14 +326,14 @@ fread (__fortify_clang_overload_arg (void *, __restrict, __ptr), + "fread called with bigger size * n than length " + "of destination buffer") + { +- size_t sz = __glibc_objsize0 (__ptr); +- if (__glibc_safe_or_unknown_len (__n, __size, sz)) ++ size_t __sz = __glibc_objsize0 (__ptr); ++ if (__glibc_safe_or_unknown_len (__n, __size, __sz)) + return __fread_alias (__ptr, __size, __n, __stream); + #if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, __size, sz)) +- return __fread_chk_warn (__ptr, sz, __size, __n, __stream); ++ if (__glibc_unsafe_len (__n, __size, __sz)) ++ return __fread_chk_warn (__ptr, __sz, __size, __n, __stream); + #endif +- return __fread_chk (__ptr, sz, __size, __n, __stream); ++ return __fread_chk (__ptr, __sz, __size, __n, __stream); + } + + #ifdef __USE_GNU +@@ -345,14 +345,14 @@ fgets_unlocked (__fortify_clang_overload_arg (char *, __restrict, __s), + "fgets called with bigger size than length of " + "destination buffer") + { +- size_t sz = __glibc_objsize (__s); +- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) ++ size_t __sz = __glibc_objsize (__s); ++ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __fgets_unlocked_alias (__s, __n, __stream); + #if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, sizeof (char), sz)) +- return __fgets_unlocked_chk_warn (__s, sz, __n, __stream); ++ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) ++ return __fgets_unlocked_chk_warn (__s, __sz, __n, __stream); + #endif +- return __fgets_unlocked_chk (__s, sz, __n, __stream); ++ return __fgets_unlocked_chk (__s, __sz, __n, __stream); + } + #endif + +@@ -366,8 +366,8 @@ fread_unlocked (__fortify_clang_overload_arg0 (void *, __restrict, __ptr), + "fread_unlocked called with bigger size * n than " + "length of destination buffer") + { +- size_t sz = __glibc_objsize0 (__ptr); +- if (__glibc_safe_or_unknown_len (__n, __size, sz)) ++ size_t __sz = __glibc_objsize0 (__ptr); ++ if (__glibc_safe_or_unknown_len (__n, __size, __sz)) + { + # ifdef __USE_EXTERN_INLINES + if (__builtin_constant_p (__size) +@@ -393,10 +393,10 @@ fread_unlocked (__fortify_clang_overload_arg0 (void *, __restrict, __ptr), + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + # if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, __size, sz)) +- return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); ++ if (__glibc_unsafe_len (__n, __size, __sz)) ++ return __fread_unlocked_chk_warn (__ptr, __sz, __size, __n, __stream); + # endif +- return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); ++ return __fread_unlocked_chk (__ptr, __sz, __size, __n, __stream); + + } + #endif +diff --git a/socket/bits/socket2.h b/socket/bits/socket2.h +index 04780f320e..bd91647f37 100644 +--- a/socket/bits/socket2.h ++++ b/socket/bits/socket2.h +@@ -37,14 +37,14 @@ recv (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), size_t __n, + "recv called with bigger length than " + "size of destination buffer") + { +- size_t sz = __glibc_objsize0 (__buf); +- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) ++ size_t __sz = __glibc_objsize0 (__buf); ++ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __recv_alias (__fd, __buf, __n, __flags); + #if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, sizeof (char), sz)) +- return __recv_chk_warn (__fd, __buf, __n, sz, __flags); ++ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) ++ return __recv_chk_warn (__fd, __buf, __n, __sz, __flags); + #endif +- return __recv_chk (__fd, __buf, __n, sz, __flags); ++ return __recv_chk (__fd, __buf, __n, __sz, __flags); + } + + extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n, +@@ -71,13 +71,13 @@ recvfrom (int __fd, __fortify_clang_overload_arg0 (void *, __restrict, __buf), + "recvfrom called with bigger length " + "than size of destination buffer") + { +- size_t sz = __glibc_objsize0 (__buf); +- if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) ++ size_t __sz = __glibc_objsize0 (__buf); ++ if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); + #if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, sizeof (char), sz)) +- return __recvfrom_chk_warn (__fd, __buf, __n, sz, __flags, __addr, ++ if (__glibc_unsafe_len (__n, sizeof (char), __sz)) ++ return __recvfrom_chk_warn (__fd, __buf, __n, __sz, __flags, __addr, + __addr_len); + #endif +- return __recvfrom_chk (__fd, __buf, __n, sz, __flags, __addr, __addr_len); ++ return __recvfrom_chk (__fd, __buf, __n, __sz, __flags, __addr, __addr_len); + } +diff --git a/stdlib/bits/stdlib.h b/stdlib/bits/stdlib.h +index 1557b862b1..9c78ecf458 100644 +--- a/stdlib/bits/stdlib.h ++++ b/stdlib/bits/stdlib.h +@@ -43,16 +43,16 @@ __NTH (realpath (const char *__restrict __name, + "bytes long buffer") + #endif + { +- size_t sz = __glibc_objsize (__resolved); ++ size_t __sz = __glibc_objsize (__resolved); + +- if (sz == (size_t) -1) ++ if (__sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + + #if !__fortify_use_clang && defined _LIBC_LIMITS_H_ && defined PATH_MAX +- if (__glibc_unsafe_len (PATH_MAX, sizeof (char), sz)) +- return __realpath_chk_warn (__name, __resolved, sz); ++ if (__glibc_unsafe_len (PATH_MAX, sizeof (char), __sz)) ++ return __realpath_chk_warn (__name, __resolved, __sz); + #endif +- return __realpath_chk (__name, __resolved, sz); ++ return __realpath_chk (__name, __resolved, __sz); + } + + +diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h +index 9fdff47ee2..43c6b63027 100644 +--- a/wcsmbs/bits/wchar2.h ++++ b/wcsmbs/bits/wchar2.h +@@ -74,9 +74,9 @@ __fortify_function __attribute_overloadable__ wchar_t * + __NTH (wcscpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src)) + { +- size_t sz = __glibc_objsize (__dest); +- if (sz != (size_t) -1) +- return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t)); ++ size_t __sz = __glibc_objsize (__dest); ++ if (__sz != (size_t) -1) ++ return __wcscpy_chk (__dest, __src, __sz / sizeof (wchar_t)); + return __wcscpy_alias (__dest, __src); + } + +@@ -84,9 +84,9 @@ __fortify_function __attribute_overloadable__ wchar_t * + __NTH (wcpcpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src)) + { +- size_t sz = __glibc_objsize (__dest); +- if (sz != (size_t) -1) +- return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t)); ++ size_t __sz = __glibc_objsize (__dest); ++ if (__sz != (size_t) -1) ++ return __wcpcpy_chk (__dest, __src, __sz / sizeof (wchar_t)); + return __wcpcpy_alias (__dest, __src); + } + +@@ -118,9 +118,9 @@ __fortify_function __attribute_overloadable__ wchar_t * + __NTH (wcscat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src)) + { +- size_t sz = __glibc_objsize (__dest); +- if (sz != (size_t) -1) +- return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t)); ++ size_t __sz = __glibc_objsize (__dest); ++ if (__sz != (size_t) -1) ++ return __wcscat_chk (__dest, __src, __sz / sizeof (wchar_t)); + return __wcscat_alias (__dest, __src); + } + +@@ -128,9 +128,9 @@ __fortify_function __attribute_overloadable__ wchar_t * + __NTH (wcsncat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src, size_t __n)) + { +- size_t sz = __glibc_objsize (__dest); +- if (sz != (size_t) -1) +- return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t)); ++ size_t __sz = __glibc_objsize (__dest); ++ if (__sz != (size_t) -1) ++ return __wcsncat_chk (__dest, __src, __n, __sz / sizeof (wchar_t)); + return __wcsncat_alias (__dest, __src, __n); + } + +@@ -170,10 +170,10 @@ __fortify_function int + __NTH (swprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, ...)) + { +- size_t sz = __glibc_objsize (__s); +- if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) ++ size_t __sz = __glibc_objsize (__s); ++ if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, +- sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); ++ __sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); + return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ()); + } + #elif __fortify_use_clang +@@ -206,10 +206,10 @@ __fortify_function int + __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) + { +- size_t sz = __glibc_objsize (__s); +- if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) ++ size_t __sz = __glibc_objsize (__s); ++ if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, +- sz / sizeof (wchar_t), __fmt, __ap); ++ __sz / sizeof (wchar_t), __fmt, __ap); + return __vswprintf_alias (__s, __n, __fmt, __ap); + } + +@@ -257,14 +257,14 @@ fgetws (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), int __n, + "fgetws called with length bigger " + "than size of destination buffer") + { +- size_t sz = __glibc_objsize (__s); +- if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) ++ size_t __sz = __glibc_objsize (__s); ++ if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz)) + return __fgetws_alias (__s, __n, __stream); + #if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) +- return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream); ++ if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz)) ++ return __fgetws_chk_warn (__s, __sz / sizeof (wchar_t), __n, __stream); + #endif +- return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream); ++ return __fgetws_chk (__s, __sz / sizeof (wchar_t), __n, __stream); + } + + #ifdef __USE_GNU +@@ -275,15 +275,15 @@ fgetws_unlocked (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), + "fgetws_unlocked called with length bigger " + "than size of destination buffer") + { +- size_t sz = __glibc_objsize (__s); +- if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) ++ size_t __sz = __glibc_objsize (__s); ++ if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz)) + return __fgetws_unlocked_alias (__s, __n, __stream); + # if !__fortify_use_clang +- if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) +- return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n, ++ if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz)) ++ return __fgetws_unlocked_chk_warn (__s, __sz / sizeof (wchar_t), __n, + __stream); + # endif +- return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream); ++ return __fgetws_unlocked_chk (__s, __sz / sizeof (wchar_t), __n, __stream); + } + #endif + + +commit 5641780762723156b0d20a0b9f7df1d76831bab0 +Author: Arjun Shankar +Date: Tue Jul 30 11:37:57 2024 +0200 + + manual/stdio: Further clarify putc, putwc, getc, and getwc + + This is a follow-up to 10de4a47ef3f481592e3c62eb07bcda23e9fde4d that + reworded the manual entries for putc and putwc and removed any + performance claims. + + This commit further clarifies these entries and brings getc and getwc in + line with the descriptions of putc and putwc, removing any performance + claims from them as well. + Reviewed-by: Florian Weimer + + (cherry picked from commit 942670c81dc8071dd75d6213e771daa5d2084cb6) + +diff --git a/manual/stdio.texi b/manual/stdio.texi +index f9529a098d..8517653507 100644 +--- a/manual/stdio.texi ++++ b/manual/stdio.texi +@@ -904,20 +904,16 @@ This function is a GNU extension. + @standards{ISO, stdio.h} + @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} + This is just like @code{fputc}, except that it may be implemented as +-a macro, making it faster. One consequence is that it may evaluate the +-@var{stream} argument more than once, which is an exception to the +-general rule for macros. Therefore, @var{stream} should never be an +-expression with side-effects. ++a macro and may evaluate the @var{stream} argument more than once. ++Therefore, @var{stream} should never be an expression with side-effects. + @end deftypefun + + @deftypefun wint_t putwc (wchar_t @var{wc}, FILE *@var{stream}) + @standards{ISO, wchar.h} + @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@acucorrupt{} @aculock{}}} + This is just like @code{fputwc}, except that it may be implemented as +-a macro, making it faster. One consequence is that it may evaluate the +-@var{stream} argument more than once, which is an exception to the +-general rule for macros. Therefore, @var{stream} should never be an +-expression with side-effects. ++a macro and may evaluate the @var{stream} argument more than once. ++Therefore, @var{stream} should never be an expression with side-effects. + @end deftypefun + + @deftypefun int putc_unlocked (int @var{c}, FILE *@var{stream}) +@@ -1110,20 +1106,17 @@ This function is a GNU extension. + @deftypefun int getc (FILE *@var{stream}) + @standards{ISO, stdio.h} + @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@aculock{} @acucorrupt{}}} +-This is just like @code{fgetc}, except that it is permissible (and +-typical) for it to be implemented as a macro that evaluates the +-@var{stream} argument more than once. @code{getc} is often highly +-optimized, so it is usually the best function to use to read a single +-character. ++This is just like @code{fgetc}, except that it may be implemented as ++a macro and may evaluate the @var{stream} argument more than once. ++Therefore, @var{stream} should never be an expression with side-effects. + @end deftypefun + + @deftypefun wint_t getwc (FILE *@var{stream}) + @standards{ISO, wchar.h} + @safety{@prelim{}@mtsafe{}@asunsafe{@asucorrupt{}}@acunsafe{@aculock{} @acucorrupt{}}} +-This is just like @code{fgetwc}, except that it is permissible for it to +-be implemented as a macro that evaluates the @var{stream} argument more +-than once. @code{getwc} can be highly optimized, so it is usually the +-best function to use to read a single wide character. ++This is just like @code{fgetwc}, except that it may be implemented as ++a macro and may evaluate the @var{stream} argument more than once. ++Therefore, @var{stream} should never be an expression with side-effects. + @end deftypefun + + @deftypefun int getc_unlocked (FILE *@var{stream}) + +commit 39ee60a719eb6ffde76ccc232d79273c473d7a93 +Author: Florian Weimer +Date: Fri Aug 9 17:01:17 2024 +0200 + + support: Add options list terminator to the test driver + + This avoids crashes if a test is passed unknown options. + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit c2a474f4617ede7a8bf56b7257acb37dc757b2d1) + +diff --git a/support/test-driver.c b/support/test-driver.c +index f4c3e4d666..04ceebc08f 100644 +--- a/support/test-driver.c ++++ b/support/test-driver.c +@@ -155,6 +155,7 @@ main (int argc, char **argv) + { + CMDLINE_OPTIONS + TEST_DEFAULT_OPTIONS ++ { 0, } + }; + test_config.options = &options; + #endif + +commit e3556937c2402b8acf2e586bf53168e9f482ba91 +Author: H.J. Lu +Date: Mon Jul 22 17:47:21 2024 -0700 + + x86-64: Remove sysdeps/x86_64/x32/dl-machine.h + + Remove sysdeps/x86_64/x32/dl-machine.h by folding x32 ARCH_LA_PLTENTER, + ARCH_LA_PLTEXIT and RTLD_START into sysdeps/x86_64/dl-machine.h. There + are no regressions on x86-64 nor x32. There are no changes in x86-64 + _dl_start_user. On x32, _dl_start_user changes are + + <_dl_start_user>: + mov %eax,%r12d + + mov %esp,%r13d + mov (%rsp),%edx + mov %edx,%esi + - mov %esp,%r13d + and $0xfffffff0,%esp + mov 0x0(%rip),%edi # <_dl_start_user+0x14> + lea 0x8(%r13,%rdx,4),%ecx + + Signed-off-by: H.J. Lu + Reviewed-by: Noah Goldstein + (cherry picked from commit 652c6cf26927352fc0e37e4e60c6fc98ddf6d3b4) + +diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h +index a6de3793e4..4f12955875 100644 +--- a/sysdeps/x86_64/dl-machine.h ++++ b/sysdeps/x86_64/dl-machine.h +@@ -139,37 +139,37 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[], + .globl _start\n\ + .globl _dl_start_user\n\ + _start:\n\ +- movq %rsp, %rdi\n\ ++ mov %" RSP_LP ", %" RDI_LP "\n\ + call _dl_start\n\ + _dl_start_user:\n\ + # Save the user entry point address in %r12.\n\ +- movq %rax, %r12\n\ ++ mov %" RAX_LP ", %" R12_LP "\n\ + # Save %rsp value in %r13.\n\ +- movq %rsp, %r13\n\ ++ mov %" RSP_LP ", % " R13_LP "\n\ + "\ + RTLD_START_ENABLE_X86_FEATURES \ + "\ + # Read the original argument count.\n\ +- movq (%rsp), %rdx\n\ ++ mov (%rsp), %" RDX_LP "\n\ + # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ + # argc -> rsi\n\ +- movq %rdx, %rsi\n\ ++ mov %" RDX_LP ", %" RSI_LP "\n\ + # And align stack for the _dl_init call. \n\ +- andq $-16, %rsp\n\ ++ and $-16, %" RSP_LP "\n\ + # _dl_loaded -> rdi\n\ +- movq _rtld_local(%rip), %rdi\n\ ++ mov _rtld_local(%rip), %" RDI_LP "\n\ + # env -> rcx\n\ +- leaq 16(%r13,%rdx,8), %rcx\n\ ++ lea 2*" LP_SIZE "(%r13,%rdx," LP_SIZE "), %" RCX_LP "\n\ + # argv -> rdx\n\ +- leaq 8(%r13), %rdx\n\ ++ lea " LP_SIZE "(%r13), %" RDX_LP "\n\ + # Clear %rbp to mark outermost frame obviously even for constructors.\n\ + xorl %ebp, %ebp\n\ + # Call the function to run the initializers.\n\ + call _dl_init\n\ + # Pass our finalizer function to the user in %rdx, as per ELF ABI.\n\ +- leaq _dl_fini(%rip), %rdx\n\ ++ lea _dl_fini(%rip), %" RDX_LP "\n\ + # And make sure %rsp points to argc stored on the stack.\n\ +- movq %r13, %rsp\n\ ++ mov %" R13_LP ", %" RSP_LP "\n\ + # Jump to the user's entry point.\n\ + jmp *%r12\n\ + .previous\n\ +@@ -234,8 +234,13 @@ elf_machine_plt_value (struct link_map *map, const ElfW(Rela) *reloc, + + + /* Names of the architecture-specific auditing callback functions. */ ++#ifdef __LP64__ + #define ARCH_LA_PLTENTER x86_64_gnu_pltenter + #define ARCH_LA_PLTEXIT x86_64_gnu_pltexit ++#else ++#define ARCH_LA_PLTENTER x32_gnu_pltenter ++#define ARCH_LA_PLTEXIT x32_gnu_pltexit ++#endif + + #endif /* !dl_machine_h */ + +diff --git a/sysdeps/x86_64/x32/dl-machine.h b/sysdeps/x86_64/x32/dl-machine.h +deleted file mode 100644 +index c35cee9261..0000000000 +--- a/sysdeps/x86_64/x32/dl-machine.h ++++ /dev/null +@@ -1,76 +0,0 @@ +-/* Machine-dependent ELF dynamic relocation inline functions. x32 version. +- Copyright (C) 2012-2024 Free Software Foundation, Inc. +- This file is part of the GNU C Library. +- +- The GNU C Library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- The GNU C Library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with the GNU C Library; if not, see +- . */ +- +-/* Must allow to be included more than once. +- See #ifdef RESOLVE_MAP in sysdeps/x86_64/dl-machine.h. */ +-#include +- +-#ifndef _X32_DL_MACHINE_H +-#define _X32_DL_MACHINE_H +- +-#undef ARCH_LA_PLTENTER +-#undef ARCH_LA_PLTEXIT +-#undef RTLD_START +- +-/* Names of the architecture-specific auditing callback functions. */ +-#define ARCH_LA_PLTENTER x32_gnu_pltenter +-#define ARCH_LA_PLTEXIT x32_gnu_pltexit +- +-/* Initial entry point code for the dynamic linker. +- The C function `_dl_start' is the real entry point; +- its return value is the user program's entry point. */ +-#define RTLD_START asm ("\n\ +-.text\n\ +- .p2align 4\n\ +-.globl _start\n\ +-.globl _dl_start_user\n\ +-_start:\n\ +- movl %esp, %edi\n\ +- call _dl_start\n\ +-_dl_start_user:\n\ +- # Save the user entry point address in %r12.\n\ +- movl %eax, %r12d\n\ +- # Read the original argument count.\n\ +- movl (%rsp), %edx\n\ +- # Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ +- # argc -> rsi\n\ +- movl %edx, %esi\n\ +- # Save %rsp value in %r13.\n\ +- movl %esp, %r13d\n\ +- # And align stack for the _dl_init call.\n\ +- and $-16, %esp\n\ +- # _dl_loaded -> rdi\n\ +- movl _rtld_local(%rip), %edi\n\ +- # env -> rcx\n\ +- lea 8(%r13,%rdx,4), %ecx\n\ +- # argv -> rdx\n\ +- lea 4(%r13), %edx\n\ +- # Clear %rbp to mark outermost frame obviously even for constructors.\n\ +- xorl %ebp, %ebp\n\ +- # Call the function to run the initializers.\n\ +- call _dl_init\n\ +- # Pass our finalizer function to the user in %rdx, as per ELF ABI.\n\ +- lea _dl_fini(%rip), %edx\n\ +- # And make sure %rsp points to argc stored on the stack.\n\ +- movl %r13d, %esp\n\ +- # Jump to the user's entry point.\n\ +- jmp *%r12\n\ +-.previous\n\ +-"); +- +-#endif /* !_X32_DL_MACHINE_H */ + +commit 898f25e0b1026be5701d05715600be646e9d0714 +Author: H.J. Lu +Date: Mon Jul 22 17:47:22 2024 -0700 + + x32/cet: Support shadow stack during startup for Linux 6.10 + + Use RXX_LP in RTLD_START_ENABLE_X86_FEATURES. Support shadow stack during + startup for Linux 6.10: + + commit 2883f01ec37dd8668e7222dfdb5980c86fdfe277 + Author: H.J. Lu + Date: Fri Mar 15 07:04:33 2024 -0700 + + x86/shstk: Enable shadow stacks for x32 + + 1. Add shadow stack support to x32 signal. + 2. Use the 64-bit map_shadow_stack syscall for x32. + 3. Set up shadow stack for x32. + + Add the map_shadow_stack system call to and regenerate + arch-syscall.h. Tested on Intel Tiger Lake with CET enabled x32. There + are no regressions with CET enabled x86-64. There are no changes in CET + enabled x86-64 _dl_start_user. + + Signed-off-by: H.J. Lu + Reviewed-by: Noah Goldstein + (cherry picked from commit 8344c1f5514b1b5b1c8c6e48f4b802653bd23b71) + +diff --git a/sysdeps/unix/sysv/linux/x86_64/dl-cet.h b/sysdeps/unix/sysv/linux/x86_64/dl-cet.h +index 1fe3133406..b4f7e6c9cd 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/dl-cet.h ++++ b/sysdeps/unix/sysv/linux/x86_64/dl-cet.h +@@ -92,9 +92,9 @@ dl_cet_ibt_enabled (void) + # Pass GL(dl_x86_feature_1) to _dl_cet_setup_features.\n\ + movl %edx, %edi\n\ + # Align stack for the _dl_cet_setup_features call.\n\ +- andq $-16, %rsp\n\ ++ and $-16, %" RSP_LP "\n\ + call _dl_cet_setup_features\n\ + # Restore %rax and %rsp from %r12 and %r13.\n\ +- movq %r12, %rax\n\ +- movq %r13, %rsp\n\ ++ mov %" R12_LP ", %" RAX_LP "\n\ ++ mov %" R13_LP ", %" RSP_LP "\n\ + " +diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +index 3040a47d72..df3e22236d 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +@@ -155,6 +155,7 @@ + #define __NR_lsm_set_self_attr 1073742284 + #define __NR_lstat 1073741830 + #define __NR_madvise 1073741852 ++#define __NR_map_shadow_stack 1073742277 + #define __NR_mbind 1073742061 + #define __NR_membarrier 1073742148 + #define __NR_memfd_create 1073742143 +diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h b/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h +index 98124169e6..47fa8af4ce 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h ++++ b/sysdeps/unix/sysv/linux/x86_64/x32/fixup-asm-unistd.h +@@ -15,6 +15,10 @@ + License along with the GNU C Library; if not, see + . */ + ++#ifndef __NR_map_shadow_stack ++# define __NR_map_shadow_stack 1073742277 ++#endif ++ + /* X32 uses the same 64-bit syscall interface for set_thread_area. */ + #ifndef __NR_set_thread_area + # define __NR_set_thread_area 1073742029 + +commit c0af0c2ba016030c778bc22c55f5f9498f96b8b9 +Author: Noah Goldstein +Date: Tue Aug 13 23:29:14 2024 +0800 + + x86: Fix bug in strchrnul-evex512 [BZ #32078] + + Issue was we were expecting not matches with CHAR before the start of + the string in the page cross case. + + The check code in the page cross case: + ``` + and $0xffffffffffffffc0,%rax + vmovdqa64 (%rax),%zmm17 + vpcmpneqb %zmm17,%zmm16,%k1 + vptestmb %zmm17,%zmm17,%k0{%k1} + kmovq %k0,%rax + inc %rax + shr %cl,%rax + je L(continue) + ``` + + expects that all characters that neither match null nor CHAR will be + 1s in `rax` prior to the `inc`. Then the `inc` will overflow all of + the 1s where no relevant match was found. + + This is incorrect in the page-cross case, as the + `vmovdqa64 (%rax),%zmm17` loads from before the start of the input + string. + + If there are matches with CHAR before the start of the string, `rax` + won't properly overflow. + + The fix is quite simple. Just replace: + + ``` + inc %rax + shr %cl,%rax + ``` + With: + ``` + sar %cl,%rax + inc %rax + ``` + + The arithmetic shift will clear any matches prior to the start of the + string while maintaining the signbit so the 1s can properly overflow + to zero in the case of no matches. + Reviewed-by: H.J. Lu + + (cherry picked from commit 7da08862471dfec6fdae731c2a5f351ad485c71f) + +diff --git a/string/test-strchr.c b/string/test-strchr.c +index c795eac6fa..72b17af687 100644 +--- a/string/test-strchr.c ++++ b/string/test-strchr.c +@@ -255,6 +255,69 @@ check1 (void) + check_result (impl, s, c, exp_result); + } + ++static void ++check2 (void) ++{ ++ CHAR *s = (CHAR *) (buf1 + getpagesize () - 4 * sizeof (CHAR)); ++ CHAR *s_begin = (CHAR *) (buf1 + getpagesize () - 64); ++#ifndef USE_FOR_STRCHRNUL ++ CHAR *exp_result = NULL; ++#else ++ CHAR *exp_result = s + 1; ++#endif ++ CHAR val = 0x12; ++ for (; s_begin != s; ++s_begin) ++ *s_begin = val; ++ ++ s[0] = val + 1; ++ s[1] = 0; ++ s[2] = val + 1; ++ s[3] = val + 1; ++ ++ { ++ FOR_EACH_IMPL (impl, 0) ++ check_result (impl, s, val, exp_result); ++ } ++ s[3] = val; ++ { ++ FOR_EACH_IMPL (impl, 0) ++ check_result (impl, s, val, exp_result); ++ } ++ exp_result = s; ++ s[0] = val; ++ { ++ FOR_EACH_IMPL (impl, 0) ++ check_result (impl, s, val, exp_result); ++ } ++ ++ s[3] = val + 1; ++ { ++ FOR_EACH_IMPL (impl, 0) ++ check_result (impl, s, val, exp_result); ++ } ++ ++ s[0] = val + 1; ++ s[1] = val + 1; ++ s[2] = val + 1; ++ s[3] = val + 1; ++ s[4] = val; ++ exp_result = s + 4; ++ { ++ FOR_EACH_IMPL (impl, 0) ++ check_result (impl, s, val, exp_result); ++ } ++ s[4] = 0; ++#ifndef USE_FOR_STRCHRNUL ++ exp_result = NULL; ++#else ++ exp_result = s + 4; ++#endif ++ { ++ FOR_EACH_IMPL (impl, 0) ++ check_result (impl, s, val, exp_result); ++ } ++} ++ + int + test_main (void) + { +@@ -263,7 +326,7 @@ test_main (void) + test_init (); + + check1 (); +- ++ check2 (); + printf ("%20s", ""); + FOR_EACH_IMPL (impl, 0) + printf ("\t%s", impl->name); +diff --git a/sysdeps/x86_64/multiarch/strchr-evex-base.S b/sysdeps/x86_64/multiarch/strchr-evex-base.S +index 04e2c0e79e..3a0b7c9d64 100644 +--- a/sysdeps/x86_64/multiarch/strchr-evex-base.S ++++ b/sysdeps/x86_64/multiarch/strchr-evex-base.S +@@ -124,13 +124,13 @@ L(page_cross): + VPCMPNE %VMM(1), %VMM(0), %k1 + VPTEST %VMM(1), %VMM(1), %k0{%k1} + KMOV %k0, %VRAX +-# ifdef USE_AS_WCSCHR ++ sar %cl, %VRAX ++#ifdef USE_AS_WCSCHR + sub $VEC_MATCH_MASK, %VRAX +-# else ++#else + inc %VRAX +-# endif ++#endif + /* Ignore number of character for alignment adjustment. */ +- shr %cl, %VRAX + jz L(align_more) + + bsf %VRAX, %VRAX + +commit 586e4cd8c67df95ebb0bfecea3d007bff618d6d9 +Author: Florian Weimer +Date: Fri Aug 9 16:17:14 2024 +0200 + + Define __libc_initial for the static libc + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit eb0e50e9a1cf80a2ba6f33f990a08ef37a3267fb) + +diff --git a/include/libc-internal.h b/include/libc-internal.h +index 87ac591835..1ef43ffe67 100644 +--- a/include/libc-internal.h ++++ b/include/libc-internal.h +@@ -53,6 +53,9 @@ extern __typeof (__profile_frequency) __profile_frequency attribute_hidden; + is not for an audit module, not loaded via dlmopen, and not loaded + via static dlopen either). */ + extern _Bool __libc_initial attribute_hidden; ++#else ++/* The static libc is always the initial namespace. */ ++# define __libc_initial ((_Bool) 1) + #endif + + #endif /* _LIBC_INTERNAL */ + +commit 709319f9de6f976f9feceb623cb2c96769e9d78b +Author: Florian Weimer +Date: Mon Aug 19 15:48:03 2024 +0200 + + string: strerror, strsignal cannot use buffer after dlmopen (bug 32026) + + Secondary namespaces have a different malloc. Allocating the + buffer in one namespace and freeing it another results in + heap corruption. Fix this by using a static string (potentially + translated) in secondary namespaces. It would also be possible + to use the malloc from the initial namespace to manage the + buffer, but these functions would still not be safe to use in + auditors etc. because a call to strerror could still free a + buffer while it is used by the application. Another approach + could use proper initial-exec TLS, duplicated in secondary + namespaces, but that would need a callback interface for freeing + libc resources in namespaces on thread exit, which does not exist + today. + + Reviewed-by: Adhemerval Zanella + (cherry picked from commit 25a5eb4010df94b412c67db9e346029de316d06b) + +diff --git a/NEWS b/NEWS +index b9eb4a558b..10a125bc66 100644 +--- a/NEWS ++++ b/NEWS +@@ -13,6 +13,7 @@ The following bugs are resolved with this release: + [31968] mremap implementation in C does not handle arguments correctly + [31890] resolv: Allow short error responses to match any DNS query + [31968] mremap implementation in C does not handle arguments correctly ++ [32026] strerror/strsignal TLS not handled correctly for secondary namespaces + [32052] Name space violation in fortify wrappers + + Version 2.40 +diff --git a/string/strerror_l.c b/string/strerror_l.c +index 15cce261e6..70456e5bb4 100644 +--- a/string/strerror_l.c ++++ b/string/strerror_l.c +@@ -20,7 +20,7 @@ + #include + #include + #include +- ++#include + + static const char * + translate (const char *str, locale_t loc) +@@ -31,6 +31,12 @@ translate (const char *str, locale_t loc) + return res; + } + ++static char * ++unknown_error (locale_t loc) ++{ ++ return (char *) translate ("Unknown error", loc); ++} ++ + + /* Return a string describing the errno code in ERRNUM. */ + char * +@@ -40,18 +46,25 @@ __strerror_l (int errnum, locale_t loc) + char *err = (char *) __get_errlist (errnum); + if (__glibc_unlikely (err == NULL)) + { +- struct tls_internal_t *tls_internal = __glibc_tls_internal (); +- free (tls_internal->strerror_l_buf); +- if (__asprintf (&tls_internal->strerror_l_buf, "%s%d", +- translate ("Unknown error ", loc), errnum) > 0) +- err = tls_internal->strerror_l_buf; +- else ++ if (__libc_initial) + { +- /* The memory was freed above. */ +- tls_internal->strerror_l_buf = NULL; +- /* Provide a fallback translation. */ +- err = (char *) translate ("Unknown error", loc); ++ struct tls_internal_t *tls_internal = __glibc_tls_internal (); ++ free (tls_internal->strerror_l_buf); ++ if (__asprintf (&tls_internal->strerror_l_buf, "%s%d", ++ translate ("Unknown error ", loc), errnum) > 0) ++ err = tls_internal->strerror_l_buf; ++ else ++ { ++ /* The memory was freed above. */ ++ tls_internal->strerror_l_buf = NULL; ++ /* Provide a fallback translation. */ ++ err = unknown_error (loc); ++ } + } ++ else ++ /* Secondary namespaces use a different malloc, so cannot ++ participate in the buffer management. */ ++ err = unknown_error (loc); + } + else + err = (char *) translate (err, loc); +diff --git a/string/strsignal.c b/string/strsignal.c +index 3114601564..d9b0365468 100644 +--- a/string/strsignal.c ++++ b/string/strsignal.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + /* Return a string describing the meaning of the signal number SIGNUM. */ + char * +@@ -30,21 +31,28 @@ strsignal (int signum) + if (desc != NULL) + return _(desc); + +- struct tls_internal_t *tls_internal = __glibc_tls_internal (); +- free (tls_internal->strsignal_buf); ++ if (__libc_initial) ++ { ++ struct tls_internal_t *tls_internal = __glibc_tls_internal (); ++ free (tls_internal->strsignal_buf); + +- int r; ++ int r; + #ifdef SIGRTMIN +- if (signum >= SIGRTMIN && signum <= SIGRTMAX) +- r = __asprintf (&tls_internal->strsignal_buf, _("Real-time signal %d"), +- signum - SIGRTMIN); +- else ++ if (signum >= SIGRTMIN && signum <= SIGRTMAX) ++ r = __asprintf (&tls_internal->strsignal_buf, _("Real-time signal %d"), ++ signum - SIGRTMIN); ++ else + #endif +- r = __asprintf (&tls_internal->strsignal_buf, _("Unknown signal %d"), +- signum); +- +- if (r == -1) +- tls_internal->strsignal_buf = NULL; +- +- return tls_internal->strsignal_buf; ++ r = __asprintf (&tls_internal->strsignal_buf, _("Unknown signal %d"), ++ signum); ++ ++ if (r >= 0) ++ return tls_internal->strsignal_buf; ++ else ++ tls_internal->strsignal_buf = NULL; ++ } ++ /* Fall through on asprintf error, and for !__libc_initial: ++ secondary namespaces use a different malloc and cannot ++ participate in the buffer management. */ ++ return _("Unknown signal"); + } + +commit bc240ba7c86a74bc64d4234feadb49bb8e36e1c9 +Author: Maciej W. Rozycki +Date: Fri Jul 26 13:21:34 2024 +0100 + + support: Add FAIL test failure helper + + Add a FAIL test failure helper analogous to FAIL_RET, that does not + cause the current function to return, providing a standardized way to + report a test failure with a message supplied while permitting the + caller to continue executing, for further reporting, cleaning up, etc. + + Update existing test cases that provide a conflicting definition of FAIL + by removing the local FAIL definition and then as follows: + + - tst-fortify-syslog: provide a meaningful message in addition to the + file name already added by ; 'support_record_failure' + is already called by 'support_print_failure_impl' invoked by the new + FAIL test failure helper. + + - tst-ctype: no update to FAIL calls required, with the name of the file + and the line number within of the failure site additionally included + by the new FAIL test failure helper, and error counting plus count + reporting upon test program termination also already provided by + 'support_record_failure' and 'support_report_failure' respectively, + called by 'support_print_failure_impl' and 'adjust_exit_status' also + respectively. However in a number of places 'printf' is called and + the error count adjusted by hand, so update these places to make use + of FAIL instead. And last but not least adjust the final summary just + to report completion, with any error count following as reported by + the test driver. + + - test-tgmath2: no update to FAIL calls required, with the name of the + file of the failure site additionally included by the new FAIL test + failure helper. Also there is no need to track the return status by + hand as any call to FAIL will eventually cause the test case to return + an unsuccesful exit status regardless of the return status from the + test function, via a call to 'adjust_exit_status' made by the test + driver. + + Reviewed-by: DJ Delorie + (cherry picked from commit 1b97a9f23bf605ca608162089c94187573fb2a9e) + +diff --git a/debug/tst-fortify-syslog.c b/debug/tst-fortify-syslog.c +index a7ddbf7c6b..2712acf689 100644 +--- a/debug/tst-fortify-syslog.c ++++ b/debug/tst-fortify-syslog.c +@@ -22,7 +22,6 @@ + #include + #include + #include +-#include + + #include + #include +@@ -46,18 +45,13 @@ handler (int sig) + _exit (127); + } + +-#define FAIL() \ +- do { \ +- printf ("Failure on line %d\n", __LINE__); \ +- support_record_failure (); \ +- } while (0) + #define CHK_FAIL_START \ + chk_fail_ok = 1; \ + if (! setjmp (chk_fail_buf)) \ + { + #define CHK_FAIL_END \ + chk_fail_ok = 0; \ +- FAIL (); \ ++ FAIL ("not supposed to reach here"); \ + } + + static void +diff --git a/localedata/tst-ctype.c b/localedata/tst-ctype.c +index 9de979a2d7..a23689719c 100644 +--- a/localedata/tst-ctype.c ++++ b/localedata/tst-ctype.c +@@ -21,6 +21,8 @@ + #include + #include + ++#include ++ + + static const char lower[] = "abcdefghijklmnopqrstuvwxyz"; + static const char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +@@ -53,19 +55,11 @@ static struct classes + #define nclasses (sizeof (classes) / sizeof (classes[0])) + + +-#define FAIL(str, args...) \ +- { \ +- printf (" " str "\n", ##args); \ +- ++errors; \ +- } +- +- + static int + do_test (void) + { + const char *cp; + const char *cp2; +- int errors = 0; + char *inpline = NULL; + size_t inplinelen = 0; + char *resline = NULL; +@@ -394,11 +388,8 @@ punct = %04x alnum = %04x\n", + { + if (((__ctype_b[(unsigned int) *inp] & classes[n].mask) != 0) + != (*resp != '0')) +- { +- printf (" is%s('%c' = '\\x%02x') %s true\n", inpline, +- *inp, *inp, *resp == '1' ? "not" : "is"); +- ++errors; +- } ++ FAIL (" is%s('%c' = '\\x%02x') %s true\n", inpline, ++ *inp, *inp, *resp == '1' ? "not" : "is"); + ++inp; + ++resp; + } +@@ -408,11 +399,8 @@ punct = %04x alnum = %04x\n", + while (*inp != '\0') + { + if (tolower (*inp) != *resp) +- { +- printf (" tolower('%c' = '\\x%02x') != '%c'\n", +- *inp, *inp, *resp); +- ++errors; +- } ++ FAIL (" tolower('%c' = '\\x%02x') != '%c'\n", ++ *inp, *inp, *resp); + ++inp; + ++resp; + } +@@ -422,11 +410,8 @@ punct = %04x alnum = %04x\n", + while (*inp != '\0') + { + if (toupper (*inp) != *resp) +- { +- printf (" toupper('%c' = '\\x%02x') != '%c'\n", +- *inp, *inp, *resp); +- ++errors; +- } ++ FAIL (" toupper('%c' = '\\x%02x') != '%c'\n", ++ *inp, *inp, *resp); + ++inp; + ++resp; + } +@@ -436,14 +421,7 @@ punct = %04x alnum = %04x\n", + } + + +- if (errors != 0) +- { +- printf (" %d error%s for `%s' locale\n\n\n", errors, +- errors == 1 ? "" : "s", setlocale (LC_ALL, NULL)); +- return 1; +- } +- +- printf (" No errors for `%s' locale\n\n\n", setlocale (LC_ALL, NULL)); ++ printf ("Completed testing for `%s' locale\n\n\n", setlocale (LC_ALL, NULL)); + return 0; + } + +diff --git a/math/test-tgmath2.c b/math/test-tgmath2.c +index 37afa8a08a..4aeb877b8e 100644 +--- a/math/test-tgmath2.c ++++ b/math/test-tgmath2.c +@@ -24,6 +24,8 @@ + #include + #include + ++#include ++ + //#define DEBUG + + typedef complex float cfloat; +@@ -87,13 +89,6 @@ enum + int count; + int counts[Tlast][C_last]; + +-#define FAIL(str) \ +- do \ +- { \ +- printf ("%s failure on line %d\n", (str), __LINE__); \ +- result = 1; \ +- } \ +- while (0) + #define TEST_TYPE_ONLY(expr, rettype) \ + do \ + { \ +@@ -133,8 +128,6 @@ int counts[Tlast][C_last]; + int + test_cos (const int Vint4, const long long int Vllong4) + { +- int result = 0; +- + TEST (cos (vfloat1), float, cos); + TEST (cos (vdouble1), double, cos); + TEST (cos (vldouble1), ldouble, cos); +@@ -152,7 +145,7 @@ test_cos (const int Vint4, const long long int Vllong4) + TEST (cos (Vcdouble1), cdouble, cos); + TEST (cos (Vcldouble1), cldouble, cos); + +- return result; ++ return 0; + } + + int +diff --git a/support/check.h b/support/check.h +index 711f34b83b..7ea22c7a2c 100644 +--- a/support/check.h ++++ b/support/check.h +@@ -24,6 +24,11 @@ + + __BEGIN_DECLS + ++/* Record a test failure, print the failure message to standard output ++ and pass the result of 1 through. */ ++#define FAIL(...) \ ++ support_print_failure_impl (__FILE__, __LINE__, __VA_ARGS__) ++ + /* Record a test failure, print the failure message to standard output + and return 1. */ + #define FAIL_RET(...) \ + +commit 27fb563bfee521239316142fa4968282bffa86a6 +Author: Maciej W. Rozycki +Date: Fri Jul 26 13:21:34 2024 +0100 + + stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650] + + Complement commit b03e4d7bd25b ("stdio: fix vfscanf with matches longer + than INT_MAX (bug 27650)") and add a test case for the issue, inspired + by the reproducer provided with the bug report. + + This has been verified to succeed as from the commit referred and fail + beforehand. + + As the test requires 2GiB of data to be passed around its performance + has been evaluated using a choice of systems and the execution time + determined to be respectively in the range of 9s for POWER9@2.166GHz, + 24s for FU740@1.2GHz, and 40s for 74Kf@950MHz. As this is on the verge + of and beyond the default timeout it has been increased by the factor of + 8. Regardless, following recent practice the test has been added to the + standard rather than extended set. + + Reviewed-by: DJ Delorie + (cherry picked from commit 89cddc8a7096f3d9225868304d2bc0a1aaf07d63) + +diff --git a/stdio-common/Makefile b/stdio-common/Makefile +index a63c05a120..e4f0146d2c 100644 +--- a/stdio-common/Makefile ++++ b/stdio-common/Makefile +@@ -240,6 +240,7 @@ tests := \ + tst-scanf-binary-c23 \ + tst-scanf-binary-gnu11 \ + tst-scanf-binary-gnu89 \ ++ tst-scanf-bz27650 \ + tst-scanf-intn \ + tst-scanf-round \ + tst-scanf-to_inpunct \ +@@ -328,6 +329,7 @@ generated += \ + tst-printf-fp-free.mtrace \ + tst-printf-fp-leak-mem.out \ + tst-printf-fp-leak.mtrace \ ++ tst-scanf-bz27650.mtrace \ + tst-vfprintf-width-prec-mem.out \ + tst-vfprintf-width-prec.mtrace \ + # generated +@@ -419,6 +421,9 @@ tst-printf-fp-free-ENV = \ + tst-printf-fp-leak-ENV = \ + MALLOC_TRACE=$(objpfx)tst-printf-fp-leak.mtrace \ + LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so ++tst-scanf-bz27650-ENV = \ ++ MALLOC_TRACE=$(objpfx)tst-scanf-bz27650.mtrace \ ++ LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so + + $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc + $(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \ +diff --git a/stdio-common/tst-scanf-bz27650.c b/stdio-common/tst-scanf-bz27650.c +new file mode 100644 +index 0000000000..3a742bc865 +--- /dev/null ++++ b/stdio-common/tst-scanf-bz27650.c +@@ -0,0 +1,108 @@ ++/* Test for BZ #27650, formatted input matching beyond INT_MAX. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++ ++#include ++#include ++ ++/* Produce a stream of more than INT_MAX characters via buffer BUF of ++ size SIZE according to bookkeeping in COOKIE and then return EOF. */ ++ ++static ssize_t ++io_read (void *cookie, char *buf, size_t size) ++{ ++ unsigned int *written = cookie; ++ unsigned int w = *written; ++ ++ if (w > INT_MAX) ++ return 0; ++ ++ memset (buf, 'a', size); ++ *written = w + size; ++ return size; ++} ++ ++/* Consume a stream of more than INT_MAX characters from an artificial ++ input stream of which none is the new line character. The call to ++ fscanf is supposed to complete upon the EOF condition of input, ++ however in the presence of BZ #27650 it will terminate prematurely ++ with characters still outstanding in input. Diagnose the condition ++ and return status accordingly. */ ++ ++int ++do_test (void) ++{ ++ static cookie_io_functions_t io_funcs = { .read = io_read }; ++ unsigned int written = 0; ++ FILE *in; ++ int v; ++ ++ mtrace (); ++ ++ in = fopencookie (&written, "r", io_funcs); ++ if (in == NULL) ++ { ++ FAIL ("fopencookie: %m"); ++ goto out; ++ } ++ ++ v = fscanf (in, "%*[^\n]"); ++ if (ferror (in)) ++ { ++ FAIL ("fscanf: input failure, at %u: %m", written); ++ goto out_close; ++ } ++ else if (v == EOF) ++ { ++ FAIL ("fscanf: unexpected end of file, at %u", written); ++ goto out_close; ++ } ++ ++ if (!feof (in)) ++ { ++ v = fgetc (in); ++ if (ferror (in)) ++ FAIL ("fgetc: input failure: %m"); ++ else if (v == EOF) ++ FAIL ("fgetc: unexpected end of file after missing end of file"); ++ else if (v == '\n') ++ FAIL ("unexpected new line character received"); ++ else ++ FAIL ("character received after end of file expected: \\x%02x", v); ++ } ++ ++out_close: ++ if (fclose (in) != 0) ++ FAIL ("fclose: %m"); ++ ++out: ++ return EXIT_SUCCESS; ++} ++ ++#define TIMEOUT (DEFAULT_TIMEOUT * 8) ++#include + +commit 2f749d2b15cbc82268d7f8735f21ae1e3b68754f +Author: Siddhesh Poyarekar +Date: Wed Aug 14 19:20:04 2024 -0400 + + Make tst-ungetc use libsupport + + Signed-off-by: Siddhesh Poyarekar + Reviewed-by: Carlos O'Donell + (cherry picked from commit 3f7df7e757f4efec38e45d4068e5492efcac4856) + +diff --git a/stdio-common/tst-ungetc.c b/stdio-common/tst-ungetc.c +index 1344b2b591..5c808f0734 100644 +--- a/stdio-common/tst-ungetc.c ++++ b/stdio-common/tst-ungetc.c +@@ -1,70 +1,72 @@ +-/* Test for ungetc bugs. */ ++/* Test for ungetc bugs. ++ Copyright (C) 1996-2024 Free Software Foundation, Inc. ++ Copyright The GNU Toolchain Authors. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ + + #include + #include +-#include +- +-#undef assert +-#define assert(x) \ +- if (!(x)) \ +- { \ +- fputs ("test failed: " #x "\n", stderr); \ +- retval = 1; \ +- goto the_end; \ +- } ++#include ++#include ++#include ++#include ++#include + +-int +-main (int argc, char *argv[]) ++static int ++do_test (void) + { +- char name[] = "/tmp/tst-ungetc.XXXXXX"; ++ char *name = NULL; + FILE *fp = NULL; +- int retval = 0; + int c; + char buffer[64]; + +- int fd = mkstemp (name); ++ int fd = create_temp_file ("tst-ungetc.", &name); + if (fd == -1) +- { +- printf ("mkstemp failed: %m\n"); +- return 1; +- } +- close (fd); +- fp = fopen (name, "w"); +- assert (fp != NULL) +- fputs ("bla", fp); +- fclose (fp); +- fp = NULL; ++ FAIL_EXIT1 ("cannot create temporary file: %m"); ++ xclose (fd); + +- fp = fopen (name, "r"); +- assert (fp != NULL); +- assert (ungetc ('z', fp) == 'z'); +- assert (getc (fp) == 'z'); +- assert (getc (fp) == 'b'); +- assert (getc (fp) == 'l'); +- assert (ungetc ('m', fp) == 'm'); +- assert (getc (fp) == 'm'); +- assert ((c = getc (fp)) == 'a'); +- assert (getc (fp) == EOF); +- assert (ungetc (c, fp) == c); +- assert (feof (fp) == 0); +- assert (getc (fp) == c); +- assert (getc (fp) == EOF); +- fclose (fp); +- fp = NULL; ++ fp = xfopen (name, "w"); ++ fputs ("bla", fp); ++ xfclose (fp); + +- fp = fopen (name, "r"); +- assert (fp != NULL); +- assert (getc (fp) == 'b'); +- assert (getc (fp) == 'l'); +- assert (ungetc ('b', fp) == 'b'); +- assert (fread (buffer, 1, 64, fp) == 2); +- assert (buffer[0] == 'b'); +- assert (buffer[1] == 'a'); ++ fp = xfopen (name, "r"); ++ TEST_VERIFY_EXIT (ungetc ('z', fp) == 'z'); ++ TEST_VERIFY_EXIT (getc (fp) == 'z'); ++ TEST_VERIFY_EXIT (getc (fp) == 'b'); ++ TEST_VERIFY_EXIT (getc (fp) == 'l'); ++ TEST_VERIFY_EXIT (ungetc ('m', fp) == 'm'); ++ TEST_VERIFY_EXIT (getc (fp) == 'm'); ++ TEST_VERIFY_EXIT ((c = getc (fp)) == 'a'); ++ TEST_VERIFY_EXIT (getc (fp) == EOF); ++ TEST_VERIFY_EXIT (ungetc (c, fp) == c); ++ TEST_VERIFY_EXIT (feof (fp) == 0); ++ TEST_VERIFY_EXIT (getc (fp) == c); ++ TEST_VERIFY_EXIT (getc (fp) == EOF); ++ xfclose (fp); + +-the_end: +- if (fp != NULL) +- fclose (fp); +- unlink (name); ++ fp = xfopen (name, "r"); ++ TEST_VERIFY_EXIT (getc (fp) == 'b'); ++ TEST_VERIFY_EXIT (getc (fp) == 'l'); ++ TEST_VERIFY_EXIT (ungetc ('b', fp) == 'b'); ++ TEST_VERIFY_EXIT (fread (buffer, 1, 64, fp) == 2); ++ TEST_VERIFY_EXIT (buffer[0] == 'b'); ++ TEST_VERIFY_EXIT (buffer[1] == 'a'); ++ xfclose (fp); + +- return retval; ++ return 0; + } ++ ++#include + +commit dac7a0694b5e853f08be518cd5a133ac5804666d +Author: Siddhesh Poyarekar +Date: Tue Aug 13 21:00:06 2024 -0400 + + ungetc: Fix uninitialized read when putting into unused streams [BZ #27821] + + When ungetc is called on an unused stream, the backup buffer is + allocated without the main get area being present. This results in + every subsequent ungetc (as the stream remains in the backup area) + checking uninitialized memory in the backup buffer when trying to put a + character back into the stream. + + Avoid comparing the input character with buffer contents when in backup + to avoid this uninitialized read. The uninitialized read is harmless in + this context since the location is promptly overwritten with the input + character, thus fulfilling ungetc functionality. + + Also adjust wording in the manual to drop the paragraph that says glibc + cannot do multiple ungetc back to back since with this change, ungetc + can actually do this. + + Signed-off-by: Siddhesh Poyarekar + Reviewed-by: Carlos O'Donell + (cherry picked from commit cdf0f88f97b0aaceb894cc02b21159d148d7065c) + +diff --git a/libio/genops.c b/libio/genops.c +index 99f5e80f20..b012fa33d2 100644 +--- a/libio/genops.c ++++ b/libio/genops.c +@@ -662,7 +662,7 @@ _IO_sputbackc (FILE *fp, int c) + { + int result; + +- if (fp->_IO_read_ptr > fp->_IO_read_base ++ if (fp->_IO_read_ptr > fp->_IO_read_base && !_IO_in_backup (fp) + && (unsigned char)fp->_IO_read_ptr[-1] == (unsigned char)c) + { + fp->_IO_read_ptr--; +diff --git a/manual/stdio.texi b/manual/stdio.texi +index 8517653507..92614775fa 100644 +--- a/manual/stdio.texi ++++ b/manual/stdio.texi +@@ -1467,11 +1467,9 @@ program; usually @code{ungetc} is used only to unread a character that + was just read from the same stream. @Theglibc{} supports this + even on files opened in binary mode, but other systems might not. + +-@Theglibc{} only supports one character of pushback---in other +-words, it does not work to call @code{ungetc} twice without doing input +-in between. Other systems might let you push back multiple characters; +-then reading from the stream retrieves the characters in the reverse +-order that they were pushed. ++@Theglibc{} supports pushing back multiple characters; subsequently ++reading from the stream retrieves the characters in the reverse order ++that they were pushed. + + Pushing back characters doesn't alter the file; only the internal + buffering for the stream is affected. If a file positioning function +diff --git a/stdio-common/tst-ungetc.c b/stdio-common/tst-ungetc.c +index 5c808f0734..388b202493 100644 +--- a/stdio-common/tst-ungetc.c ++++ b/stdio-common/tst-ungetc.c +@@ -48,6 +48,8 @@ do_test (void) + TEST_VERIFY_EXIT (getc (fp) == 'b'); + TEST_VERIFY_EXIT (getc (fp) == 'l'); + TEST_VERIFY_EXIT (ungetc ('m', fp) == 'm'); ++ TEST_VERIFY_EXIT (ungetc ('n', fp) == 'n'); ++ TEST_VERIFY_EXIT (getc (fp) == 'n'); + TEST_VERIFY_EXIT (getc (fp) == 'm'); + TEST_VERIFY_EXIT ((c = getc (fp)) == 'a'); + TEST_VERIFY_EXIT (getc (fp) == EOF); + +commit e24902f409994f226dbc6fde2476009df452a18f +Author: Siddhesh Poyarekar +Date: Tue Aug 13 21:08:49 2024 -0400 + + ungetc: Fix backup buffer leak on program exit [BZ #27821] + + If a file descriptor is left unclosed and is cleaned up by _IO_cleanup + on exit, its backup buffer remains unfreed, registering as a leak in + valgrind. This is not strictly an issue since (1) the program should + ideally be closing the stream once it's not in use and (2) the program + is about to exit anyway, so keeping the backup buffer around a wee bit + longer isn't a real problem. Free it anyway to keep valgrind happy + when the streams in question are the standard ones, i.e. stdout, stdin + or stderr. + + Also, the _IO_have_backup macro checks for _IO_save_base, + which is a roundabout way to check for a backup buffer instead of + directly looking for _IO_backup_base. The roundabout check breaks when + the main get area has not been used and user pushes a char into the + backup buffer with ungetc. Fix this to use the _IO_backup_base + directly. + + Signed-off-by: Siddhesh Poyarekar + Reviewed-by: Carlos O'Donell + (cherry picked from commit 3e1d8d1d1dca24ae90df2ea826a8916896fc7e77) + +diff --git a/libio/genops.c b/libio/genops.c +index b012fa33d2..35d8b30710 100644 +--- a/libio/genops.c ++++ b/libio/genops.c +@@ -816,6 +816,12 @@ _IO_unbuffer_all (void) + legacy = 1; + #endif + ++ /* Free up the backup area if it was ever allocated. */ ++ if (_IO_have_backup (fp)) ++ _IO_free_backup_area (fp); ++ if (fp->_mode > 0 && _IO_have_wbackup (fp)) ++ _IO_free_wbackup_area (fp); ++ + if (! (fp->_flags & _IO_UNBUFFERED) + /* Iff stream is un-orientated, it wasn't used. */ + && (legacy || fp->_mode != 0)) +diff --git a/libio/libioP.h b/libio/libioP.h +index 1af287b19f..616253fcd0 100644 +--- a/libio/libioP.h ++++ b/libio/libioP.h +@@ -577,8 +577,8 @@ extern void _IO_old_init (FILE *fp, int flags) __THROW; + ((__fp)->_wide_data->_IO_write_base \ + = (__fp)->_wide_data->_IO_write_ptr = __p, \ + (__fp)->_wide_data->_IO_write_end = (__ep)) +-#define _IO_have_backup(fp) ((fp)->_IO_save_base != NULL) +-#define _IO_have_wbackup(fp) ((fp)->_wide_data->_IO_save_base != NULL) ++#define _IO_have_backup(fp) ((fp)->_IO_backup_base != NULL) ++#define _IO_have_wbackup(fp) ((fp)->_wide_data->_IO_backup_base != NULL) + #define _IO_in_backup(fp) ((fp)->_flags & _IO_IN_BACKUP) + #define _IO_have_markers(fp) ((fp)->_markers != NULL) + #define _IO_blen(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base) +diff --git a/stdio-common/Makefile b/stdio-common/Makefile +index e4f0146d2c..a91754f52d 100644 +--- a/stdio-common/Makefile ++++ b/stdio-common/Makefile +@@ -254,6 +254,7 @@ tests := \ + tst-swscanf \ + tst-tmpnam \ + tst-ungetc \ ++ tst-ungetc-leak \ + tst-unlockedio \ + tst-vfprintf-mbs-prec \ + tst-vfprintf-user-type \ +@@ -316,6 +317,7 @@ tests-special += \ + $(objpfx)tst-printf-bz25691-mem.out \ + $(objpfx)tst-printf-fp-free-mem.out \ + $(objpfx)tst-printf-fp-leak-mem.out \ ++ $(objpfx)tst-ungetc-leak-mem.out \ + $(objpfx)tst-vfprintf-width-prec-mem.out \ + # tests-special + +@@ -330,6 +332,8 @@ generated += \ + tst-printf-fp-leak-mem.out \ + tst-printf-fp-leak.mtrace \ + tst-scanf-bz27650.mtrace \ ++ tst-ungetc-leak-mem.out \ ++ tst-ungetc-leak.mtrace \ + tst-vfprintf-width-prec-mem.out \ + tst-vfprintf-width-prec.mtrace \ + # generated +@@ -424,6 +428,9 @@ tst-printf-fp-leak-ENV = \ + tst-scanf-bz27650-ENV = \ + MALLOC_TRACE=$(objpfx)tst-scanf-bz27650.mtrace \ + LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so ++tst-ungetc-leak-ENV = \ ++ MALLOC_TRACE=$(objpfx)tst-ungetc-leak.mtrace \ ++ LD_PRELOAD=$(common-objpfx)malloc/libc_malloc_debug.so + + $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc + $(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \ +diff --git a/stdio-common/tst-ungetc-leak.c b/stdio-common/tst-ungetc-leak.c +new file mode 100644 +index 0000000000..6c5152b43f +--- /dev/null ++++ b/stdio-common/tst-ungetc-leak.c +@@ -0,0 +1,32 @@ ++/* Test for memory leak with ungetc when stream is unused. ++ Copyright The GNU Toolchain Authors. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ mtrace (); ++ TEST_COMPARE (ungetc('y', stdin), 'y'); ++ return 0; ++} ++ ++#include + +commit 3b3350d7baa8de70b71c02e964d5b8343749ebf8 +Author: Maciej W. Rozycki +Date: Fri Jul 26 13:21:34 2024 +0100 + + posix: Use facilities in tst-truncate and tst-truncate64 + + Remove local FAIL macro in favor to FAIL_RET from , + which provides equivalent reporting, with the name of the file of the + failure site additionally included, for the tst-truncate-common core + shared between the tst-truncate and tst-truncate64 tests. + + Reviewed-by: DJ Delorie + (cherry picked from commit fe47595504a55e7bb992f8928533df154b510383) + +diff --git a/posix/tst-truncate-common.c b/posix/tst-truncate-common.c +index b774fa46b8..b8c561ffdb 100644 +--- a/posix/tst-truncate-common.c ++++ b/posix/tst-truncate-common.c +@@ -21,6 +21,8 @@ + #include + #include + ++#include ++ + static void do_prepare (void); + #define PREPARE(argc, argv) do_prepare () + static int do_test (void); +@@ -42,9 +44,6 @@ do_prepare (void) + } + } + +-#define FAIL(str) \ +- do { printf ("error: %s (line %d)\n", str, __LINE__); return 1; } while (0) +- + static int + do_test_with_offset (off_t offset) + { +@@ -54,35 +53,35 @@ do_test_with_offset (off_t offset) + memset (buf, 0xcf, sizeof (buf)); + + if (pwrite (temp_fd, buf, sizeof (buf), offset) != sizeof (buf)) +- FAIL ("write failed"); ++ FAIL_RET ("write failed"); + if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + sizeof (buf))) +- FAIL ("initial size wrong"); ++ FAIL_RET ("initial size wrong"); + + if (ftruncate (temp_fd, offset + 800) < 0) +- FAIL ("size reduction with ftruncate failed"); ++ FAIL_RET ("size reduction with ftruncate failed"); + if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800)) +- FAIL ("size after reduction with ftruncate is incorrect"); ++ FAIL_RET ("size after reduction with ftruncate is incorrect"); + + /* The following test covers more than POSIX. POSIX does not require + that ftruncate() can increase the file size. But we are testing + Unix systems. */ + if (ftruncate (temp_fd, offset + 1200) < 0) +- FAIL ("size increate with ftruncate failed"); ++ FAIL_RET ("size increate with ftruncate failed"); + if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200)) +- FAIL ("size after increase is incorrect"); ++ FAIL_RET ("size after increase is incorrect"); + + if (truncate (temp_filename, offset + 800) < 0) +- FAIL ("size reduction with truncate failed"); ++ FAIL_RET ("size reduction with truncate failed"); + if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800)) +- FAIL ("size after reduction with truncate incorrect"); ++ FAIL_RET ("size after reduction with truncate incorrect"); + + /* The following test covers more than POSIX. POSIX does not require + that truncate() can increase the file size. But we are testing + Unix systems. */ + if (truncate (temp_filename, (offset + 1200)) < 0) +- FAIL ("size increase with truncate failed"); ++ FAIL_RET ("size increase with truncate failed"); + if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200)) +- FAIL ("size increase with truncate is incorrect"); ++ FAIL_RET ("size increase with truncate is incorrect"); + + return 0; + } + +commit 3414b17e9db16c3bc0de5b49555c4f94f155ffc8 +Author: Maciej W. Rozycki +Date: Fri Jul 26 13:21:34 2024 +0100 + + nptl: Use facilities in tst-setuid3 + + Remove local FAIL macro in favor to FAIL_EXIT1 from , + which provides equivalent reporting, with the name of the file and the + line number within of the failure site additionally included. Remove + FAIL_ERR altogether and include ": %m" explicitly with the format string + supplied to FAIL_EXIT1 as there seems little value to have a separate + macro just for this. + + Reviewed-by: DJ Delorie + (cherry picked from commit 8c98195af6e6f1ce21743fc26c723e0f7e45bcf2) + +diff --git a/sysdeps/pthread/tst-setuid3.c b/sysdeps/pthread/tst-setuid3.c +index 83f42a0ae5..3845ab03d3 100644 +--- a/sysdeps/pthread/tst-setuid3.c ++++ b/sysdeps/pthread/tst-setuid3.c +@@ -15,24 +15,19 @@ + License along with the GNU C Library; if not, see + . */ + +-#include + #include + #include + #include + #include + ++#include ++ + /* The test must run under a non-privileged user ID. */ + static const uid_t test_uid = 1; + + static pthread_barrier_t barrier1; + static pthread_barrier_t barrier2; + +-#define FAIL(fmt, ...) \ +- do { printf ("FAIL: " fmt "\n", __VA_ARGS__); _exit (1); } while (0) +- +-#define FAIL_ERR(fmt, ...) \ +- do { printf ("FAIL: " fmt ": %m\n", __VA_ARGS__); _exit (1); } while (0) +- + /* True if x is not a successful return code from pthread_barrier_wait. */ + static inline bool + is_invalid_barrier_ret (int x) +@@ -45,10 +40,10 @@ thread_func (void *ctx __attribute__ ((unused))) + { + int ret = pthread_barrier_wait (&barrier1); + if (is_invalid_barrier_ret (ret)) +- FAIL ("pthread_barrier_wait (barrier1) (on thread): %d", ret); ++ FAIL_EXIT1 ("pthread_barrier_wait (barrier1) (on thread): %d", ret); + ret = pthread_barrier_wait (&barrier2); + if (is_invalid_barrier_ret (ret)) +- FAIL ("pthread_barrier_wait (barrier2) (on thread): %d", ret); ++ FAIL_EXIT1 ("pthread_barrier_wait (barrier2) (on thread): %d", ret); + return NULL; + } + +@@ -59,13 +54,13 @@ setuid_failure (int phase) + switch (ret) + { + case 0: +- FAIL ("setuid succeeded unexpectedly in phase %d", phase); ++ FAIL_EXIT1 ("setuid succeeded unexpectedly in phase %d", phase); + case -1: + if (errno != EPERM) +- FAIL_ERR ("setuid phase %d", phase); ++ FAIL_EXIT1 ("setuid phase %d: %m", phase); + break; + default: +- FAIL ("invalid setuid return value in phase %d: %d", phase, ret); ++ FAIL_EXIT1 ("invalid setuid return value in phase %d: %d", phase, ret); + } + } + +@@ -74,42 +69,42 @@ do_test (void) + { + if (getuid () == 0) + if (setuid (test_uid) != 0) +- FAIL_ERR ("setuid (%u)", (unsigned) test_uid); ++ FAIL_EXIT1 ("setuid (%u): %m", (unsigned) test_uid); + if (setuid (getuid ())) +- FAIL_ERR ("setuid (%s)", "getuid ()"); ++ FAIL_EXIT1 ("setuid (%s): %m", "getuid ()"); + setuid_failure (1); + + int ret = pthread_barrier_init (&barrier1, NULL, 2); + if (ret != 0) +- FAIL ("pthread_barrier_init (barrier1): %d", ret); ++ FAIL_EXIT1 ("pthread_barrier_init (barrier1): %d", ret); + ret = pthread_barrier_init (&barrier2, NULL, 2); + if (ret != 0) +- FAIL ("pthread_barrier_init (barrier2): %d", ret); ++ FAIL_EXIT1 ("pthread_barrier_init (barrier2): %d", ret); + + pthread_t thread; + ret = pthread_create (&thread, NULL, thread_func, NULL); + if (ret != 0) +- FAIL ("pthread_create: %d", ret); ++ FAIL_EXIT1 ("pthread_create: %d", ret); + + /* Ensure that the thread is running properly. */ + ret = pthread_barrier_wait (&barrier1); + if (is_invalid_barrier_ret (ret)) +- FAIL ("pthread_barrier_wait (barrier1): %d", ret); ++ FAIL_EXIT1 ("pthread_barrier_wait (barrier1): %d", ret); + + setuid_failure (2); + + /* Check success case. */ + if (setuid (getuid ()) != 0) +- FAIL_ERR ("setuid (%s)", "getuid ()"); ++ FAIL_EXIT1 ("setuid (%s): %m", "getuid ()"); + + /* Shutdown. */ + ret = pthread_barrier_wait (&barrier2); + if (is_invalid_barrier_ret (ret)) +- FAIL ("pthread_barrier_wait (barrier2): %d", ret); ++ FAIL_EXIT1 ("pthread_barrier_wait (barrier2): %d", ret); + + ret = pthread_join (thread, NULL); + if (ret != 0) +- FAIL ("pthread_join: %d", ret); ++ FAIL_EXIT1 ("pthread_join: %d", ret); + + return 0; + } + +commit b7edcfa0f41ccfaeb665a661d3a6a594c8d95848 +Author: Florian Weimer +Date: Thu Aug 1 23:31:23 2024 +0200 + + elf: Clarify and invert second argument of _dl_allocate_tls_init + + Also remove an outdated comment: _dl_allocate_tls_init is + called as part of pthread_create. + + Reviewed-by: Carlos O'Donell + (cherry picked from commit fe06fb313bddf7e4530056897d4a706606e49377) + +diff --git a/elf/dl-tls.c b/elf/dl-tls.c +index 3d221273f1..ecb966d282 100644 +--- a/elf/dl-tls.c ++++ b/elf/dl-tls.c +@@ -552,9 +552,14 @@ _dl_resize_dtv (dtv_t *dtv, size_t max_modid) + /* Allocate initial TLS. RESULT should be a non-NULL pointer to storage + for the TLS space. The DTV may be resized, and so this function may + call malloc to allocate that space. The loader's GL(dl_load_tls_lock) +- is taken when manipulating global TLS-related data in the loader. */ ++ is taken when manipulating global TLS-related data in the loader. ++ ++ If MAIN_THREAD, this is the first call during process ++ initialization. In this case, TLS initialization for secondary ++ (audit) namespaces is skipped because that has already been handled ++ by dlopen. */ + void * +-_dl_allocate_tls_init (void *result, bool init_tls) ++_dl_allocate_tls_init (void *result, bool main_thread) + { + if (result == NULL) + /* The memory allocation failed. */ +@@ -633,7 +638,7 @@ _dl_allocate_tls_init (void *result, bool init_tls) + because it would already be set by the audit setup. However, + subsequent thread creation would need to follow the default + behaviour. */ +- if (map->l_ns != LM_ID_BASE && !init_tls) ++ if (map->l_ns != LM_ID_BASE && main_thread) + continue; + memset (__mempcpy (dest, map->l_tls_initimage, + map->l_tls_initimage_size), '\0', +@@ -661,7 +666,7 @@ _dl_allocate_tls (void *mem) + { + return _dl_allocate_tls_init (mem == NULL + ? _dl_allocate_tls_storage () +- : allocate_dtv (mem), true); ++ : allocate_dtv (mem), false); + } + rtld_hidden_def (_dl_allocate_tls) + +diff --git a/elf/rtld.c b/elf/rtld.c +index bfdf632e77..09b9c9993b 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2338,7 +2338,7 @@ dl_main (const ElfW(Phdr) *phdr, + into the main thread's TLS area, which we allocated above. + Note: thread-local variables must only be accessed after completing + the next step. */ +- _dl_allocate_tls_init (tcbp, false); ++ _dl_allocate_tls_init (tcbp, true); + + /* And finally install it for the main thread. */ + if (! __rtld_tls_init_tp_called) +diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c +index f35a8369bd..2cb562f8ea 100644 +--- a/nptl/allocatestack.c ++++ b/nptl/allocatestack.c +@@ -139,7 +139,7 @@ get_cached_stack (size_t *sizep, void **memp) + memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t)); + + /* Re-initialize the TLS. */ +- _dl_allocate_tls_init (TLS_TPADJ (result), true); ++ _dl_allocate_tls_init (TLS_TPADJ (result), false); + + return result; + } +diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h +index 656e8a3fa0..154efb0e19 100644 +--- a/sysdeps/generic/ldsodefs.h ++++ b/sysdeps/generic/ldsodefs.h +@@ -1200,10 +1200,8 @@ extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp); + + extern void _dl_allocate_static_tls (struct link_map *map) attribute_hidden; + +-/* These are internal entry points to the two halves of _dl_allocate_tls, +- only used within rtld.c itself at startup time. */ + extern void *_dl_allocate_tls_storage (void) attribute_hidden; +-extern void *_dl_allocate_tls_init (void *, bool); ++extern void *_dl_allocate_tls_init (void *result, bool main_thread); + rtld_hidden_proto (_dl_allocate_tls_init) + + /* True if the TCB has been set up. */ + +commit f496b750f135e57da921e975835c44bd199246dd +Author: Florian Weimer +Date: Thu Aug 1 23:31:30 2024 +0200 + + elf: Avoid re-initializing already allocated TLS in dlopen (bug 31717) + + The old code used l_init_called as an indicator for whether TLS + initialization was complete. However, it is possible that + TLS for an object is initialized, written to, and then dlopen + for this object is called again, and l_init_called is not true at + this point. Previously, this resulted in TLS being initialized + twice, discarding any interim writes (technically introducing a + use-after-free bug even). + + This commit introduces an explicit per-object flag, l_tls_in_slotinfo. + It indicates whether _dl_add_to_slotinfo has been called for this + object. This flag is used to avoid double-initialization of TLS. + In update_tls_slotinfo, the first_static_tls micro-optimization + is removed because preserving the initalization flag for subsequent + use by the second loop for static TLS is a bit complicated, and + another per-object flag does not seem to be worth it. Furthermore, + the l_init_called flag is dropped from the second loop (for static + TLS initialization) because l_need_tls_init on its own prevents + double-initialization. + + The remaining l_init_called usage in resize_scopes and update_scopes + is just an optimization due to the use of scope_has_map, so it is + not changed in this commit. + + The isupper check ensures that libc.so.6 is TLS is not reverted. + Such a revert happens if l_need_tls_init is not cleared in + _dl_allocate_tls_init for the main_thread case, now that + l_init_called is not checked anymore in update_tls_slotinfo + in elf/dl-open.c. + + Reported-by: Jonathon Anderson + Reviewed-by: Carlos O'Donell + (cherry picked from commit 5097cd344fd243fb8deb6dec96e8073753f962f9) + +diff --git a/NEWS b/NEWS +index 10a125bc66..5b20efbf6c 100644 +--- a/NEWS ++++ b/NEWS +@@ -10,7 +10,7 @@ Version 2.40.1 + The following bugs are resolved with this release: + + [30081] resolv: Do not wait for non-existing second DNS response after error +- [31968] mremap implementation in C does not handle arguments correctly ++ [31717] elf: Avoid re-initializing already allocated TLS in dlopen + [31890] resolv: Allow short error responses to match any DNS query + [31968] mremap implementation in C does not handle arguments correctly + [32026] strerror/strsignal TLS not handled correctly for secondary namespaces +diff --git a/elf/Makefile b/elf/Makefile +index a3475f3fb5..a03c6520d8 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -416,6 +416,10 @@ tests += \ + tst-dlmopen4 \ + tst-dlopen-self \ + tst-dlopen-tlsmodid \ ++ tst-dlopen-tlsreinit1 \ ++ tst-dlopen-tlsreinit2 \ ++ tst-dlopen-tlsreinit3 \ ++ tst-dlopen-tlsreinit4 \ + tst-dlopenfail \ + tst-dlopenfail-2 \ + tst-dlopenrpath \ +@@ -853,6 +857,9 @@ modules-names += \ + tst-dlmopen-twice-mod1 \ + tst-dlmopen-twice-mod2 \ + tst-dlmopen1mod \ ++ tst-dlopen-tlsreinitmod1 \ ++ tst-dlopen-tlsreinitmod2 \ ++ tst-dlopen-tlsreinitmod3 \ + tst-dlopenfaillinkmod \ + tst-dlopenfailmod1 \ + tst-dlopenfailmod2 \ +@@ -3118,3 +3125,26 @@ $(objpfx)tst-recursive-tls.out: \ + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) + $(objpfx)tst-recursive-tlsmod%.os: tst-recursive-tlsmodN.c + $(compile-command.c) -DVAR=thread_$* -DFUNC=get_threadvar_$* ++ ++# Order matters here. The test needs the constructor for ++# tst-dlopen-tlsreinitmod2.so to be called first. ++LDFLAGS-tst-dlopen-tlsreinitmod1.so = -Wl,--no-as-needed ++$(objpfx)tst-dlopen-tlsreinitmod1.so: \ ++ $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so ++LDFLAGS-tst-dlopen-tlsreinit2 = -Wl,--no-as-needed ++$(objpfx)tst-dlopen-tlsreinit2: \ ++ $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so ++LDFLAGS-tst-dlopen-tlsreinit4 = -Wl,--no-as-needed ++$(objpfx)tst-dlopen-tlsreinit4: \ ++ $(objpfx)tst-dlopen-tlsreinitmod3.so $(objpfx)tst-dlopen-tlsreinitmod2.so ++# tst-dlopen-tlsreinitmod2.so is underlinked and refers to ++# tst-dlopen-tlsreinitmod3.so. The dependency is provided via ++# $(objpfx)tst-dlopen-tlsreinitmod1.so. ++tst-dlopen-tlsreinitmod2.so-no-z-defs = yes ++$(objpfx)tst-dlopen-tlsreinit.out: $(objpfx)tst-dlopen-tlsreinitmod1.so \ ++ $(objpfx)tst-dlopen-tlsreinitmod2.so $(objpfx)tst-dlopen-tlsreinitmod3.so ++# Reuse an audit module which provides ample debug logging. ++$(objpfx)tst-dlopen-tlsreinit3.out: $(objpfx)tst-auditmod1.so ++tst-dlopen-tlsreinit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so ++$(objpfx)tst-dlopen-tlsreinit4.out: $(objpfx)tst-auditmod1.so ++tst-dlopen-tlsreinit4-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so +diff --git a/elf/dl-open.c b/elf/dl-open.c +index c378da16c0..8556e7bd2f 100644 +--- a/elf/dl-open.c ++++ b/elf/dl-open.c +@@ -363,17 +363,8 @@ resize_tls_slotinfo (struct link_map *new) + { + bool any_tls = false; + for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) +- { +- struct link_map *imap = new->l_searchlist.r_list[i]; +- +- /* Only add TLS memory if this object is loaded now and +- therefore is not yet initialized. */ +- if (! imap->l_init_called && imap->l_tls_blocksize > 0) +- { +- _dl_add_to_slotinfo (imap, false); +- any_tls = true; +- } +- } ++ if (_dl_add_to_slotinfo (new->l_searchlist.r_list[i], false)) ++ any_tls = true; + return any_tls; + } + +@@ -383,22 +374,8 @@ resize_tls_slotinfo (struct link_map *new) + static void + update_tls_slotinfo (struct link_map *new) + { +- unsigned int first_static_tls = new->l_searchlist.r_nlist; + for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) +- { +- struct link_map *imap = new->l_searchlist.r_list[i]; +- +- /* Only add TLS memory if this object is loaded now and +- therefore is not yet initialized. */ +- if (! imap->l_init_called && imap->l_tls_blocksize > 0) +- { +- _dl_add_to_slotinfo (imap, true); +- +- if (imap->l_need_tls_init +- && first_static_tls == new->l_searchlist.r_nlist) +- first_static_tls = i; +- } +- } ++ _dl_add_to_slotinfo (new->l_searchlist.r_list[i], true); + + size_t newgen = GL(dl_tls_generation) + 1; + if (__glibc_unlikely (newgen == 0)) +@@ -410,13 +387,11 @@ TLS generation counter wrapped! Please report this.")); + /* We need a second pass for static tls data, because + _dl_update_slotinfo must not be run while calls to + _dl_add_to_slotinfo are still pending. */ +- for (unsigned int i = first_static_tls; i < new->l_searchlist.r_nlist; ++i) ++ for (unsigned int i = 0; i < new->l_searchlist.r_nlist; ++i) + { + struct link_map *imap = new->l_searchlist.r_list[i]; + +- if (imap->l_need_tls_init +- && ! imap->l_init_called +- && imap->l_tls_blocksize > 0) ++ if (imap->l_need_tls_init && imap->l_tls_blocksize > 0) + { + /* For static TLS we have to allocate the memory here and + now, but we can delay updating the DTV. */ +diff --git a/elf/dl-tls.c b/elf/dl-tls.c +index ecb966d282..3d529b722c 100644 +--- a/elf/dl-tls.c ++++ b/elf/dl-tls.c +@@ -632,17 +632,21 @@ _dl_allocate_tls_init (void *result, bool main_thread) + some platforms use in static programs requires it. */ + dtv[map->l_tls_modid].pointer.val = dest; + +- /* Copy the initialization image and clear the BSS part. For +- audit modules or dependencies with initial-exec TLS, we can not +- set the initial TLS image on default loader initialization +- because it would already be set by the audit setup. However, +- subsequent thread creation would need to follow the default +- behaviour. */ ++ /* Copy the initialization image and clear the BSS part. ++ For audit modules or dependencies with initial-exec TLS, ++ we can not set the initial TLS image on default loader ++ initialization because it would already be set by the ++ audit setup, which uses the dlopen code and already ++ clears l_need_tls_init. Calls with !main_thread from ++ pthread_create need to initialze TLS for the current ++ thread regardless of namespace. */ + if (map->l_ns != LM_ID_BASE && main_thread) + continue; + memset (__mempcpy (dest, map->l_tls_initimage, + map->l_tls_initimage_size), '\0', + map->l_tls_blocksize - map->l_tls_initimage_size); ++ if (main_thread) ++ map->l_need_tls_init = 0; + } + + total += cnt; +@@ -1099,9 +1103,32 @@ _dl_tls_initial_modid_limit_setup (void) + } + + +-void ++/* Add module to slot information data. If DO_ADD is false, only the ++ required memory is allocated. Must be called with ++ GL (dl_load_tls_lock) acquired. If the function has already been ++ called for the link map L with !DO_ADD, then this function will not ++ raise an exception, otherwise it is possible that it encounters a ++ memory allocation failure. ++ ++ Return false if L has already been added to the slotinfo data, or ++ if L has no TLS data. If the returned value is true, L has been ++ added with this call (DO_ADD), or has been added in a previous call ++ (!DO_ADD). ++ ++ The expected usage is as follows: Call _dl_add_to_slotinfo for ++ several link maps with DO_ADD set to false, and record if any calls ++ result in a true result. If there was a true result, call ++ _dl_add_to_slotinfo again, this time with DO_ADD set to true. (For ++ simplicity, it's possible to call the function for link maps where ++ the previous result was false.) The return value from the second ++ round of calls can be ignored. If there was true result initially, ++ call _dl_update_slotinfo to update the TLS generation counter. */ ++bool + _dl_add_to_slotinfo (struct link_map *l, bool do_add) + { ++ if (l->l_tls_blocksize == 0 || l->l_tls_in_slotinfo) ++ return false; ++ + /* Now that we know the object is loaded successfully add + modules containing TLS data to the dtv info table. We + might have to increase its size. */ +@@ -1157,7 +1184,10 @@ cannot create TLS data structures")); + atomic_store_relaxed (&listp->slotinfo[idx].map, l); + atomic_store_relaxed (&listp->slotinfo[idx].gen, + GL(dl_tls_generation) + 1); ++ l->l_tls_in_slotinfo = true; + } ++ ++ return true; + } + + #if PTHREAD_IN_LIBC +diff --git a/elf/tst-dlopen-tlsreinit1.c b/elf/tst-dlopen-tlsreinit1.c +new file mode 100644 +index 0000000000..2016b9b0c6 +--- /dev/null ++++ b/elf/tst-dlopen-tlsreinit1.c +@@ -0,0 +1,40 @@ ++/* Test that dlopen preserves already accessed TLS (bug 31717). ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ void *handle = xdlopen ("tst-dlopen-tlsreinitmod1.so", RTLD_NOW); ++ ++ bool *tlsreinitmod3_tested = xdlsym (handle, "tlsreinitmod3_tested"); ++ TEST_VERIFY (*tlsreinitmod3_tested); ++ ++ xdlclose (handle); ++ ++ /* This crashes if the libc.so.6 TLS image has been reverted. */ ++ TEST_VERIFY (!isupper ('@')); ++ ++ return 0; ++} ++ ++#include +diff --git a/elf/tst-dlopen-tlsreinit2.c b/elf/tst-dlopen-tlsreinit2.c +new file mode 100644 +index 0000000000..90ad2c7713 +--- /dev/null ++++ b/elf/tst-dlopen-tlsreinit2.c +@@ -0,0 +1,39 @@ ++/* Test that dlopen preserves already accessed TLS (bug 31717). ++ Variant with initially-linked modules. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++ ++static int ++do_test (void) ++{ ++ /* Defined in tst-dlopen-tlsreinitmod3.so. */ ++ extern bool tlsreinitmod3_tested; ++ TEST_VERIFY (tlsreinitmod3_tested); ++ ++ /* This crashes if the libc.so.6 TLS image has been reverted. */ ++ TEST_VERIFY (!isupper ('@')); ++ ++ return 0; ++} ++ ++#include +diff --git a/elf/tst-dlopen-tlsreinit3.c b/elf/tst-dlopen-tlsreinit3.c +new file mode 100644 +index 0000000000..79bd585aff +--- /dev/null ++++ b/elf/tst-dlopen-tlsreinit3.c +@@ -0,0 +1,2 @@ ++/* Same code, but run with LD_AUDIT=tst-auditmod1.so. */ ++#include "tst-dlopen-tlsreinit1.c" +diff --git a/elf/tst-dlopen-tlsreinit4.c b/elf/tst-dlopen-tlsreinit4.c +new file mode 100644 +index 0000000000..344c9211ab +--- /dev/null ++++ b/elf/tst-dlopen-tlsreinit4.c +@@ -0,0 +1,2 @@ ++/* Same code, but run with LD_AUDIT=tst-auditmod1.so. */ ++#include "tst-dlopen-tlsreinit2.c" +diff --git a/elf/tst-dlopen-tlsreinitmod1.c b/elf/tst-dlopen-tlsreinitmod1.c +new file mode 100644 +index 0000000000..354cc3de51 +--- /dev/null ++++ b/elf/tst-dlopen-tlsreinitmod1.c +@@ -0,0 +1,20 @@ ++/* Test that dlopen preserves already accessed TLS (bug 31717), module 1. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* This module triggers loading of tst-dlopen-tlsreinitmod2.so and ++ tst-dlopen-tlsreinitmod3.so. */ +diff --git a/elf/tst-dlopen-tlsreinitmod2.c b/elf/tst-dlopen-tlsreinitmod2.c +new file mode 100644 +index 0000000000..677e69bd35 +--- /dev/null ++++ b/elf/tst-dlopen-tlsreinitmod2.c +@@ -0,0 +1,30 @@ ++/* Test that dlopen preserves already accessed TLS (bug 31717), module 2. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++ ++/* Defined in tst-dlopen-tlsreinitmod3.so. This an underlinked symbol ++ dependency. */ ++extern void call_tlsreinitmod3 (void); ++ ++static void __attribute__ ((constructor)) ++tlsreinitmod2_init (void) ++{ ++ puts ("info: constructor of tst-dlopen-tlsreinitmod2.so invoked"); ++ call_tlsreinitmod3 (); ++} +diff --git a/elf/tst-dlopen-tlsreinitmod3.c b/elf/tst-dlopen-tlsreinitmod3.c +new file mode 100644 +index 0000000000..ef769c5131 +--- /dev/null ++++ b/elf/tst-dlopen-tlsreinitmod3.c +@@ -0,0 +1,102 @@ ++/* Test that dlopen preserves already accessed TLS (bug 31717), module 3. ++ Copyright (C) 2024 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++/* Used to verify from the main program that the test ran. */ ++bool tlsreinitmod3_tested; ++ ++/* This TLS variable must not revert back to the initial state after ++ dlopen. */ ++static __thread int tlsreinitmod3_state = 1; ++ ++/* Set from the ELF constructor during dlopen. */ ++static bool tlsreinitmod3_constructed; ++ ++/* Second half of test, behind a compiler barrier. The compiler ++ barrier is necessary to prevent carrying over TLS address ++ information from call_tlsreinitmod3 to call_tlsreinitmod3_tail. */ ++void call_tlsreinitmod3_tail (void *self) __attribute__ ((weak)); ++ ++/* Called from tst-dlopen-tlsreinitmod2.so. */ ++void ++call_tlsreinitmod3 (void) ++{ ++ printf ("info: call_tlsreinitmod3 invoked (state=%d)\n", ++ tlsreinitmod3_state); ++ ++ if (tlsreinitmod3_constructed) ++ { ++ puts ("error: call_tlsreinitmod3 called after ELF constructor"); ++ fflush (stdout); ++ /* Cannot rely on test harness due to dynamic linking. */ ++ _exit (1); ++ } ++ ++ tlsreinitmod3_state = 2; ++ ++ /* Self-dlopen. This will run the ELF constructor. */ ++ void *self = dlopen ("tst-dlopen-tlsreinitmod3.so", RTLD_NOW); ++ if (self == NULL) ++ { ++ printf ("error: dlopen: %s\n", dlerror ()); ++ fflush (stdout); ++ /* Cannot rely on test harness due to dynamic linking. */ ++ _exit (1); ++ } ++ ++ call_tlsreinitmod3_tail (self); ++} ++ ++void ++call_tlsreinitmod3_tail (void *self) ++{ ++ printf ("info: dlopen returned in tlsreinitmod3 (state=%d)\n", ++ tlsreinitmod3_state); ++ ++ if (!tlsreinitmod3_constructed) ++ { ++ puts ("error: dlopen did not call tlsreinitmod3 ELF constructor"); ++ fflush (stdout); ++ /* Cannot rely on test harness due to dynamic linking. */ ++ _exit (1); ++ } ++ ++ if (tlsreinitmod3_state != 2) ++ { ++ puts ("error: TLS state reverted in tlsreinitmod3"); ++ fflush (stdout); ++ /* Cannot rely on test harness due to dynamic linking. */ ++ _exit (1); ++ } ++ ++ dlclose (self); ++ ++ /* Signal test completion to the main program. */ ++ tlsreinitmod3_tested = true; ++} ++ ++static void __attribute__ ((constructor)) ++tlsreinitmod3_init (void) ++{ ++ puts ("info: constructor of tst-dlopen-tlsreinitmod3.so invoked"); ++ tlsreinitmod3_constructed = true; ++} +diff --git a/include/link.h b/include/link.h +index cb0d7d8e2f..5ed445d5a6 100644 +--- a/include/link.h ++++ b/include/link.h +@@ -212,6 +212,7 @@ struct link_map + unsigned int l_find_object_processed:1; /* Zero if _dl_find_object_update + needs to process this + lt_library map. */ ++ unsigned int l_tls_in_slotinfo:1; /* TLS slotinfo updated in dlopen. */ + + /* NODELETE status of the map. Only valid for maps of type + lt_loaded. Lazy binding sets l_nodelete_active directly, +diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h +index 154efb0e19..259ce2e7d6 100644 +--- a/sysdeps/generic/ldsodefs.h ++++ b/sysdeps/generic/ldsodefs.h +@@ -1239,13 +1239,7 @@ extern void *_dl_open (const char *name, int mode, const void *caller, + extern int _dl_scope_free (void *) attribute_hidden; + + +-/* Add module to slot information data. If DO_ADD is false, only the +- required memory is allocated. Must be called with GL +- (dl_load_tls_lock) acquired. If the function has already been called +- for the link map L with !do_add, then this function will not raise +- an exception, otherwise it is possible that it encounters a memory +- allocation failure. */ +-extern void _dl_add_to_slotinfo (struct link_map *l, bool do_add) ++extern bool _dl_add_to_slotinfo (struct link_map *l, bool do_add) + attribute_hidden; + + /* Update slot information data for at least the generation of the + +commit f4a9b6e97bf05cf5a41907e55901f7e9afaafd4d +Author: Florian Weimer +Date: Mon Sep 9 21:10:23 2024 +0200 + + elf: Fix tst-dlopen-tlsreinit1.out test dependency + + Fixes commit 5097cd344fd243fb8deb6dec96e8073753f962f9 + ("elf: Avoid re-initializing already allocated TLS in dlopen + (bug 31717)"). + + Reported-by: Patsy Griffin + Reviewed-by: Patsy Griffin + (cherry picked from commit e82a7cb1622bff08d8e3a144d7c5516a088f1cbc) + +diff --git a/elf/Makefile b/elf/Makefile +index a03c6520d8..dc686c3bff 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -3141,7 +3141,7 @@ $(objpfx)tst-dlopen-tlsreinit4: \ + # tst-dlopen-tlsreinitmod3.so. The dependency is provided via + # $(objpfx)tst-dlopen-tlsreinitmod1.so. + tst-dlopen-tlsreinitmod2.so-no-z-defs = yes +-$(objpfx)tst-dlopen-tlsreinit.out: $(objpfx)tst-dlopen-tlsreinitmod1.so \ ++$(objpfx)tst-dlopen-tlsreinit1.out: $(objpfx)tst-dlopen-tlsreinitmod1.so \ + $(objpfx)tst-dlopen-tlsreinitmod2.so $(objpfx)tst-dlopen-tlsreinitmod3.so + # Reuse an audit module which provides ample debug logging. + $(objpfx)tst-dlopen-tlsreinit3.out: $(objpfx)tst-auditmod1.so + +commit adfb14e71f240a6bc2a4cbd6e6c50cc3fa1bcc3b +Author: Florian Weimer +Date: Tue Sep 10 12:40:27 2024 +0200 + + debug: Fix read error handling in pcprofiledump + + The reading loops did not check for read failures. Addresses + a static analysis report. + + Manually tested by compiling a program with the GCC's + -finstrument-functions option, running it with + “LD_PRELOAD=debug/libpcprofile.so PCPROFILE_OUTPUT=output-file”, + and reviewing the output of “debug/pcprofiledump output-file”. + + (cherry picked from commit 89b088bf70c651c231bf27e644270d093b8f144a) + +diff --git a/debug/pcprofiledump.c b/debug/pcprofiledump.c +index 049a9c2744..94530f0cf9 100644 +--- a/debug/pcprofiledump.c ++++ b/debug/pcprofiledump.c +@@ -75,6 +75,44 @@ static struct argp argp = + options, parse_opt, args_doc, doc, NULL, more_help + }; + ++/* Try to read SIZE bytes from FD and store them on BUF. Terminate ++ the process upon read error. Also terminate the process if less ++ than SIZE bytes are remaining in the file. If !IN_HEADER, do not ++ terminate the process if the end of the file is encountered ++ immediately, before any bytes are read. ++ ++ Returns true if SIZE bytes have been read, and false if no bytes ++ have been read due to an end-of-file condition. */ ++static bool ++read_exactly (int fd, void *buffer, size_t size, bool in_header) ++{ ++ char *p = buffer; ++ char *end = p + size; ++ while (p < end) ++ { ++ ssize_t ret = TEMP_FAILURE_RETRY (read (fd, p, end - p)); ++ if (ret < 0) ++ { ++ if (in_header) ++ error (EXIT_FAILURE, errno, _("cannot read header")); ++ else ++ error (EXIT_FAILURE, errno, _("cannot read pointer pair")); ++ } ++ if (ret == 0) ++ { ++ if (p == buffer && !in_header) ++ /* Nothing has been read. */ ++ return false; ++ if (in_header) ++ error (EXIT_FAILURE, 0, _("unexpected end of file in header")); ++ else ++ error (EXIT_FAILURE, 0, ++ _("unexpected end of file in pointer pair")); ++ } ++ p += ret; ++ } ++ return true; ++} + + int + main (int argc, char *argv[]) +@@ -110,8 +148,7 @@ main (int argc, char *argv[]) + /* Read the first 4-byte word. It contains the information about + the word size and the endianness. */ + uint32_t word; +- if (TEMP_FAILURE_RETRY (read (fd, &word, 4)) != 4) +- error (EXIT_FAILURE, errno, _("cannot read header")); ++ read_exactly (fd, &word, sizeof (word), true); + + /* Check whether we have to swap the byte order. */ + int must_swap = (word & 0x0fffffff) == bswap_32 (0xdeb00000); +@@ -121,56 +158,30 @@ main (int argc, char *argv[]) + /* We have two loops, one for 32 bit pointers, one for 64 bit pointers. */ + if (word == 0xdeb00004) + { +- union +- { +- uint32_t ptrs[2]; +- char bytes[8]; +- } pair; ++ uint32_t ptrs[2]; + + while (1) + { +- size_t len = sizeof (pair); +- size_t n; +- +- while (len > 0 +- && (n = TEMP_FAILURE_RETRY (read (fd, &pair.bytes[8 - len], +- len))) != 0) +- len -= n; +- +- if (len != 0) +- /* Nothing to read. */ ++ if (!read_exactly (fd, ptrs, sizeof (ptrs), false)) + break; + + printf ("this = %#010" PRIx32 ", caller = %#010" PRIx32 "\n", +- must_swap ? bswap_32 (pair.ptrs[0]) : pair.ptrs[0], +- must_swap ? bswap_32 (pair.ptrs[1]) : pair.ptrs[1]); ++ must_swap ? bswap_32 (ptrs[0]) : ptrs[0], ++ must_swap ? bswap_32 (ptrs[1]) : ptrs[1]); + } + } + else if (word == 0xdeb00008) + { +- union +- { +- uint64_t ptrs[2]; +- char bytes[16]; +- } pair; ++ uint64_t ptrs[2]; + + while (1) + { +- size_t len = sizeof (pair); +- size_t n; +- +- while (len > 0 +- && (n = TEMP_FAILURE_RETRY (read (fd, &pair.bytes[8 - len], +- len))) != 0) +- len -= n; +- +- if (len != 0) +- /* Nothing to read. */ ++ if (!read_exactly (fd, ptrs, sizeof (ptrs), false)) + break; + + printf ("this = %#018" PRIx64 ", caller = %#018" PRIx64 "\n", +- must_swap ? bswap_64 (pair.ptrs[0]) : pair.ptrs[0], +- must_swap ? bswap_64 (pair.ptrs[1]) : pair.ptrs[1]); ++ must_swap ? bswap_64 (ptrs[0]) : ptrs[0], ++ must_swap ? bswap_64 (ptrs[1]) : ptrs[1]); + } + } + else + +commit 7073164add3b874cf0c19ca0fb84236f6bb0985d +Author: Siddhesh Poyarekar +Date: Tue Sep 3 14:58:33 2024 -0400 + + libio: Attempt wide backup free only for non-legacy code + + _wide_data and _mode are not available in legacy code, so do not attempt + to free the wide backup buffer in legacy code. + + Resolves: BZ #32137 and BZ #27821 + + Signed-off-by: Siddhesh Poyarekar + Reviewed-by: Florian Weimer + (cherry picked from commit ae4d44b1d501421ad9a3af95279b8f4d1546f1ce) + +diff --git a/NEWS b/NEWS +index 5b20efbf6c..9033335db1 100644 +--- a/NEWS ++++ b/NEWS +@@ -9,12 +9,14 @@ Version 2.40.1 + + The following bugs are resolved with this release: + ++ [27821] ungetc: Fix backup buffer leak on program exit + [30081] resolv: Do not wait for non-existing second DNS response after error + [31717] elf: Avoid re-initializing already allocated TLS in dlopen + [31890] resolv: Allow short error responses to match any DNS query + [31968] mremap implementation in C does not handle arguments correctly + [32026] strerror/strsignal TLS not handled correctly for secondary namespaces + [32052] Name space violation in fortify wrappers ++ [32137] libio: Attempt wide backup free only for non-legacy code + + Version 2.40 + +diff --git a/libio/genops.c b/libio/genops.c +index 35d8b30710..6f20d49669 100644 +--- a/libio/genops.c ++++ b/libio/genops.c +@@ -819,7 +819,7 @@ _IO_unbuffer_all (void) + /* Free up the backup area if it was ever allocated. */ + if (_IO_have_backup (fp)) + _IO_free_backup_area (fp); +- if (fp->_mode > 0 && _IO_have_wbackup (fp)) ++ if (!legacy && fp->_mode > 0 && _IO_have_wbackup (fp)) + _IO_free_wbackup_area (fp); + + if (! (fp->_flags & _IO_UNBUFFERED) diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index be55dd89b7c61..f99a4cd390cd4 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -44,9 +44,9 @@ } @ args: let - version = "2.39"; - patchSuffix = "-52"; - sha256 = "sha256-93vUfPgXDFc2Wue/hmlsEYrbOxINMlnGTFAtPcHi2SY="; + version = "2.40"; + patchSuffix = "-36"; + sha256 = "sha256-GaiQF16SY9dI9ieZPeb0sa+c0h4D8IDkv7Oh+sECBaI="; in assert withLinuxHeaders -> linuxHeaders != null; @@ -62,17 +62,17 @@ stdenv.mkDerivation ({ [ /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. $ git fetch --all -p && git checkout origin/release/2.39/master && git describe - glibc-2.39-52-gf8e4623421 - $ git show --minimal --reverse glibc-2.39.. ':!ADVISORIES' > 2.39-master.patch + glibc-2.40-36-g7073164add + $ git show --minimal --reverse glibc-2.40.. ':!ADVISORIES' > 2.40-master.patch To compare the archive contents zdiff can be used. - $ diff -u 2.39-master.patch ../nixpkgs/pkgs/development/libraries/glibc/2.39-master.patch + $ diff -u 2.40-master.patch ../nixpkgs/pkgs/development/libraries/glibc/2.40-master.patch Please note that each commit has changes to the file ADVISORIES excluded since that conflicts with the directory advisories/ making cross-builds from hosts with case-insensitive file-systems impossible. */ - ./2.39-master.patch + ./2.40-master.patch /* Allow NixOS and Nix to handle the locale-archive. */ ./nix-locale-archive.patch From 35d12c9cfc94fc00ab27df7c6732efeef310cf55 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 15 Sep 2024 12:32:59 +0200 Subject: [PATCH 250/491] gcc: remove "fixed" pthread.h Fixes /nix/store/8pq96x5qsczrmc926795lf7j4dzy2c8q-binutils-patchelfed-ld-2.43.1/bin/ld: ../../src/liblzma/.libs/liblzma.so: undefined reference to `__pthread_cond_timedwait64' collect2: error: ld returned 1 exit status while building `xz` for `stdenv`. The root cause is that glibc replaced `__USE_TIME_BITS64` with `__USE_TIME64_REDIRECTS`[1]. However, the stage3 GCC seems to use the bootstrap headers from glibc for `fixincludes`, i.e. headers w/o this change. Because of that, the xz build with stage3 stdenv gets a header that looks like this: # ifndef __USE_TIME_BITS64 /* ... */ # else # ifdef __REDIRECT /* ... */ # else # define pthread_cond_timedwait __pthread_cond_timedwait64 # endif # endif Since __USE_TIME_BITS64 doesn't exist anymore because a new glibc is used for building, the preprocessor ends up in the condition defining `__pthread_cond_timedwait64` even though it's not supposed to end up there since __pthread_cond_timedwait64 doesn't exist on x86_64[2]. I decided to just kill the header here since GCC claims that all the `pthread.h` only very old glibc versions or platform-specific libcs we don't use[3]. [1] https://sourceware.org/git/?p=glibc.git%3Ba%3Dcommit%3Bh%3Ddd535f4f19ef2b5c367a362af445ecadcf45401e [2] https://inbox.sourceware.org/libc-stable/50c0269d-b73c-4e8a-9816-65f72d6082c0@linaro.org/ [3] https://github.com/gcc-mirror/gcc/blob/releases/gcc-14.2.0/fixincludes/inclhack.def --- pkgs/development/compilers/gcc/common/builder.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/common/builder.nix b/pkgs/development/compilers/gcc/common/builder.nix index 9a254ef59c023..ff4d7e1df55d8 100644 --- a/pkgs/development/compilers/gcc/common/builder.nix +++ b/pkgs/development/compilers/gcc/common/builder.nix @@ -303,7 +303,7 @@ originalAttrs: (stdenv.mkDerivation (finalAttrs: originalAttrs // { fi # Get rid of some "fixed" header files - rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux,sys/mount.h,bits/statx.h} + rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux,sys/mount.h,bits/statx.h,pthread.h} # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. for i in $out/bin/*-gcc*; do From df3df617f06623fbc132741f419a817828232b76 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 14 Sep 2024 09:38:14 +0200 Subject: [PATCH 251/491] libselinux: 3.6 -> 3.7 --- pkgs/os-specific/linux/libselinux/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix index 104b1a7aaf1ce..e77c15e7c7ecd 100644 --- a/pkgs/os-specific/linux/libselinux/default.nix +++ b/pkgs/os-specific/linux/libselinux/default.nix @@ -8,14 +8,14 @@ assert enablePython -> swig != null && python3 != null; stdenv.mkDerivation (rec { pname = "libselinux"; - version = "3.6"; + version = "3.7"; inherit (libsepol) se_url; outputs = [ "bin" "out" "dev" "man" ] ++ lib.optional enablePython "py"; src = fetchurl { url = "${se_url}/${version}/libselinux-${version}.tar.gz"; - hash = "sha256-uk4O80snDnZypeXxtSP+K+qzpAuzPZOJ9K06hyjyG1I="; + hash = "sha256-6gP0LROk+VdXmX26jPCyYyH6xdLxZEGLTMhWqS0rF70="; }; patches = [ From 92f4286cd892b29b594c76193e76e8e3f3583da3 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 15 Sep 2024 12:48:06 +0200 Subject: [PATCH 252/491] llvm{17,18}: fix build w/ glibc-2.40 See https://github.com/llvm/llvm-project/pull/100804 for further context. Tests for LLVM 12 to 16 pass fine without this change (the entire section of the test doesn't exist there), our LLVM 19 already has the patch applied. --- pkgs/development/compilers/llvm/common/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index 1c56e0f6f4c1c..0369b71869740 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -480,7 +480,18 @@ let stripLen = 1; hash = "sha256-fqw5gTSEOGs3kAguR4tINFG7Xja1RAje+q67HJt2nGg="; }) - ]; + ] + ++ + lib.optionals + (lib.versionAtLeast metadata.release_version "17" && lib.versionOlder metadata.release_version "19") + [ + # Fixes test-suite on glibc 2.40 (https://github.com/llvm/llvm-project/pull/100804) + (fetchpatch2 { + url = "https://github.com/llvm/llvm-project/commit/1e8df9e85a1ff213e5868bd822877695f27504ad.patch"; + hash = "sha256-EX+PYGicK73lsL/J0kSZ4S5y1/NHIclBddhsnV6NPPI="; + stripLen = 1; + }) + ]; pollyPatches = [ (metadata.getVersionFile "llvm/gnu-install-dirs-polly.patch") ] ++ lib.optional (lib.versionAtLeast metadata.release_version "15") From 52bb840eafa02c719f641d20f67028cc2189ad70 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Sat, 14 Sep 2024 13:39:36 +0200 Subject: [PATCH 253/491] postgresql: fix regress tests after tzdata update This was discussed upstream here: https://postgr.es/m/0a997455-5aba-4cf2-a354-d26d8bcbfae6%40technowledgy.de This will be in the next minor releases, until then apply the patch. --- pkgs/servers/sql/postgresql/generic.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index dcb286dd3077b..de9dc49a09e1c 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -161,6 +161,23 @@ let src = ./patches/locale-binary-path.patch; locale = "${if stdenv.isDarwin then darwin.adv_cmds else lib.getBin stdenv.cc.libc}/bin/locale"; }) + + # TODO: Remove this with the next set of minor releases + (fetchpatch ( + if atLeast "14" then { + url = "https://github.com/postgres/postgres/commit/b27622c90869aab63cfe22159a459c57768b0fa4.patch"; + hash = "sha256-7G+BkJULhyx6nlMEjClcr2PJg6awgymZHr2JgGhXanA="; + excludes = [ "doc/*" ]; + } else if atLeast "13" then { + url = "https://github.com/postgres/postgres/commit/b28b9b19bbe3410da4a805ef775e0383a66af314.patch"; + hash = "sha256-meFFskNWlcc/rv4BWo6fNR/tTFgQRgXGqTkJkoX7lHU="; + excludes = [ "doc/*" ]; + } else { + url = "https://github.com/postgres/postgres/commit/205813da4c264d80db3c3215db199cc119e18369.patch"; + hash = "sha256-L8/ns/fxTh2ayfDQXtBIKaArFhMd+v86UxVFWQdmzUw="; + excludes = [ "doc/*" ]; + }) + ) ] ++ lib.optionals stdenv'.hostPlatform.isMusl ( # Using fetchurl instead of fetchpatch on purpose: https://github.com/NixOS/nixpkgs/issues/240141 map fetchurl (lib.attrValues muslPatches) From a6d156bb3a524bd74f3c28a809f83c89865f1fab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 19 Jul 2024 02:44:20 +0000 Subject: [PATCH 254/491] linuxHeaders: 6.9 -> 6.10 --- pkgs/os-specific/linux/kernel-headers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 450e26b4eca17..b149b3f08d5c6 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -111,12 +111,12 @@ let in { inherit makeLinuxHeaders; - linuxHeaders = let version = "6.9"; in + linuxHeaders = let version = "6.10"; in makeLinuxHeaders { inherit version; src = fetchurl { url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz"; - hash = "sha256-JPoB+5icej4oRT8Rd5kWhxN2bhGcU4HawwEV8Y8mgUk="; + hash = "sha256-d0aYQi7lTF8ecERW83xlwGtRtOmosIZvNFgNhv744iY="; }; patches = [ ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms From 19a494135aef450171149a6c328375fb3d96947a Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 24 Dec 2023 23:40:36 +0100 Subject: [PATCH 255/491] nixos/resolvconf: add a resolvconf group This group is useful to allow specific users to run resolvconf and (and this modify /etc/resolv.conf) without root privileges. --- nixos/modules/config/resolvconf.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/nixos/modules/config/resolvconf.nix b/nixos/modules/config/resolvconf.nix index 3609b1ba475b8..6ffcbcabe5192 100644 --- a/nixos/modules/config/resolvconf.nix +++ b/nixos/modules/config/resolvconf.nix @@ -132,6 +132,8 @@ in } (lib.mkIf cfg.enable { + users.groups.resolvconf = {}; + networking.resolvconf.package = pkgs.openresolv; environment.systemPackages = [ cfg.package ]; @@ -143,12 +145,13 @@ in wants = [ "network-pre.target" ]; wantedBy = [ "multi-user.target" ]; restartTriggers = [ config.environment.etc."resolvconf.conf".source ]; + serviceConfig.RemainAfterExit = true; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${cfg.package}/bin/resolvconf -u"; - RemainAfterExit = true; - }; + script = '' + ${lib.getExe cfg.package} -u + chgrp -R resolvconf /etc/resolv.conf /run/resolvconf + chmod -R g=u /etc/resolv.conf /run/resolvconf + ''; }; }) From a432668acf9db69fb9123034a56f81eb4d437b53 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 24 Dec 2023 23:58:43 +0100 Subject: [PATCH 256/491] dhcpcd: disable privsep by default The priviledge separation mode has several downsides: - it's incompatible with alternative memory allocators, including graphene-hardened; - it needs an unreleased patch to fix a crash; - it results in none less than 6 subprocesses running at any time, increasing the memory usage; - the privileged process (albeit not doing any networking related tasks) is still running as root, so it has complete access to the system. Let's disable this by default and instead run dhcpcd as an unpriviledge user with only the necessary capabilities. --- nixos/modules/services/networking/dhcpcd.nix | 16 ---------------- nixos/tests/chrony.nix | 2 -- nixos/tests/hardened.nix | 5 ----- pkgs/tools/networking/dhcpcd/default.nix | 19 ++++--------------- 4 files changed, 4 insertions(+), 38 deletions(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 9b3269e965f5b..97b9680ed9516 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -206,22 +206,6 @@ in config = lib.mkIf enableDHCP { - assertions = [ { - # dhcpcd doesn't start properly with malloc ∉ [ libc scudo ] - # see https://github.com/NixOS/nixpkgs/issues/151696 - assertion = - dhcpcd.enablePrivSep - -> lib.elem config.environment.memoryAllocator.provider [ "libc" "scudo" ]; - message = '' - dhcpcd with privilege separation is incompatible with chosen system malloc. - Currently only the `libc` and `scudo` allocators are known to work. - To disable dhcpcd's privilege separation, overlay Nixpkgs and override dhcpcd - to set `enablePrivSep = false`. - ''; - } ]; - - environment.etc."dhcpcd.conf".source = dhcpcdConf; - systemd.services.dhcpcd = let cfgN = config.networking; hasDefaultGatewaySet = (cfgN.defaultGateway != null && cfgN.defaultGateway.address != "") diff --git a/nixos/tests/chrony.nix b/nixos/tests/chrony.nix index 2dcc363728beb..9582ab14bb8f1 100644 --- a/nixos/tests/chrony.nix +++ b/nixos/tests/chrony.nix @@ -13,8 +13,6 @@ import ./make-test-python.nix ({ lib, ... }: specialisation.hardened.configuration = { services.chrony.enableMemoryLocking = true; environment.memoryAllocator.provider = "graphene-hardened"; - # dhcpcd privsep is incompatible with graphene-hardened - networking.useNetworkd = true; }; }; }; diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix index e38834961e13a..0c43e3523dacf 100644 --- a/nixos/tests/hardened.nix +++ b/nixos/tests/hardened.nix @@ -11,11 +11,6 @@ import ./make-test-python.nix ({ pkgs, ... } : { imports = [ ../modules/profiles/hardened.nix ]; environment.memoryAllocator.provider = "graphene-hardened"; nix.settings.sandbox = false; - nixpkgs.overlays = [ - (final: super: { - dhcpcd = super.dhcpcd.override { enablePrivSep = false; }; - }) - ]; virtualisation.emptyDiskImages = [ 4096 ]; boot.initrd.postDeviceCommands = '' ${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 6221034dc2857..368319195df2c 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -7,7 +7,6 @@ , runtimeShellPackage , runtimeShell , nixosTests -, enablePrivSep ? true }: stdenv.mkDerivation rec { @@ -38,17 +37,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--sysconfdir=/etc" "--localstatedir=/var" - ] - ++ ( - if ! enablePrivSep - then [ "--disable-privsep" ] - else [ - "--enable-privsep" - # dhcpcd disables privsep if it can't find the default user, - # so we explicitly specify a user. - "--privsepuser=dhcpcd" - ] - ); + "--disable-privsep" + ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; @@ -59,9 +49,8 @@ stdenv.mkDerivation rec { # Check that the udev plugin got built. postInstall = lib.optionalString (udev != null && stdenv.isLinux) "[ -e ${placeholder "out"}/lib/dhcpcd/dev/udev.so ]"; - passthru = { - inherit enablePrivSep; - tests = { inherit (nixosTests.networking.scripted) macvlan dhcpSimple dhcpOneIf; }; + passthru.tests = { + inherit (nixosTests.networking.scripted) macvlan dhcpSimple dhcpOneIf; }; meta = with lib; { From 05d1238642a4e58c9eef41d7422f18bf1bb4dae1 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 16 Sep 2024 09:06:10 +0800 Subject: [PATCH 257/491] emacs: do not do native compilation for .dir-locals.el This file is not a valid Emacs lisp file. Some packages, such as auctex, el-get, helm and org, include this file without using no-byte-compile in file-local variables to skip native compilation, causing native compilation error like this: Wrong type argument: "/nix/store/-emacs-org-9.7.10/share/emacs/site-lisp/elpa/org-9.7.10/.dir-locals.el", proper-list-p, (# . 0) Some[1,2,3] of them decide to exclude this file. Org includes this file intendedly[4] but may add no-byte-compile to file-local variables. Hopefully, newer versions of them do not have this error. However, to support old versions of them and potentially other new packages with this problem, let's filter out this file in Nixpkgs. [1]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73215 [2]: https://github.com/melpa/melpa/pull/9164 [3]: https://github.com/melpa/melpa/pull/9165 [4]: https://lists.gnu.org/archive/html/emacs-orgmode/2024-09/msg00179.html --- pkgs/applications/editors/emacs/build-support/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index 3ff10ee865fb3..d22e6495c1d22 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -86,7 +86,7 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: source ${./emacs-funcs.sh} addEmacsVars "$out" - find $out/share/emacs -type f -name '*.el' -print0 \ + find $out/share/emacs -type f -name '*.el' -not -name ".dir-locals.el" -print0 \ | xargs --verbose -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \ "emacs \ --batch \ From 13e80707b2e8f0f707f81791b06e4a5e0cdf246d Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 16 Sep 2024 13:15:02 +0800 Subject: [PATCH 258/491] emacs: make sure native compilation output dir is in $out Native compilation output dir is the first writable one specified by native-comp-eln-load-path[1]. The first[2] dir in native-comp-eln-load-path is in $HOME. In the nix build sandbox, $HOME normally does not exist so this first dir is not writable. The second dir is in $out and thus is writable. So it is chosen as the native compilation output dir. Some packages, such as auctex[3], needs a writable $HOME when being compiled. To avoid compilation error, it is necessary to create a writable $HOME. To make sure native compilation output dir is in $out, we can make the first dir of native-comp-eln-load-path, the one in $HOME, read-only. Or we can explicitly choose the second dir. This patch use the second explicit method. [1]: (info "(elisp) Native-Compilation Functions") [2]: https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/startup.el?id=f27553c30a772a0103d2e6762e4d7f588f302e4b#n615 [3]: https://hydra.nixos.org/build/271252219/nixlog/1 --- pkgs/applications/editors/emacs/build-support/generic.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index d22e6495c1d22..9f1b2308cc434 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -90,6 +90,7 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: | xargs --verbose -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \ "emacs \ --batch \ + --eval '(setq native-comp-eln-load-path (cdr native-comp-eln-load-path))' \ --eval '(setq large-file-warning-threshold nil)' \ --eval '(setq byte-compile-error-on-warn ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"})' \ -f batch-native-compile {} \ From aff5d1d523225d86027dbebfb95c321d7760a1fa Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 25 Dec 2023 00:29:48 +0100 Subject: [PATCH 259/491] nixos/dhcpcd: remove ntpd workaround This workaround for NTP daemons has been there for 12 years and is most likely not needed anymore. --- nixos/modules/services/networking/dhcpcd.nix | 25 ++------------------ 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 97b9680ed9516..502289d8820a5 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -10,8 +10,6 @@ let enableDHCP = config.networking.dhcpcd.enable && (config.networking.useDHCP || lib.any (i: i.useDHCP == true) interfaces); - enableNTPService = (config.services.ntp.enable || config.services.ntpd-rs.enable || config.services.openntpd.enable || config.services.chrony.enable); - # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = @@ -88,23 +86,6 @@ let ${cfg.extraConfig} ''; - exitHook = pkgs.writeText "dhcpcd.exit-hook" '' - ${lib.optionalString enableNTPService '' - if [ "$reason" = BOUND -o "$reason" = REBOOT ]; then - # Restart ntpd. We need to restart it to make sure that it will actually do something: - # if ntpd cannot resolve the server hostnames in its config file, then it will never do - # anything ever again ("couldn't resolve ..., giving up on it"), so we silently lose - # time synchronisation. This also applies to openntpd. - ${lib.optionalString config.services.ntp.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart ntpd.service || true"} - ${lib.optionalString config.services.ntpd-rs.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart ntpd-rs.service || true"} - ${lib.optionalString config.services.openntpd.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart openntpd.service || true"} - ${lib.optionalString config.services.chrony.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart chronyd.service || true"} - fi - ''} - - ${cfg.runHook} - ''; - in { @@ -217,7 +198,7 @@ in wants = [ "network.target" ]; before = [ "network-online.target" ]; - restartTriggers = lib.optional (enableNTPService || cfg.runHook != "") [ exitHook ]; + restartTriggers = [ cfg.runHook ]; # Stopping dhcpcd during a reconfiguration is undesirable # because it brings down the network interfaces configured by @@ -246,9 +227,7 @@ in environment.systemPackages = [ dhcpcd ]; - environment.etc."dhcpcd.exit-hook" = lib.mkIf (enableNTPService || cfg.runHook != "") { - source = exitHook; - }; + environment.etc."dhcpcd.exit-hook".text = cfg.runHook; powerManagement.resumeCommands = lib.mkIf config.systemd.services.dhcpcd.enable '' From bad5251e874bec27438cb8a613ec87e845ed437e Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 25 Dec 2023 00:54:46 +0100 Subject: [PATCH 260/491] nixos/tests/networking: test nameservers via DHCP --- nixos/tests/networking/networkd-and-scripted.nix | 4 ++++ nixos/tests/networking/networkmanager.nix | 1 + nixos/tests/networking/router.nix | 1 + 3 files changed, 6 insertions(+) diff --git a/nixos/tests/networking/networkd-and-scripted.nix b/nixos/tests/networking/networkd-and-scripted.nix index 777c00f74e228..6b8ed50a2f19e 100644 --- a/nixos/tests/networking/networkd-and-scripted.nix +++ b/nixos/tests/networking/networkd-and-scripted.nix @@ -132,6 +132,10 @@ let client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q '192.168.2'") client.wait_until_succeeds("ip addr show dev enp2s0 | grep -q 'fd00:1234:5678:2:'") + with subtest("Wait until we have received the nameservers"): + client.wait_until_succeeds("grep -q 2001:db8::1 /etc/resolv.conf") + client.wait_until_succeeds("grep -q 192.168.2.1 /etc/resolv.conf") + with subtest("Test vlan 1"): client.wait_until_succeeds("ping -c 1 192.168.1.1") client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1") diff --git a/nixos/tests/networking/networkmanager.nix b/nixos/tests/networking/networkmanager.nix index bd989408df8a1..70d28fe96380b 100644 --- a/nixos/tests/networking/networkmanager.nix +++ b/nixos/tests/networking/networkmanager.nix @@ -121,6 +121,7 @@ let static.wait_for_unit("NetworkManager.service") dynamic.wait_until_succeeds("cat /etc/resolv.conf | grep -q '192.168.1.1'") + dynamic.wait_until_succeeds("cat /etc/resolv.conf | grep -q '2001:db8::1'") static.wait_until_succeeds("cat /etc/resolv.conf | grep -q '10.10.10.10'") static.wait_until_fails("cat /etc/resolv.conf | grep -q '192.168.1.1'") ''; diff --git a/nixos/tests/networking/router.nix b/nixos/tests/networking/router.nix index e0ad7fa01591a..fab21c9e78624 100644 --- a/nixos/tests/networking/router.nix +++ b/nixos/tests/networking/router.nix @@ -72,6 +72,7 @@ AdvSendAdvert on; AdvManagedFlag on; AdvOtherConfigFlag on; + RDNSS 2001:db8::1 {}; prefix fd00:1234:5678:${toString n}::/64 { AdvAutonomous off; From b447fd58c7921b4c331760c6eebfad8d8188a19c Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 25 Dec 2023 01:09:29 +0100 Subject: [PATCH 261/491] nixos/dhcpcd: harden and run as unprivileged user --- nixos/modules/services/networking/dhcpcd.nix | 52 ++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 502289d8820a5..572801876eab3 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -10,6 +10,8 @@ let enableDHCP = config.networking.dhcpcd.enable && (config.networking.useDHCP || lib.any (i: i.useDHCP == true) interfaces); + useResolvConf = config.networking.resolvconf.enable; + # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. ignoredInterfaces = @@ -162,6 +164,19 @@ in description = '' Shell code that will be run after all other hooks. See `man dhcpcd-run-hooks` for details on what is possible. + + ::: {.note} + To use sudo or similar tools in your script you may have to set: + + systemd.services.dhcpcd.serviceConfig.NoNewPrivileges = false; + + In addition, as most of the filesystem is inaccessible to dhcpcd + by default, you may want to define some exceptions, e.g. + + systemd.services.dhcpcd.serviceConfig.ReadOnlyPaths = [ + "/run/user/1000/bus" # to send desktop notifications + ]; + ::: ''; }; @@ -212,13 +227,50 @@ in serviceConfig = { Type = "forking"; PIDFile = "/run/dhcpcd/pid"; + SupplementaryGroups = lib.optional useResolvConf "resolvconf"; + User = "dhcpcd"; + Group = "dhcpcd"; + StateDirectory = "dhcpcd"; RuntimeDirectory = "dhcpcd"; ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet ${lib.optionalString cfg.persistent "--persistent"} --config ${dhcpcdConf}"; ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind"; Restart = "always"; + AmbientCapabilities = [ "CAP_NET_ADMIN" "CAP_NET_RAW" "CAP_NET_BIND_SERVICE" ]; + ReadWritePaths = [ "/proc/sys/net/ipv6" ] + ++ lib.optionals useResolvConf [ "/etc/resolv.conf" "/run/resolvconf" ]; + DeviceAllow = ""; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = lib.mkDefault true; # may be disabled for sudo in runHook + PrivateDevices = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = false; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = "tmpfs"; # allow exceptions to be added to ReadOnlyPaths, etc. + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" "AF_PACKET" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallFilter = [ + "@system-service" + "~@aio" "~@chown" "~@keyring" "~@memlock" + ]; + SystemCallArchitectures = "native"; }; }; + # Note: the service could run with `DynamicUser`, however that makes + # impossible (for no good reason, see systemd issue #20495) to disable + # `NoNewPrivileges` or `ProtectHome`, which users may want to in order + # to run certain scripts in `networking.dhcpcd.runHook`. users.users.dhcpcd = { isSystemUser = true; group = "dhcpcd"; From 234b7541be87635c14c358c7a254633f5d9e3af4 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 25 Dec 2023 01:07:24 +0100 Subject: [PATCH 262/491] dhcpcd: move database to /var/lib --- nixos/modules/services/networking/dhcpcd.nix | 12 ++++++++++++ pkgs/tools/networking/dhcpcd/default.nix | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 572801876eab3..39c8930eea133 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -232,6 +232,18 @@ in Group = "dhcpcd"; StateDirectory = "dhcpcd"; RuntimeDirectory = "dhcpcd"; + + ExecStartPre = "+${pkgs.writeShellScript "migrate-dhcpcd" '' + # migrate from old database directory + if test -f /var/db/dhcpcd/duid; then + echo 'migrating DHCP leases from /var/db/dhcpcd to /var/lib/dhcpcd ...' + mv /var/db/dhcpcd/* -t /var/lib/dhcpcd + chown dhcpcd:dhcpcd /var/lib/dhcpcd/* + rmdir /var/db/dhcpcd || true + echo done + fi + ''}"; + ExecStart = "@${dhcpcd}/sbin/dhcpcd dhcpcd --quiet ${lib.optionalString cfg.persistent "--persistent"} --config ${dhcpcdConf}"; ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind"; Restart = "always"; diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 368319195df2c..324ac174513b0 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -38,11 +38,12 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" "--localstatedir=/var" "--disable-privsep" + "--dbdir=/var/lib/dhcpcd" ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; - # Hack to make installation succeed. dhcpcd will still use /var/db + # Hack to make installation succeed. dhcpcd will still use /var/lib # at runtime. installFlags = [ "DBDIR=$(TMPDIR)/db" "SYSCONFDIR=${placeholder "out"}/etc" ]; From 67700c521eb7f65b734e70e5509056f46973b92d Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 26 Dec 2023 10:52:34 +0100 Subject: [PATCH 263/491] nixos/release-notes: mention dhcpcd changes --- nixos/doc/manual/release-notes/rl-2411.section.md | 5 +++++ 1 file 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 82cadca537f04..5d82fd196a60d 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -189,6 +189,11 @@ - The nvidia driver no longer defaults to the proprietary driver starting with version 560. You will need to manually set `hardware.nvidia.open` to select the proprietary or open driver. +- The dhcpcd service (`networking.useDHCP`) has been hardened and now runs exclusively as the "dhcpcd" user. + Users that were relying on the root privileges in `networking.dhcpcd.runHook` will have to write specific [sudo](security.sudo.extraRules) or [polkit](security.polkit.extraConfig) rules to allow dhcpcd to perform privileged actions. + + As part of these changes, the DHCP lease files directory has also been moved from `/var/db/dhcpcd` to `/var/lib/dhcpcd`. This migration is performed automatically, but users may have to update their backup configuration. + - `singularity-tools` have the `storeDir` argument removed from its override interface and use `builtins.storeDir` instead. - Two build helpers in `singularity-tools`, i.e., `mkLayer` and `shellScript`, are deprecated, as they are no longer involved in image-building. Maintainers will remove them in future releases. From 5012040459a636fa1613edd7c49a000e578b3efb Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 16 Sep 2024 07:14:39 +0100 Subject: [PATCH 264/491] orc: 0.4.39 -> 0.4.40 Changes: https://discourse.gstreamer.org/t/orc-0-4-40-release/2386 --- pkgs/development/compilers/orc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix index 18b99d5ba69a9..9dc5ba0e6dd43 100644 --- a/pkgs/development/compilers/orc/default.nix +++ b/pkgs/development/compilers/orc/default.nix @@ -18,11 +18,11 @@ inherit (lib) optional optionals; in stdenv.mkDerivation rec { pname = "orc"; - version = "0.4.39"; + version = "0.4.40"; src = fetchurl { url = "https://gstreamer.freedesktop.org/src/orc/${pname}-${version}.tar.xz"; - sha256 = "sha256-M+0jh/Sbgl+hucOwBy4F8lkUG4lUdK0IWuURQ9MEDMA="; + hash = "sha256-P8K+5437fEH9lgUGH8aRONt98Afq4vZpofVui6zvdKs="; }; postPatch = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) '' From 38f10f915a4bed4dd392d4fe411106e5842f4013 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Thu, 22 Aug 2024 11:59:03 +0200 Subject: [PATCH 265/491] openssl: switch to new download URL scheme (Github releases) OpenSSL used to provide their software downloads on openssl.org. Now they use links to Github releases. OpenSSL 1.1.1w is also available at Github, but with a small difference in the URL scheme. Signed-off-by: Markus Theil --- pkgs/development/libraries/openssl/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 0f1749b2389bd..c9051bd23eb0a 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -25,7 +25,13 @@ let inherit version; src = fetchurl { - url = "https://www.openssl.org/source/openssl-${version}.tar.gz"; + url = if lib.versionOlder version "3.0" then + let + versionFixed = builtins.replaceStrings ["."] ["_"] version; + in + "https://github.com/openssl/openssl/releases/download/OpenSSL_${versionFixed}/openssl-${version}.tar.gz" + else + "https://github.com/openssl/openssl/releases/download/openssl-${version}/openssl-${version}.tar.gz"; inherit hash; }; From 7932bf565673e9192a18dcc4f23ad1c69644e437 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Thu, 22 Aug 2024 12:00:16 +0200 Subject: [PATCH 266/491] openssl: set default to openssl_3_3 OpenSSL releases different versions in parallel (currently active are 3.0.x, 3.1.x, 3.2.x, 3.3.x). IMHO We should try to stay on the most recent release line, as probably not all security relevant fixes are identified as such upstream and get backported. Signed-off-by: Markus Theil --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c04d093c616a3..8fe90d0d8c5f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22889,7 +22889,7 @@ with pkgs; inherit (darwin.apple_sdk_11_0.frameworks) Security; }; - openssl = openssl_3; + openssl = openssl_3_3; openssl_legacy = openssl.override { conf = ../development/libraries/openssl/3.0/legacy.cnf; From 64ab30598cd4ad0dc54f56dcc6d40ff4c5929e1a Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 4 Sep 2024 21:48:51 +0200 Subject: [PATCH 267/491] openssl_3_3: 3.3.1 -> 3.3.2 Contains two CVE fixes. * Fixed possible denial of service in X.509 name checks. (CVE-2024-6119) * Fixed possible buffer overread in SSL_select_next_proto(). (CVE-2024-5535) Changelog: https://github.com/openssl/openssl/blob/openssl-3.3/CHANGES.md#changes-between-331-and-332-3-sep-2024 Signed-off-by: Markus Theil --- .../libraries/openssl/3.3/CVE-2024-5535.patch | 108 ------------------ .../development/libraries/openssl/default.nix | 6 +- 2 files changed, 2 insertions(+), 112 deletions(-) delete mode 100644 pkgs/development/libraries/openssl/3.3/CVE-2024-5535.patch diff --git a/pkgs/development/libraries/openssl/3.3/CVE-2024-5535.patch b/pkgs/development/libraries/openssl/3.3/CVE-2024-5535.patch deleted file mode 100644 index 2d0f822b25eea..0000000000000 --- a/pkgs/development/libraries/openssl/3.3/CVE-2024-5535.patch +++ /dev/null @@ -1,108 +0,0 @@ -From e86ac436f0bd54d4517745483e2315650fae7b2c Mon Sep 17 00:00:00 2001 -From: Matt Caswell -Date: Fri, 31 May 2024 11:14:33 +0100 -Subject: [PATCH] Fix SSL_select_next_proto - -Ensure that the provided client list is non-NULL and starts with a valid -entry. When called from the ALPN callback the client list should already -have been validated by OpenSSL so this should not cause a problem. When -called from the NPN callback the client list is locally configured and -will not have already been validated. Therefore SSL_select_next_proto -should not assume that it is correctly formatted. - -We implement stricter checking of the client protocol list. We also do the -same for the server list while we are about it. - -CVE-2024-5535 - -Reviewed-by: Tomas Mraz -Reviewed-by: Neil Horman -(Merged from https://github.com/openssl/openssl/pull/24716) - -(cherry picked from commit 2ebbe2d7ca8551c4cb5fbb391ab9af411708090e) ---- - ssl/ssl_lib.c | 63 ++++++++++++++++++++++++++++++++------------------- - 1 file changed, 40 insertions(+), 23 deletions(-) - -diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c -index 5ec6ac4b63dc5..4c20ac4bf1fe7 100644 ---- a/ssl/ssl_lib.c -+++ b/ssl/ssl_lib.c -@@ -3530,37 +3530,54 @@ int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, - unsigned int server_len, - const unsigned char *client, unsigned int client_len) - { -- unsigned int i, j; -- const unsigned char *result; -- int status = OPENSSL_NPN_UNSUPPORTED; -+ PACKET cpkt, csubpkt, spkt, ssubpkt; -+ -+ if (!PACKET_buf_init(&cpkt, client, client_len) -+ || !PACKET_get_length_prefixed_1(&cpkt, &csubpkt) -+ || PACKET_remaining(&csubpkt) == 0) { -+ *out = NULL; -+ *outlen = 0; -+ return OPENSSL_NPN_NO_OVERLAP; -+ } -+ -+ /* -+ * Set the default opportunistic protocol. Will be overwritten if we find -+ * a match. -+ */ -+ *out = (unsigned char *)PACKET_data(&csubpkt); -+ *outlen = (unsigned char)PACKET_remaining(&csubpkt); - - /* - * For each protocol in server preference order, see if we support it. - */ -- for (i = 0; i < server_len;) { -- for (j = 0; j < client_len;) { -- if (server[i] == client[j] && -- memcmp(&server[i + 1], &client[j + 1], server[i]) == 0) { -- /* We found a match */ -- result = &server[i]; -- status = OPENSSL_NPN_NEGOTIATED; -- goto found; -+ if (PACKET_buf_init(&spkt, server, server_len)) { -+ while (PACKET_get_length_prefixed_1(&spkt, &ssubpkt)) { -+ if (PACKET_remaining(&ssubpkt) == 0) -+ continue; /* Invalid - ignore it */ -+ if (PACKET_buf_init(&cpkt, client, client_len)) { -+ while (PACKET_get_length_prefixed_1(&cpkt, &csubpkt)) { -+ if (PACKET_equal(&csubpkt, PACKET_data(&ssubpkt), -+ PACKET_remaining(&ssubpkt))) { -+ /* We found a match */ -+ *out = (unsigned char *)PACKET_data(&ssubpkt); -+ *outlen = (unsigned char)PACKET_remaining(&ssubpkt); -+ return OPENSSL_NPN_NEGOTIATED; -+ } -+ } -+ /* Ignore spurious trailing bytes in the client list */ -+ } else { -+ /* This should never happen */ -+ return OPENSSL_NPN_NO_OVERLAP; - } -- j += client[j]; -- j++; - } -- i += server[i]; -- i++; -+ /* Ignore spurious trailing bytes in the server list */ - } - -- /* There's no overlap between our protocols and the server's list. */ -- result = client; -- status = OPENSSL_NPN_NO_OVERLAP; -- -- found: -- *out = (unsigned char *)result + 1; -- *outlen = result[0]; -- return status; -+ /* -+ * There's no overlap between our protocols and the server's list. We use -+ * the default opportunistic protocol selected earlier -+ */ -+ return OPENSSL_NPN_NO_OVERLAP; - } - - #ifndef OPENSSL_NO_NEXTPROTONEG diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index c9051bd23eb0a..0975b81496539 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -336,8 +336,8 @@ in { }; openssl_3_3 = common { - version = "3.3.1"; - hash = "sha256-d3zVlihMiDN1oqehG/XSeG/FQTJV76sgxQ1v/m0CC34="; + version = "3.3.2"; + hash = "sha256-LopAsBl5r+i+C7+z3l3BxnCf7bRtbInBDaEUq1/D0oE="; patches = [ ./3.0/nix-ssl-cert-file.patch @@ -346,8 +346,6 @@ in { # This patch disables build-time detection. ./3.0/openssl-disable-kernel-detection.patch - ./3.3/CVE-2024-5535.patch - (if stdenv.hostPlatform.isDarwin then ./3.2/use-etc-ssl-certs-darwin.patch else ./3.2/use-etc-ssl-certs.patch) From 6fef5775cc1b70729e1526086c72c8fbaf584002 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 4 Sep 2024 21:49:17 +0200 Subject: [PATCH 268/491] openssl_3: 3.0.14 -> 3.0.15 Contains two CVE fixes. * Fixed possible denial of service in X.509 name checks. (CVE-2024-6119) * Fixed possible buffer overread in SSL_select_next_proto(). (CVE-2024-5535) Changelog: https://github.com/openssl/openssl/blob/openssl-3.0/CHANGES.md#changes-between-3014-and-3015-3-sep-2024 Signed-off-by: Markus Theil --- pkgs/development/libraries/openssl/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 0975b81496539..9bf58ff4889ff 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -286,8 +286,8 @@ in { }; openssl_3 = common { - version = "3.0.14"; - hash = "sha256-7soDXU3U6E/CWEbZUtpil0hK+gZQpvhMaC453zpBI8o="; + version = "3.0.15"; + hash = "sha256-I8Zm0O3yDxQkmz2PA2isrumrWFsJ4d6CEHxm4fPslTM="; patches = [ ./3.0/nix-ssl-cert-file.patch @@ -296,8 +296,6 @@ in { # This patch disables build-time detection. ./3.0/openssl-disable-kernel-detection.patch - ./3.3/CVE-2024-5535.patch - (if stdenv.hostPlatform.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch) From 2cd1c935bbf5542d1be812be0ae9d3d1a36eb5ab Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 4 Sep 2024 21:49:53 +0200 Subject: [PATCH 269/491] openssl_3_2: 3.2.2 -> 3.2.3 Contains two CVE fixes. * Fixed possible denial of service in X.509 name checks. (CVE-2024-6119) * Fixed possible buffer overread in SSL_select_next_proto(). (CVE-2024-5535) Changelog: https://github.com/openssl/openssl/blob/openssl-3.2/CHANGES.md#changes-between-322-and-323-3-sep-2024 Signed-off-by: Markus Theil --- pkgs/development/libraries/openssl/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 9bf58ff4889ff..0313841dce302 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -309,8 +309,8 @@ in { }; openssl_3_2 = common { - version = "3.2.2"; - hash = "sha256-GXFJwY2enyksQ/BACsq6EuX1LKz+BQ89GZJ36nOOwuc="; + version = "3.2.3"; + hash = "sha256-UrXxxrgCK8WGjDCMVPt3cF5wLWxvRZT5mg3yFqz0Yjk="; patches = [ ./3.0/nix-ssl-cert-file.patch @@ -319,8 +319,6 @@ in { # This patch disables build-time detection. ./3.0/openssl-disable-kernel-detection.patch - ./3.3/CVE-2024-5535.patch - (if stdenv.hostPlatform.isDarwin then ./3.2/use-etc-ssl-certs-darwin.patch else ./3.2/use-etc-ssl-certs.patch) From 7eb51a716e4d1f29287db5e49d6fb79da28f5847 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 4 Sep 2024 22:37:27 +0200 Subject: [PATCH 270/491] ibm-sw-tpm2: 1682 -> 1682-unstable-2024-08-02 In order to fix build with more recent OpenSSL versions (3.2.x+) use new Github upstream URL, which is more recent than the sourceforge release. Only a tag and no release is made, so use the unstable versioning scheme. Signed-off-by: Markus Theil --- pkgs/tools/security/ibm-sw-tpm2/default.nix | 27 ++++++--------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/pkgs/tools/security/ibm-sw-tpm2/default.nix b/pkgs/tools/security/ibm-sw-tpm2/default.nix index 76123a7c893fb..8030b5ba15650 100644 --- a/pkgs/tools/security/ibm-sw-tpm2/default.nix +++ b/pkgs/tools/security/ibm-sw-tpm2/default.nix @@ -1,7 +1,6 @@ { lib , stdenv -, fetchurl -, fetchpatch +, fetchFromGitHub , openssl }: let @@ -12,28 +11,18 @@ let in stdenv.mkDerivation rec { pname = "ibm-sw-tpm2"; - version = "1682"; + version = "1682-unstable-2024-08-02"; - src = fetchurl { - url = "mirror://sourceforge/ibmswtpm2/ibmtpm${version}.tar.gz"; - hash = "sha256-PLZC+HGheyPVCwRuX5X0ScIodBX8HnrrS9u4kg28s48="; + src = fetchFromGitHub { + owner = "kgoldman"; + repo = "ibmswtpm2"; + rev = "rev183-2024-08-02"; + hash = "sha256-D2GAkiePBow2iixYMOOeJrnh5hk2lO07dV++lK4X8qE="; }; - patches = [ - # Backport openssl-3.1 from development branch. - # Can be removed with next release. - (fetchpatch { - name = "openssl-3.1.patch"; - url = "https://github.com/kgoldman/ibmswtpm2/commit/15501bf4973d334ca9420fa2fb0f0fe1800871e0.patch"; - includes = [ "TpmToOsslMath.h" ]; - stripLen = 1; - hash = "sha256-8TwyZVy8pQwq5Fl8cy9xJWtdckwL+QK0+DL5EHDLYUY="; - }) - ]; - buildInputs = [ openssl ]; - sourceRoot = "src"; + sourceRoot = "${src.name}/src"; inherit makefile; From 7ceece975d6ac4115f2c6a915a6ac8ccd11d9070 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 4 Sep 2024 23:58:25 +0200 Subject: [PATCH 271/491] tpm2-tss: test with better maintained swtpm Switch tpm2-tss to swtpm, which is more widely used than the IBM one. tpm2-tss contains tests for both TPM 2.0 emulators. This fixes a failing test, with the updated IBM sw tpm version. Signed-off-by: Markus Theil --- pkgs/development/libraries/tpm2-tss/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/tpm2-tss/default.nix b/pkgs/development/libraries/tpm2-tss/default.nix index 6d3a29c28ba79..e0962119da5b6 100644 --- a/pkgs/development/libraries/tpm2-tss/default.nix +++ b/pkgs/development/libraries/tpm2-tss/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchFromGitHub , autoreconfHook, autoconf-archive, pkg-config, doxygen, perl , openssl, json_c, curl, libgcrypt -, cmocka, uthash, ibm-sw-tpm2, iproute2, procps, which +, cmocka, uthash, swtpm, iproute2, procps, which , libuuid }: let @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { ++ lib.optional doInstallCheck cmocka; nativeInstallCheckInputs = [ - cmocka which openssl procps_pkg iproute2 ibm-sw-tpm2 + cmocka which openssl procps_pkg iproute2 swtpm ]; strictDeps = true; From 5b19e716f3751c4cbd783416c443cb05e7c0269a Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Sat, 7 Sep 2024 10:57:46 +0200 Subject: [PATCH 272/491] mention new OpenSSL default version in release notes The new OpenSSL default 3.3.x increased the default security level, mention this in release notes. Signed-off-by: Markus Theil --- nixos/doc/manual/release-notes/rl-2411.section.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 82cadca537f04..d46f2ba112f62 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -447,6 +447,8 @@ and FFmpeg 4 especially should be avoided in favour of newer versions as it may be removed soon. +- `openssl` now defaults to the latest version line `3.3.x`, instead of `3.0.x` before. While there should be no major code incompatibilities, newer OpenSSL versions typically strengthen the default security level. This means that you may have to explicitly allow weak ciphers, hashes and key lengths if necessary. See: [OpenSSL security level documentation](https://docs.openssl.org/3.3/man3/SSL_CTX_set_security_level/). + ## Other Notable Changes {#sec-release-24.11-notable-changes} From b8581496dfb668d839e879c8e17393d44b726887 Mon Sep 17 00:00:00 2001 From: Reinis Taukulis Date: Mon, 16 Sep 2024 11:37:19 +0300 Subject: [PATCH 273/491] neovimRequireCheckHook: Fix dependency list Only the first space in $dependencies was subsituted. https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion > ${parameter/pattern/string} > ${parameter//pattern/string} > ${parameter/#pattern/string} > ${parameter/%pattern/string} > ... > In the first form above, only the first match is replaced. If > there are two slashes separating parameter and pattern (the second form > above), all matches of pattern are replaced with string. --- .../editors/vim/plugins/neovim-require-check-hook.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh index e901e4fd27742..c207a58e4f496 100644 --- a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh +++ b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh @@ -10,7 +10,7 @@ neovimRequireCheckHook () { # editorconfig-checker-disable export HOME="$TMPDIR" @nvimBinary@ -es --headless -n -u NONE -i NONE --clean -V1 \ - --cmd "set rtp+=$out,${dependencies/ /,}" \ + --cmd "set rtp+=$out,${dependencies// /,}" \ --cmd "lua require('$nvimRequireCheck')" fi } From 259cc0548e5386ebb2da139d6f461ededd53b070 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 10:14:53 +0200 Subject: [PATCH 274/491] iproute2: fix building for musl with GCC 14 --- pkgs/os-specific/linux/iproute/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 57adaf06438ba..44ccd7b07a4f7 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -13,6 +13,19 @@ stdenv.mkDerivation rec { hash = "sha256-kaYvgnN7RJBaAPqAM2nER9VJ6RTpoqQBj911sdVOjc4="; }; + patches = [ + (fetchurl { + name = "musl-endian.patch"; + url = "https://lore.kernel.org/netdev/20240712191209.31324-1-contact@hacktivis.me/raw"; + hash = "sha256-MX+P+PSEh6XlhoWgzZEBlOV9aXhJNd20Gi0fJCcSZ5E="; + }) + (fetchurl { + name = "musl-msghdr.patch"; + url = "https://lore.kernel.org/netdev/20240712191209.31324-2-contact@hacktivis.me/raw"; + hash = "sha256-X5BYSZBxcvdjtX1069a1GfcpdoVd0loSAe4xTpbCipA="; + }) + ]; + postPatch = '' substituteInPlace Makefile \ --replace "CC := gcc" "CC ?= $CC" From 98d8c29972cfa69ab4c095af6b2634ea2bc629b8 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 22:29:22 +0200 Subject: [PATCH 275/491] iproute2: apply patch for musl 1.2.5 --- pkgs/os-specific/linux/iproute/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 44ccd7b07a4f7..9420d374646e1 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { url = "https://lore.kernel.org/netdev/20240712191209.31324-2-contact@hacktivis.me/raw"; hash = "sha256-X5BYSZBxcvdjtX1069a1GfcpdoVd0loSAe4xTpbCipA="; }) + (fetchurl { + name = "musl-basename.patch"; + url = "https://lore.kernel.org/netdev/20240804161054.942439-1-dilfridge@gentoo.org/raw"; + hash = "sha256-47obv6mIn/HO47lt47slpTAFDxiQ3U/voHKzIiIGCTM="; + }) ]; postPatch = '' From 8f1e2b148f8fcce2f7dd1a5cd0a8dfbdef3e1572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 16 Sep 2024 16:06:12 +0200 Subject: [PATCH 276/491] icu: set pname+version To allow other packages to access version just like pkgs.icu.version --- pkgs/development/libraries/icu/make-icu.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/icu/make-icu.nix b/pkgs/development/libraries/icu/make-icu.nix index 575f184c163fb..82ecefa6ab630 100644 --- a/pkgs/development/libraries/icu/make-icu.nix +++ b/pkgs/development/libraries/icu/make-icu.nix @@ -59,7 +59,7 @@ let }; realAttrs = baseAttrs // { - name = pname + "-" + version; + inherit pname version; outputs = [ "out" "dev" ] ++ lib.optional withStatic "static"; outputBin = "dev"; @@ -93,7 +93,8 @@ let }; buildRootOnlyAttrs = baseAttrs // { - name = pname + "-build-root-" + version; + pname = pname + "-build-root"; + inherit version; preConfigure = baseAttrs.preConfigure + '' mkdir build From 4a16af92feaed55170b20daff45e369c78237b66 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 16 Sep 2024 01:52:35 +0200 Subject: [PATCH 277/491] xorg.libXpm: provide gzip path for cross According to the manual, libXpm "deals with compressed files by forking an uncompress or gzip process" and "writes to a piped compress or gzip process". Before this commit a path to the host version of `uncompress` is provided, but the build picks up the build version of `gzip`, so the build doesn't fail, but it uses the wrong `gzip`. This commit adds the correct paths. --- pkgs/servers/x11/xorg/overrides.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index b3eb0e74dc68e..b4610bfbdcf64 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -1,6 +1,6 @@ { callPackage, lib, stdenv, makeWrapper, fetchurl, fetchpatch, fetchFromGitLab, buildPackages, - automake, autoconf, libiconv, libtool, intltool, gettext, python3, perl, + automake, autoconf, libiconv, libtool, intltool, gettext, gzip, python3, perl, freetype, tradcpp, fontconfig, meson, ninja, ed, fontforge, libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm, netbsd, ncompress, updateAutotoolsGnuConfigScriptsHook, @@ -397,6 +397,8 @@ self: super: outputs = [ "bin" "dev" "out" ]; # tiny man in $bin patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in"; XPM_PATH_COMPRESS = lib.makeBinPath [ ncompress ]; + XPM_PATH_GZIP = lib.makeBinPath [ gzip ]; + XPM_PATH_UNCOMPRESS = lib.makeBinPath [ gzip ]; meta = attrs.meta // { mainProgram = "sxpm"; }; }); From 248579e4c73e489fd25af408d098942a26bb6cd2 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 16 Sep 2024 17:20:30 +0200 Subject: [PATCH 278/491] python3Packages.twisted: backport Python 3.12.6 fix --- pkgs/development/python-modules/twisted/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix index ffeee44aa8c79..748ff458d7738 100644 --- a/pkgs/development/python-modules/twisted/default.nix +++ b/pkgs/development/python-modules/twisted/default.nix @@ -73,6 +73,13 @@ buildPythonPackage rec { url = "https://github.com/mweinelt/twisted/commit/e69e652de671aac0abf5c7e6c662fc5172758c5a.patch"; hash = "sha256-LmvKUTViZoY/TPBmSlx4S9FbJNZfB5cxzn/YcciDmoI="; }) + + (fetchpatch { + name = "python-3.12.6.patch"; + url = "https://github.com/twisted/twisted/commit/3422f7988e3d42e6e5184acd65f103fd28750648.patch"; + excludes = [ ".github/workflows/test.yaml" ]; + hash = "sha256-/UmrHdWaApytkEDZiISjPGzpWv/Yxe/xjvr9GOjMPmQ="; + }) ]; __darwinAllowLocalNetworking = true; From 3052d8e23003c1bb16e5b875ba952079ac34bf54 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 16 Sep 2024 13:55:32 +0200 Subject: [PATCH 279/491] bluez: add patch for musl 1.2.5 --- pkgs/by-name/bl/bluez/package.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/bl/bluez/package.nix b/pkgs/by-name/bl/bluez/package.nix index 1345ecc5e27af..bd9a612416daf 100644 --- a/pkgs/by-name/bl/bluez/package.nix +++ b/pkgs/by-name/bl/bluez/package.nix @@ -31,9 +31,17 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-gw/tGRXF03W43g9eb0X83qDcxf9f+z0x227Q8A1zxeM="; }; - # Disable one failing test with musl libc, also seen by alpine - # https://github.com/bluez/bluez/issues/726 - patches = lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) + patches = [ + # Upstream fix is wrong: + # https://github.com/bluez/bluez/issues/843#issuecomment-2352696535 + (fetchurl { + name = "basename.patch"; + url = "https://github.com/void-linux/void-packages/raw/187b45d47d93b6857a95cae10c2132d76e4955fc/srcpkgs/bluez/patches/basename.patch"; + hash = "sha256-Jb4u7rxIShDp1yUgaQVDJo2HJfZBzRoVlcDEWxooFgk="; + }) + ] ++ lib.optional (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isx86_64) + # Disable one failing test with musl libc, also seen by alpine + # https://github.com/bluez/bluez/issues/726 (fetchurl { url = "https://git.alpinelinux.org/aports/plain/main/bluez/disable_aics_unit_testcases.patch?id=8e96f7faf01a45f0ad8449c1cd825db63a8dfd48"; hash = "sha256-1PJkipqBO3qxxOqRFQKfpWlne1kzTCgtnTFYI1cFQt4="; From b45e06c521df4e665bc90ef385aacf3c8ceced0b Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 6 Sep 2024 17:06:06 +0100 Subject: [PATCH 280/491] gst_all_1.*: build with the macOS 12.3 SDK Thanks to , this now works, and we no longer need to vendor the patch. --- .../gstreamer/bad/darwin-old-sdk-fix.patch | 49 ------------------- .../libraries/gstreamer/bad/default.nix | 5 -- .../libraries/gstreamer/core/default.nix | 2 + .../libraries/gstreamer/default.nix | 8 ++- pkgs/top-level/all-packages.nix | 6 ++- 5 files changed, 12 insertions(+), 58 deletions(-) delete mode 100644 pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch diff --git a/pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch b/pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch deleted file mode 100644 index b525eaa7d55b8..0000000000000 --- a/pkgs/development/libraries/gstreamer/bad/darwin-old-sdk-fix.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 816f2ccad16413a4961a0001fc02d8874d4fde47 Mon Sep 17 00:00:00 2001 -From: Alessandro Bono -Date: Wed, 10 Jul 2024 15:33:34 +0200 -Subject: [PATCH] vtdec: Use kVTVideoDecoderReferenceMissingErr only when - defined - -The enum value is declared present since macOS 10.8+[1]. Howerver, -the compilation now fails with the 10.15 SDK: -``` -../sys/applemedia/vtdec.c:1219:12: error: use of undeclared identifier 'kVTVideoDecoderReferenceMissingErr'; did you mean 'kVTVideoDecoderMalfunctionErr'? - case kVTVideoDecoderReferenceMissingErr: - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - kVTVideoDecoderMalfunctionErr -/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/VideoToolbox.framework/Headers/VTErrors.h:40:2: note: 'kVTVideoDecoderMalfunctionErr' declared here - kVTVideoDecoderMalfunctionErr = -12911, // c.f. -8960 - ^ -1 error generated. -``` - -Put the enum usage under #ifdef. When missing, the behavior will be -the same as before commit a5c437c6430cdce603e46e09400beb4c5b9f5374. - -[1] https://developer.apple.com/documentation/videotoolbox/kvtvideodecoderreferencemissingerr?language=objc ---- - sys/applemedia/vtdec.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c -index 57fcbf9928a5..517c15365b52 100644 ---- a/sys/applemedia/vtdec.c -+++ b/sys/applemedia/vtdec.c -@@ -1216,12 +1216,14 @@ gst_vtdec_session_output_callback (void *decompression_output_ref_con, - - if (status != noErr) { - switch (status) { -+#ifdef kVTVideoDecoderReferenceMissingErr - case kVTVideoDecoderReferenceMissingErr: - /* ReferenceMissingErr is not critical, when it occurs the frame - * usually has the kVTDecodeInfo_FrameDropped flag set. Log only for debugging purposes. */ - GST_DEBUG_OBJECT (vtdec, "ReferenceMissingErr when decoding frame %d", - frame->decode_frame_number); - break; -+#endif - #ifndef HAVE_IOS - case codecBadDataErr: /* SW decoder on macOS uses a different code from the hardware one... */ - #endif --- -GitLab - diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index fff2fdd3cb08f..5935bd440e731 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -129,11 +129,6 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; inherit (addDriverRunpath) driverLink; }) - - # vtdec: Use kVTVideoDecoderReferenceMissingErr only when defined - # - # TODO: Remove this when the build with the newer SDK works. - ./darwin-old-sdk-fix.patch ]; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 868c9dfc6145e..d36a75593dab5 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -15,6 +15,7 @@ , lib , Cocoa , CoreServices +, xpc , testers , rustc , withRust ? @@ -87,6 +88,7 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals stdenv.isDarwin [ Cocoa CoreServices + xpc ]; propagatedBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 4020193e0ae16..cee836e86ac92 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -1,4 +1,5 @@ -{ callPackage +{ stdenv +, callPackage , AVFoundation , AudioToolbox , Cocoa @@ -14,12 +15,15 @@ , Security , SystemConfiguration , VideoToolbox +, xpc , ipu6ep-camera-hal , ipu6epmtl-camera-hal }: { - gstreamer = callPackage ./core { inherit Cocoa CoreServices; }; + inherit stdenv; + + gstreamer = callPackage ./core { inherit Cocoa CoreServices xpc; }; gstreamermm = callPackage ./gstreamermm { }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dbcfd0f855353..9f5c81d8817a2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20346,9 +20346,11 @@ with pkgs; gsettings-qt = libsForQt5.callPackage ../development/libraries/gsettings-qt { }; - gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { + gst_all_1 = recurseIntoAttrs (callPackage ../development/libraries/gstreamer { callPackage = newScope gst_all_1; - inherit (darwin.apple_sdk.frameworks) AudioToolbox AVFoundation Cocoa CoreFoundation CoreMedia CoreServices CoreVideo DiskArbitration Foundation IOKit MediaToolbox OpenGL Security SystemConfiguration VideoToolbox; + stdenv = if stdenv.isDarwin then overrideSDK stdenv "12.3" else stdenv; + inherit (darwin.apple_sdk_12_3.frameworks) AudioToolbox AVFoundation Cocoa CoreFoundation CoreMedia CoreServices CoreVideo DiskArbitration Foundation IOKit MediaToolbox OpenGL Security SystemConfiguration VideoToolbox; + inherit (darwin.apple_sdk_12_3.libs) xpc; }); gusb = callPackage ../development/libraries/gusb { }; From e623501bd1434334c124812557a35ac737105513 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 17 Sep 2024 00:30:32 +0800 Subject: [PATCH 281/491] emacs: add elisp package override helper mkHome Some packages, such as auctex[1], need a writable $HOME when being compiled. [1]: https://hydra.nixos.org/build/271252219/nixlog/1 --- .../emacs/elisp-packages/lib-override-helper.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix b/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix index 74d185641e3d6..fb1f412299f7c 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix @@ -25,4 +25,14 @@ rec { broken = true; }; }); + + mkHome = + pkg: + pkg.overrideAttrs (previousAttrs: { + preInstall = + '' + HOME=$(mktemp -d) + '' + + previousAttrs.preInstall or ""; + }); } From eb709dd1833f55d9b66ea57ac12b1ec6ce318132 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 12 Sep 2024 19:12:46 +0200 Subject: [PATCH 282/491] timescaledb: use replace-fail instead of replace for substituteInPlace To avoid the deprecation warning. --- pkgs/servers/sql/postgresql/ext/timescaledb.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 0e5651085ea1d..5908a531ddf01 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -23,12 +23,12 @@ stdenv.mkDerivation rec { postPatch = '' for x in CMakeLists.txt sql/CMakeLists.txt; do substituteInPlace "$x" \ - --replace 'DESTINATION "''${PG_SHAREDIR}/extension"' "DESTINATION \"$out/share/postgresql/extension\"" + --replace-fail 'DESTINATION "''${PG_SHAREDIR}/extension"' "DESTINATION \"$out/share/postgresql/extension\"" done for x in src/CMakeLists.txt src/loader/CMakeLists.txt tsl/src/CMakeLists.txt; do substituteInPlace "$x" \ - --replace 'DESTINATION ''${PG_PKGLIBDIR}' "DESTINATION \"$out/lib\"" + --replace-fail 'DESTINATION ''${PG_PKGLIBDIR}' "DESTINATION \"$out/lib\"" done ''; From 565a94174fb0eb25f13830e2163bc72dbd7e9251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 17 Sep 2024 16:38:56 +0200 Subject: [PATCH 283/491] Re-Revert #342349: "tree-sitter: 0.22.6 -> 0.23.0" This reverts commit 90ed57bec42e0cf64644ae92aaa0a5a3c8f421cb. Moved from master branch. --- pkgs/development/tools/parsing/tree-sitter/default.nix | 6 +++--- .../tree-sitter/grammars/tree-sitter-beancount.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-clojure.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-cmake.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-cpp.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-css.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-cuda.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-dart.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-earthfile.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-elixir.json | 10 +++++----- .../grammars/tree-sitter-embedded-template.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-fortran.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-glimmer.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-glsl.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-gomod.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-haskell.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-http.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-janet-simple.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-javascript.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-jsdoc.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-json.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-jsonnet.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-julia.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-just.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-kotlin.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-lua.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-make.json | 2 +- .../tree-sitter/grammars/tree-sitter-markdown.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-nickel.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-nix.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-norg.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-nu.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-perl.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-pgn.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-php.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-python.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-ql-dbscheme.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-ql.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-query.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-r.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-regex.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-rego.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-rust.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-scala.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-scheme.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-scss.json | 2 +- .../tree-sitter/grammars/tree-sitter-smithy.json | 2 +- .../tree-sitter/grammars/tree-sitter-sparql.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-sql.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-talon.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-templ.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-tlaplus.json | 10 +++++----- .../tree-sitter/grammars/tree-sitter-turtle.json | 10 +++++----- .../parsing/tree-sitter/grammars/tree-sitter-zig.json | 10 +++++----- pkgs/development/tools/parsing/tree-sitter/update.nix | 6 ++++++ 55 files changed, 262 insertions(+), 256 deletions(-) diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix index ea3386e15d516..28fda605fab65 100644 --- a/pkgs/development/tools/parsing/tree-sitter/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/default.nix @@ -27,8 +27,8 @@ let # 2) nix-build -A tree-sitter.updater.update-all-grammars # 3) Set GITHUB_TOKEN env variable to avoid api rate limit (Use a Personal Access Token from https://github.com/settings/tokens It does not need any permissions) # 4) run the ./result script that is output by that (it updates ./grammars) - version = "0.22.6"; - hash = "sha256-jBCKgDlvXwA7Z4GDBJ+aZc52zC+om30DtsZJuHado1s="; + version = "0.23.0"; + hash = "sha256-QNi2u6/jtiMo1dLYoA8Ev1OvZfa8mXCMibSD70J4vVI="; src = fetchFromGitHub { owner = "tree-sitter"; @@ -111,7 +111,7 @@ rustPlatform.buildRustPackage { pname = "tree-sitter"; inherit src version; - cargoHash = "sha256-44FIO0kPso6NxjLwmggsheILba3r9GEhDld2ddt601g="; + cargoHash = "sha256-H4baEmGsQx+W9EXblt8R1CTYfkgR+dQDAsIwPVsqR68="; buildInputs = lib.optionals stdenv.isDarwin [ Security CoreServices ]; diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-beancount.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-beancount.json index 86ac2bc43009e..73451c3654d43 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-beancount.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-beancount.json @@ -1,10 +1,10 @@ { "url": "https://github.com/polarmutex/tree-sitter-beancount", - "rev": "6c665e7cf15d76a1687959643868a78fb381458d", - "date": "2024-03-09T18:30:23-05:00", - "path": "/nix/store/al4c5f670bl596mlp3vk1njz7w8bhq98-tree-sitter-beancount", - "sha256": "0cwiw69br9y8w5iysdh31i4vlvfgj79zvpkz93y1spyxx6vlylc5", - "hash": "sha256-hVFPt+ndXx38SH/e/dORz226SQwDNu1j4cinvJLhkTM=", + "rev": "321b12d0b02923c36e8cd9768afe6db5ced98e33", + "date": "2024-07-19T21:09:17-04:00", + "path": "/nix/store/v8yv84fm0n134mr5vmwbpr4cpyl71vxz-tree-sitter-beancount", + "sha256": "1milrdb8ka5vkypl0b44xgfdn0haydg2fz7489djcwpjkx7gfrsg", + "hash": "sha256-T2f3Tp/yciZbQuR8J17zCgLb3OuELECvn7uoiVbLNNY=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json index e79396e609fb2..34f5a128ce565 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json @@ -1,10 +1,10 @@ { "url": "https://github.com/sogaiu/tree-sitter-clojure", - "rev": "3a1ace906c151dd631cf6f149b5083f2b60e6a9e", - "date": "2024-05-15T19:51:17+09:00", - "path": "/nix/store/naaja1ijjxpsln6fr62sd4m3sgygb309-tree-sitter-clojure", - "sha256": "1j41ba48sid6blnfzn6s9vsl829qxd86lr6yyrnl95m42x8q5cx4", - "hash": "sha256-pLOCUReklkRt9t5kalDrOAlE9U7a2O8sXaZFjYhagcg=", + "rev": "f4236d4da8aa92bc105d9c118746474c608e6af7", + "date": "2024-05-22T23:05:15+09:00", + "path": "/nix/store/vl1d7aql1bcvn65khrgs13rfk90q08ik-tree-sitter-clojure", + "sha256": "16hnb5d8shz216sv9hj5hxpg63ri86w5pf9bzi5z3f37zh7vlljj", + "hash": "sha256-UlK6D/xnuPFL/Cu5W7hBMQ/zbodFwrS1CeJDjVpZFpo=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json index 89afd7990d8b4..12a4b43780107 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json @@ -1,10 +1,10 @@ { "url": "https://github.com/uyha/tree-sitter-cmake", - "rev": "20ffd6d3b4da1acdbf2d08204b2130a5b2f7c4b3", - "date": "2024-03-19T09:50:27+02:00", - "path": "/nix/store/2fcf8g6rryigpy6grr284qzgmqw1gkd5-tree-sitter-cmake", - "sha256": "16klinbjr9k5piwqvfvl48wmprk9wlypqnmihryy2wj2m2xzlyqa", - "hash": "sha256-Cnv6u6hCcuF9hrFafD3laeZbOSJ0u415vGWmLJeNdJo=", + "rev": "69d7a8b0f7493b0dbb07d54e8fea96c5421e8a71", + "date": "2024-06-20T12:32:15+07:00", + "path": "/nix/store/ldbzx710y8wy6dwca0hh8l4aa3cihbr2-tree-sitter-cmake", + "sha256": "10lj4f0h8bcbyl03rxgfhizj4vn6fz47jw6clfjz0c1ayxzql9av", + "hash": "sha256-WyWKf/cqMPClo8xwech3xm4if4Tu9TwA9YstBIEjkoI=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json index c5a2a628c4dbf..6fc1c58f6646f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-cpp", - "rev": "2369fa991eba294e9238e28280ffcd58132f94bc", - "date": "2024-04-30T23:37:25-04:00", - "path": "/nix/store/6zvwyr1034vawcvw8yra4rcjb6m7shlj-tree-sitter-cpp", - "sha256": "1dbb8w4dyzgp7czqnrdfyjbm6zyyxbxqmfzmrj6kd37vcxldxq5d", - "hash": "sha256-reDeaGf7jDaNzPW7ivvq3n9Tl/SuZYs/O/d93whHa7U=", + "rev": "30f973c2244f0bff444186185f475c3bd76bc3a5", + "date": "2024-09-02T20:54:34-04:00", + "path": "/nix/store/rmnzl3zg6jpqcxlya59xgyvwq53kabk3-tree-sitter-cpp", + "sha256": "0jd6rprbcbc6bd5rppxw21vlg8sv2h8f9bpby45bbb8w3n7ysjmg", + "hash": "sha256-r0rtjx0crbUK8euu5BAUW6NHdxC835tLW4YttvLNpkk=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json index 47cf0bc2a32be..a7c098c78b98c 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-css.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-css", - "rev": "f6be52c3d1cdb1c5e4dd7d8bce0a57497f55d6af", - "date": "2024-05-05T18:14:34-04:00", - "path": "/nix/store/iw66hs4n4wmf9mjaj4zb78diwfkb8y4d-tree-sitter-css", - "sha256": "1mq5yzcj16bv9jphgj0v16fsa9bzf7y204c78mf79ls2rqsanljp", - "hash": "sha256-V1KrNM5C03RcRYcRIPxxfyWlnQkbyAevTHuZINn3Bdc=", + "rev": "a68fcd1e6b03118d1e92ffa45e7ab7a39d52d3f7", + "date": "2024-09-02T04:29:00-04:00", + "path": "/nix/store/46v1b4mfmsgd7sk48n6l613vjcxpl3gg-tree-sitter-css", + "sha256": "1apypprrqn23ghay11w35vz31crpjdby6imjhnxq9cqj9rvhxgx3", + "hash": "sha256-o78Od04Ss4S7hbJG41eTN7Mw/i6Dh+AVfENYnPO9/qo=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json index 54bbe3214f4b5..4b64224bcb865 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cuda.json @@ -1,10 +1,10 @@ { "url": "https://github.com/thehamsta/tree-sitter-cuda", - "rev": "4ec5afdf98041d137c25b555958a1f825c7c1272", - "date": "2024-04-02T22:40:43+02:00", - "path": "/nix/store/2n6dkgdvhfd34qa48b5824qbw1pc7899-tree-sitter-cuda", - "sha256": "1n840xzsx56w3hys263f216ih901jh456yxdmm0i274ijwngn38h", - "hash": "sha256-EA37LJeRHBFBra17UwiUASQYTRBuGKE9HNyUrn8HBNk=", + "rev": "cbce8aedc6fa35313a4cecd206196011a08a85c4", + "date": "2024-08-22T22:57:54+02:00", + "path": "/nix/store/4ygv7b9ap52kb03cv7mihsq86g6vgfpc-tree-sitter-cuda", + "sha256": "12q2zpfll8n72yccxkqjh36cmmpj2fyivkq6fghzbs9kf4mvwy12", + "hash": "sha256-Ini+K3Ez6fXhcwbPHb0T8tbKzIASz86YF8ciSt39Aos=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json index 40f4c4bab4cf6..57b620e57e058 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json @@ -1,10 +1,10 @@ { "url": "https://github.com/usernobody14/tree-sitter-dart", - "rev": "ac0bb849ccd1a923963af47573b5e396736ff582", - "date": "2024-04-28T11:52:00-06:00", - "path": "/nix/store/7sfa8zsg3p14rm0dbgv030s86lk8fv3w-tree-sitter-dart", - "sha256": "0vm0yd2km73cyl2dph5qwb1fbgjjambn9mi4k7jxh495wrmk8hn8", - "hash": "sha256-yEI0a+YlEdjlmSTWZFdVUr7lwuK4wNsE9WycOkXzoG4=", + "rev": "9ac03bb2154316624fb4c41fe0f372a5f1597b43", + "date": "2024-09-01T14:20:26-06:00", + "path": "/nix/store/g3q5dd40gjm0iwf19afz3vz5amvr7dsg-tree-sitter-dart", + "sha256": "0nn7in0qr23vjkyk7ynyaw3rlbisx8vsvwf2yqclshdm72qabd7i", + "hash": "sha256-8bSlsDi1QU0Z9sLxrTfqOi6aB1fe+jP9lHuIjIGNx1o=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-earthfile.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-earthfile.json index 0241aff6a8e0b..2a025287f9539 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-earthfile.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-earthfile.json @@ -1,10 +1,10 @@ { "url": "https://github.com/glehmann/tree-sitter-earthfile", - "rev": "450546b6db9a37a178fd87aeda93a287301e9570", - "date": "2024-05-16T21:54:01+02:00", - "path": "/nix/store/9fsxiz65a2n0kyy7a10q9lqzhhdz1p6x-tree-sitter-earthfile", - "sha256": "0vhj9x7zr102f363l9kpgb58py3n4c3q3fl1c3b2dh5dadks0r6h", - "hash": "sha256-0GSgZ1OtwCbWYIG6gQcjdviLynp3JjrMcAKE/E9PEm4=", + "rev": "1d637f2002bb8b22d4c08d26ad2bfbc22916f3ce", + "date": "2024-09-07T22:41:52+02:00", + "path": "/nix/store/y2sjzjb5naajjzpshv4y1g38cala5sfw-tree-sitter-earthfile", + "sha256": "1kzl8639pm3pxvkh2flmy5azzi7r48a1mirh2iqkvjc55fv30frb", + "hash": "sha256-KzswtiuFyT1xFDDHGhQi+cT/VfGVOgHn7nfUm4ZB9M8=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json index 405fd174824e8..cbd66be8cf2c4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json @@ -1,10 +1,10 @@ { "url": "https://github.com/elixir-lang/tree-sitter-elixir", - "rev": "de690fa8a028f122af46d9d2685679fe5f2d7d60", - "date": "2024-04-08T19:02:42+02:00", - "path": "/nix/store/q46fy2kd4gvab4bpfv3zacg4qgkfc6dz-tree-sitter-elixir", - "sha256": "03fg2qj0i3n1dx8abkngg4nxqwpz86m5nr7q70hp5jw5bxccxxkf", - "hash": "sha256-bvbOWF+Fy3IhOPhkW6pB/3LcLXnPzqVQb8GOCCQWzw0=", + "rev": "ac7b59b312ae5c8cc487d10366e11bda2393e31c", + "date": "2024-09-06T23:39:25+07:00", + "path": "/nix/store/nf8lwh6gamwzqnc7mvjy1mh2khx5ijcf-tree-sitter-elixir", + "sha256": "1kciqsj1z8f5bq46jyqscwqa94hqcdwwclg0v0i4ggn6jyxkwq41", + "hash": "sha256-gWA+u5fGvkci2OBRxnljGJKkMGcae2kIXsWhH6TGkc0=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json index e8722c898174a..dcfb7983536de 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-embedded-template", - "rev": "38d5004a797298dc42c85e7706c5ceac46a3f29f", - "date": "2024-05-05T21:28:26-04:00", - "path": "/nix/store/i2kni0fn6yqgags7l329bbg3n45dc9ww-tree-sitter-embedded-template", - "sha256": "178cvdmlvzq2c29n0x8aganqbx3vz6w9m90gwhk63qxa2rxw5wr0", - "hash": "sha256-IPPCexaq42Em5A+kmrj5e/SFrXoKdWCTYAL/TWvbDJ0=", + "rev": "62b0a6e45900a7dff7c37da95fec20a09968ba52", + "date": "2024-09-02T02:11:42-04:00", + "path": "/nix/store/skq9pzdng2gblx99v9mxw3y90qxzs3q6-tree-sitter-embedded-template", + "sha256": "0sn821pbg3gay9v51i6r3xdwi985chzgn6php2svydy82ab2hiqp", + "hash": "sha256-F0colhLIN7+1uPAa+z5kBaXIWx/ZxFB28uqNt24QyGo=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fortran.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fortran.json index d6cc94339f437..c29e2b152a9be 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fortran.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fortran.json @@ -1,10 +1,10 @@ { "url": "https://github.com/stadelmanma/tree-sitter-fortran", - "rev": "f73d473e3530862dee7cbb38520f28824e7804f6", - "date": "2023-08-30T10:25:35+01:00", - "path": "/nix/store/mkvh0z39lc89c3bgd91asxjwwiwskyp8-tree-sitter-fortran", - "sha256": "1nvxdrzkzs1hz0fki5g7a2h7did66jghaknfakqn92fa20pagl1b", - "hash": "sha256-K9CnLhDKiWTxVM5OBZ80psV2oFDnlTgd+DDoP39ufds=", + "rev": "8f842945abefb76b9a68c0835619b37060b8f098", + "date": "2024-08-27T18:09:38-04:00", + "path": "/nix/store/j9q4x7llgyq4vc2pri7rqxjvl98anggl-tree-sitter-fortran", + "sha256": "1x20nldx2vi113dsy44g1dmayi0cpnm2vlhq9blbycm0cwal0xgf", + "hash": "sha256-7nVAFWegMr/oShjSLaq9DESvaguPEK/bCCFu0Ru1QPQ=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glimmer.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glimmer.json index e221099a39b80..87da016a651e2 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glimmer.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glimmer.json @@ -1,10 +1,10 @@ { "url": "https://github.com/alexlafroscia/tree-sitter-glimmer", - "rev": "3e66b67efeba1a2001859f6e02d16e0bbdbf4a9b", - "date": "2023-10-05T16:33:40-04:00", - "path": "/nix/store/sizww81ylny2pnafn3d901qv15k3rlp2-tree-sitter-glimmer", - "sha256": "0ggxs83jq59z6vk4bvr7scfscmak41lgz038pcwczpm3hwfhasjq", - "hash": "sha256-WGoFHYej3s84u2iA/2ggU1WmHdMn70XmNj8VLAfS/T0=", + "rev": "51970d4bb249d918dbd26289cc4208bee4068004", + "date": "2024-08-20T13:58:19-04:00", + "path": "/nix/store/ff20fkmpcslz5b9883gk7q6nlri8x6qd-tree-sitter-glimmer", + "sha256": "135pf610rb5nppn5k5699z5azxa7zqvx17x6v5nrp7fdwsy0whg2", + "hash": "sha256-4kEOvObNnZtt2aaf0Df+R/Wvyk/JlFnsvbasDIJxt4w=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json index 7faba26b25a20..0d6d9a127406a 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-glsl.json @@ -1,10 +1,10 @@ { "url": "https://github.com/thehamsta/tree-sitter-glsl", - "rev": "8c9fb41836dc202bbbcf0e2369f256055786dedb", - "date": "2024-05-11T23:58:08+02:00", - "path": "/nix/store/knbraa6ipp3gm9b2ja01zlk1i27pswp0-tree-sitter-glsl", - "sha256": "1vpdfpznkh7p47wqya3bqqih2wn1nmyqx4jmyv05v88x5f138hv9", - "hash": "sha256-aUM0gisdoV3A9lWSjn21wXIBI8ZrKI/5IffAaf917e4=", + "rev": "66aec57f7119c7e8e40665b723cd7af5594f15ee", + "date": "2024-09-12T12:52:04+02:00", + "path": "/nix/store/xzxngsr3nhs1586c47iwdx9k20yaansc-tree-sitter-glsl", + "sha256": "0gp3bn31xz5rq52amx059r9sllk3749f1ajmbs1fkjb833f2kvqh", + "hash": "sha256-EO8p3BhoyemCXlWq4BI5Y1KqU04F9KpEwbn8HoZd4z4=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json index 075059a0599d5..4be7f396a7c8b 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json @@ -1,10 +1,10 @@ { "url": "https://github.com/camdencheek/tree-sitter-go-mod", - "rev": "bbe2fe3be4b87e06a613e685250f473d2267f430", - "date": "2024-01-16T04:55:23-07:00", - "path": "/nix/store/xi1fr4l79pnqaa7md7gk4nqvg4ccgyzy-tree-sitter-go-mod", - "sha256": "1clw1wyjxiicdjav5g2b9m9q7vlg5k1iy1fqwmf2yc4fxrfnmyrq", - "hash": "sha256-OPtqXe6OMC9c5dgFH8Msj+6DU01LvLKVbCzGLj0PnLI=", + "rev": "3b01edce2b9ea6766ca19328d1850e456fde3103", + "date": "2024-09-11T15:20:34-06:00", + "path": "/nix/store/waxmvqpiild2qbkqx7kmkc60g08822b3-tree-sitter-go-mod", + "sha256": "1vbg4fn54a7lbwcrvjdx3nrwgw5y925chbbb7sd6kwms1434yyhb", + "hash": "sha256-C3pPBgm68mmaPmstyIpIvvDHsx29yZ0ZX/QoUqwjb+0=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json index ed82da289c311..597e6e0c027d4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-haskell", - "rev": "a50070d5bb5bd5c1281740a6102ecf1f4b0c4f19", - "date": "2024-05-05T18:23:47+02:00", - "path": "/nix/store/knnf5zfxjwnml5cdbp3x6kjkw7q4nhsd-tree-sitter-haskell", - "sha256": "0hi72f7d4y89i6zkzg9r2j16ykxcb4vh4gwaxg9hcqa95wpv9qw6", - "hash": "sha256-huO0Ly9JYQbT64o/AjdZrE9vghQ5vT+/iQl50o4TJ0I=", + "rev": "558b997049fddcb07fc513528189c57d6129a260", + "date": "2024-09-02T05:58:07-04:00", + "path": "/nix/store/gqvq3azd0g60ghzhbqj5ghqb8q8gsvai-tree-sitter-haskell", + "sha256": "1jjknp2l8afggzxrp032998hw66r831069q4vy3i1hn9s4fw5y86", + "hash": "sha256-BvnCHdHJwhCH3wQnA8JA2RgOUUpigJv7f88pRMW1U8o=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-http.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-http.json index 132aca585b140..4d6137d9284d9 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-http.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-http.json @@ -1,10 +1,10 @@ { "url": "https://github.com/ntbbloodbath/tree-sitter-http", - "rev": "b639716df0698940b53de81e6fcefa2b6cd30724", - "date": "2024-03-16T17:35:45-04:00", - "path": "/nix/store/ynn327dwmxxakcbfrpq94b7m6sl5301h-tree-sitter-http", - "sha256": "0l2yzq0j3w20m9vy9z627jgnfylk1d8crldz3n8xmhisaxwl47ia", - "hash": "sha256-Kh5CeVc6wtqRHb/RzFALk3pnnzzC/OR3qkDwIQH+XlA=", + "rev": "b88cd0c7dba0128b8f28fcb25cca13eea0d193b3", + "date": "2024-08-21T01:10:49+09:00", + "path": "/nix/store/l6knlfkxvh3dnmc2asism5qr0xdsfna4-tree-sitter-http", + "sha256": "0k6rkpjjzs3jxgwljya3rjnzz0cpi68bm1xfpar2kf71fydd03m6", + "hash": "sha256-pg7QmnfhuCmyuq6HupCJl4H/rcxDeUn563LoL+Wd2Uw=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json index a68ad7d89d759..7673c1c21f81a 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json @@ -1,10 +1,10 @@ { "url": "https://github.com/sogaiu/tree-sitter-janet-simple", - "rev": "25d0687433ed0ed8e320861c2c625711ce1716f9", - "date": "2024-05-17T12:45:28+09:00", - "path": "/nix/store/ffqfh3ggcszd5lnx4gx5d2wpilsv6qz5-tree-sitter-janet-simple", - "sha256": "0xzqllz8gi2lb44y4hiqxk25p96yl7ysy8r6k1c11sv9gjf65ja4", - "hash": "sha256-RMlinHxp6xBYmCYjr/2h3qRbxOw4QuIJWVTEhz6l+Hc=", + "rev": "12bfab7db8a5f5b1d774ef84b5831acd34936071", + "date": "2024-08-27T15:31:21+09:00", + "path": "/nix/store/v5rcba220xk49qj3ghh9ggdpfqc91snv-tree-sitter-janet-simple", + "sha256": "05df573vih9p8nlqahlijgg66xr6rvzjd0g7n0qhdlzkcwd63p4x", + "hash": "sha256-ndxhGmfz0wYxsOeBJv/OJndj3pORQoWpRTfBuMcprhU=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json index 4e5bb91173ff9..7c9b7ffbb69a8 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-javascript", - "rev": "e88537c2703546f3f0887dd3f16898e1749cdba5", - "date": "2024-05-10T14:09:58-04:00", - "path": "/nix/store/s29hw61sfkgxs4pixpnsjbfqi1w73f06-tree-sitter-javascript", - "sha256": "0ly10ib6f7lj6l4za7pz8xz7pn4cjp7d5c56bf4n538zlgv136py", - "hash": "sha256-/poR9qMfjWKJW6aw0s6VjNh7fkf/HvUJNZIeZ1YEwVM=", + "rev": "b6f0624c1447bc209830b195999b78a56b10a579", + "date": "2024-09-02T05:16:11-04:00", + "path": "/nix/store/q6l4f361yzqcnsl29qhm1dcir75fk0hq-tree-sitter-javascript", + "sha256": "03lyqswy7h9iw2mhjlsa7an3g76hqi074c06pvdjb57h637zisf5", + "hash": "sha256-xen4zzDwlCXbvgYwckDE0Jw3rDpKUwmr4DHB47nGng4=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsdoc.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsdoc.json index d2dce87abbc42..d886cfd7e92c5 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsdoc.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsdoc.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-jsdoc", - "rev": "49fde205b59a1d9792efc21ee0b6d50bbd35ff14", - "date": "2024-05-05T20:47:41-04:00", - "path": "/nix/store/7i5mj175rsgz6gsxji0hbchxw6mvvsjp-tree-sitter-jsdoc", - "sha256": "030r6ksv6v0wnlb8yi22n0blls21cipzvgi4flnjllpm9vrsxxii", - "hash": "sha256-Mfau8071UiotdSS+/W9kQWhKF7BCRI8WtRxss/U0GQw=", + "rev": "bc09606fc786ead131a301e4b7524888f2d5c517", + "date": "2024-09-02T04:15:15-04:00", + "path": "/nix/store/l1jmw9y271rl00y9lhjwscdmidl3mn31-tree-sitter-jsdoc", + "sha256": "080dzr7547vsapxdd7vs4id3m9mfnzqfzjzkssgyb1vpcdmrhl5m", + "hash": "sha256-tVCYa2N3h+Wf1vPL7/C3rqY6WiR6n9b6VXofUk7+DSA=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json index 785c855a23231..9ace481a79224 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-json", - "rev": "94f5c527b2965465956c2000ed6134dd24daf2a7", - "date": "2024-05-06T15:10:02-04:00", - "path": "/nix/store/nl87jvkhqfwshind35dvh204bmjkdv1h-tree-sitter-json", - "sha256": "14za39wy4cw0r6r2m5a1i1za9m2wcyrlmh6yi2zl15b86i3dkbyp", - "hash": "sha256-16/ZRjRolUC/iN7ASrNnXNSkfohBlSqyyYAz4nka6pM=", + "rev": "8bfdb43f47ad805bb1ce093203cfcbaa8ed2c571", + "date": "2024-09-02T05:26:12-04:00", + "path": "/nix/store/qcm8dvbv4d4i989b7c8rc11fnbfh9nr6-tree-sitter-json", + "sha256": "0z9nq267cx0c6dpkq3hm24jcxv37l3lhpwabxpmmpmx2f758yjyc", + "hash": "sha256-zEuPynGi11vr7UvxC+mgZ+zOJBEVDjxvMwx0dozANn0=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsonnet.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsonnet.json index 6a6114aeacb25..518f0c115f18f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsonnet.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-jsonnet.json @@ -1,10 +1,10 @@ { "url": "https://github.com/sourcegraph/tree-sitter-jsonnet", - "rev": "d34615fa12cc1d1cfc1f1f1a80acc9db80ee4596", - "date": "2023-08-15T11:57:41-04:00", - "path": "/nix/store/4hf1f6klnr5wd4p1va1x5v8ndmcc7z7b-tree-sitter-jsonnet", - "sha256": "0vw4k1hxq6dhy3ahh40h06k67h073ryxl7513cn81lb6sfgf6c4f", - "hash": "sha256-jjDjntNm0YAsG6Ec2n0eB8BjpgEQEAjV8LAZ3GGYhG8=", + "rev": "ddd075f1939aed8147b7aa67f042eda3fce22790", + "date": "2024-08-15T10:26:01+02:00", + "path": "/nix/store/l4ypaa5lbid6qk21kb4b4x6vh6ki97rq-tree-sitter-jsonnet", + "sha256": "1bfdjxp0h95d124bzlhlvc9b5q19cdj716aym41nyl6z5a992c9q", + "hash": "sha256-ODGRkirfUG8DqV6ZcGRjKeCyEtsU0r+ICK0kCG6Xza0=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json index aa993c30c3a51..0c49037052cbf 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-julia", - "rev": "acd5ca12cc278df7960629c2429a096c7ac4bbea", - "date": "2024-04-17T13:39:34-05:00", - "path": "/nix/store/3cjbxyngm4mbki1mydjv5q34w16kfhgp-tree-sitter-julia", - "sha256": "12dwy7ljhddg804jwkkzh6mn0mbjazihhsbcwn3gd5175qqr9lym", - "hash": "sha256-1dOUMS4nlPaG5WxpCONXclVgq4F/Ti4JQK81KOnxvIk=", + "rev": "3520b57e418f734f582215181ecd926a6178c90f", + "date": "2024-09-05T13:11:36-05:00", + "path": "/nix/store/4zljgvbaih9ds4kcb52qk5r1si4dpy8m-tree-sitter-julia", + "sha256": "0lp3js2dmmfv9bsgsjrxj4j1yaj47hmzrkhv07s9yc8cwq749yr0", + "hash": "sha256-IPtEDuYMMZ/0ARvO/Cs8RCofJJE9S/30StvV2oSW41I=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-just.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-just.json index 2d3d16425630d..7181aeea0db79 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-just.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-just.json @@ -1,10 +1,10 @@ { "url": "https://github.com/IndianBoy42/tree-sitter-just", - "rev": "fd814fc6c579f68c2a642f5e0268cf69daae92d7", - "date": "2024-05-02T02:56:00-04:00", - "path": "/nix/store/4q0rpglj1sa6lay5i1fdnws2pyl8hh71-tree-sitter-just", - "sha256": "09faimq5mhldc91r89707fsmdfjqg6dicc2ccr6q9qn5sy0drr6a", - "hash": "sha256-yuTcgNfF4oRNZkwwFpt5WLpWtTvgJJRDYo3CWnCNyiU=", + "rev": "6648ac1c0cdadaec8ee8bcf9a4ca6ace5102cf21", + "date": "2024-07-30T00:40:16-04:00", + "path": "/nix/store/20pg64wfg1rrl33prc91z19gbpq0cai1-tree-sitter-just", + "sha256": "1a5n6f6ig1qsrac46w5z6ib28kifhaqz23amhf79ws7yva3i4lhi", + "hash": "sha256-EVISh9r+aJ6Og1UN8bGCLk4kVjS/cEOYyhqHF40ztqg=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-kotlin.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-kotlin.json index 7cf5bab4e707a..44b506fed4556 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-kotlin.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-kotlin.json @@ -1,10 +1,10 @@ { "url": "https://github.com/fwcd/tree-sitter-kotlin", - "rev": "d5dc99a9bdc3fe895e6bcd39caddcfa4820f4c03", - "date": "2024-05-08T00:38:43+02:00", - "path": "/nix/store/gj5w748yk7iyx9s7bzyqj6m9i9sx6rrv-tree-sitter-kotlin", - "sha256": "0lqwjg778xy561hhf90c9m8zdjmv58z5kxgy0cjgys4xqsfbfri6", - "hash": "sha256-Jma3nMadaP8kA/71WT4qu8r2UU0MJAdhMMV3dM6THFM=", + "rev": "e1a2d5ad1f61f5740677183cd4125bb071cd2f30", + "date": "2024-08-03T01:29:18+02:00", + "path": "/nix/store/jppx5kglmzyh10qmy13d5948hl68lxvc-tree-sitter-kotlin", + "sha256": "0bv21rcypi9dx87kgfr89mg8qfc7ik1g1fcb8am7ss17by8badwk", + "hash": "sha256-kze1kF8naH2qQou58MKMhzmMXk0ouzcP6i3F61kOYi8=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json index d0bbf38f3b887..b01889fcedbb6 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json @@ -1,10 +1,10 @@ { "url": "https://github.com/MunifTanjim/tree-sitter-lua", - "rev": "a24dab177e58c9c6832f96b9a73102a0cfbced4a", - "date": "2024-03-11T11:40:44+02:00", - "path": "/nix/store/dia2ry7m40yxfn4l4191c0by58vb2yn8-tree-sitter-lua", - "sha256": "1184dazb4agqf3v55sz8i7xmynsn4rkddhbph3mgmh5qsnk88mmq", - "hash": "sha256-uFaEptW4wPrqgHfB1mYmVltf+4no61L2cPgpsr5qBIU=", + "rev": "99fc677e6971c425e8d407f59c77ab897e585c92", + "date": "2024-09-09T11:10:03-04:00", + "path": "/nix/store/iiih0sfdls1h8q7ca12y0rhc7g5jl76w-tree-sitter-lua", + "sha256": "0wrbxmb6j8xyckf5jw14jf97cb9fn7yhalap6xxgsag84ypfsqj3", + "hash": "sha256-Q2LtrifoKf16N1dRBf2xLi12kpMkcFncZL4jaVbtK3M=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json index 04d1eeeb505e0..8d116744dffad 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-make.json @@ -1,7 +1,7 @@ { "url": "https://github.com/alemuller/tree-sitter-make", "rev": "a4b9187417d6be349ee5fd4b6e77b4172c6827dd", - "date": "2021-12-16T17:14:17+00:00", + "date": "2021-12-16T17:14:17Z", "path": "/nix/store/v01s3lfi1w3bm433gf6zi0wb0r603906-tree-sitter-make", "sha256": "07gz4x12xhigar2plr3jgazb2z4f9xp68nscmvy9a7wafak9l2m9", "hash": "sha256-qQqapnKKH5X8rkxbZG5PjnyxvnpyZHpFVi/CLkIn/x0=", diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json index 6f9a1b44406d9..250b848c1bdf4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json @@ -1,10 +1,10 @@ { "url": "https://github.com/MDeiml/tree-sitter-markdown", - "rev": "62516e8c78380e3b51d5b55727995d2c511436d8", - "date": "2024-03-22T11:52:05+02:00", - "path": "/nix/store/4hi3bz1ny9dz3yq7mr6d74gsfmcnh9rw-tree-sitter-markdown", - "sha256": "08wl8y8xgrr10m1p6xpmv0jbmnif30wgd2q5m28ghh1v37q2ixfp", - "hash": "sha256-1/Uo8Bk7QPiQqAWL9jgYLtq6JNj1dnNDBSHn15FHlCM=", + "rev": "1c8dea73bc0c996d92dd9ebc30dd388716b1c5db", + "date": "2024-09-11T16:28:36+03:00", + "path": "/nix/store/g4696miy9vzcw0qwd00rar36qn08jn2l-tree-sitter-markdown", + "sha256": "13xfyclim1yql6swbk4y12sxgvn799ldbzjl35n5rrkz7wgnwm9s", + "hash": "sha256-OlVuHz9/5lxsGVT+1WhKx+7XtQiezMW1odiHGinzro8=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nickel.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nickel.json index 90dff573ed1ea..c89064cce7707 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nickel.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nickel.json @@ -1,10 +1,10 @@ { "url": "https://github.com/nickel-lang/tree-sitter-nickel", - "rev": "58baf89db8fdae54a84bcf22c80ff10ee3f929ed", - "date": "2024-03-07T15:18:26+00:00", - "path": "/nix/store/z386k8b1asbadh303dpzkhydv8r4f6fz-tree-sitter-nickel", - "sha256": "1a62cngravp7pq3gs582larbd0my7k323s48rgidhpd7b5gkmrjs", - "hash": "sha256-WuY6X1mnXdjiy4joIcY8voK2sqICFf0GvudulZ9lwqg=", + "rev": "43433d8477b24cd13acaac20a66deda49b7e2547", + "date": "2024-06-04T11:09:57+01:00", + "path": "/nix/store/w51rb76j8kcqn49bjnb4a7wgxpa5ld72-tree-sitter-nickel", + "sha256": "0lad31wly0m1kri7c6kk4kqkql8746idiwkyi1lay64y5yxv8j7l", + "hash": "sha256-9Ei0uy+eGK9oiH7y2KIhB1E88SRzGnZinqECT3kYTVE=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json index 91c713dae026e..3494856f8a386 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json @@ -1,10 +1,10 @@ { "url": "https://github.com/cstrahan/tree-sitter-nix", - "rev": "b3cda619248e7dd0f216088bd152f59ce0bbe488", - "date": "2024-04-03T09:38:13+02:00", - "path": "/nix/store/5rz41r1yycp0w3s947cjs3m9d9v1082r-tree-sitter-nix", - "sha256": "1xh75z11d1b514qm997br8vmxalir2ah1pk7v3k1ppm28043ggr1", - "hash": "sha256-Ib83CECi3hvm2GfeAJXIkapeN8rrpFQxCWWFFsIvB/Y=", + "rev": "ceaf10eb2ae877175d58e6304f83ec6f4d704295", + "date": "2024-09-16T10:29:29Z", + "path": "/nix/store/khfiac3n03vh4r2aw5p3vmbp3449zv3z-tree-sitter-nix", + "sha256": "00wmm5nnm8qa08dxqaq1p3k728fqgijnmhgg8wg24shy6g5gqiyw", + "hash": "sha256-3Ef8yjMeaiIeR+/BamV82CFx5rgBK9wbAgqjam2plQM=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json index 5253f32efcb19..74af239932643 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json @@ -1,10 +1,10 @@ { "url": "https://github.com/nvim-neorg/tree-sitter-norg", - "rev": "aa1a1a7ded81a094cc3d5cb14bea6f34b86d8688", - "date": "2024-04-19T19:37:12+02:00", - "path": "/nix/store/pas31z7l3x16113qa7k7ywb6hbarnwvs-tree-sitter-norg", - "sha256": "08bsk3v61r0xhracanjv25jccqv80ahipx0mv5a1slzhcyymv8kd", - "hash": "sha256-baJdvWfwUx1U2RX0G6ECaGPGZBFbWsVUhh3kYPaYeiE=", + "rev": "d89d95af13d409f30a6c7676387bde311ec4a2c8", + "date": "2024-09-04T16:57:27+02:00", + "path": "/nix/store/5kp8p7s80rvimcqs3i8syjwsc4459nmf-tree-sitter-norg", + "sha256": "077rds0rq10wjywpj4hmmq9dd6qp6sfwbdjyh587laldrfl7jy6g", + "hash": "sha256-z3h5qMuNKnpQgV62xZ02F5vWEq4VEnm5lxwEnIFu+Rw=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nu.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nu.json index 5f43ea1f7ab94..025b38ddf2ff4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nu.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nu.json @@ -1,10 +1,10 @@ { "url": "https://github.com/nushell/tree-sitter-nu", - "rev": "a58513279e98dc3ff9ed149e3b4310cbb7e11068", - "date": "2024-04-20T10:10:30-04:00", - "path": "/nix/store/h4jw0skhik308krrqi7rmhw7ls4vp1rs-tree-sitter-nu", - "sha256": "00vpw8aai4k7bw57pyjwn6b09lb9rr1n88qc4r4nma86rl63y9ic", - "hash": "sha256-LCY/DM0GqWpJJgwjZEPOadEElrFc+nsKX2eSqBTidwM=", + "rev": "0bb9a602d9bc94b66fab96ce51d46a5a227ab76c", + "date": "2024-06-13T06:25:15-05:00", + "path": "/nix/store/z06sq7pwdmabw0jrhx221aj0xjjgz48g-tree-sitter-nu", + "sha256": "1bfhrvm984vqjgmlbi1kq91ywxp3mpz0mb8csg3zsfhkj8xa5483", + "hash": "sha256-A5GiOpITOv3H0wytCv6t43buQ8IzxEXrk3gTlOrO0K0=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json index 385e00ceb5522..14f22e9e243da 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-perl.json @@ -1,10 +1,10 @@ { "url": "https://github.com/ganezdragon/tree-sitter-perl", - "rev": "93bd92a6af01113140f1a0b4c1845d22adae7ab6", - "date": "2024-03-29T09:45:26+05:30", - "path": "/nix/store/v4fhidwmxfihmkkq32a2xj75zs9fs9cd-tree-sitter-perl", - "sha256": "1ldbqjiyc4apls5gfc96lw6l4y53k5adk8knf1pp3ar2x2dl8v6y", - "hash": "sha256-3mxEm+giq3FvcHai2VSZo3hCDacmMfeKplcR5qPEq9E=", + "rev": "8b554de277956a96f3e618b727d0ed4d4e564676", + "date": "2024-05-26T14:22:34Z", + "path": "/nix/store/fr9iacwd8dx2pb138d1q17wk9s64xvw3-tree-sitter-perl", + "sha256": "1ib0vx5dqp54ycisqg2gw72dj2ygin0z4846m2jnckavs7awn6fm", + "hash": "sha256-1RnL1dFbTWalqIYg8oGNzwvZxOFPPKwj86Rc3ErfYMU=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json index 433932e936838..a63896e4c3193 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json @@ -1,10 +1,10 @@ { "url": "https://github.com/rolandwalker/tree-sitter-pgn", - "rev": "c5b2f2346e4148702b1343ec9bcc42b4a9aa88dc", - "date": "2024-04-27T16:35:50-04:00", - "path": "/nix/store/klrbfqwbmrwpgrghr2jijy0yy4yra3c3-tree-sitter-pgn", - "sha256": "1p6vn84f06c38kanv6j7w5pdwxny0gc7vk357s8ykiz0wv6r8ay9", - "hash": "sha256-ySuUzebgx+mRPmXMfdgD3nbebuFHmm3VRIMZ4Aiy29w=", + "rev": "f86a119d21d01f6bf0dcd3247a366554e98dbbe5", + "date": "2024-09-14T21:47:45Z", + "path": "/nix/store/09rxvhnmdq63n4ghk00ngbdgnmqqs1k4-tree-sitter-pgn", + "sha256": "1ahl979ika0pyq4glz6am71hq6y360hcmwhxikn2l2gl8415701k", + "hash": "sha256-M4BTAkH0CSrsjB3yyiAwwxsMw6nKfPoI9heoGdNJFKo=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json index 2d45886a8df43..c7006cd0fe3d1 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-php", - "rev": "78a78df5e06b4c13173af2a1f607c9a853d0f240", - "date": "2024-02-25T14:41:06-06:00", - "path": "/nix/store/h63hh37wn6khk4gj4v1yv37w7kxgr595-tree-sitter-php", - "sha256": "07022kisc2r5pfcbv0smh5gnn9v0i7jazfbvckczz15d0wwrpfip", - "hash": "sha256-N7qbOQethP/ZZHu5r+SJYCdrX4FVg72YuyULpuMUAhw=", + "rev": "a1e0befae61715d9e162529b3c2bfd961d183613", + "date": "2024-09-02T16:13:56-04:00", + "path": "/nix/store/j71y2xpajnpq7pp0rv2h0lb0w55vcjg2-tree-sitter-php", + "sha256": "1zpnnmrsgmb802m2zjdnfxz41fq475qk7n2pnjsbc5n61k81dgga", + "hash": "sha256-6r0W0AzGFra0tFfYM3E5BLtAfne2yS+qAGjVp3O19v4=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json index 688de10aa4456..299aa72dadf5f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-python", - "rev": "71778c2a472ed00a64abf4219544edbf8e4b86d7", - "date": "2024-04-30T21:50:21-04:00", - "path": "/nix/store/xqc20db4g26sqsj0jflj4z2jm8hfmd97-tree-sitter-python", - "sha256": "1dmg11dbrddf55xhly813cb6ykxmyam2kjs7lyfi8k8xms03jx44", - "hash": "sha256-hHQ5gK4dTRSdp0fLKarytU9vFhsBeQp7Ka61vFoIr7Y=", + "rev": "8c65e256f971812276ff2a69a2f515c218ed7f82", + "date": "2024-09-02T20:40:41-04:00", + "path": "/nix/store/8mw7g7r8j8n8d8wssjz43nsmkhnlqd0b-tree-sitter-python", + "sha256": "0d51zk7znaxvwcacp5gzm2rwprk8m10wnxhk5g4q7sygbcvl2rzj", + "hash": "sha256-8mdBN1vP64PJKxN2y0GoaObLs6j/lcsU47sr+8/8oTQ=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql-dbscheme.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql-dbscheme.json index c213aaa449b54..81b8070b53d08 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql-dbscheme.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql-dbscheme.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-ql-dbscheme", - "rev": "afd8764736bb7ae52b6628618e8b3e7e28224ab7", - "date": "2024-05-07T13:58:04+02:00", - "path": "/nix/store/696rbv0z6i563jjqbwgdavy6kvpkja94-tree-sitter-ql-dbscheme", - "sha256": "1mb87h2gzv3cwswklnnk2s8xmj060j4aj3ccgic7va23n1mm6rbs", - "hash": "sha256-emVTa7BDqH1YfIwNqYgEBsjakRbTWjq55mzs/wQ8aNU=", + "rev": "1980b4b6998a1138d326f863e6168f0f2c0c544d", + "date": "2024-09-02T15:26:46-04:00", + "path": "/nix/store/s3klligl52ag14ai8n1fcwhn7k4m1wdk-tree-sitter-ql-dbscheme", + "sha256": "1k3qz85507xysx2msr1ns44ya3x3xxb9kxfzvpp088w6nrc6cipm", + "hash": "sha256-9UZmWLaGIwTu3d/1mVbvow/lCdE2ZF1F174fUAr6eMw=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json index 6cf9f8045e676..901d037b9feb7 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-ql", - "rev": "42becd6f8f7bae82c818fa3abb1b6ff34b552310", - "date": "2024-05-07T14:00:59+02:00", - "path": "/nix/store/dknbdl1hrgp0kicx2wx1wjnhb7bay643-tree-sitter-ql", - "sha256": "1gcgs87cas4qd5ppvzjfgzj2ayjnjfxbyg3gl204w8mrvciq2niq", - "hash": "sha256-OFqBI9u5Ik6AoG88v7qTVnol5H9O/n1vaZhoxQ7Sj70=", + "rev": "c73c31c89cb0019ef56fe8bc1723e7c36e0be607", + "date": "2024-09-02T14:59:29-04:00", + "path": "/nix/store/diaw28vzzry46dc5b0fra2xw263lmbhs-tree-sitter-ql", + "sha256": "1lnasix7vb9q7lixy5qayslzw9yk53gll8130d03h0a9vl44dw8b", + "hash": "sha256-C/FGCN1JAThAAyMgSt8o0yf+qfYKF98jPTitfXrUytI=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json index 09390cce1ead3..c2ab4fb278de8 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-query.json @@ -1,10 +1,10 @@ { "url": "https://github.com/nvim-treesitter/tree-sitter-query", - "rev": "d25e8d183f319497b8b22a2a1585975b020da722", - "date": "2024-05-06T23:21:15+02:00", - "path": "/nix/store/bj3dsdmf608vwagc1nwwhs5z90p6swzc-tree-sitter-query", - "sha256": "191h311g14aah7wpibpyhpz925506c3l6qyrfra1kd8pjn1nv2vk", - "hash": "sha256-c4ttg5UXtRlUdtljQwczoBSR/oX+rnj5gUqR8EIYMKQ=", + "rev": "f767fb0ac5e711b6d44c5e0c8d1f349687a86ce0", + "date": "2024-05-26T11:54:30+02:00", + "path": "/nix/store/rr9wn6900c73csv01czjnq609nwzyhqk-tree-sitter-query", + "sha256": "0wi01kmvb5axavfm6jp3rd6dd9pnq551w9lgwcgs02amxp6z8ymj", + "hash": "sha256-snr0ze1VCaAf448mHkrB9qbWTMvjSlPdVl2VtesMIHI=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json index c74499796fbc1..4754dba33b8da 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json @@ -1,10 +1,10 @@ { "url": "https://github.com/r-lib/tree-sitter-r", - "rev": "391400572538ff9854341a175ed8ab4b1e45f44b", - "date": "2024-05-03T14:16:03-04:00", - "path": "/nix/store/dkmd92q56snynssaridhzkd7rv8zckq7-tree-sitter-r", - "sha256": "05s0n6qvb3jsx7sv4vzsc794vdxinxf7f8d2sbf9qz3vwwm39kr8", - "hash": "sha256-KM80Kud7fJzc0qIhd1y3sbdN0mH6b7L16VqOtbGxQBc=", + "rev": "ac939363ced63a5fd39a8bd5e7891bbe06b5738d", + "date": "2024-09-06T16:53:09-04:00", + "path": "/nix/store/qj9nyda5grkjqkh23m9a3q3sgkmkgcdh-tree-sitter-r", + "sha256": "1jf14nvrfcznsnmxmlkbnn59bdykpsawxm5grph65p8vghi4fik7", + "hash": "sha256-Z0ZHInwb3WLgza/UzpW+07eVirVr0tqr1fYzl7clwck=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json index fee52809beb5c..db619e4556932 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-regex.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-regex", - "rev": "47007f195752d8e57bda80b0b6cdb2d173a9f7d7", - "date": "2024-05-05T20:53:57-04:00", - "path": "/nix/store/4vlp0kgq09yp9bnjkrsc82mh0c0mb4qa-tree-sitter-regex", - "sha256": "0j9shwv7j8jnkms1f8h9ddg80cj85vp1pivkdcspdifbi69q8l2z", - "hash": "sha256-X1CEk4nLxXY1a3PHG+4uSDKAXmsJIhd0nVYieTaHOkk=", + "rev": "f70251e1f1d72bd6dc1f897f956f9112f8668441", + "date": "2024-09-02T03:31:05-04:00", + "path": "/nix/store/9shrpsgb7rnk24nwc3xr1xv33wxi0ydk-tree-sitter-regex", + "sha256": "08i97gwvf6777h6dkvsd08s2n4pmpz2xghxpn1npn16jcpaknhhv", + "hash": "sha256-G0I71WXSBHttsLfD18W/9RIrNAJN79kMPOcYt/k7KSI=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json index 0cf6618b45b71..1df81f913967b 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rego.json @@ -1,10 +1,10 @@ { "url": "https://github.com/FallenAngel97/tree-sitter-rego", - "rev": "9ac75e71b2d791e0aadeef68098319d86a2a14cf", - "date": "2023-11-03T09:13:53+02:00", - "path": "/nix/store/7v3znqfnq89ik6svp70fzsin8j4ydl4s-tree-sitter-rego", - "sha256": "12napwjsv4hx2k4ad0p2v3mv4lhxgp894riglyqmidxxkikzma9g", - "hash": "sha256-L6n6Z5y9t1ixpy9mktB9HVKy69jigqbIFB2SrSW/yoo=", + "rev": "20b5a5958c837bc9f74b231022a68a594a313f6d", + "date": "2024-06-12T18:01:13+03:00", + "path": "/nix/store/dhpxdwhiwc6dl3gys99g3ax5jmg6s7fw-tree-sitter-rego", + "sha256": "0cmja3gd5nbmi251qc14hh1cbfd7i0mydx74qxs30qvix6q5a2az", + "hash": "sha256-XwlVsOlxYzB0x+T05iuIp7nFAoQkMByKiHXZ0t5QsjI=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json index 12519a98bf82a..a682053ee93e8 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-rust", - "rev": "9c84af007b0f144954adb26b3f336495cbb320a7", - "date": "2024-05-05T19:28:38-04:00", - "path": "/nix/store/5mmx41c8spdf25jci02lw3vmq117dksv-tree-sitter-rust", - "sha256": "0wjw8wz34c3h624xi0n133pv4ld1gmx4zn60xfkqgv7cmn9f42cv", - "hash": "sha256-mwnikq3s7Ien68DYT3p9oVGy7xjBgtiJMHAwMj5HXHI=", + "rev": "6b7d1fc73ded57f73b1619bcf4371618212208b1", + "date": "2024-09-02T05:17:41-04:00", + "path": "/nix/store/7qazknjwzfdl0jyc7jyqskjagw00i5wy-tree-sitter-rust", + "sha256": "08m0i6ar5gkz1pvz8lh2dfwjff4szzl0q0lzbqp0p5il0arxvbbh", + "hash": "sha256-cK3dswI0lgsuXp8CDOj/mjgnuWsCUvT3DX++kpWJoCI=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json index 719d4ce9e2d1b..c72db6775674f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tree-sitter/tree-sitter-scala", - "rev": "b3ac6a5d959d3137e7f3146d4d9f7899872177de", - "date": "2024-03-12T14:34:11-04:00", - "path": "/nix/store/zi4bjbmxlhp003lk37pcyf5kg9m2wcf6-tree-sitter-scala", - "sha256": "1j2ivdm21c5db54rcff00n7bqcfrfjc91jwlfl4a2cm363hbrym2", - "hash": "sha256-ovq84DCjMqEIdZTLkJh02TG8jgXAOZZJWa2wIGrbUcg=", + "rev": "62e7506f5ec87e2daf218e3bbd317401768d9963", + "date": "2024-09-12T09:36:24-04:00", + "path": "/nix/store/kcrap980k751mp2mk59z19jcc196pk08-tree-sitter-scala", + "sha256": "0ybj359b21cqy1nqr1psjy244y7d672iik9a3pqxrg67cppwwn26", + "hash": "sha256-RljO72XHvNzxHSrNGMUx7XhChJf6hoxt8JgFsVIZcnk=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json index 7e08f324213e0..ef5caa8e43ec3 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json @@ -1,10 +1,10 @@ { "url": "https://github.com/6cdh/tree-sitter-scheme", - "rev": "8f9dff3d038f09934db5ea113cebc59c74447743", - "date": "2024-04-12T09:33:55+08:00", - "path": "/nix/store/myg0q8bjsdzgq712skhxk1vf2gqqr7b0-tree-sitter-scheme", - "sha256": "1n9f9zala2mv7bllwjb2nsh2xsr56zjh7j09vxzd77jnb10rjh20", - "hash": "sha256-QECZQVhWntN+3wnIA+U3JesuoLZiSU7pOrsKRdVPLtk=", + "rev": "63e25a4a84142ae7ee0ee01fe3a32c985ca16745", + "date": "2024-09-08T01:23:30+08:00", + "path": "/nix/store/1wk7w5vkxcwqx24qlm203z1z5rw95vn8-tree-sitter-scheme", + "sha256": "12p8g2mnd73lanibk16llhbx7xarlcl2ihngcibhpa4bzppcbb8l", + "hash": "sha256-FK3F7v2LqAtXZM/CKCijWfXTF6TUhLmiVXScZqt46Io=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json index 0c3c6df0b6b23..6212e7a668223 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json @@ -1,7 +1,7 @@ { "url": "https://github.com/serenadeai/tree-sitter-scss", "rev": "c478c6868648eff49eb04a4df90d703dc45b312a", - "date": "2022-02-03T21:48:21+00:00", + "date": "2022-02-03T21:48:21Z", "path": "/nix/store/s49l3jbhjni3l1d0m3xrpzml39aq9yr3-tree-sitter-scss", "sha256": "15r3jiv36hzx2pmjmp63am3pbc01s52z36xfraa1aw4wlx7lqnq4", "hash": "sha256-BFtMT6eccBWUyq6b8UXRAbB1R1XD3CrrFf1DM3aUI5c=", diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-smithy.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-smithy.json index 609520882b072..c95def892a1af 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-smithy.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-smithy.json @@ -1,7 +1,7 @@ { "url": "https://github.com/indoorvivants/tree-sitter-smithy", "rev": "cf8c7eb9faf7c7049839585eac19c94af231e6a0", - "date": "2023-01-31T21:16:56+00:00", + "date": "2023-01-31T21:16:56Z", "path": "/nix/store/y5j99bx1b6h25k1lnzs6s4gkg0mhll06-tree-sitter-smithy", "sha256": "0k7gfpa3pcj1ji34k0kwk1xbadkgjadfg36xfwns1fmlwzmr7jnx", "hash": "sha256-3cqT6+e0uqAtd92M55qSbza1eph8gklGlEGyO9R170w=", diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sparql.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sparql.json index 42199274dd420..3108dc0d129e2 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sparql.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sparql.json @@ -1,10 +1,10 @@ { "url": "https://github.com/bonabeavis/tree-sitter-sparql", - "rev": "05f949d3c1c15e3261473a244d3ce87777374dec", - "date": "2021-08-16T15:50:03+02:00", - "path": "/nix/store/vvgvb1jcv0qrn3xj0jbf83qwi1lh2m68-tree-sitter-sparql", - "sha256": "012c1pi4vc6hkvllymvl2yah3ix8k4pi7997iydy949fc33aa5i8", - "hash": "sha256-KBalxmAukeSbjyelEy+ZqMcBlRd0V0/pntCwTeINTAQ=", + "rev": "d853661ca680d8ff7f8d800182d5782b61d0dd58", + "date": "2024-06-26T16:15:19+02:00", + "path": "/nix/store/cz22k5dh2fqyfmamdx1mrlwv28shnk1x-tree-sitter-sparql", + "sha256": "1xd0hp2m62ggka46cv2px0507yyl9d9cdqhlpglq6y1jqb5p85fh", + "hash": "sha256-0BV0y8IyeIPpuxTixlJL1PsDCuhXbGaImu8JU8WFoPU=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json index 210646ac4c5e9..ad70caa2684c4 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-sql.json @@ -1,10 +1,10 @@ { "url": "https://github.com/derekstride/tree-sitter-sql", - "rev": "7d591a1a14ce4d5caf81ae64284c2dc185544cb2", - "date": "2024-04-20T18:48:13+02:00", - "path": "/nix/store/r6sz2sa4az2p2idl3vjv90nr4zghxmxr-tree-sitter-sql", - "sha256": "1x4kw4fflizwb472n8sfpigqyc8y57m28mawsf999011flzg2dmp", - "hash": "sha256-tzbxPnUhgJSS01xVJOopHjGPX7xOIysOWfxH6hzhk/Q=", + "rev": "53623157a27f787cab12b2545f43ddd34f3fb5f7", + "date": "2024-08-09T22:12:06+02:00", + "path": "/nix/store/vlm9y5gcjih5scd3iyaxynr79gbfqha8-tree-sitter-sql", + "sha256": "1hjb75rsqnrs0ca1zq17bv4r7skmvra7jw69lk94ncjk8sbhh30w", + "hash": "sha256-HAwIl0ZTMkvSpMlweVTedeqTyV4n4B8UAzpbrHM5S8I=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-talon.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-talon.json index baa13c0a37dcc..827afca5f9b16 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-talon.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-talon.json @@ -1,10 +1,10 @@ { "url": "https://github.com/wenkokke/tree-sitter-talon", - "rev": "dafc9fabf7acc1a46d51cce379cec00c07661aa7", - "date": "2023-11-05T13:07:41+00:00", - "path": "/nix/store/df67djinw8sjwf6lbfv6gdckxckv0y65-tree-sitter-talon", - "sha256": "1clmmb3pgvc54fsp83f2jmz6n21pmmjkb15yk9bfqlkzdm12sirw", - "hash": "sha256-PEctQm1/UuxWmr6ENWWtNwhrfpXCDXS1I4Xtd8eqlbI=", + "rev": "53fd1d6102f692ab3040f90a1fe5023b7342ff23", + "date": "2024-06-18T14:14:45+01:00", + "path": "/nix/store/bva5mf6j33icgd2rr4067i50gjjzbd10-tree-sitter-talon", + "sha256": "1kw7axcqpmjbcsl6h8lsvraqv58k0w76rhxcvqqx7kly4jgz1wrm", + "hash": "sha256-NfPwnySeztMx3qzDbA4HE5WNVd6aImioZkvWi1lXh88=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-templ.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-templ.json index 6dbe64089625d..b9f7b8103f185 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-templ.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-templ.json @@ -1,10 +1,10 @@ { "url": "https://github.com/vrischmann/tree-sitter-templ", - "rev": "d631f60287c0904770bc41aa865e249594b52422", - "date": "2024-05-09T13:42:17+02:00", - "path": "/nix/store/5h839wwxwjmg799bp79kkcav2ld8k0jy-tree-sitter-templ", - "sha256": "16di98f9xnqdpzb69p8hrgisfhsz0r9p4pv342z0cvkjv5n4s0xc", - "hash": "sha256-rANNbNlybga+IGNfclMGX0On48sQ3WTWvw3bnhxKsZk=", + "rev": "0524da9e1f14b9b7d7d6d36608293f85a550b263", + "date": "2024-09-03T22:47:13+02:00", + "path": "/nix/store/6zjn6rh5mm32cislyl1bi2ad0fxsk297-tree-sitter-templ", + "sha256": "1lxpmp6a00l7rykrgxqdsvsm9iijz4ik3im1xd4gy92zqsj4k8g0", + "hash": "sha256-4KFJpMZfJP9I66HGMSP5MsZU9dYN95enz4cCoMytt9M=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json index f50a35e3f2cb9..35dc26733ba9f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json @@ -1,10 +1,10 @@ { "url": "https://github.com/tlaplus-community/tree-sitter-tlaplus", - "rev": "ef18145e7f985f592ad41b04004b24a590f58b71", - "date": "2024-05-15T18:54:24-04:00", - "path": "/nix/store/saczmakjnrwrvn0dad37bfva1m3mvzc5-tree-sitter-tlaplus", - "sha256": "0hnylz5mxsvk1q8bbv7ak4r49l2knx75ln58i4isqs7qr0a2vw6b", - "hash": "sha256-y/AtFMj4aKwjiahYWk63U9BEMpnq7LUQDnPrXsun3kI=", + "rev": "200f9dab6b23f3b9bb8f67fc811221517f56c373", + "date": "2024-05-17T17:21:16-04:00", + "path": "/nix/store/lgxqyxs5l3nilj6a1caznwgmd7fpfc4k-tree-sitter-tlaplus", + "sha256": "0wab31x1p74xgd32yx0jydkz0cay0pwbi8h105apqihv3pxrk350", + "hash": "sha256-oIyZ+x0bRnxVAQGiuPgFXjHwZ/MSdC9Ge52cG3oYS3E=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-turtle.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-turtle.json index 6797d3fc63629..8523faec3758f 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-turtle.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-turtle.json @@ -1,10 +1,10 @@ { "url": "https://github.com/bonabeavis/tree-sitter-turtle", - "rev": "085437f5cb117703b7f520dd92161140a684f092", - "date": "2021-08-16T15:17:50+02:00", - "path": "/nix/store/c90hph3wfyhjmri3qbfb5lpy1bl855zv-tree-sitter-turtle", - "sha256": "1l5djvz90sq9w14kfcrffdigqs61r1p8v17xpj92sxz8z3ngpgmr", - "hash": "sha256-ub777Pjody2SvP2EjW7IwWj8YnMuMzdJ4AlrkP6WrdA=", + "rev": "7f789ea7ef765080f71a298fc96b7c957fa24422", + "date": "2024-07-02T13:41:07+02:00", + "path": "/nix/store/1rscya6w8m579211nsmhhicc3rgk204h-tree-sitter-turtle", + "sha256": "0c3diz97lrnxqkq410s9rlmxddjqgnswyc4spdfny045xgfzp9yg", + "hash": "sha256-z6f73euFAG9du5owz7V9WLbWK81Jg0DwxN1metKPbTA=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json index 874cb0a1368a8..5cbf4b7440de1 100644 --- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json +++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json @@ -1,10 +1,10 @@ { "url": "https://github.com/maxxnino/tree-sitter-zig", - "rev": "0d08703e4c3f426ec61695d7617415fff97029bd", - "date": "2023-04-25T05:51:06-03:00", - "path": "/nix/store/fzz8x1pa11zksamgk199fw0j7dkbsz0s-tree-sitter-zig", - "sha256": "0whj44fl6hmcyap5bjqhy90rd6xnnxgsy3vn1z3mvq8d2mwbnxbb", - "hash": "sha256-a3W7eBUN4V3HD3YPr1+3tpuWQfIQy1Wu8qxCQx0hEnI=", + "rev": "2bac4cc6c697d46a193905fef6d003bfa0bfabfd", + "date": "2024-06-28T17:20:16+07:00", + "path": "/nix/store/3j7bnhlb5nka1c7sr965pblr2qrdsrn3-tree-sitter-zig", + "sha256": "1ix401wq0raz8sxp88r6wkkzrv6653yk5fi604i026yrm04n9br0", + "hash": "sha256-IK9kCajZGwEiASa6Mv0oxuz85+QmI3S7Rl9lgHkApMc=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix index 6d5db177b8a56..aa1504f57c7b2 100644 --- a/pkgs/development/tools/parsing/tree-sitter/update.nix +++ b/pkgs/development/tools/parsing/tree-sitter/update.nix @@ -61,6 +61,12 @@ let "py-tree-sitter" # afl fuzzing for tree sitter "afl-tree-sitter" + # this is the kotlin language bindings, tree-sitter-kotlin is the grammar + "kotlin-tree-sitter" + # this is the go language bindings, tree-sitter-go is the grammar + "go-tree-sitter" + # this is the java language bindings, tree-sitter-java is the grammar + "java-tree-sitter" # archived "highlight-schema" # website From eea613cf623404fd6e1ca14cbcd8fea500c69434 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 17 Sep 2024 21:43:11 +0000 Subject: [PATCH 284/491] zlib-ng: 2.2.1 -> 2.2.2 --- pkgs/development/libraries/zlib-ng/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/zlib-ng/default.nix b/pkgs/development/libraries/zlib-ng/default.nix index 6abb1b160cc6b..add675efae850 100644 --- a/pkgs/development/libraries/zlib-ng/default.nix +++ b/pkgs/development/libraries/zlib-ng/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "zlib-ng"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "zlib-ng"; repo = "zlib-ng"; rev = version; - hash = "sha256-XTu4Wo9wQOvXrjDxo3KTpCiy0NsqVnYtCuYsCHP5LFc="; + hash = "sha256-FeOIFlFMDDd+5EDyr8KKW3G03UDM2xx4QF/wyKyDjq4="; }; outputs = [ "out" "dev" "bin" ]; From c0d5c6f407b7e99b3553739d4326c1e449bf880a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 16 Sep 2024 17:37:07 +0200 Subject: [PATCH 285/491] sassc: enable parallel building Tested at -j20. --- pkgs/development/tools/sassc/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/sassc/default.nix b/pkgs/development/tools/sassc/default.nix index 84488e0cb860b..3501f826895eb 100644 --- a/pkgs/development/tools/sassc/default.nix +++ b/pkgs/development/tools/sassc/default.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation rec { buildInputs = [ libsass ]; + enableParallelBuilding = true; + meta = with lib; { description = "Front-end for libsass"; homepage = "https://github.com/sass/sassc/"; From 18459ab73c27e94f326bd79295e25da1e6d341c1 Mon Sep 17 00:00:00 2001 From: Simon Hauser Date: Wed, 18 Sep 2024 15:12:05 +0200 Subject: [PATCH 286/491] ghostscript: 10.03.1 -> 10.04.0 --- pkgs/misc/ghostscript/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix index 466bd1c909387..a822df87abd15 100644 --- a/pkgs/misc/ghostscript/default.nix +++ b/pkgs/misc/ghostscript/default.nix @@ -61,11 +61,11 @@ let in stdenv.mkDerivation rec { pname = "ghostscript${lib.optionalString x11Support "-with-X"}"; - version = "10.03.1"; + version = "10.04.0"; src = fetchurl { url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${lib.replaceStrings ["."] [""] version}/ghostscript-${version}.tar.xz"; - hash = "sha256-FXIS7clrjMxAlHXc4uSYM/tEJ/FQxFUlje2WMsEGq+4="; + hash = "sha256-Un7vC2zQTs8cjXoReWxppS00/+Nq/KhqQAcpovwByIc="; }; patches = [ From 919602500b571eea23fe580c62e9bad7a6d94447 Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 8 Sep 2024 08:06:58 +0200 Subject: [PATCH 287/491] libtiff: 4.6.0 -> 4.7.0 Release notes: https://libtiff.gitlab.io/libtiff/releases/v4.7.0.html Fixed CVEs: * CVE-2023-52356 https://gitlab.com/libtiff/libtiff/-/issues/622 * CVE-2024-7006 https://gitlab.com/libtiff/libtiff/-/issues/624 This update incorporates the `lerc` dependency declaration, therefore we drop the corresponding patch, c.f. https://gitlab.com/libtiff/libtiff/-/merge_requests/633 https://github.com/NixOS/nixpkgs/pull/320105 --- pkgs/development/libraries/libtiff/default.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index b66c8c288bc8b..99fb5e644cfb2 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libtiff"; - version = "4.6.0"; + version = "4.7.0"; src = fetchFromGitLab { owner = "libtiff"; repo = "libtiff"; rev = "v${finalAttrs.version}"; - hash = "sha256-qCg5qjsPPynCHIg0JsPJldwVdcYkI68zYmyNAKUCoyw="; + hash = "sha256-SuK9/a6OUAumEe1kz1itFJGKxJzbmHkBVLMnyXhIwmQ="; }; patches = [ @@ -44,15 +44,6 @@ stdenv.mkDerivation (finalAttrs: { # libc++abi 11 has an `#include `, this picks up files name # `version` in the project's include paths ./rename-version.patch - # Fix static linking of `libtiff` via `pkg-config` not working - # because `libtiff` does not declare `Lerc` dependency. - # nixpkgs has `lerc` >= 4 which provides a `.pc` file. - # TODO: Close when https://gitlab.com/libtiff/libtiff/-/merge_requests/633 is merged and available - (fetchpatch { - name = "libtiff-4.pc-Fix-Requires.private-missing-Lerc.patch"; - url = "https://gitlab.com/libtiff/libtiff/-/commit/ea882c3c240c14a897b9be38d815cc1893aafa59.patch"; - hash = "sha256-C0xA3k1sgKmGJjEnyG9UxhXqYBYShKUDQsyjhbEDJbQ="; - }) ]; postPatch = '' From b1b4a97dc9eb522a901f16157e00872decfdf4b7 Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 8 Sep 2024 08:36:52 +0200 Subject: [PATCH 288/491] hylafaxplus: use newest libtiff instead of libtiff 4.6.0t libtiff 4.7.0 restored the programs needed by hylafaxplus, cf. https://github.com/NixOS/nixpkgs/commit/cff182e2194369a71a21daefd173e9d2c692e901 --- pkgs/top-level/all-packages.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 848fcaddc1f79..996b03937904b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8739,11 +8739,7 @@ with pkgs; hybridreverb2 = callPackage ../applications/audio/hybridreverb2 { }; - hylafaxplus = callPackage ../servers/hylafaxplus { - # needs this fork of libtiff, because original libtiff - # stopped packaging required tools with version 4.6 - libtiff = libtiff_t; - }; + hylafaxplus = callPackage ../servers/hylafaxplus { }; hyphen = callPackage ../development/libraries/hyphen { }; From 86d7a802cb310b4aea78a6fbd2f0e9907a0429c3 Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 8 Sep 2024 08:39:07 +0200 Subject: [PATCH 289/491] gscan2pdf: use newest libtiff instead of libtiff 4.6.0t libtiff 4.7.0 restored the programs needed by gscan2pdf, cf. https://github.com/NixOS/nixpkgs/commit/ec1a3695b48e649ededd2b25bf421aa9145a9afe --- pkgs/top-level/all-packages.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 996b03937904b..78b35c61a1eb6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5281,11 +5281,7 @@ with pkgs; grobi = callPackage ../tools/X11/grobi { }; - gscan2pdf = callPackage ../applications/graphics/gscan2pdf { - # needs this fork of libtiff, because original libtiff - # stopped packaging required tools with version 4.6 - libtiff = libtiff_t; - }; + gscan2pdf = callPackage ../applications/graphics/gscan2pdf { }; gsctl = callPackage ../applications/misc/gsctl { }; From 97e1737419ded3af33ed32e7305efe0901be0ace Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 8 Sep 2024 08:41:22 +0200 Subject: [PATCH 290/491] libtiff_t (fork of libtiff): drop libtiff 4.6.0t (a fork of libtiff) was needed after libtiff dropped some programs with version 4.6.0 that are required by other packages (notably hylafaxplus and gscan2pdf), cf. https://github.com/NixOS/nixpkgs/pull/298561/commits libtiff 4.7.0 again contains those programs, so its dependees no longer need the forked version. Hence libtiff_t is no longer needed and can be dropped. --- .../libraries/libtiff/libtiff_t.nix | 73 ------------------- pkgs/top-level/all-packages.nix | 9 +-- 2 files changed, 1 insertion(+), 81 deletions(-) delete mode 100644 pkgs/development/libraries/libtiff/libtiff_t.nix diff --git a/pkgs/development/libraries/libtiff/libtiff_t.nix b/pkgs/development/libraries/libtiff/libtiff_t.nix deleted file mode 100644 index 37e48f6ea14f4..0000000000000 --- a/pkgs/development/libraries/libtiff/libtiff_t.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ lib -, stdenv -, fetchzip - -, autoreconfHook -, pkg-config -, sphinx - -, libdeflate -, libjpeg -, xz -, zlib -}: - -# This is a fork created by the hylafaxplus developer to -# restore tools dropped by original libtiff in version 4.6.0. - -stdenv.mkDerivation (finalAttrs: { - pname = "libtiff_t"; - version = "4.6.0t"; - - src = fetchzip { - url = "http://www.libtiff.org/downloads/tiff-${finalAttrs.version}.tar.xz"; - hash = "sha256-9ov4w2jw4LtKr82/4jWMAGhc5GEdviJ7bT+y0+U/Ac4="; - }; - - patches = [ - # FreeImage needs this patch - ./headers.patch - # libc++abi 11 has an `#include `, this picks up files name - # `version` in the project's include paths - ./rename-version.patch - ]; - - postPatch = '' - mv VERSION VERSION.txt - ''; - - outputs = [ "bin" "dev" "dev_private" "out" "man" "doc" ]; - - postFixup = '' - moveToOutput include/tif_config.h $dev_private - moveToOutput include/tif_dir.h $dev_private - moveToOutput include/tif_hash_set.h $dev_private - moveToOutput include/tiffiop.h $dev_private - ''; - - # If you want to change to a different build system, please make - # sure cross-compilation works first! - nativeBuildInputs = [ autoreconfHook pkg-config sphinx ]; - - # TODO: opengl support (bogus configure detection) - propagatedBuildInputs = [ - libdeflate - libjpeg - xz - zlib - ]; - - enableParallelBuilding = true; - - doCheck = true; - - meta = with lib; { - description = "Library and utilities for working with the TIFF image file format (fork containing tools dropped in original libtiff version)"; - homepage = "http://www.libtiff.org"; - changelog = "http://www.libtiff.org/releases/v${finalAttrs.version}.html"; - maintainers = with maintainers; [ yarny ]; - license = licenses.libtiff; - platforms = platforms.unix ++ platforms.windows; - pkgConfigModules = [ "libtiff-4" ]; - }; -}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 78b35c61a1eb6..f8e060c2826cf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22094,14 +22094,7 @@ with pkgs; libtifiles2 = callPackage ../development/libraries/libtifiles2 { }; - inherit - ({ - libtiff = callPackage ../development/libraries/libtiff { }; - libtiff_t = callPackage ../development/libraries/libtiff/libtiff_t.nix { }; - }) - libtiff - libtiff_t - ; + libtiff = callPackage ../development/libraries/libtiff { }; libtiger = callPackage ../development/libraries/libtiger { }; From 6099db12925ab88280a52ce607a6d4089d3b38e9 Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 8 Sep 2024 08:51:46 +0200 Subject: [PATCH 291/491] hylafaxplus: migrate to `pkgs/by-name` overlay --- pkgs/{servers => by-name/hy}/hylafaxplus/config.site | 0 pkgs/{servers => by-name/hy}/hylafaxplus/libtiff-4.patch | 0 .../default.nix => by-name/hy/hylafaxplus/package.nix} | 0 pkgs/{servers => by-name/hy}/hylafaxplus/post-install-check.sh | 0 pkgs/{servers => by-name/hy}/hylafaxplus/post-install.sh | 0 pkgs/{servers => by-name/hy}/hylafaxplus/post-patch.sh | 0 pkgs/top-level/all-packages.nix | 2 -- 7 files changed, 2 deletions(-) rename pkgs/{servers => by-name/hy}/hylafaxplus/config.site (100%) rename pkgs/{servers => by-name/hy}/hylafaxplus/libtiff-4.patch (100%) rename pkgs/{servers/hylafaxplus/default.nix => by-name/hy/hylafaxplus/package.nix} (100%) rename pkgs/{servers => by-name/hy}/hylafaxplus/post-install-check.sh (100%) rename pkgs/{servers => by-name/hy}/hylafaxplus/post-install.sh (100%) rename pkgs/{servers => by-name/hy}/hylafaxplus/post-patch.sh (100%) diff --git a/pkgs/servers/hylafaxplus/config.site b/pkgs/by-name/hy/hylafaxplus/config.site similarity index 100% rename from pkgs/servers/hylafaxplus/config.site rename to pkgs/by-name/hy/hylafaxplus/config.site diff --git a/pkgs/servers/hylafaxplus/libtiff-4.patch b/pkgs/by-name/hy/hylafaxplus/libtiff-4.patch similarity index 100% rename from pkgs/servers/hylafaxplus/libtiff-4.patch rename to pkgs/by-name/hy/hylafaxplus/libtiff-4.patch diff --git a/pkgs/servers/hylafaxplus/default.nix b/pkgs/by-name/hy/hylafaxplus/package.nix similarity index 100% rename from pkgs/servers/hylafaxplus/default.nix rename to pkgs/by-name/hy/hylafaxplus/package.nix diff --git a/pkgs/servers/hylafaxplus/post-install-check.sh b/pkgs/by-name/hy/hylafaxplus/post-install-check.sh similarity index 100% rename from pkgs/servers/hylafaxplus/post-install-check.sh rename to pkgs/by-name/hy/hylafaxplus/post-install-check.sh diff --git a/pkgs/servers/hylafaxplus/post-install.sh b/pkgs/by-name/hy/hylafaxplus/post-install.sh similarity index 100% rename from pkgs/servers/hylafaxplus/post-install.sh rename to pkgs/by-name/hy/hylafaxplus/post-install.sh diff --git a/pkgs/servers/hylafaxplus/post-patch.sh b/pkgs/by-name/hy/hylafaxplus/post-patch.sh similarity index 100% rename from pkgs/servers/hylafaxplus/post-patch.sh rename to pkgs/by-name/hy/hylafaxplus/post-patch.sh diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f8e060c2826cf..e04133b8757c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8735,8 +8735,6 @@ with pkgs; hybridreverb2 = callPackage ../applications/audio/hybridreverb2 { }; - hylafaxplus = callPackage ../servers/hylafaxplus { }; - hyphen = callPackage ../development/libraries/hyphen { }; hyphenDicts = recurseIntoAttrs (callPackages ../development/libraries/hyphen/dictionaries.nix {}); From e2c2aae222d423938f0925360d65ab4f1f467c73 Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 8 Sep 2024 08:56:05 +0200 Subject: [PATCH 292/491] gscan2pdf: migrate to `pkgs/by-name` overlay --- .../graphics => by-name/gs}/gscan2pdf/image-utf8-fix.patch | 0 .../gscan2pdf/default.nix => by-name/gs/gscan2pdf/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 2 deletions(-) rename pkgs/{applications/graphics => by-name/gs}/gscan2pdf/image-utf8-fix.patch (100%) rename pkgs/{applications/graphics/gscan2pdf/default.nix => by-name/gs/gscan2pdf/package.nix} (100%) diff --git a/pkgs/applications/graphics/gscan2pdf/image-utf8-fix.patch b/pkgs/by-name/gs/gscan2pdf/image-utf8-fix.patch similarity index 100% rename from pkgs/applications/graphics/gscan2pdf/image-utf8-fix.patch rename to pkgs/by-name/gs/gscan2pdf/image-utf8-fix.patch diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/by-name/gs/gscan2pdf/package.nix similarity index 100% rename from pkgs/applications/graphics/gscan2pdf/default.nix rename to pkgs/by-name/gs/gscan2pdf/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e04133b8757c0..f954175ade23b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5281,8 +5281,6 @@ with pkgs; grobi = callPackage ../tools/X11/grobi { }; - gscan2pdf = callPackage ../applications/graphics/gscan2pdf { }; - gsctl = callPackage ../applications/misc/gsctl { }; gsocket = callPackage ../tools/networking/gsocket { }; From 6a6a191d00ef20a836be34ac5a8ce6fbe1dbb640 Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 8 Sep 2024 09:07:10 +0200 Subject: [PATCH 293/491] libtiff: migrate to `pkgs/by-name` overlay --- .../{development/libraries => by-name/li}/libtiff/headers.patch | 0 .../libtiff/default.nix => by-name/li/libtiff/package.nix} | 0 .../libraries => by-name/li}/libtiff/rename-version.patch | 0 pkgs/top-level/all-packages.nix | 2 -- 4 files changed, 2 deletions(-) rename pkgs/{development/libraries => by-name/li}/libtiff/headers.patch (100%) rename pkgs/{development/libraries/libtiff/default.nix => by-name/li/libtiff/package.nix} (100%) rename pkgs/{development/libraries => by-name/li}/libtiff/rename-version.patch (100%) diff --git a/pkgs/development/libraries/libtiff/headers.patch b/pkgs/by-name/li/libtiff/headers.patch similarity index 100% rename from pkgs/development/libraries/libtiff/headers.patch rename to pkgs/by-name/li/libtiff/headers.patch diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/by-name/li/libtiff/package.nix similarity index 100% rename from pkgs/development/libraries/libtiff/default.nix rename to pkgs/by-name/li/libtiff/package.nix diff --git a/pkgs/development/libraries/libtiff/rename-version.patch b/pkgs/by-name/li/libtiff/rename-version.patch similarity index 100% rename from pkgs/development/libraries/libtiff/rename-version.patch rename to pkgs/by-name/li/libtiff/rename-version.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f954175ade23b..6977276c7e188 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22090,8 +22090,6 @@ with pkgs; libtifiles2 = callPackage ../development/libraries/libtifiles2 { }; - libtiff = callPackage ../development/libraries/libtiff { }; - libtiger = callPackage ../development/libraries/libtiger { }; libtommath = callPackage ../development/libraries/libtommath { }; From 7228a7147b534df444305556718c1bfd17951cf1 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 18 Sep 2024 21:10:28 +0300 Subject: [PATCH 294/491] mesa: 24.2.2 -> 24.2.3 Diff: https://gitlab.freedesktop.org/mesa/mesa/-/compare/mesa-24.2.2...mesa-24.2.3 Changelog: https://www.mesa3d.org/relnotes/24.2.3.html --- pkgs/development/libraries/mesa/common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix index 1390ba84397e3..461dfb2fb64df 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.2.2"; + version = "24.2.3"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "mesa"; repo = "mesa"; rev = "mesa-${version}"; - hash = "sha256-1aRnG5BnFDuBOnGIb7X3yDk4PkhpBbMpp+IjfpmgtkM="; + hash = "sha256-DcDeqOd5U/jgTRWpCsNNsPT9UJ9wAJJEGjFVz1gKAUY="; }; meta = { From d2e7601de772705bdbd80ec56482b4ed9539914e Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 19 Sep 2024 00:10:37 +0200 Subject: [PATCH 295/491] protobuf_28: 28.1 -> 28.2 Diff: https://github.com/protocolbuffers/protobuf/compare/v28.1...v28.2 Changelog: https://github.com/protocolbuffers/protobuf/releases/tag/v28.2 --- pkgs/development/libraries/protobuf/28.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/protobuf/28.nix b/pkgs/development/libraries/protobuf/28.nix index a5a03c12ba148..340bac0ffe43d 100644 --- a/pkgs/development/libraries/protobuf/28.nix +++ b/pkgs/development/libraries/protobuf/28.nix @@ -2,8 +2,8 @@ callPackage ./generic.nix ( { - version = "28.1"; - hash = "sha256-D1NjI6nujLnl4jnw9P2L3U+K58KCTOjLTmJhqTTcGuI="; + version = "28.2"; + hash = "sha256-+ogjfmsbPUhqETJyHxoc1gYW/7a/JMc5l1gb/7WDqLE="; } // args ) From 17730866059c01b03b49839dd666b1ba44cfd6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Wed, 18 Sep 2024 16:32:49 -0600 Subject: [PATCH 296/491] =?UTF-8?q?libxml2:=202.13.3=20=E2=86=92=202.13.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/libraries/libxml2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index 82176e4fab892..c1f0314fc3eb5 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libxml2"; - version = "2.13.3"; + version = "2.13.4"; outputs = [ "bin" "dev" "out" "devdoc" ] ++ lib.optional pythonSupport "py" @@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor finalAttrs.version}/libxml2-${finalAttrs.version}.tar.xz"; - hash = "sha256-CAXXwYDPCcqtcWZsekWKdPBBVhpTKQJFTaUEfYOUgTg="; + hash = "sha256-ZdBC4cgBAkPmF++wKv2iC4XCFgrNv7y1smuAzsZRVlA="; }; strictDeps = true; From f7dc168c825d6e595c8e14e4917e4d9c1a1d2291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 18 Sep 2024 17:09:19 -0700 Subject: [PATCH 297/491] python312Packages.trove-classifiers: 2024.7.2 -> 2024.9.12 Changelog: https://github.com/pypa/trove-classifiers/releases/tag/2024.9.12 --- .../python-modules/trove-classifiers/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/trove-classifiers/default.nix b/pkgs/development/python-modules/trove-classifiers/default.nix index a62a953eda7a0..56520cb07b4e0 100644 --- a/pkgs/development/python-modules/trove-classifiers/default.nix +++ b/pkgs/development/python-modules/trove-classifiers/default.nix @@ -11,7 +11,7 @@ let self = buildPythonPackage rec { pname = "trove-classifiers"; - version = "2024.7.2"; + version = "2024.9.12"; pyproject = true; disabled = pythonOlder "3.7"; @@ -19,14 +19,9 @@ let src = fetchPypi { pname = "trove_classifiers"; inherit version; - hash = "sha256-gyjyrCzj/Xc8uzfHZaDteoP4ncVkx9RS8Dm2kknQrDU="; + hash = "sha256-S0az4TSk0BmZrFvG5SivzBDMSPD3JPGF8mfidgBXaPQ="; }; - postPatch = '' - substituteInPlace setup.py \ - --replace '"calver"' "" - ''; - build-system = [ calver setuptools From 40dc82c7cd7d1350d65a68c504ddff30a51fa690 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 18 Sep 2024 17:58:29 -0400 Subject: [PATCH 298/491] mupdf: fix cxx build on darwin --- .../misc/mupdf/0002-Add-Darwin-deps.patch | 57 ------------------ pkgs/applications/misc/mupdf/default.nix | 8 ++- ...ix-cpp-build.patch => fix-cpp-build.patch} | 0 .../misc/mupdf/fix-darwin-system-deps.patch | 60 +++++++++++++++++++ 4 files changed, 66 insertions(+), 59 deletions(-) delete mode 100644 pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch rename pkgs/applications/misc/mupdf/{0003-Fix-cpp-build.patch => fix-cpp-build.patch} (100%) create mode 100644 pkgs/applications/misc/mupdf/fix-darwin-system-deps.patch diff --git a/pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch b/pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch deleted file mode 100644 index 2fe1a4afd9fd2..0000000000000 --- a/pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0f0ccfc01cfe72d96eafee57ec6c5107f09c7238 Mon Sep 17 00:00:00 2001 -From: toonn -Date: Wed, 9 Mar 2022 00:08:28 +0100 -Subject: [PATCH 2/2] Add Darwin deps - ---- - Makerules | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/Makerules b/Makerules -index 6d52cca..a6bd0ed 100644 ---- a/Makerules -+++ b/Makerules -@@ -153,6 +153,40 @@ else ifeq ($(OS),MACOS) - LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO - LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto) - endif -+ # Required for mupdf-gl -+ ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes) -+ SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz) -+ SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz) -+ endif -+ ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes) -+ SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2) -+ SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2) -+ endif -+ ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes) -+ SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2) -+ SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2) -+ endif -+ ifeq ($(shell pkg-config --exists gumbo && echo yes),yes) -+ SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo) -+ SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo) -+ endif -+ # Required for mupdf-x11 -+ HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes) -+ ifeq ($(HAVE_X11),yes) -+ X11_CFLAGS := $(shell pkg-config --cflags x11 xext) -+ X11_LIBS := $(shell pkg-config --libs x11 xext) -+ endif -+ # Required for mupdf-x11-curl -+ HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes) -+ ifeq ($(HAVE_SYS_CURL),yes) -+ SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl) -+ SYS_CURL_LIBS := $(shell pkg-config --libs libcurl) -+ endif -+ HAVE_PTHREAD := yes -+ ifeq ($(HAVE_PTHREAD),yes) -+ PTHREAD_CFLAGS := -+ PTHREAD_LIBS := -lpthread -+ endif - endif - - else ifeq ($(OS),Linux) --- -2.17.2 (Apple Git-113) - diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index b54d9dd861577..6eacfd6bde87e 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -69,8 +69,12 @@ stdenv.mkDerivation rec { }; patches = [ - ./0002-Add-Darwin-deps.patch - ./0003-Fix-cpp-build.patch + # Upstream makefile does not work with system deps on macOS by default, so + # we reuse the Linux section instead. + ./fix-darwin-system-deps.patch + # Upstream C++ wrap script only defines fixed-sized integers on macOS but + # this is required on aarch64-linux too. + ./fix-cpp-build.patch ]; postPatch = '' diff --git a/pkgs/applications/misc/mupdf/0003-Fix-cpp-build.patch b/pkgs/applications/misc/mupdf/fix-cpp-build.patch similarity index 100% rename from pkgs/applications/misc/mupdf/0003-Fix-cpp-build.patch rename to pkgs/applications/misc/mupdf/fix-cpp-build.patch diff --git a/pkgs/applications/misc/mupdf/fix-darwin-system-deps.patch b/pkgs/applications/misc/mupdf/fix-darwin-system-deps.patch new file mode 100644 index 0000000000000..4a170b4c1d06d --- /dev/null +++ b/pkgs/applications/misc/mupdf/fix-darwin-system-deps.patch @@ -0,0 +1,60 @@ +diff --git a/Makerules b/Makerules +index f582dc061..2da5680b6 100644 +--- a/Makerules ++++ b/Makerules +@@ -178,39 +178,20 @@ ifneq "$(CLUSTER)" "" + endif + + ifeq ($(OS),Linux) +- LINUX_OR_OPENBSD := yes ++ LINUX_OR_OPENBSD_OR_MACOS := yes + endif + ifeq ($(OS),OpenBSD) +- LINUX_OR_OPENBSD := yes ++ LINUX_OR_OPENBSD_OR_MACOS := yes ++endif ++ifeq ($(OS),MACOS) ++ LINUX_OR_OPENBSD_OR_MACOS := yes + endif + + ifeq ($(OS),MINGW) + WINDRES := windres + HAVE_WIN32 := yes + +-else ifeq ($(OS),MACOS) +- HAVE_GLUT := yes +- SYS_GLUT_CFLAGS := -Wno-deprecated-declarations +- SYS_GLUT_LIBS := -framework GLUT -framework OpenGL +- CC = xcrun cc +- AR = xcrun ar +- LD = xcrun ld +- RANLIB = xcrun ranlib +- +- ifneq ($(ARCHFLAGS),) +- $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.") +- HAVE_LIBCRYPTO := no +- else ifeq (, $(shell command -v pkg-config)) +- $(warning "No pkg-config found, install it for proper integration of libcrypto") +- else +- HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes) +- ifeq ($(HAVE_LIBCRYPTO),yes) +- LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO +- LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto) +- endif +- endif +- +-else ifeq ($(LINUX_OR_OPENBSD),yes) ++else ifeq ($(LINUX_OR_OPENBSD_OR_MACOS),yes) + + ifeq ($(OS),Linux) + HAVE_OBJCOPY := yes +@@ -274,6 +255,9 @@ else ifeq ($(LINUX_OR_OPENBSD),yes) + ifeq ($(OS),OpenBSD) + SYS_GLUT_CFLAGS := $(shell pkg-config --cflags glut gl) + SYS_GLUT_LIBS := $(shell pkg-config --libs glut gl) ++ else ifeq ($(OS),MACOS) ++ SYS_GLUT_CFLAGS := -Wno-deprecated-declarations ++ SYS_GLUT_LIBS := -framework GLUT -framework OpenGL + else + SYS_GLUT_CFLAGS := + SYS_GLUT_LIBS := -lglut -lGL From 41f9b5724bed9d4f5423e98087997523aa32f021 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 18 Sep 2024 17:58:43 -0400 Subject: [PATCH 299/491] mupdf: fix soname hell and python bindings import --- pkgs/applications/misc/mupdf/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index 6eacfd6bde87e..baff543c38ef1 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -59,6 +59,7 @@ let }); in + stdenv.mkDerivation rec { version = "1.24.8"; pname = "mupdf"; @@ -103,7 +104,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ] ++ lib.optional (enableGL || enableX11) copyDesktopItems ++ lib.optional (stdenv.isDarwin && (enableGL || enableX11)) desktopToDarwinBundle - ++ lib.optionals (enableCxx || enablePython) [ python3 python3.pkgs.setuptools python3.pkgs.libclang ] + ++ lib.optionals (enableCxx || enablePython) [ (python3.pythonOnBuildForHost.withPackages (ps: [ ps.setuptools ps.libclang ])) ] ++ lib.optionals (enablePython) [ which swig ] ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames xcbuild ]; @@ -118,6 +119,7 @@ stdenv.mkDerivation rec { ) ++ lib.optionals enableOcr [ leptonica tesseract ] ; + outputs = [ "bin" "dev" "out" "man" "doc" ]; preConfigure = '' @@ -170,7 +172,6 @@ stdenv.mkDerivation rec { EOF moveToOutput "bin" "$bin" - cp ./build/shared-release/libmupdf${stdenv.hostPlatform.extensions.sharedLibrary}* $out/lib '' + (lib.optionalString (stdenv.isDarwin) '' for exe in $bin/bin/*; do install_name_tool -change build/shared-release/libmupdf.dylib $out/lib/libmupdf.dylib "$exe" @@ -184,17 +185,19 @@ stdenv.mkDerivation rec { ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf" '') + (lib.optionalString (enableCxx) '' cp platform/c++/include/mupdf/*.h $out/include/mupdf - cp build/*/libmupdfcpp.so* $out/lib + cp build/*/libmupdfcpp.so $out/lib '') + (lib.optionalString (enablePython) ('' mkdir -p $out/${python3.sitePackages}/mupdf - cp build/*/_mupdf.so $out/${python3.sitePackages} + cp build/*/_mupdf.so $out/${python3.sitePackages}/mupdf cp build/*/mupdf.py $out/${python3.sitePackages}/mupdf/__init__.py '' + lib.optionalString (stdenv.isDarwin) '' - install_name_tool -add_rpath $out/lib $out/${python3.sitePackages}/_mupdf.so + install_name_tool -add_rpath $out/lib $out/${python3.sitePackages}/mupdf/_mupdf.so '')); enableParallelBuilding = true; + env.USE_SONAME = "no"; + passthru = { tests = { inherit cups-filters zathura; @@ -216,8 +219,5 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ fpletz ]; platforms = platforms.unix; mainProgram = "mupdf"; - # ImportError: cannot import name '_mupdf' from partially initialized module 'mupdf' - # (most likely due to a circular import) - broken = enablePython; }; } From 53313da4ea166c63d11639d6e5666a3db6bc282c Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 18 Sep 2024 19:54:48 -0400 Subject: [PATCH 300/491] mupdf: 1.24.8 -> 1.24.9 --- pkgs/applications/misc/mupdf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index baff543c38ef1..3086dc07baac8 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -61,12 +61,12 @@ let in stdenv.mkDerivation rec { - version = "1.24.8"; + version = "1.24.9"; pname = "mupdf"; src = fetchurl { url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz"; - hash = "sha256-pRjZvpds2yAG1FOC1/+xubjWS8P9PLc8picNdS+n9Eg="; + hash = "sha256-C0RqoO7MEU6ZadzNcMl4k1j8y2WJqB1HDclBoIdNqYo="; }; patches = [ From 9c4bcdc56c13051de642165e2cf6f470d7d03e12 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 18 Sep 2024 19:57:05 -0400 Subject: [PATCH 301/491] python3Packages.pymupdf: 1.24.8 -> 1.24.10 --- pkgs/development/python-modules/pymupdf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index f54a8b7a84628..87178c4616938 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -40,7 +40,7 @@ let in buildPythonPackage rec { pname = "pymupdf"; - version = "1.24.8"; + version = "1.24.10"; pyproject = true; disabled = pythonOlder "3.7"; @@ -49,7 +49,7 @@ buildPythonPackage rec { owner = "pymupdf"; repo = "PyMuPDF"; rev = "refs/tags/${version}"; - hash = "sha256-NG4ZJYMYTQHiqpnaOz7hxf5UW417UKawe5EqXaBnKJ8="; + hash = "sha256-QAcQPWzPTnTg3l5lGJ8me4FUbK7xgXgyYHep+rF3wf4="; }; # swig is not wrapped as Python package From 3d0c8d963a228c03ef6d0e621013ed1c69fc6aa3 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 18 Sep 2024 20:11:55 -0400 Subject: [PATCH 302/491] pymupdf-fonts: init at 1.0.5 --- .../python-modules/pymupdf-fonts/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 1 + 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/python-modules/pymupdf-fonts/default.nix diff --git a/pkgs/development/python-modules/pymupdf-fonts/default.nix b/pkgs/development/python-modules/pymupdf-fonts/default.nix new file mode 100644 index 0000000000000..b50e49e703de0 --- /dev/null +++ b/pkgs/development/python-modules/pymupdf-fonts/default.nix @@ -0,0 +1,31 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, +}: + +buildPythonPackage rec { + pname = "pymupdf-fonts"; + version = "1.0.5"; + pyproject = true; + + src = fetchPypi { + pname = "pymupdf_fonts"; + inherit version; + hash = "sha256-rBLj7Er/o16aCsopE170HCO9vldYwzVdrCNphjCea8Y="; + }; + + build-system = [ + setuptools + ]; + + pythonImportsCheck = [ "pymupdf_fonts" ]; + + meta = { + description = "Collection of optional fonts for PyMuPDF"; + homepage = "https://github.com/pymupdf/pymupdf-fonts"; + license = lib.licenses.ofl; + maintainers = [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2c4b0027a301a..48cd1fc579478 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11655,6 +11655,7 @@ self: super: with self; { }; pymupdf = callPackage ../development/python-modules/pymupdf { }; + pymupdf-fonts = callPackage ../development/python-modules/pymupdf-fonts { }; pymvglive = callPackage ../development/python-modules/pymvglive { }; From 65564f03966f09c0f05d47d586474a83b1082916 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 18 Sep 2024 17:59:01 -0400 Subject: [PATCH 303/491] python3Packages.pymupdf: clean up checks and testing exceptions --- .../python-modules/pymupdf/default.nix | 109 ++++-------------- 1 file changed, 24 insertions(+), 85 deletions(-) diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index 87178c4616938..21b4a6f2b8690 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -25,8 +25,10 @@ mupdf, # tests - fonttools, pytestCheckHook, + fonttools, + pillow, + pymupdf-fonts, }: let @@ -96,96 +98,33 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook + ]; + + checkInputs = [ fonttools + pillow + pymupdf-fonts ]; - preCheck = '' - export PATH="$PATH:$out/bin"; - ''; + disabledTests = [ + # Do not lint code + "test_codespell" + "test_pylint" + "test_flake8" + # Upstream recommends disabling these when not using bundled MuPDF build + "test_color_count" + "test_3050" + "test_textbox3" + ]; - disabledTests = - [ - # Fails in release tarballs without .git - "test_codespell" - "test_pylint" - # fails for indeterminate reasons - "test_2548" - "test_2753" - "test_3020" - "test_3050" - "test_3058" - "test_3177" - "test_3186" - "test_color_count" - "test_pilsave" - "test_fz_write_pixmap_as_jpeg" - # NotImplementedError - "test_1824" - "test_2093" - "test_2093" - "test_2108" - "test_2182" - "test_2182" - "test_2246" - "test_2270" - "test_2270" - "test_2391" - "test_2788" - "test_2861" - "test_2871" - "test_2886" - "test_2904" - "test_2922" - "test_2934" - "test_2957" - "test_2969" - "test_3070" - "test_3131" - "test_3140" - "test_3209" - "test_3209" - "test_3301" - "test_3347" - "test_caret" - "test_deletion" - "test_file_info" - "test_line" - "test_page_links_generator" - "test_polyline" - "test_redact" - "test_techwriter_append" - "test_text2" - # Issue with FzArchive - "test_htmlbox" - "test_2246" - "test_3140" - "test_3400" - "test_707560" - "test_open" - "test_objectstream1" - "test_objectstream2" - "test_objectstream3" - "test_fit_springer" - "test_write_stabilized_with_links" - "test_textbox" - "test_delete_image" - # Fonts not available - "test_fontarchive" - "test_subset_fonts" - # Exclude lint tests - "test_flake8" - ] - ++ lib.optionals stdenv.isDarwin [ - # darwin does not support OCR right now - "test_tesseract" - ]; - - disabledTestPaths = [ - # Issue with FzArchive - "tests/test_docs_samples.py" + pythonImportsCheck = [ + "pymupdf" + "fitz" ]; - pythonImportsCheck = [ "fitz" ]; + preCheck = '' + export PATH="$out/bin:$PATH"; + ''; meta = { description = "Python bindings for MuPDF's rendering library"; From 1fd4a81e1b21a0eb80f051be4415a383dd10ea06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 18 Sep 2024 19:37:50 -0700 Subject: [PATCH 304/491] libssh: 0.10.6 -> 0.11.1 Changelog: https://www.libssh.org/2024/08/08/libssh-0-11-0-release/ https://www.libssh.org/2024/08/30/libssh-0-11-1-release/ --- pkgs/development/libraries/libssh/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix index 15f8fab508896..be94c99aa389c 100644 --- a/pkgs/development/libraries/libssh/default.nix +++ b/pkgs/development/libraries/libssh/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "libssh"; - version = "0.10.6"; + version = "0.11.1"; src = fetchurl { url = "https://www.libssh.org/files/${lib.versions.majorMinor version}/libssh-${version}.tar.xz"; - hash = "sha256-GGHUmPW28XQbarxz5ghHhJHtz5ydS2Yw7vbnRZbencE="; + hash = "sha256-FLfcxy6R4IFRxYuYGntXCrJmP2MOfSg3ZF1anGEsG3k="; }; # Do not split 'dev' output until lib/cmake/libssh/libssh-config.cmake From 0b3382016aede0ef95359478eb11b5c8d85423b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 18 Sep 2024 19:55:19 -0700 Subject: [PATCH 305/491] libssh: split outputs --- pkgs/development/libraries/libssh/default.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix index be94c99aa389c..ad6a4322bc1a4 100644 --- a/pkgs/development/libraries/libssh/default.nix +++ b/pkgs/development/libraries/libssh/default.nix @@ -22,11 +22,7 @@ stdenv.mkDerivation rec { hash = "sha256-FLfcxy6R4IFRxYuYGntXCrJmP2MOfSg3ZF1anGEsG3k="; }; - # Do not split 'dev' output until lib/cmake/libssh/libssh-config.cmake - # is fixed to point INTERFACE_INCLUDE_DIRECTORIES to .dev output. - # Otherwise it breaks `plasma5Packages.kio-extras`: - # https://hydra.nixos.org/build/221540008/nixlog/3/tail - #outputs = [ "out" "dev" ]; + outputs = [ "out" "dev" ]; postPatch = '' # Fix headers to use libsodium instead of NaCl @@ -37,13 +33,15 @@ stdenv.mkDerivation rec { # included in `buildInputs` such as libX11. cmakeFlags = [ "-DWITH_EXAMPLES=OFF" ]; - # single output, otherwise cmake and .pc files point to the wrong directory - # outputs = [ "out" "dev" ]; - buildInputs = [ zlib openssl libsodium ]; nativeBuildInputs = [ cmake pkg-config ]; + postFixup = '' + substituteInPlace $dev/lib/cmake/libssh/libssh-config.cmake \ + --replace-fail "set(_IMPORT_PREFIX \"$out\")" "set(_IMPORT_PREFIX \"$dev\")" + ''; + passthru.tests = { inherit ffmpeg sshping wireshark; }; From 350a819a36b585257d7ed19f07ab6169e4a0cd35 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Mon, 16 Sep 2024 15:37:30 +1000 Subject: [PATCH 306/491] go, buildGoModule, buildGoPackage: default to 1.23 --- pkgs/top-level/all-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6285e93dea602..f6611c79f8228 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24094,9 +24094,9 @@ with pkgs; ### DEVELOPMENT / GO # the unversioned attributes should always point to the same go version - go = go_1_22; - buildGoModule = buildGo122Module; - buildGoPackage = buildGo122Package; + go = go_1_23; + buildGoModule = buildGo123Module; + buildGoPackage = buildGo123Package; # requires a newer Apple SDK go_1_21 = darwin.apple_sdk_11_0.callPackage ../development/compilers/go/1.21.nix { From afe5a481155c2a4e384315b198d796969f4f46be Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Thu, 19 Sep 2024 09:09:02 +0200 Subject: [PATCH 307/491] python312Packages.protobuf: 5.28.1 -> 5.28.2 Changelog: https://github.com/protocolbuffers/protobuf/releases/v5.28.2 --- pkgs/development/python-modules/protobuf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix index 74cce747222a3..31b4a8f60f72a 100644 --- a/pkgs/development/python-modules/protobuf/default.nix +++ b/pkgs/development/python-modules/protobuf/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "protobuf"; - version = "5.28.1"; + version = "5.28.2"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-Qll+k4+Du38+SzXwOqRSCNSa6NW8tLwQufyCXgq15CM="; + hash = "sha256-WTeWdP8RlxdAT3RUZHkTeHA08D/nBJy+8ddKl7tFk/A="; }; build-system = [ setuptools ]; From e06e75df0e6a7f286fc14487b72a81e485f818fa Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 19 Sep 2024 09:04:54 +0100 Subject: [PATCH 308/491] graphviz: 12.1.0 -> 12.1.1 Changes: https://gitlab.com/graphviz/graphviz/-/blob/12.1.1/CHANGELOG.md --- pkgs/tools/graphics/graphviz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index 5cb3c24bc150f..4148e1ef6f980 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -32,13 +32,13 @@ let in stdenv.mkDerivation rec { pname = "graphviz"; - version = "12.1.0"; + version = "12.1.1"; src = fetchFromGitLab { owner = "graphviz"; repo = "graphviz"; rev = version; - hash = "sha256-C+FFmWExEzPsDAmUiu/HmRVmb1Km4dJujagxN+v0uWw="; + hash = "sha256-r4V0iX+7169QG7nW2RjoUfrDh11zm6zdvtGt4E91kIE="; }; nativeBuildInputs = [ From 892b7e93c849a214efb4a689ed1aa310b0bfa95e Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 19 Sep 2024 09:11:41 +0100 Subject: [PATCH 309/491] git: 2.46.0 -> 2.46.1 Changes: https://lore.kernel.org/all/023601db070c$db740f60$925c2e20$@nexbridge.com/T/ --- pkgs/applications/version-management/git/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git/default.nix b/pkgs/applications/version-management/git/default.nix index dd1b96c29a8cc..ba2890707ebe2 100644 --- a/pkgs/applications/version-management/git/default.nix +++ b/pkgs/applications/version-management/git/default.nix @@ -29,7 +29,7 @@ assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.46.0"; + version = "2.46.1"; svn = subversionClient.override { perlBindings = perlSupport; }; gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ]; in @@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - hash = "sha256-fxI0YqKLfKPr4mB0hfcWhVTCsQ38FVx+xGMAZmrCf5U="; + hash = "sha256-iIyvuL1qtMu+vBaAQKiFDrCI+B3DrCYXGVz8CHfw9UM="; }; outputs = [ "out" ] ++ lib.optional withManual "doc"; From 94198d052ddb316218cf0bf14648454e3e871323 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 19 Sep 2024 13:09:29 +0300 Subject: [PATCH 310/491] pipewire: 1.2.3 -> 1.2.4 Diff: https://gitlab.freedesktop.org/pipewire/pipewire/-/compare/1.2.3...1.2.4 Changelog: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/1.2.4 --- 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 2ffd9eb2bf3f6..0d1b313ac55fc 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation(finalAttrs: { pname = "pipewire"; - version = "1.2.3"; + version = "1.2.4"; outputs = [ "out" @@ -74,7 +74,7 @@ stdenv.mkDerivation(finalAttrs: { owner = "pipewire"; repo = "pipewire"; rev = finalAttrs.version; - sha256 = "sha256-sdbv1PqLMGlRXe42pgNW5tNtQ3tEYWCwndZQQQEM6ig="; + sha256 = "sha256-G63vxglQWYC2j66pcEwuio1jE/S2bFZYUK3xnyk2eKs="; }; patches = [ From 0c477676412564bd2d5dadc37cf245fe4259f4d9 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Thu, 12 Sep 2024 19:15:29 +0200 Subject: [PATCH 311/491] postgresql: improve fake pg_config in default output This fixes some build systems which look up the location of pg_config via the location of the postgres binary itself, e.g. timescaledb, instead of calling pg_config which is on PATH. Since the -dev output is correctly placed before the default output of postgresql in PATH, we can rely on that and call "pg_config" from the default output's fake script. Only do that, when the one on PATH is actually a different file, though, to prevent infinite loops. Resolves #341408 --- pkgs/servers/sql/postgresql/generic.nix | 19 +++++++------ pkgs/servers/sql/postgresql/pg_config.sh | 35 ++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 pkgs/servers/sql/postgresql/pg_config.sh diff --git a/pkgs/servers/sql/postgresql/generic.nix b/pkgs/servers/sql/postgresql/generic.nix index de9dc49a09e1c..ce922e807667d 100644 --- a/pkgs/servers/sql/postgresql/generic.nix +++ b/pkgs/servers/sql/postgresql/generic.nix @@ -6,7 +6,8 @@ let , glibc, zlib, readline, openssl, icu, lz4, zstd, systemdLibs, libossp_uuid , pkg-config, libxml2, tzdata, libkrb5, substituteAll, darwin , linux-pam - , removeReferencesTo + + , removeReferencesTo, writeShellApplication # This is important to obtain a version of `libpq` that does not depend on systemd. , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs && !stdenv.hostPlatform.isStatic @@ -54,6 +55,11 @@ let }) else stdenv; + + pg_config = writeShellApplication { + name = "pg_config"; + text = builtins.readFile ./pg_config.sh; + }; in stdenv'.mkDerivation (finalAttrs: { inherit version; pname = pname + lib.optionalString jitSupport "-jit"; @@ -201,15 +207,10 @@ let moveToOutput "lib/pgxs" "$dev" # Pretend pg_config is located in $out/bin to return correct paths, but - # actually have it in -dev to avoid pulling in all other outputs. + # actually have it in -dev to avoid pulling in all other outputs. See the + # pg_config.sh script's comments for details. moveToOutput "bin/pg_config" "$dev" - # To prevent a "pg_config: could not find own program executable" error, we fake - # pg_config in the default output. - cat << EOF > "$out/bin/pg_config" && chmod +x "$out/bin/pg_config" - #!${stdenv'.shell} - echo The real pg_config can be found in the -dev output. - exit 1 - EOF + install -c -m 755 "${pg_config}"/bin/pg_config "$out/bin/pg_config" wrapProgram "$dev/bin/pg_config" --argv0 "$out/bin/pg_config" # postgres exposes external symbols get_pkginclude_path and similar. Those diff --git a/pkgs/servers/sql/postgresql/pg_config.sh b/pkgs/servers/sql/postgresql/pg_config.sh new file mode 100644 index 0000000000000..9538b213fb97a --- /dev/null +++ b/pkgs/servers/sql/postgresql/pg_config.sh @@ -0,0 +1,35 @@ +# The real pg_config needs to be in the same path as the "postgres" binary +# to return proper paths. However, we want it in the -dev output to prevent +# cyclic references and to prevent blowing up the runtime closure. Thus, we +# have wrapped -dev/bin/pg_config to fake its argv0 to be in the default +# output. Unfortunately, pg_config tries to be smart and tries to find itself - +# which will then fail with: +# pg_config: could not find own program executable +# To counter this, we're creating *this* fake pg_config script and put it into +# the default output. The real pg_config is happy. +# Some extensions, e.g. timescaledb, use the reverse logic and look for pg_config +# in the same path as the "postgres" binary to support multi-version-installs. +# Thus, they will end up calling this script during build, even though the real +# pg_config would be available on PATH, provided by nativeBuildInputs. To help +# this case, we're redirecting the call to pg_config to the one found in PATH, +# iff we can be convinced that it belongs to our -dev output. + +# Avoid infinite recursion +if [[ ! -v PG_CONFIG_CALLED ]]; then + # compares "path of *this* script" with "path, which pg_config on PATH believes it is in" + if [[ "$(readlink -f -- "$0")" == "$(PG_CONFIG_CALLED=1 pg_config --bindir)/pg_config" ]]; then + # The pg_config in PATH returns the same bindir that we're actually called from. + # This means that the pg_config in PATH is the one from "our" -dev output. + # This happens when the -dev output has been put in native build + # inputs and allows us to call the real pg_config without referencing + # the -dev output itself. + exec pg_config "$@" + fi +fi + +# This will happen in one of these cases: +# - *this* script is the first on PATH +# - np pg_config on PATH +# - some other pg_config on PATH, not from our -dev output +echo The real pg_config can be found in the -dev output. +exit 1 From f32ec5e6d71f435ec47ad62cf275727a46c092a6 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 19 Sep 2024 23:09:26 +0300 Subject: [PATCH 312/491] buildenv: don't pass null paths to writeClosure --- pkgs/build-support/buildenv/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix index 8f4fad8832536..5183a358ce701 100644 --- a/pkgs/build-support/buildenv/default.nix +++ b/pkgs/build-support/buildenv/default.nix @@ -69,7 +69,11 @@ let priority = drv.meta.priority or lib.meta.defaultPriority; }) paths; - pathsForClosure = lib.flatten (map (p: p.paths) chosenOutputs); + pathsForClosure = lib.pipe chosenOutputs [ + (map (p: p.paths)) + lib.flatten + (lib.remove null) + ]; in runCommand name rec { inherit manifest ignoreCollisions checkCollisionContents passthru From 9acca21fb54894ae2975d0bf2f8054f36853c877 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 20 Sep 2024 02:51:28 +0300 Subject: [PATCH 313/491] default-gcc-version: Remove conditional for vc4 and relibc `gcc6` was removed in a42d18b4e601cfa6ca76a34adb369a40e4a7f10c `relibc` was removed in e6f33f4a94e0ebe6f0624af51af190beee64f2a9 `pkgsCross.vc4.stdenv.cc` is broken in the patching of binutils --- pkgs/top-level/all-packages.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b34c48afbf69..e6f858acb1ddc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14853,9 +14853,7 @@ with pkgs; gbforth = callPackage ../development/compilers/gbforth { }; - default-gcc-version = - if (with stdenv.targetPlatform; isVc4 || libc == "relibc") then 6 - else 14; + default-gcc-version = 14; gcc = pkgs.${"gcc${toString default-gcc-version}"}; gccFun = callPackage ../development/compilers/gcc; gcc-unwrapped = gcc.cc; From c3948c21ef00fbf8ef02f3c2922e84ba72e8a62b Mon Sep 17 00:00:00 2001 From: bobby3605 Date: Tue, 17 Sep 2024 00:35:32 -0500 Subject: [PATCH 314/491] glslang: build shared libraries shared libraries are required for some of the c++ api classes such as TShader --- pkgs/development/compilers/glslang/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix index 9d67dde87c2d4..5c39c5d5c1f0a 100644 --- a/pkgs/development/compilers/glslang/default.nix +++ b/pkgs/development/compilers/glslang/default.nix @@ -28,6 +28,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake python3 bison jq ]; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; + postPatch = '' cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers From 4092c0d8507cea3068cf7ad2c58e8d1d2a3cb676 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Fri, 20 Sep 2024 08:55:10 +0800 Subject: [PATCH 315/491] emacs: make trivialBuild know its elisp dependencies in another way Previously, trivialBuild did not know how to find its elisp dependencies. This was[1] fixed[2] by basically rewriting part of package-activate-all in bash. I think it is better to call package-activate-all (or package-initialize if Emacs is old) directly. It reduces maintenance burden a bit. It also improves consistency since elpaBuild and melpaBuild already do so. This change provides almost the same functionality as before. It only breaks elisp packages with non-standard[^3] elisp dependencies. However, I think those non-standard ones should be fixed instead. As an example, mu4e used to be a non-standard one and was fixed[4]. This change does not cause more build failures in emacsPackages. [1]: https://github.com/NixOS/nixpkgs/pull/82604 [2]: https://github.com/NixOS/nixpkgs/commit/bf486f784ddd969c03243dba4c93d0e8e861173e [^3]: Non-standard elisp packages do not meet requirements of package.el, the builtin package manager of Emacs. Usually, they are installed to $out/share/emacs/site-lisp/$pname-$version and/or miss a $pname-pkg.el file. [4]: https://github.com/NixOS/nixpkgs/pull/253438 --- .../editors/emacs/build-support/emacs-funcs.sh | 11 ----------- .../editors/emacs/build-support/generic.nix | 4 ++++ .../editors/emacs/build-support/trivial.nix | 2 +- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/editors/emacs/build-support/emacs-funcs.sh b/pkgs/applications/editors/emacs/build-support/emacs-funcs.sh index e1e6a3b622087..b6b2a3bd374d9 100644 --- a/pkgs/applications/editors/emacs/build-support/emacs-funcs.sh +++ b/pkgs/applications/editors/emacs/build-support/emacs-funcs.sh @@ -20,15 +20,4 @@ addEmacsVars () { if [ -n "${addEmacsNativeLoadPath:-}" ]; then addToEmacsNativeLoadPath "$1/share/emacs/native-lisp" fi - - # Add sub paths to the Emacs load path if it is a directory - # containing .el files. This is necessary to build some packages, - # e.g., using trivialBuild. - for lispDir in \ - "$1/share/emacs/site-lisp/"* \ - "$1/share/emacs/site-lisp/elpa/"*; do - if [[ -d $lispDir && "$(echo "$lispDir"/*.el)" ]] ; then - addToEmacsLoadPath "$lispDir" - fi - done } diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index 9f1b2308cc434..b032b587b798c 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -86,10 +86,14 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: source ${./emacs-funcs.sh} addEmacsVars "$out" + # package-activate-all is used to activate packages. In other builder + # helpers, package-initialize is used for this purpose because + # package-activate-all is not available before Emacs 27. find $out/share/emacs -type f -name '*.el' -not -name ".dir-locals.el" -print0 \ | xargs --verbose -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \ "emacs \ --batch \ + -f package-activate-all \ --eval '(setq native-comp-eln-load-path (cdr native-comp-eln-load-path))' \ --eval '(setq large-file-warning-threshold nil)' \ --eval '(setq byte-compile-error-on-warn ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"})' \ diff --git a/pkgs/applications/editors/emacs/build-support/trivial.nix b/pkgs/applications/editors/emacs/build-support/trivial.nix index 8c515363f427b..2e4da1ca8ea02 100644 --- a/pkgs/applications/editors/emacs/build-support/trivial.nix +++ b/pkgs/applications/editors/emacs/build-support/trivial.nix @@ -19,7 +19,7 @@ args: foundMakefile=1 fi - emacs -L . --batch -f batch-byte-compile *.el + emacs -l package -f package-initialize -L . --batch -f batch-byte-compile *.el runHook postBuild ''; From 49a9fd3f168f836cee7f9cba43a5d841608f9d39 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Fri, 20 Sep 2024 15:20:51 +0800 Subject: [PATCH 316/491] emacs: make sure the pinned package-build is used package-build is also in MELPA. Currently, two packages depend on it. When building such a package, package-build is added to EMACSLOADPATH by the setup hook. Previously, package-initialize is called in the buildPhase of melpaBuild, which may cause package-build from MELPA to be used instead of the pinned one depending on the entries of EMACSLOADPATH. This patch removes the unneeded package-initialize to make sure the pinned package-build is used. Accidentally, this patch reduces build time of emacsPackages from 30 minutes to 24 minutes on my machine. --- pkgs/applications/editors/emacs/build-support/melpa2nix.el | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/applications/editors/emacs/build-support/melpa2nix.el b/pkgs/applications/editors/emacs/build-support/melpa2nix.el index 3de77dbf5e5c6..91706e92f7334 100644 --- a/pkgs/applications/editors/emacs/build-support/melpa2nix.el +++ b/pkgs/applications/editors/emacs/build-support/melpa2nix.el @@ -1,6 +1,3 @@ -(require 'package) -(package-initialize) - (require 'package-recipe) (require 'package-build) From 014bc46560aea4bb749ada242e7dde1df874f918 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 16 Sep 2024 17:36:56 +0200 Subject: [PATCH 317/491] libsass: enable parallel building Tested at -j20. --- pkgs/development/libraries/libsass/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix index aedcafd4ce73b..c63dd35097cc8 100644 --- a/pkgs/development/libraries/libsass/default.nix +++ b/pkgs/development/libraries/libsass/default.nix @@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoreconfHook ]; + enableParallelBuilding = true; + passthru.tests = { inherit gtk3 gtk4 sassc; pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; From 3a0c099ef46aaeb79dbe2fd8d2bc955fc2cec4a4 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 15 Sep 2024 11:27:42 +0200 Subject: [PATCH 318/491] kexec-tools: enable parallel building Tested at -j20. --- pkgs/os-specific/linux/kexec-tools/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/kexec-tools/default.nix b/pkgs/os-specific/linux/kexec-tools/default.nix index 22ba985fecceb..15d26cd7e016a 100644 --- a/pkgs/os-specific/linux/kexec-tools/default.nix +++ b/pkgs/os-specific/linux/kexec-tools/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { depsBuildBuild = [ buildPackages.stdenv.cc ]; buildInputs = [ zlib ]; + enableParallelBuilding = true; + meta = with lib; { homepage = "http://horms.net/projects/kexec/kexec-tools"; description = "Tools related to the kexec Linux feature"; From 345bbd89a6d50d3188f062d8c203d808d55b5da9 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 16 Sep 2024 17:31:45 +0200 Subject: [PATCH 319/491] python3Packages.executing: 2.0.1 -> 2.1.0; fix Python 3.12.6 --- .../python-modules/executing/default.nix | 12 +- .../python-modules/executing/get_iter.patch | 192 ------------------ 2 files changed, 8 insertions(+), 196 deletions(-) delete mode 100644 pkgs/development/python-modules/executing/get_iter.patch diff --git a/pkgs/development/python-modules/executing/default.nix b/pkgs/development/python-modules/executing/default.nix index e9bdb9bf737c4..1c20e1b16d282 100644 --- a/pkgs/development/python-modules/executing/default.nix +++ b/pkgs/development/python-modules/executing/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch, pythonAtLeast, pythonOlder, @@ -18,7 +19,7 @@ buildPythonPackage rec { pname = "executing"; - version = "2.0.1"; + version = "2.1.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -27,12 +28,15 @@ buildPythonPackage rec { owner = "alexmojaki"; repo = pname; rev = "v${version}"; - hash = "sha256-PBvfkv9GQ5Vj5I5SygtmHXtqqHMJ4XgNV1/I+lSU0/U="; + hash = "sha256-epgKMPOvPdkpRp0n5A22gZ5DeXLyI60bqzLTx5JFlLk="; }; patches = [ - # TODO: replace after the PR is merged or tagged - ./get_iter.patch + (fetchpatch { + name = "python-3.12.6.patch"; + url = "https://github.com/alexmojaki/executing/commit/3f11fdcd7a017fbdca8a3a9de23dab18d3ba2100.patch"; + hash = "sha256-ZnTO9lT+bj4nekPx4D0DxjhJOCkZn6lDm5xdLrziB+4="; + }) ]; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/executing/get_iter.patch b/pkgs/development/python-modules/executing/get_iter.patch deleted file mode 100644 index c8d5bc7a1d563..0000000000000 --- a/pkgs/development/python-modules/executing/get_iter.patch +++ /dev/null @@ -1,192 +0,0 @@ -https://github.com/alexmojaki/executing/pull/83#pullrequestreview-2244302661 - - -From 0b913873b9db8c157a8dd581e8771242bcb8864b Mon Sep 17 00:00:00 2001 -From: Frank Hoffmann <15r10nk-git@polarbit.de> -Date: Fri, 16 Aug 2024 22:51:32 +0200 -Subject: [PATCH 1/4] fix: backward compatibility fix for changed source - positions in 3.12.5 (#82) - ---- - executing/_position_node_finder.py | 27 +++++++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py -index 8ca21a6..9a3f8b3 100644 ---- a/executing/_position_node_finder.py -+++ b/executing/_position_node_finder.py -@@ -156,6 +156,8 @@ def __init__(self, frame: FrameType, stmts: Set[EnhancedAST], tree: ast.Module, - typ=typ, - ) - -+ self.result = self.fix_result(self.result, self.instruction(lasti)) -+ - self.known_issues(self.result, self.instruction(lasti)) - - self.test_for_decorator(self.result, lasti) -@@ -213,6 +215,31 @@ def test_for_decorator(self, node: EnhancedAST, index: int) -> None: - if sys.version_info < (3, 12): - index += 4 - -+ def fix_result( -+ self, node: EnhancedAST, instruction: dis.Instruction -+ ) -> EnhancedAST: -+ if ( -+ sys.version_info >= (3, 12, 5) -+ and instruction.opname in ("GET_ITER", "FOR_ITER") -+ and isinstance(node, ast.For) -+ ): -+ # node positions have changed in 3.13 -+ # https://github.com/python/cpython/issues/93691#event-13151024246 -+ # `for` calls __iter__ and __next__ during execution, the calling -+ # expression of these calls was the ast.For node since cpython 3.11 (see test_iter). -+ # cpython 3.13 changed this to the `iter` node of the loop, to make tracebacks easier to read. -+ # This keeps backward compatibility with older executing versions. -+ -+ # there are also cases like: -+ # -+ # for a in iter(l): pass -+ # -+ # where `iter(l)` would be otherwise the resulting node for the `iter()` call and the __iter__ call of the for implementation. -+ # keeping the old behaviour makes it possible to distinguish both cases. -+ -+ return self.result.parent -+ return node -+ - def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None: - if instruction.opname in ("COMPARE_OP", "IS_OP", "CONTAINS_OP") and isinstance( - node, types_cmp_issue - -From d421795d8213abb4fea30067af0149d3a767fed4 Mon Sep 17 00:00:00 2001 -From: Frank Hoffmann <15r10nk-git@polarbit.de> -Date: Tue, 4 Jun 2024 19:46:57 +0200 -Subject: [PATCH 2/4] feat!: dropped support for 3.5, 3.6 and 3.7 - ---- - .github/workflows/test.yml | 2 +- - setup.cfg | 5 +---- - tox.ini | 4 ++-- - 3 files changed, 4 insertions(+), 7 deletions(-) - -diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml -index 8fca81a..140de04 100644 ---- a/.github/workflows/test.yml -+++ b/.github/workflows/test.yml -@@ -12,7 +12,7 @@ jobs: - runs-on: ubuntu-20.04 - strategy: - matrix: -- python-version: [3.5, 3.6, 3.7, 3.8, 3.9, '3.10', 3.11, 3.12-dev, pypy-3.6] -+ python-version: [3.8, 3.9, '3.10', 3.11, 3.12-dev] - - steps: - - uses: actions/checkout@v2 -diff --git a/setup.cfg b/setup.cfg -index fdf901f..ed446d0 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -11,9 +11,6 @@ classifiers = - License :: OSI Approved :: MIT License - Programming Language :: Python - Programming Language :: Python :: 3 -- Programming Language :: Python :: 3.5 -- Programming Language :: Python :: 3.6 -- Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 -@@ -25,7 +22,7 @@ packages = executing - zip_safe = False - include_package_data = True - setup_requires = setuptools; setuptools_scm[toml] --python_requires = >=3.5 -+python_requires = >=3.8 - - [options.extras_require] - tests= -diff --git a/tox.ini b/tox.ini -index 3566691..6c68c4e 100644 ---- a/tox.ini -+++ b/tox.ini -@@ -1,5 +1,5 @@ - [tox] --envlist = py35,py36,py37,py38,py39,py310,py311,py312,pypy35,pypy36 -+envlist = py38,py39,py310,py311,py312,pypy35,pypy36 - - [testenv] - commands = -@@ -10,7 +10,7 @@ passenv = - ADD_EXECUTING_TESTS - EXECUTING_SLOW_TESTS - --[testenv:generate_small_sample-py{35,36,37,38,39,310,311}] -+[testenv:generate_small_sample-py{38,39,310,311,312}] - extras = tests - deps = pysource-minimize - commands = - -From 3c5ae436a4cff833606ce22c637d088481442154 Mon Sep 17 00:00:00 2001 -From: Frank Hoffmann <15r10nk-git@polarbit.de> -Date: Sat, 17 Aug 2024 11:32:44 +0200 -Subject: [PATCH 3/4] test: skip module tests for python.py - ---- - tests/test_main.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/tests/test_main.py b/tests/test_main.py -index bc015cd..84b1305 100644 ---- a/tests/test_main.py -+++ b/tests/test_main.py -@@ -810,6 +810,9 @@ def test_module_files(self): - or 'pyparsing.py' in filename - or 'enum' in filename - ) -+ or sys.version_info < (3,11) and ( -+ 'python.py' in filename -+ ) - ): - continue - - -From f15a55201be20f30664df4381f4a81407e0d25fb Mon Sep 17 00:00:00 2001 -From: Frank Hoffmann <15r10nk-git@polarbit.de> -Date: Sun, 18 Aug 2024 14:02:30 +0200 -Subject: [PATCH 4/4] refactor: review changes - ---- - executing/_position_node_finder.py | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py -index 9a3f8b3..7a0cca6 100644 ---- a/executing/_position_node_finder.py -+++ b/executing/_position_node_finder.py -@@ -221,13 +221,14 @@ def fix_result( - if ( - sys.version_info >= (3, 12, 5) - and instruction.opname in ("GET_ITER", "FOR_ITER") -- and isinstance(node, ast.For) -+ and isinstance(node.parent, ast.For) -+ and node is node.parent.iter - ): -- # node positions have changed in 3.13 -- # https://github.com/python/cpython/issues/93691#event-13151024246 -+ # node positions have changed in 3.12.5 -+ # https://github.com/python/cpython/issues/93691 - # `for` calls __iter__ and __next__ during execution, the calling - # expression of these calls was the ast.For node since cpython 3.11 (see test_iter). -- # cpython 3.13 changed this to the `iter` node of the loop, to make tracebacks easier to read. -+ # cpython 3.12.5 changed this to the `iter` node of the loop, to make tracebacks easier to read. - # This keeps backward compatibility with older executing versions. - - # there are also cases like: -@@ -237,7 +238,7 @@ def fix_result( - # where `iter(l)` would be otherwise the resulting node for the `iter()` call and the __iter__ call of the for implementation. - # keeping the old behaviour makes it possible to distinguish both cases. - -- return self.result.parent -+ return node.parent - return node - - def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None: From c52c06de3ba853458f844523c75fabedf8ee80ad Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 5 Sep 2024 11:38:19 +0200 Subject: [PATCH 320/491] gtest: 1.14.0 -> 1.15.2 --- pkgs/development/libraries/gtest/default.nix | 4 ++-- .../libraries/gtest/fix-cmake-config-includedir.patch | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix index 7e44794620c03..f9465c4e356e2 100644 --- a/pkgs/development/libraries/gtest/default.nix +++ b/pkgs/development/libraries/gtest/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { pname = "gtest"; - version = "1.14.0"; + version = "1.15.2"; outputs = [ "out" "dev" ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { owner = "google"; repo = "googletest"; rev = "v${version}"; - hash = "sha256-t0RchAHTJbuI5YW4uyBPykTvcjy90JW9AOPNjIhwh6U="; + hash = "sha256-1OJ2SeSscRBNr7zZ/a8bJGIqAnhkg45re0j3DtPfcXM="; }; patches = [ diff --git a/pkgs/development/libraries/gtest/fix-cmake-config-includedir.patch b/pkgs/development/libraries/gtest/fix-cmake-config-includedir.patch index 6d29e04b25685..269e437cbcffd 100644 --- a/pkgs/development/libraries/gtest/fix-cmake-config-includedir.patch +++ b/pkgs/development/libraries/gtest/fix-cmake-config-includedir.patch @@ -1,8 +1,8 @@ diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt -index 428bd9f8..04b84539 100644 +index 99b2411f..33ec9636 100644 --- a/googlemock/CMakeLists.txt +++ b/googlemock/CMakeLists.txt -@@ -104,10 +104,10 @@ endif() +@@ -105,10 +105,10 @@ endif() string(REPLACE ";" "$" dirs "${gmock_build_include_dirs}") target_include_directories(gmock SYSTEM INTERFACE "$" @@ -16,7 +16,7 @@ index 428bd9f8..04b84539 100644 ######################################################################## # diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt -index 51a67c91..fb09e978 100644 +index dce6a7c9..f1da42ff 100644 --- a/googletest/CMakeLists.txt +++ b/googletest/CMakeLists.txt @@ -143,10 +143,10 @@ set_target_properties(gtest_main PROPERTIES VERSION ${GOOGLETEST_VERSION}) @@ -29,6 +29,6 @@ index 51a67c91..fb09e978 100644 "$" - "$/${CMAKE_INSTALL_INCLUDEDIR}>") + "$") - if(CMAKE_SYSTEM_NAME MATCHES "QNX") + if(CMAKE_SYSTEM_NAME MATCHES "QNX" AND CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL 7.1) target_link_libraries(gtest PUBLIC regex) endif() From 8760862cbdebbe64dd0420ec9dd835c27776645f Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 14 Sep 2024 13:30:31 +0200 Subject: [PATCH 321/491] python3Packages.automat: 22.10.0 -> 24.8.1 --- pkgs/development/python-modules/automat/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/automat/default.nix b/pkgs/development/python-modules/automat/default.nix index 05d612256e43d..7833eb27f57c7 100644 --- a/pkgs/development/python-modules/automat/default.nix +++ b/pkgs/development/python-modules/automat/default.nix @@ -11,14 +11,13 @@ let automat = buildPythonPackage rec { - version = "22.10.0"; - format = "setuptools"; + version = "24.8.1"; + format = "pyproject"; pname = "automat"; src = fetchPypi { - pname = "Automat"; - inherit version; - hash = "sha256-5WvrhO2tGdzBHTDo2biV913ute9elrhKRnBms7hLsE4="; + inherit pname version; + hash = "sha256-s0Inz2P2MluK0jme3ngGdQg+Q5sgwyPTdjc9juYwbYg="; }; nativeBuildInputs = [ setuptools-scm ]; From 47b62f5785fef1c72e1116e9b62d8383a2f24470 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Fri, 20 Sep 2024 18:27:45 +0800 Subject: [PATCH 322/491] emacs: fix elisp native compilation errors caused by load-path If $pname-$version/foo.el requires $pname-$version/bar-dir/bar.el, previously there were native compilation errors like the below one because $pname-$version/bar-dir was not added to load-path (only $pname-$version is added). Error: file-missing ("/nix/store/hash-emacs-sly-20240809.2119/share/emacs/site-lisp/elpa/sly-20240809.2119/contrib/sly-mrepl.el" "Cannot open load file" "No such file or directory" "sly-autodoc") Currently, these packages are affected: haskell-tng-mode[^1], psgml[3], sly[4], ess[5], el-get[6], proof-general[7], hyperbole[8] and edts[9]. At run time, we recursively[1] add[2] $pname-$version and its subdirs to load-path. Let's also do that at build time to fix this kind of errors. [1]: https://github.com/NixOS/nixpkgs/blob/9625766c32942d4fdeef6cfee0d4337f75697b5f/pkgs/applications/editors/emacs/site-start.el#L18 [2]: https://github.com/NixOS/nixpkgs/blob/9625766c32942d4fdeef6cfee0d4337f75697b5f/pkgs/applications/editors/emacs/build-support/wrapper.nix#L170-L175 [3]: https://hydra.nixos.org/build/271291118/nixlog/1 [4]: https://hydra.nixos.org/build/271372072/nixlog/1 [5]: https://hydra.nixos.org/build/271284390/nixlog/1 [6]: https://hydra.nixos.org/build/271385904/nixlog/1 [7]: https://hydra.nixos.org/build/271277707/nixlog/1 [8]: https://hydra.nixos.org/build/271345526/nixlog/1 [9]: https://hydra.nixos.org/build/271290054/nixlog/1 [^1]: Errors of this kind are shadowed by other errors. --- pkgs/applications/editors/emacs/build-support/generic.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index 9f1b2308cc434..595abfae7e028 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -91,6 +91,7 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: "emacs \ --batch \ --eval '(setq native-comp-eln-load-path (cdr native-comp-eln-load-path))' \ + --eval '(let ((default-directory \"$out/share/emacs/site-lisp\")) (normal-top-level-add-subdirs-to-load-path))' \ --eval '(setq large-file-warning-threshold nil)' \ --eval '(setq byte-compile-error-on-warn ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"})' \ -f batch-native-compile {} \ From 697ece4455a59b7dc686e04edcd4e000697e4f18 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 30 Apr 2023 22:16:43 +0000 Subject: [PATCH 323/491] musl: 1.2.3 -> 1.2.5 This release fixes the implementation of strverscmp(), so the libtasn1 patch that negates the test can now be removed. --- .../libraries/abseil-cpp/202103.nix | 2 ++ .../libraries/abseil-cpp/202301.nix | 2 ++ .../libraries/libtasn1/default.nix | 9 --------- pkgs/os-specific/linux/musl/default.nix | 19 +++++++------------ 4 files changed, 11 insertions(+), 21 deletions(-) diff --git a/pkgs/development/libraries/abseil-cpp/202103.nix b/pkgs/development/libraries/abseil-cpp/202103.nix index 04af3153719a3..3eca133dafe1d 100644 --- a/pkgs/development/libraries/abseil-cpp/202103.nix +++ b/pkgs/development/libraries/abseil-cpp/202103.nix @@ -59,5 +59,7 @@ stdenv.mkDerivation rec { license = licenses.asl20; platforms = platforms.all; maintainers = [ maintainers.andersk ]; + # Requires LFS64 APIs. 202401 and later are fine. + broken = stdenv.hostPlatform.isMusl; }; } diff --git a/pkgs/development/libraries/abseil-cpp/202301.nix b/pkgs/development/libraries/abseil-cpp/202301.nix index 62d98d77a38f3..ab9d477c38500 100644 --- a/pkgs/development/libraries/abseil-cpp/202301.nix +++ b/pkgs/development/libraries/abseil-cpp/202301.nix @@ -44,5 +44,7 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.asl20; platforms = platforms.all; maintainers = [ maintainers.andersk ]; + # Requires LFS64 APIs. 202401 and later are fine. + broken = stdenv.hostPlatform.isMusl; }; }) diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index 3c630bac630de..ef0b52ac8f50a 100644 --- a/pkgs/development/libraries/libtasn1/default.nix +++ b/pkgs/development/libraries/libtasn1/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchurl -, fetchpatch , perl , texinfo @@ -20,14 +19,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-FhPwrBz0hNbsDOO4wG1WJjzHJC8cI7MNgtI940WmP3o="; }; - # Patch borrowed from alpine to work around a specific test failure with musl libc - # Upstream is patching this test in their own CI because that CI is using alpine and thus musl - # https://github.com/gnutls/libtasn1/commit/06e7433c4e587e2ba6df521264138585a63d07c7#diff-037ea159eb0a7cb0ac23b851e66bee30fb838ee8d0d99fa331a1ba65283d37f7R293 - patches = lib.optional stdenv.hostPlatform.isMusl (fetchpatch { - url = "https://git.alpinelinux.org/aports/plain/main/libtasn1/failed-test.patch?id=aaed9995acc1511d54d5d93e1ea3776caf4aa488"; - sha256 = "sha256-GTfwqEelEsGtLEcBwGRfBZZz1vKXRfWXtMx/409YqX8="; - }); - outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix index eb24879366472..4bb6382d6a691 100644 --- a/pkgs/os-specific/linux/musl/default.nix +++ b/pkgs/os-specific/linux/musl/default.nix @@ -44,11 +44,11 @@ let in stdenv.mkDerivation rec { pname = "musl"; - version = "1.2.3"; + version = "1.2.5"; src = fetchurl { url = "https://musl.libc.org/releases/${pname}-${version}.tar.gz"; - sha256 = "sha256-fVsLYGJSHkYn4JnkydyCSNMqMChelZt+7Kp4DPjP1KQ="; + sha256 = "qaEYu+hNh2TaDqDSizqz+uhHf8fkCF2QECuFlvx8deQ="; }; enableParallelBuilding = true; @@ -71,12 +71,6 @@ stdenv.mkDerivation rec { url = "https://raw.githubusercontent.com/openwrt/openwrt/87606e25afac6776d1bbc67ed284434ec5a832b4/toolchain/musl/patches/300-relative.patch"; sha256 = "0hfadrycb60sm6hb6by4ycgaqc9sgrhh42k39v8xpmcvdzxrsq2n"; }) - - # fix parsing lines with optional fields in fstab etc. NOTE: Remove for the next release since it has been merged upstream - (fetchurl { - url = "https://git.musl-libc.org/cgit/musl/patch/?id=751bee0ee727e8d8b003c87cff77ac76f1dbecd6"; - sha256 = "sha256-qCw132TCSaZrkISmtDb8Q8ufyt8sAJdwACkvfwuoi/0="; - }) ]; CFLAGS = [ "-fstack-protector-strong" ] ++ lib.optional stdenv.hostPlatform.isPower "-mlong-double-64"; @@ -151,10 +145,11 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" - "armv7l-linux" "i686-linux" "x86_64-linux" "m68k-linux" - "microblaze-linux" "microblazeel-linux" "mips-linux" "mips64-linux" - "mipsel-linux" "mips64el-linux" "powerpc64-linux" "powerpc64le-linux" - "riscv64-linux" "s390x-linux" + "armv7l-linux" "i686-linux" "loongarch64-linux" "m68k-linux" + "microblaze-linux" "microblazeel-linux" "mips-linux" + "mips64-linux" "mips64el-linux" "mipsel-linux" "powerpc64-linux" + "powerpc64le-linux" "riscv32-linux" "riscv64-linux" + "s390x-linux" "x86_64-linux" ]; maintainers = with maintainers; [ thoughtpolice dtzWill ]; }; From dffd22695990a6887733b1c8ecdb9cf8b681d480 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 9 Feb 2024 10:48:37 +0100 Subject: [PATCH 324/491] Revert "pkgsStatic.gsasl: fix build" This reverts commit 248efc2b1792b8db75138bf36ff779778674e6ed. The musl bug has now been fixed. --- pkgs/development/libraries/gsasl/default.nix | 6 ------ pkgs/development/libraries/gsasl/gsasl.patch | 21 -------------------- 2 files changed, 27 deletions(-) delete mode 100644 pkgs/development/libraries/gsasl/gsasl.patch diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix index b9b57de4274ab..8b90892730321 100644 --- a/pkgs/development/libraries/gsasl/default.nix +++ b/pkgs/development/libraries/gsasl/default.nix @@ -11,12 +11,6 @@ stdenv.mkDerivation (finalAttrs: { sha256 = "sha256-1FtWLhO9E7n8ILNy9LUyaXQM9iefg28JzhG50yvO4HU="; }; - # This is actually bug in musl. It is already fixed in trunc and - # this patch won't be necessary with musl > 1.2.3. - # - # https://git.musl-libc.org/cgit/musl/commit/?id=b50eb8c36c20f967bd0ed70c0b0db38a450886ba - patches = lib.optional stdenv.hostPlatform.isMusl ./gsasl.patch; - buildInputs = [ libidn libkrb5 ]; configureFlags = [ "--with-gssapi-impl=mit" ]; diff --git a/pkgs/development/libraries/gsasl/gsasl.patch b/pkgs/development/libraries/gsasl/gsasl.patch deleted file mode 100644 index 572d3034967ef..0000000000000 --- a/pkgs/development/libraries/gsasl/gsasl.patch +++ /dev/null @@ -1,21 +0,0 @@ -GNU libc and Musl libc have different ideas what - - strverscmp("UNKNOWN", "2.2.0") - -should return. Hopefully nobody depend on this particular behaviour in -practice. - ---- a/tests/version.c 1970-01-01 00:00:00.000000000 -0000 -+++ b/tests/version.c 1970-01-01 00:00:00.000000000 -0000 -@@ -111,11 +111,5 @@ - exit_code = EXIT_FAILURE; - } - -- if (gsasl_check_version ("UNKNOWN")) -- { -- printf ("FAIL: gsasl_check_version (UNKNOWN)\n"); -- exit_code = EXIT_FAILURE; -- } -- - return exit_code; - } From efcd97fd88a1846530be897127fe70bf4513a71d Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 28 Apr 2024 12:26:08 +0200 Subject: [PATCH 325/491] Revert "pkgsMusl.ostree: fix build" This reverts commit 966f79bea66d16694316885ba5407a22e1c7bead. We've now updated musl to a version that has statx available. --- pkgs/tools/misc/ostree/default.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix index 7b9d9ac51e129..a3fda662614e1 100644 --- a/pkgs/tools/misc/ostree/default.nix +++ b/pkgs/tools/misc/ostree/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchurl -, fetchpatch , pkg-config , gtk-doc , gobject-introspection @@ -51,19 +50,6 @@ in stdenv.mkDerivation rec { sha256 = "sha256-Y8kZCCEzOsc3Pg2SPkwnZrJevc/fTvtEy1koxlidn8s="; }; - patches = lib.optionals stdenv.hostPlatform.isMusl [ - # > I guess my inclination here is to recommend that musl users - # > carry a downstream patch to revert the commits in #3175 until - # > such time as they can update to the new musl. - # https://github.com/ostreedev/ostree/issues/3200#issuecomment-1974819192 - (fetchpatch { - name = "revert-statx.diff"; - url = "https://github.com/ostreedev/ostree/commit/f46cc0cd85b564e40e03c7438a41c8e57f6b836c.diff"; - excludes = [ "ci/*" ]; - revert = true; - hash = "sha256-LsXbRYh4hfjNdt1S384IPlSvtC5f2rgSTZEkIIBkT0g="; - }) - ]; nativeBuildInputs = [ autoconf From 9bb7cacd8b63ad99281870d17f2deba9a2efc9c0 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 20 Sep 2024 19:48:11 +0300 Subject: [PATCH 326/491] Revert "python3Packages.dulwich: skip problematic tests" This reverts commit 027642ab3634e2bbca5368cd157b443574d217da. Git 2.46.1 no longer crashes. --- pkgs/development/python-modules/dulwich/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix index 0618a1b2aaea7..436dae6ee78fa 100644 --- a/pkgs/development/python-modules/dulwich/default.nix +++ b/pkgs/development/python-modules/dulwich/default.nix @@ -76,9 +76,6 @@ buildPythonPackage rec { # ImportError: attempted relative import beyond top-level package rm tests/test_greenthreads.py - - # git crashes; https://github.com/jelmer/dulwich/issues/1359 - rm tests/compat/test_pack.py ''; doCheck = !stdenv.isDarwin; From 47f16e4b747d6889d04565ae084bb8b1064da569 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 20 Sep 2024 22:13:39 +0200 Subject: [PATCH 327/491] meson: 1.5.1 -> 1.5.2 --- pkgs/by-name/me/meson/006-disable-bitcode.patch | 12 +++++++++--- pkgs/by-name/me/meson/package.nix | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/me/meson/006-disable-bitcode.patch b/pkgs/by-name/me/meson/006-disable-bitcode.patch index a72997c104399..d4aa6a271aa65 100644 --- a/pkgs/by-name/me/meson/006-disable-bitcode.patch +++ b/pkgs/by-name/me/meson/006-disable-bitcode.patch @@ -1,6 +1,8 @@ +diff --git a/mesonbuild/compilers/mixins/clang.py b/mesonbuild/compilers/mixins/clang.py +index d99dc3abf..6b8f75165 100644 --- a/mesonbuild/compilers/mixins/clang.py +++ b/mesonbuild/compilers/mixins/clang.py -@@ -56,10 +56,6 @@ class ClangCompiler(GnuLikeCompiler): +@@ -54,11 +54,7 @@ class ClangCompiler(GnuLikeCompiler): {OptionKey('b_colorout'), OptionKey('b_lto_threads'), OptionKey('b_lto_mode'), OptionKey('b_thinlto_cache'), OptionKey('b_thinlto_cache_dir')}) @@ -8,12 +10,16 @@ - # linkers don't have base_options. - if isinstance(self.linker, AppleDynamicLinker): - self.base_options.add(OptionKey('b_bitcode')) +- elif isinstance(self.linker, MSVCDynamicLinker): ++ if isinstance(self.linker, MSVCDynamicLinker): + self.base_options.add(OptionKey('b_vscrt')) # All Clang backends can also do LLVM IR self.can_compile_suffixes.add('ll') - +diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py +index 4eec82edd..6db5c6af0 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py -@@ -785,7 +785,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): +@@ -796,7 +796,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return self._apply_prefix('-headerpad_max_install_names') def bitcode_args(self) -> T.List[str]: diff --git a/pkgs/by-name/me/meson/package.nix b/pkgs/by-name/me/meson/package.nix index d817c63708be0..4dc2b840b6815 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.1"; + version = "1.5.2"; src = fetchFromGitHub { owner = "mesonbuild"; repo = "meson"; rev = "refs/tags/${version}"; - hash = "sha256-BqsEO1a93a8d7/UH232buSPBt+WSNJbw1DGYA2nm9rs="; + hash = "sha256-cesMepnD3fHX2CwnSQ3c5TE9kPSa0FkCVVVZDgXwo8M="; }; patches = [ From 78f30b83c64448f58fedb469b273539f64c1f121 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 21 Sep 2024 08:19:05 +0800 Subject: [PATCH 328/491] emacs: respect native compilation errors by default In other words, native compilation errors make nix build fail by default now. --- pkgs/applications/editors/emacs/build-support/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index b032b587b798c..2235d34ce045a 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -33,7 +33,7 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: , postInstall ? "" , meta ? {} , turnCompilationWarningToError ? false -, ignoreCompilationError ? true +, ignoreCompilationError ? false , ... }@args: From 1dea6d4497b05743d3ae8a7014a22f66f525f6f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 21 Sep 2024 00:30:21 -0600 Subject: [PATCH 329/491] =?UTF-8?q?boringssl:=20unstable-2024-02-15=20?= =?UTF-8?q?=E2=86=92=20unstable-2024-09-20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unbreaks build after gcc 14 update https://hydra.nixos.org/build/273318920 --- pkgs/development/libraries/boringssl/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix index 9bb0967bd5c6e..44290b1a1deef 100644 --- a/pkgs/development/libraries/boringssl/default.nix +++ b/pkgs/development/libraries/boringssl/default.nix @@ -10,17 +10,17 @@ # reference: https://boringssl.googlesource.com/boringssl/+/2661/BUILDING.md buildGoModule { pname = "boringssl"; - version = "unstable-2024-02-15"; + version = "unstable-2024-09-20"; src = fetchgit { url = "https://boringssl.googlesource.com/boringssl"; - rev = "5a1a5fbdb865fa58f1da0fd8bf6426f801ea37ac"; - hash = "sha256-nu+5TeWEAVLGhTE15kxmTWZxo0V2elNUy67gdaU3Y+I="; + rev = "718900aeb84c601523e71abbd18fd70c9e2ad884"; + hash = "sha256-TdSObRECiGRQcgz6N2LhKvSi9yRYOZYJdK6MyfJX2Bo="; }; nativeBuildInputs = [ cmake ninja perl ]; - vendorHash = "sha256-074bgtoBRS3SOxLrwZbBdK1jFpdCvF6tRtU1CkrhoDY="; + vendorHash = "sha256-GlhLsPD+yp2LdqsIsfXNEaNKKlc76p0kBCyu4rlEmMg="; proxyVendor = true; # hack to get both go and cmake configure phase From 52cd0dbdf0bc06671c18c38160cd2d177bd3e5a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 21 Sep 2024 01:31:16 -0600 Subject: [PATCH 330/491] davix: unvendor rapidjson Unbreaks build after gcc 14 update https://hydra.nixos.org/build/273238461 --- pkgs/tools/networking/davix/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/davix/default.nix b/pkgs/tools/networking/davix/default.nix index d3ae2cd02c272..13926c2d7d622 100644 --- a/pkgs/tools/networking/davix/default.nix +++ b/pkgs/tools/networking/davix/default.nix @@ -10,6 +10,7 @@ , libuuid , curl , gsoap +, rapidjson , Security , enableTools ? true # Use libcurl instead of libneon @@ -30,10 +31,11 @@ stdenv.mkDerivation rec { pname = "davix" + lib.optionalString enableThirdPartyCopy "-copy"; nativeBuildInputs = [ cmake pkg-config python3 ]; buildInputs = [ - openssl - libxml2 boost curl + libxml2 + openssl + rapidjson ] ++ lib.optional stdenv.isDarwin Security ++ lib.optional (!stdenv.isDarwin) libuuid From e29d735e792d8893eae0a85cad09b4a439183583 Mon Sep 17 00:00:00 2001 From: Florian Franzen Date: Sat, 21 Sep 2024 09:33:19 +0200 Subject: [PATCH 331/491] librdf_raptor2: unstable-2022-06-06 -> 2.0.16 (#280822) --- pkgs/development/libraries/librdf/raptor2.nix | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/librdf/raptor2.nix b/pkgs/development/libraries/librdf/raptor2.nix index a747ad8eb8de3..eace8af8156cf 100644 --- a/pkgs/development/libraries/librdf/raptor2.nix +++ b/pkgs/development/libraries/librdf/raptor2.nix @@ -15,13 +15,14 @@ stdenv.mkDerivation rec { pname = "raptor2"; - version = "unstable-2022-06-06"; + version = "2.0.16"; + underscoredVersion = lib.strings.replaceStrings ["."] ["_"] version; src = fetchFromGitHub { owner = "dajobe"; repo = "raptor"; - rev = "3cca62a33da68143b687c9e486eefc7c7cbb4586"; - sha256 = "sha256-h03IyFH1GHPqajfHBBTb19lCEu+VXzQLGC1wiEGVvgY="; + rev = "${pname}_${underscoredVersion}"; + sha256 = "sha256-Eic63pV2p154YkSmkqWr86fGTr+XmVGy5l5/6q14LQM="; }; cmakeFlags = [ @@ -30,13 +31,7 @@ stdenv.mkDerivation rec { ]; patches = [ - # https://github.com/dajobe/raptor/pull/52 - (fetchpatch { - name = "fix-cmake-generated-pc-file"; - url = "https://github.com/dajobe/raptor/commit/fa1ef9a27d8762f5588ac2e92554a188e73dee9f.diff"; - sha256 = "sha256-zXIbrYGgC9oTpiD0WUikT4vRdc9b6bsyfnDkwUSlqao="; - }) - # pull upstream fix for libxml2-2.11 API compatibility: + # pull upstream fix for libxml2-2.11 API compatibility, part of unreleased 2.0.17 # https://github.com/dajobe/raptor/pull/58 (fetchpatch { name = "libxml2-2.11.patch"; From 2cab2f6c426008a232deacb2c7c78c470f68b8d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 21 Sep 2024 02:12:53 -0600 Subject: [PATCH 332/491] gle: format --- pkgs/development/libraries/gle/default.nix | 33 +++++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/gle/default.nix b/pkgs/development/libraries/gle/default.nix index f9ef65197bd5e..dbdc4d699233e 100644 --- a/pkgs/development/libraries/gle/default.nix +++ b/pkgs/development/libraries/gle/default.nix @@ -1,8 +1,32 @@ -{lib, stdenv, fetchurl, libglut, libX11, libXt, libXmu, libXi, libXext, libGL, libGLU}: +{ + lib, + stdenv, + fetchurl, + libglut, + libX11, + libXt, + libXmu, + libXi, + libXext, + libGL, + libGLU, +}: + stdenv.mkDerivation rec { pname = "gle"; version = "3.1.0"; - buildInputs = [libGLU libGL libglut libX11 libXt libXmu libXi libXext]; + + buildInputs = [ + libGLU + libGL + libglut + libX11 + libXt + libXmu + libXi + libXext + ]; + src = fetchurl { urls = [ "mirror://sourceforge/project/gle/gle/gle-${version}/gle-${version}.tar.gz" @@ -10,10 +34,11 @@ stdenv.mkDerivation rec { ]; sha256 = "09zs1di4dsssl9k322nzildvf41jwipbzhik9p43yb1bcfsp92nw"; }; + meta = { description = "Tubing and extrusion library"; - license = lib.licenses.gpl2 ; - maintainers = [lib.maintainers.raskin]; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.raskin ]; platforms = lib.platforms.linux; }; } From 3c28377e51cf5af8fb9166443711e7305f2861bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 21 Sep 2024 02:06:41 -0600 Subject: [PATCH 333/491] =?UTF-8?q?gle:=203.1.0=20=E2=86=92=203.1.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/libraries/gle/default.nix | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/gle/default.nix b/pkgs/development/libraries/gle/default.nix index dbdc4d699233e..b1b064fdb17c7 100644 --- a/pkgs/development/libraries/gle/default.nix +++ b/pkgs/development/libraries/gle/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, + autoreconfHook, libglut, libX11, libXt, @@ -14,7 +15,7 @@ stdenv.mkDerivation rec { pname = "gle"; - version = "3.1.0"; + version = "3.1.2"; buildInputs = [ libGLU @@ -27,12 +28,15 @@ stdenv.mkDerivation rec { libXext ]; - src = fetchurl { - urls = [ - "mirror://sourceforge/project/gle/gle/gle-${version}/gle-${version}.tar.gz" - "https://www.linas.org/gle/pub/gle-${version}.tar.gz" - ]; - sha256 = "09zs1di4dsssl9k322nzildvf41jwipbzhik9p43yb1bcfsp92nw"; + nativeBuildInputs = [ + autoreconfHook + ]; + + src = fetchFromGitHub { + owner = "linas"; + repo = "glextrusion"; + rev = "refs/tags/${pname}-${version}"; + sha256 = "sha256-yvCu0EOwxOMN6upeHX+C2sIz1YVjjB/320g+Mf24S6g="; }; meta = { From dd115b346000967a5602fefa7b1bea6c5f310664 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sat, 21 Sep 2024 10:44:52 +0200 Subject: [PATCH 334/491] perlPackages.GetoptLong: 2.54 -> 2.58 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b212c64afdfdd..65947ea6ce0b2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -10770,10 +10770,10 @@ with self; { GetoptLong = buildPerlPackage { pname = "Getopt-Long"; - version = "2.54"; + version = "2.58"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.54.tar.gz"; - hash = "sha256-WEujyZuy1rNBN1IS+bh0YT9wbPsBzuIbiiZ2qYq5hf4="; + url = "mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.58.tar.gz"; + hash = "sha256-EwXtRuoh95QwTpeqPc06OFGQWXhenbdBXa8sIYUGxWk="; }; meta = { description = "Extended processing of command line options"; From bc4e63e71af6115f25def6bc69935cdd0292183a Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sat, 21 Sep 2024 10:45:15 +0200 Subject: [PATCH 335/491] perlPackages.GetoptLongDescriptive: fix deps Add perlPackages.GetoptLong as a direct dependency, as newer version than the one provided by perl538 core modules is needed. --- pkgs/top-level/perl-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 65947ea6ce0b2..44bab16b9d66e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -10789,7 +10789,7 @@ with self; { hash = "sha256-QQ6EIRSpy/0/06X9JIqWcDwHxdh5sqpfnbAzPyMnYBY="; }; buildInputs = [ CPANMetaCheck TestFatal TestWarnings ]; - propagatedBuildInputs = [ ParamsValidate SubExporter ]; + propagatedBuildInputs = [ ParamsValidate SubExporter GetoptLong ]; meta = { description = "Getopt::Long, but simpler and more powerful"; homepage = "https://github.com/rjbs/Getopt-Long-Descriptive"; From b37957f41e53cb0c5aaff4aebb92853167945636 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 21 Sep 2024 11:18:19 -0600 Subject: [PATCH 336/491] nodejs: disable failing network tests https://hydra.nixos.org/build/273305124/nixlog/1 --- pkgs/development/web/nodejs/nodejs.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 07c945e2b2303..08c662267d01c 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -294,15 +294,30 @@ let "test-child-process-exec-env" "test-child-process-uid-gid" "test-fs-write-stream-eagain" + "test-https-client-checkServerIdentity" "test-https-foafssl" + "test-https-strict" "test-process-euid-egid" "test-process-initgroups" "test-process-setgroups" "test-process-uid-gid" "test-setproctitle" + "test-tls-cert-regression" "test-tls-cli-max-version-1.3" "test-tls-client-auth" + "test-tls-client-getephemeralkeyinfo" + "test-tls-client-mindhsize" + "test-tls-client-renegotiation-13" + "test-tls-client-verify" + "test-tls-getcipher" + "test-tls-junk-closes-server" + "test-tls-junk-server" + "test-tls-multi-key" + "test-tls-multiple-cas-as-string" + "test-tls-peer-certificate-encoding" + "test-tls-set-ciphers" "test-tls-sni-option" + "test-tls-sni-server-client" # This is a bit weird, but for some reason fs watch tests fail with # sandbox. "test-fs-promises-watch" From c767064338232907c168a3ef3ec4ba508a724ab0 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 21 Sep 2024 21:27:22 +0100 Subject: [PATCH 337/491] vlc: pin FFmpeg 6 for now MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There are upstream patches to support FFmpeg 7, but it’s quite a few patches and the current release seems to have branched off over a year ago, so let’s just wait for the next upstream release to bump this. --- pkgs/by-name/vl/vlc/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vl/vlc/package.nix b/pkgs/by-name/vl/vlc/package.nix index 7ee00c3e30ec2..427263200911f 100644 --- a/pkgs/by-name/vl/vlc/package.nix +++ b/pkgs/by-name/vl/vlc/package.nix @@ -10,7 +10,8 @@ , faad2 , fetchpatch , fetchurl -, ffmpeg +# Please unpin FFmpeg on the next upstream release. +, ffmpeg_6 , flac , fluidsynth , freefont_ttf @@ -135,7 +136,7 @@ stdenv.mkDerivation (finalAttrs: { avahi dbus faad2 - ffmpeg + ffmpeg_6 flac fluidsynth fribidi From e1ac53d9d64f481d72c93e3d840a07a6a8e1b727 Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 21 Sep 2024 21:33:35 +0100 Subject: [PATCH 338/491] {gyroflow,openjfx{11,17,21,22}}: unpin FFmpeg 7 These pins landed on `master` after the mass unpin on `staging` in 61922738bbdfee7c34dffb8ab6facc04b015011e. --- pkgs/development/compilers/openjdk/openjfx/11/default.nix | 4 ++-- pkgs/development/compilers/openjdk/openjfx/17/default.nix | 4 ++-- pkgs/development/compilers/openjdk/openjfx/21/default.nix | 4 ++-- pkgs/development/compilers/openjdk/openjfx/22/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 4 +--- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/development/compilers/openjdk/openjfx/11/default.nix b/pkgs/development/compilers/openjdk/openjfx/11/default.nix index dcce1a2de6fc4..22a3ba9499843 100644 --- a/pkgs/development/compilers/openjdk/openjfx/11/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/11/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, pkgs, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake -, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_7-headless, python3, ruby +, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg-headless, python3, ruby , openjdk11-bootstrap , withMedia ? true , withWebKit ? false @@ -30,7 +30,7 @@ in stdenv.mkDerivation { ../backport-ffmpeg-7-support-jfx11.patch ]; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_7-headless ]; + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg-headless ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/development/compilers/openjdk/openjfx/17/default.nix b/pkgs/development/compilers/openjdk/openjfx/17/default.nix index de0f50dab7c7c..e3ddceac7d43f 100644 --- a/pkgs/development/compilers/openjdk/openjfx/17/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/17/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, pkgs, fetchFromGitHub, writeText, openjdk17_headless, gradle_7 , pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib -, ffmpeg_7-headless, python3, ruby +, ffmpeg-headless, python3, ruby , withMedia ? true , withWebKit ? false }: @@ -30,7 +30,7 @@ in stdenv.mkDerivation { ../backport-ffmpeg-7-support-jfx11.patch ]; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_7-headless ]; + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg-headless ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/development/compilers/openjdk/openjfx/21/default.nix b/pkgs/development/compilers/openjdk/openjfx/21/default.nix index 5eed503cad117..5266f5d8072ff 100644 --- a/pkgs/development/compilers/openjdk/openjfx/21/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/21/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, pkgs, fetchFromGitHub, writeText , openjdk21_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst -, libXxf86vm, glib, alsa-lib, ffmpeg_7, python3, ruby +, libXxf86vm, glib, alsa-lib, ffmpeg, python3, ruby , withMedia ? true , withWebKit ? false }: @@ -29,7 +29,7 @@ in stdenv.mkDerivation { ../backport-ffmpeg-7-support-jfx21.patch ]; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_7 ]; + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/development/compilers/openjdk/openjfx/22/default.nix b/pkgs/development/compilers/openjdk/openjfx/22/default.nix index a64cecb8c9b50..5dde07c2d0224 100644 --- a/pkgs/development/compilers/openjdk/openjfx/22/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/22/default.nix @@ -16,7 +16,7 @@ , libXxf86vm , glib , alsa-lib -, ffmpeg_7 +, ffmpeg , python3 , ruby , withMedia ? true @@ -51,7 +51,7 @@ in stdenv.mkDerivation { }) ]; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_7 ]; + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf87e8845465c..f26ee35a90de6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8352,9 +8352,7 @@ with pkgs; gvproxy = callPackage ../tools/networking/gvproxy { }; - gyroflow = qt6Packages.callPackage ../applications/video/gyroflow { - ffmpeg = ffmpeg_7; - }; + gyroflow = qt6Packages.callPackage ../applications/video/gyroflow { }; gzip = callPackage ../tools/compression/gzip { }; From 600ce2f45f1a6fe611b8add89f15f74beec0db60 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 21 Sep 2024 17:38:42 +0200 Subject: [PATCH 339/491] python3Packages.protobuf4: pin to protobuf_25 25 is the last version that claims compatibility with protobuf4. I've removed the comment, as it doesn't seem that later versions will ever be supported. --- pkgs/development/python-modules/protobuf/4.nix | 2 -- pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/protobuf/4.nix b/pkgs/development/python-modules/protobuf/4.nix index 9d10deca12a58..d58e21d195a10 100644 --- a/pkgs/development/python-modules/protobuf/4.nix +++ b/pkgs/development/python-modules/protobuf/4.nix @@ -124,8 +124,6 @@ buildPythonPackage { homepage = "https://developers.google.com/protocol-buffers/"; license = licenses.bsd3; maintainers = with maintainers; [ knedlsepp ]; - # Tests are currently failing because backend is unavailable and causes tests to fail - # Progress tracked in https://github.com/NixOS/nixpkgs/pull/264902 broken = lib.versionAtLeast protobuf.version "26"; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6cb4a31554a22..63442fbcbd316 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10623,7 +10623,7 @@ self: super: with self; { # Protobuf 4.x protobuf4 = callPackage ../development/python-modules/protobuf/4.nix { - protobuf = pkgs.protobuf; + protobuf = pkgs.protobuf_25; }; # Protobuf 5.x From 9a94e073bfc38ad5dcb1d5f35e9c6fbb3886ead4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 22 Sep 2024 08:41:17 +0200 Subject: [PATCH 340/491] Reapply "nix: nix_2_18 -> nix_2_24" This reverts commit b3b9bdd9018cb0b66df3961e2dc7ad70008e4ff3. --- nixos/modules/installer/tools/nix-fallback-paths.nix | 11 ++++++----- pkgs/tools/package-management/nix/default.nix | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index f9ea7eb395973..75ade3865833f 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,7 +1,8 @@ { - x86_64-linux = "/nix/store/f409bhlpp0xkzvdz95qr2yvfjfi8r9jc-nix-2.18.5"; - i686-linux = "/nix/store/ra39jzrxq3bcpf55aahwv5037akvylf5-nix-2.18.5"; - aarch64-linux = "/nix/store/xiw8a4jbnw18svgdb04hyqzg5bsjspqf-nix-2.18.5"; - x86_64-darwin = "/nix/store/k2gzx7i90x3h2c8g6xdi1jkwbl6ic895-nix-2.18.5"; - aarch64-darwin = "/nix/store/rqwymbndaqxma6p8s5brcl9k32n5xx54-nix-2.18.5"; + x86_64-linux = "/nix/store/b9kk9p6ankg080wh70smhg44dyan78kn-nix-2.24.2"; + i686-linux = "/nix/store/nin0kajw977j8hhbyamgv5mkclssr03x-nix-2.24.2"; + aarch64-linux = "/nix/store/pghw4m535hnrwkdlm7bamxca6lbx6n7z-nix-2.24.2"; + riscv64-linux = "/nix/store/jcva3mcba7qn4waxkmv77w2r44q7wmq0-nix-riscv64-unknown-linux-gnu-2.24.2"; + x86_64-darwin = "/nix/store/fkvinbdryqr854hk9i9hpdcqqaqln39m-nix-2.24.2"; + aarch64-darwin = "/nix/store/z9j3va2vs4ycl9nxxph335c3jf47l27h-nix-2.24.2"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 38cd370d064a7..f6c25ade72193 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -265,7 +265,7 @@ in lib.makeExtensible (self: ({ else nix; - stable = addFallbackPathsCheck self.nix_2_18; + stable = addFallbackPathsCheck self.nix_2_24; } // lib.optionalAttrs config.allowAliases ( lib.listToAttrs (map ( minor: From af7bcfae7844484d50ea54dbee8b42dab6b5200e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 22 Sep 2024 09:11:14 +0200 Subject: [PATCH 341/491] nix: update fallback-paths --- nixos/modules/installer/tools/nix-fallback-paths.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 75ade3865833f..728dae200c156 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,8 +1,8 @@ { - x86_64-linux = "/nix/store/b9kk9p6ankg080wh70smhg44dyan78kn-nix-2.24.2"; - i686-linux = "/nix/store/nin0kajw977j8hhbyamgv5mkclssr03x-nix-2.24.2"; - aarch64-linux = "/nix/store/pghw4m535hnrwkdlm7bamxca6lbx6n7z-nix-2.24.2"; - riscv64-linux = "/nix/store/jcva3mcba7qn4waxkmv77w2r44q7wmq0-nix-riscv64-unknown-linux-gnu-2.24.2"; - x86_64-darwin = "/nix/store/fkvinbdryqr854hk9i9hpdcqqaqln39m-nix-2.24.2"; - aarch64-darwin = "/nix/store/z9j3va2vs4ycl9nxxph335c3jf47l27h-nix-2.24.2"; + x86_64-linux = "/nix/store/s429drnj3jp5dbxib74r3q0rypknvw48-nix-2.24.7"; + i686-linux = "/nix/store/1ysk63fwjvx4whxqpka1x4lyjb4m5576-nix-2.24.7"; + aarch64-linux = "/nix/store/8av0avdm2anwmvf9qka02cz093599rw7-nix-2.24.7"; + riscv64-linux = "/nix/store/b70zcmr3zrd7q569zzpz8dln93d3sx39-nix-riscv64-unknown-linux-gnu-2.24.7"; + x86_64-darwin = "/nix/store/gba97bmnyrp6x936kr8zqc2mkhcrz1vf-nix-2.24.7"; + aarch64-darwin = "/nix/store/7mb1mcpmjphg5bgc8m7m0gxrsshrzsk7-nix-2.24.7"; } From 53856949160838e6cf5736d09be44b2b5d4eecdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 22 Sep 2024 14:39:27 +0200 Subject: [PATCH 342/491] Reapply "nix-plugins: 14.0.0 -> 15.0.0" This reverts commit 7d10007445a5a430f57b05cbb94651b995807d9b. --- pkgs/development/libraries/nix-plugins/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix index 8714c6b4037ad..0da1d1d917f28 100644 --- a/pkgs/development/libraries/nix-plugins/default.nix +++ b/pkgs/development/libraries/nix-plugins/default.nix @@ -2,18 +2,21 @@ stdenv.mkDerivation rec { pname = "nix-plugins"; - version = "14.0.0"; + version = "15.0.0"; src = fetchFromGitHub { owner = "shlevy"; repo = "nix-plugins"; rev = version; - hash = "sha256-RDKAuLwcZ3Pbn5JUDmGBcfD0xbM6Jud2ouXh/YKpfS8="; + hash = "sha256-C4VqKHi6nVAHuXVhqvTRRyn0Bb619ez4LzgUWPH1cbM="; }; nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ nix boost ]; + buildInputs = [ + nix + boost + ]; meta = { description = "Collection of miscellaneous plugins for the nix expression language"; From 829636f4173acb044ee430037762e2b30a03cb1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 22 Sep 2024 14:41:40 +0200 Subject: [PATCH 343/491] nix-plugin-pijul: fix plugins to 2.18 --- pkgs/by-name/ni/nix-plugin-pijul/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/ni/nix-plugin-pijul/package.nix b/pkgs/by-name/ni/nix-plugin-pijul/package.nix index 0b78c43ba6f19..52538d48878ca 100644 --- a/pkgs/by-name/ni/nix-plugin-pijul/package.nix +++ b/pkgs/by-name/ni/nix-plugin-pijul/package.nix @@ -6,7 +6,6 @@ pkg-config, boost, howard-hinnant-date, - nix, # for tests runCommand, @@ -31,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost howard-hinnant-date - nix + nixVersions.nix_2_18 ]; passthru.tests = let From 59777cc5479f86834ce1c541e38abc3535860368 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Sun, 22 Sep 2024 11:14:01 +0200 Subject: [PATCH 344/491] nodejs: fix tests for OpenSSL 3.2 --- pkgs/development/web/nodejs/nodejs.nix | 12 ----- pkgs/development/web/nodejs/v18.nix | 59 +++++++++++++++++++++++++ pkgs/development/web/nodejs/v20.nix | 61 +++++++++++++++++++++++++- pkgs/development/web/nodejs/v22.nix | 43 +++++++++++++++++- 4 files changed, 160 insertions(+), 15 deletions(-) diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index e08e84ee7f225..014795f7425ae 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -302,22 +302,10 @@ let "test-process-setgroups" "test-process-uid-gid" "test-setproctitle" - "test-tls-cert-regression" "test-tls-cli-max-version-1.3" "test-tls-client-auth" - "test-tls-client-getephemeralkeyinfo" - "test-tls-client-mindhsize" - "test-tls-client-renegotiation-13" - "test-tls-client-verify" - "test-tls-getcipher" "test-tls-junk-closes-server" - "test-tls-junk-server" - "test-tls-multi-key" - "test-tls-multiple-cas-as-string" - "test-tls-peer-certificate-encoding" - "test-tls-set-ciphers" "test-tls-sni-option" - "test-tls-sni-server-client" # This is a bit weird, but for some reason fs watch tests fail with # sandbox. "test-fs-promises-watch" diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix index 811c0646959eb..d940613ecb787 100644 --- a/pkgs/development/web/nodejs/v18.nix +++ b/pkgs/development/web/nodejs/v18.nix @@ -48,5 +48,64 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k="; }) + + # Patches for OpenSSL 3.2 + # Patches already in 22.7.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/bd42e4c6a73f61f7ee47e4426d86708fd80c6c4f.patch?full_index=1"; + hash = "sha256-bsCLVwK5t8dD+wHd1FlFJ1wpCGtNGcwoOfq4fG5MHfo="; + includes = ["test/parallel/test-tls-set-sigalgs.js"]; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/e0634f58aba6a1634fe03107d5be849fd008cc02.patch?full_index=1"; + hash = "sha256-Jh7f4JPS1H2Rpj1nEOW53E66Z+GDNEFXl0jALrvyYXQ="; + }) + # Patches already in 22.8.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/e9cd4766e39d96693320be9ce0a1044c450e8675.patch?full_index=1"; + hash = "sha256-RXRLRznz16B8MrfVrpIHgyqLV2edpJk2p717QBttyK4="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/2bfc9e467cb05578efa4d3db497f368fb144e5fc.patch?full_index=1"; + hash = "sha256-TyHSd+O0T/bFR7YZuxm4HumrMljnJu2a8RRLRvz6KNM="; + }) + # Patches already in 22.9.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/d9ca8b018efd172a99365ada8f536491b19bd87b.patch?full_index=1"; + hash = "sha256-KzoWVXcgjJaMUOXDyLlkwRcN6z3SdFhTJd0KYBYfElE="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/c4f295470392db237c0adfc9832214538a99a034.patch?full_index=1"; + hash = "sha256-sYTY+oiQ5K7bYLcI1+jSTlLFdwpteKGSu7S/bbaslLE="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/a65105ec284023960e93b3a66f6661ddd2f4121f.patch?full_index=1"; + hash = "sha256-ZNkiHlp+UlbnonPBhMUw6rqtjWrC1b9SgI9EcGhDlwY="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/c77bcf018716e97ae35203990bcd51c143840348.patch?full_index=1"; + hash = "sha256-EwrZKpLRzk3Yjen1WVQqKTiHKE2uLTpaPsE13czH2rY="; + }) + # Patches not yet released + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/f8b7a171463e775da304bccf4cf165e634525c7e.patch?full_index=1"; + hash = "sha256-imptUwt2oG8pPGKD3V6m5NQXuahis71UpXiJm4C0E6o="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/6dfa3e46d3d2f8cfba7da636d48a5c41b0132cd7.patch?full_index=1"; + hash = "sha256-ITtGsvZI6fliirCKvbMH9N2Xoy3001bz+hS3NPoqvzg="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/29b9c72b05786061cde58a5ae11cfcb580ab6c28.patch?full_index=1"; + hash = "sha256-xaqtwsrOIyRV5zzccab+nDNG8kUgO6AjrVYJNmjeNP0="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/cfe58cfdc488da71e655d3da709292ce6d9ddb58.patch?full_index=1"; + hash = "sha256-9GblpbQcYfoiE5R7fETsdW7v1Mm2Xdr4+xRNgUpLO+8="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/2cec716c48cea816dcd5bf4997ae3cdf1fe4cd90.patch?full_index=1"; + hash = "sha256-ExIkAj8yRJEK39OfV6A53HiuZsfQOm82/Tvj0nCaI8A="; + }) ] ++ gypPatches; } diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix index bb2a446d6eefa..cf3cb89167b5e 100644 --- a/pkgs/development/web/nodejs/v20.nix +++ b/pkgs/development/web/nodejs/v20.nix @@ -1,4 +1,4 @@ -{ callPackage, openssl, python3, enableNpm ? true }: +{ callPackage, fetchpatch2, openssl, python3, enableNpm ? true }: let buildNodejs = callPackage ./nodejs.nix { @@ -21,5 +21,64 @@ buildNodejs { ./bypass-darwin-xcrun-node16.patch ./node-npm-build-npm-package-logic.patch ./use-correct-env-in-tests.patch + + # Patches for OpenSSL 3.2 + # Patches already in 22.7.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/bd42e4c6a73f61f7ee47e4426d86708fd80c6c4f.patch?full_index=1"; + hash = "sha256-bsCLVwK5t8dD+wHd1FlFJ1wpCGtNGcwoOfq4fG5MHfo="; + includes = ["test/parallel/test-tls-set-sigalgs.js"]; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/e0634f58aba6a1634fe03107d5be849fd008cc02.patch?full_index=1"; + hash = "sha256-Jh7f4JPS1H2Rpj1nEOW53E66Z+GDNEFXl0jALrvyYXQ="; + }) + # Patches already in 22.8.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/e9cd4766e39d96693320be9ce0a1044c450e8675.patch?full_index=1"; + hash = "sha256-RXRLRznz16B8MrfVrpIHgyqLV2edpJk2p717QBttyK4="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/2bfc9e467cb05578efa4d3db497f368fb144e5fc.patch?full_index=1"; + hash = "sha256-TyHSd+O0T/bFR7YZuxm4HumrMljnJu2a8RRLRvz6KNM="; + }) + # Patches already in 22.9.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/d9ca8b018efd172a99365ada8f536491b19bd87b.patch?full_index=1"; + hash = "sha256-KzoWVXcgjJaMUOXDyLlkwRcN6z3SdFhTJd0KYBYfElE="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/c4f295470392db237c0adfc9832214538a99a034.patch?full_index=1"; + hash = "sha256-sYTY+oiQ5K7bYLcI1+jSTlLFdwpteKGSu7S/bbaslLE="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/a65105ec284023960e93b3a66f6661ddd2f4121f.patch?full_index=1"; + hash = "sha256-ZNkiHlp+UlbnonPBhMUw6rqtjWrC1b9SgI9EcGhDlwY="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/c77bcf018716e97ae35203990bcd51c143840348.patch?full_index=1"; + hash = "sha256-EwrZKpLRzk3Yjen1WVQqKTiHKE2uLTpaPsE13czH2rY="; + }) + # Patches not yet released + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/f8b7a171463e775da304bccf4cf165e634525c7e.patch?full_index=1"; + hash = "sha256-imptUwt2oG8pPGKD3V6m5NQXuahis71UpXiJm4C0E6o="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/6dfa3e46d3d2f8cfba7da636d48a5c41b0132cd7.patch?full_index=1"; + hash = "sha256-ITtGsvZI6fliirCKvbMH9N2Xoy3001bz+hS3NPoqvzg="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/29b9c72b05786061cde58a5ae11cfcb580ab6c28.patch?full_index=1"; + hash = "sha256-xaqtwsrOIyRV5zzccab+nDNG8kUgO6AjrVYJNmjeNP0="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/cfe58cfdc488da71e655d3da709292ce6d9ddb58.patch?full_index=1"; + hash = "sha256-9GblpbQcYfoiE5R7fETsdW7v1Mm2Xdr4+xRNgUpLO+8="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/2cec716c48cea816dcd5bf4997ae3cdf1fe4cd90.patch?full_index=1"; + hash = "sha256-ExIkAj8yRJEK39OfV6A53HiuZsfQOm82/Tvj0nCaI8A="; + }) ] ++ gypPatches; } diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index 90174977ffa90..4d539aac90b92 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 { @@ -7,7 +7,6 @@ let }; gypPatches = callPackage ./gyp-patches.nix { } ++ [ - ./gyp-patches-v22-import-sys.patch ]; in buildNodejs { @@ -22,5 +21,45 @@ buildNodejs { ./node-npm-build-npm-package-logic.patch ./use-correct-env-in-tests.patch ./bin-sh-node-run-v22.patch + + # Patches for OpenSSL 3.2 + # Patches already in 22.9.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/d9ca8b018efd172a99365ada8f536491b19bd87b.patch?full_index=1"; + hash = "sha256-KzoWVXcgjJaMUOXDyLlkwRcN6z3SdFhTJd0KYBYfElE="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/c4f295470392db237c0adfc9832214538a99a034.patch?full_index=1"; + hash = "sha256-sYTY+oiQ5K7bYLcI1+jSTlLFdwpteKGSu7S/bbaslLE="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/a65105ec284023960e93b3a66f6661ddd2f4121f.patch?full_index=1"; + hash = "sha256-ZNkiHlp+UlbnonPBhMUw6rqtjWrC1b9SgI9EcGhDlwY="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/c77bcf018716e97ae35203990bcd51c143840348.patch?full_index=1"; + hash = "sha256-EwrZKpLRzk3Yjen1WVQqKTiHKE2uLTpaPsE13czH2rY="; + }) + # Patches not yet released + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/f8b7a171463e775da304bccf4cf165e634525c7e.patch?full_index=1"; + hash = "sha256-imptUwt2oG8pPGKD3V6m5NQXuahis71UpXiJm4C0E6o="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/6dfa3e46d3d2f8cfba7da636d48a5c41b0132cd7.patch?full_index=1"; + hash = "sha256-ITtGsvZI6fliirCKvbMH9N2Xoy3001bz+hS3NPoqvzg="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/29b9c72b05786061cde58a5ae11cfcb580ab6c28.patch?full_index=1"; + hash = "sha256-xaqtwsrOIyRV5zzccab+nDNG8kUgO6AjrVYJNmjeNP0="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/cfe58cfdc488da71e655d3da709292ce6d9ddb58.patch?full_index=1"; + hash = "sha256-9GblpbQcYfoiE5R7fETsdW7v1Mm2Xdr4+xRNgUpLO+8="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/2cec716c48cea816dcd5bf4997ae3cdf1fe4cd90.patch?full_index=1"; + hash = "sha256-ExIkAj8yRJEK39OfV6A53HiuZsfQOm82/Tvj0nCaI8A="; + }) ] ++ gypPatches; } From 4686df865c86e308a771c5a19d3284957cab022d Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 22 Sep 2024 17:53:19 +0800 Subject: [PATCH 345/491] Revert "emacs: let nix build for manualPackages fail if native-comp fails" This reverts commit 2421239d668e84349a94a72fe21c2eefba4c8121. ignoreCompilationError defaults to false now. --- .../elisp-packages/manual-packages/acm-terminal/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/acm/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/agda2-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/codeium/default.nix | 2 -- .../elisp-packages/manual-packages/control-lock/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/copilot/package.nix | 2 -- .../elisp-packages/manual-packages/ebuild-mode/package.nix | 2 -- .../elisp-packages/manual-packages/el-easydraw/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/elisp-ffi/package.nix | 2 -- .../elisp-packages/manual-packages/emacs-conflict/package.nix | 2 -- .../elisp-packages/manual-packages/evil-markdown/package.nix | 2 -- .../elisp-packages/manual-packages/font-lock-plus/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/git-undo/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/grid/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/helm-words/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/hsc3-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/icicles/package.nix | 2 -- .../elisp-packages/manual-packages/idris2-mode/package.nix | 2 -- .../elisp-packages/manual-packages/isearch-plus/package.nix | 2 -- .../elisp-packages/manual-packages/isearch-prop/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/jam-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/llvm-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/lsp-bridge/default.nix | 2 -- .../emacs/elisp-packages/manual-packages/lspce/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/mu4e/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/notdeft/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/ott-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/pod-mode/package.nix | 2 -- .../elisp-packages/manual-packages/prisma-mode/package.nix | 2 -- .../elisp-packages/manual-packages/prolog-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/rect-mark/package.nix | 2 -- .../manual-packages/sunrise-commander/package.nix | 2 -- .../elisp-packages/manual-packages/sv-kalender/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/texpresso/default.nix | 2 -- .../manual-packages/tree-sitter-langs/default.nix | 2 -- .../emacs/elisp-packages/manual-packages/urweb-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/voicemacs/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/wat-mode/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/yes-no/package.nix | 2 -- .../emacs/elisp-packages/manual-packages/youtube-dl/package.nix | 2 -- 40 files changed, 80 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/package.nix index f24a1e6682b70..07e909b34a681 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/package.nix @@ -23,8 +23,6 @@ melpaBuild { popon ]; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/package.nix index 8a37b99d8b1da..1e411af1a871b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/package.nix @@ -15,8 +15,6 @@ melpaBuild { files = ''("acm/*.el" "acm/icons")''; - ignoreCompilationError = false; - meta = { description = "Asynchronous Completion Menu"; homepage = "https://github.com/manateelazycat/lsp-bridge"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/package.nix index d02b2b29ce6a2..5eec518036eab 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/package.nix @@ -8,8 +8,6 @@ melpaBuild { files = ''("src/data/emacs-mode/*.el")''; - ignoreCompilationError = false; - meta = { inherit (Agda.meta) homepage license; description = "Agda2-mode for Emacs extracted from Agda package"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/codeium/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/codeium/default.nix index de7c69fd4dd62..59be7f543d1c5 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/codeium/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/codeium/default.nix @@ -25,8 +25,6 @@ melpaBuild { }) ]; - ignoreCompilationError = false; - passthru.updateScript = gitUpdater { }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/control-lock/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/control-lock/package.nix index 058aa722ef8a6..5a352c5c3bc49 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/control-lock/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/control-lock/package.nix @@ -13,8 +13,6 @@ melpaBuild { hash = "sha256-JCrmS3FSGDHSR+eAR0X/uO0nAgd3TUmFxwEVH5+KV+4="; }; - ignoreCompilationError = false; - meta = { homepage = "https://www.emacswiki.org/emacs/control-lock.el"; description = "Like caps-lock, but for your control key"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/copilot/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/copilot/package.nix index 37f8c81ce08e8..2225dff0872d6 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/copilot/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/copilot/package.nix @@ -30,8 +30,6 @@ melpaBuild { propagatedUserEnvPkgs = [ nodejs ]; - ignoreCompilationError = false; - meta = { description = "Unofficial copilot plugin for Emacs"; homepage = "https://github.com/copilot-emacs/copilot.el"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/package.nix index d37153261edf3..b6c53e26c5ed0 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ebuild-mode/package.nix @@ -13,8 +13,6 @@ melpaBuild rec { hash = "sha256-GFEDWT88Boz/DxEcmFgf7u2NOoMjAN05yRiYwoYtvXc="; }; - ignoreCompilationError = false; - meta = { homepage = "https://gitweb.gentoo.org/proj/ebuild-mode.git/"; description = "Major modes for Gentoo package files"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/package.nix index fe4d9d33ee91e..b69423e583310 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/el-easydraw/package.nix @@ -21,8 +21,6 @@ melpaBuild { files = ''(:defaults "msg")''; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/package.nix index 59e0b6b03fae4..1289b1effde34 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elisp-ffi/package.nix @@ -29,8 +29,6 @@ melpaBuild { make CXX=$CXX ''; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacs-conflict/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacs-conflict/package.nix index aa5be89a9b3d6..fea6905e6f31f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacs-conflict/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/emacs-conflict/package.nix @@ -16,8 +16,6 @@ melpaBuild { hash = "sha256-DIGvnotSQYIgHxGxtyCALHd8ZbrfkmdvjLXlkcqQ6v4="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/evil-markdown/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/evil-markdown/package.nix index 2140665296b60..57249b72fbb86 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/evil-markdown/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/evil-markdown/package.nix @@ -23,8 +23,6 @@ melpaBuild { markdown-mode ]; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/font-lock-plus/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/font-lock-plus/package.nix index 4c615d0e6cc82..93d963a09e08d 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/font-lock-plus/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/font-lock-plus/package.nix @@ -17,8 +17,6 @@ melpaBuild { hash = "sha256-er+knxqAejgKAtOnhqHfsGN286biHFdeMIUlbW7JyYw="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/git-undo/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/git-undo/package.nix index 66f6f8c59c7fb..b1a490fb2c9b7 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/git-undo/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/git-undo/package.nix @@ -16,8 +16,6 @@ melpaBuild { hash = "sha256-xwVCAdxnIRHrFNWvtlM3u6CShsUiGgl1CiBTsp2x7IM="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/grid/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/grid/package.nix index cb81a81cc4a07..0b8b5108043c4 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/grid/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/grid/package.nix @@ -16,8 +16,6 @@ melpaBuild { hash = "sha256-3QDw4W3FbFvb2zpkDHAo9BJKxs3LaehyvUVJPKqS9RE="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/helm-words/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/helm-words/package.nix index 4a03ad5d97dfb..8e99b427cb44c 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/helm-words/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/helm-words/package.nix @@ -22,8 +22,6 @@ melpaBuild { helm ]; - ignoreCompilationError = false; - meta = { homepage = "https://github.com/emacsmirror/helm-words"; description = "Helm extension for looking up words in dictionaries and thesauri"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/hsc3-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/hsc3-mode/package.nix index d44afbeaf3e6b..efa79b9ebb05e 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/hsc3-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/hsc3-mode/package.nix @@ -16,8 +16,6 @@ melpaBuild { packageRequires = [ haskell-mode ]; - ignoreCompilationError = false; - meta = { inherit (hsc3.meta) homepage license; description = "Emacs mode for hsc3"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/icicles/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/icicles/package.nix index 0228bd8f414ae..59b584d9f9c85 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/icicles/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/icicles/package.nix @@ -16,8 +16,6 @@ melpaBuild { hash = "sha256-Xbt0D9EgmvN1hDTeLbdxq1ARHObj8M4GfH2sbFILRTI="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix index d9510a9c3e105..2a7b7b571d12e 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/idris2-mode/package.nix @@ -24,8 +24,6 @@ melpaBuild { prop-menu ]; - ignoreCompilationError = false; - passthru.updateScript = gitUpdater { }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-plus/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-plus/package.nix index 8bc3a667b109d..84dd7a1941664 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-plus/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-plus/package.nix @@ -17,8 +17,6 @@ melpaBuild { hash = "sha256-h/jkIWjkLFbtBp9F+lhA3CulYy2XaeloLmexR0CDm3E="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix index 72f4141df79e3..c97d3cc2d4917 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/isearch-prop/package.nix @@ -16,8 +16,6 @@ melpaBuild { hash = "sha256-Xli7TxBenl5cDMJv3Qz7ZELFpvJKStMploLpf9a+uoA="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/jam-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/jam-mode/package.nix index 74e25b096b2bf..418f201fa933b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/jam-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/jam-mode/package.nix @@ -27,8 +27,6 @@ melpaBuild rec { mv tmp.el jam-mode.el ''; - ignoreCompilationError = false; - meta = { description = "Emacs major mode for editing Jam files"; license = lib.licenses.gpl2Plus; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/package.nix index befbf9df198b4..9fef79b3312dd 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/llvm-mode/package.nix @@ -9,8 +9,6 @@ melpaBuild { "llvm/utils/emacs/README") ''; - ignoreCompilationError = false; - meta = { inherit (llvmPackages.llvm.meta) homepage license; description = "Major mode for the LLVM assembler language"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix index cf4614caec3a3..0d2953576981b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix @@ -86,8 +86,6 @@ melpaBuild { __darwinAllowLocalNetworking = true; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/package.nix index 55a07cd66e68a..78325d90bf78d 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/package.nix @@ -24,8 +24,6 @@ melpaBuild { # to compile lspce.el, it needs lspce-module.so files = ''(:defaults "${lib.getLib lspce-module}/lib/lspce-module.*")''; - ignoreCompilationError = false; - passthru = { inherit lspce-module; updateScript = nix-update-script { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mu4e/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mu4e/package.nix index b1c378cf31c4f..240cde0063005 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mu4e/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mu4e/package.nix @@ -26,8 +26,6 @@ elpaBuild { tar --create --verbose --file=$src $content_directory ''; - ignoreCompilationError = false; - meta = removeAttrs mu.meta [ "mainProgram" ] // { description = "Full-featured e-mail client"; maintainers = mu.meta.maintainers ++ (with lib.maintainers; [ linj ]); diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/package.nix index 7554fd5983eaa..055c09a05f610 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/package.nix @@ -59,8 +59,6 @@ melpaBuild { install -D --target-directory=$out/bin notdeft-xapian ''; - ignoreCompilationError = false; - passthru = { updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/package.nix index 94499d71521ed..ac208e29dbf44 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/package.nix @@ -15,8 +15,6 @@ melpaBuild { popd ''; - ignoreCompilationError = false; - meta = { description = "Emacs ott mode (from ott sources)"; inherit (ott.meta) homepage license; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix index a0ae4574e4d05..f6ec8048715ce 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/pod-mode/package.nix @@ -26,8 +26,6 @@ melpaBuild { install -Dm644 -t ''${!outputDoc}/share/doc/pod-mode/ ChangeLog README ''; - ignoreCompilationError = false; - meta = { homepage = "https://metacpan.org/dist/pod-mode"; description = "Major mode for editing .pod-files"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/package.nix index c5e20aae5e221..feab7350cad9b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prisma-mode/package.nix @@ -22,8 +22,6 @@ melpaBuild { hash = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I="; }; - ignoreCompilationError = false; - meta = { description = "Major mode for Prisma Schema Language"; license = lib.licenses.gpl2Only; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prolog-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prolog-mode/package.nix index 817598551977c..41c9363fbf4af 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prolog-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/prolog-mode/package.nix @@ -19,8 +19,6 @@ melpaBuild { --replace-fail ";; prolog.el ---" ";;; prolog.el ---" ''; - ignoreCompilationError = false; - meta = { homepage = "https://bruda.ca/emacs/prolog_mode_for_emacs/"; description = "Prolog mode for Emacs"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/rect-mark/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/rect-mark/package.nix index b44b2281d59c2..aee5c8ba2dbf6 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/rect-mark/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/rect-mark/package.nix @@ -19,8 +19,6 @@ melpaBuild { hash = "sha256-/8T1VTYkKUxlNWXuuS54S5jpl4UxJBbgSuWc17a/VyM="; }; - ignoreCompilationError = false; - passthru.updateScript = gitUpdater { }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sunrise-commander/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sunrise-commander/package.nix index ee50bda060bf6..7cf5a63f4b6cf 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sunrise-commander/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sunrise-commander/package.nix @@ -17,8 +17,6 @@ melpaBuild { hash = "sha256-D36qiRi5OTZrBtJ/bD/javAWizZ8NLlC/YP4rdLCSsw="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sv-kalender/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sv-kalender/package.nix index 8454c581e24a8..0227fcefc152a 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sv-kalender/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/sv-kalender/package.nix @@ -13,8 +13,6 @@ melpaBuild { hash = "sha256-VXz3pO6N94XM8FzLSAoYrj3NEh4wp0UiuG6ad8M7nVU="; }; - ignoreCompilationError = false; - meta = { homepage = "https://www.emacswiki.org/emacs/sv-kalender.el"; description = "Swedish calendar for Emacs"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/texpresso/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/texpresso/default.nix index f92bfed79c342..ca83eb04a336f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/texpresso/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/texpresso/default.nix @@ -10,8 +10,6 @@ melpaBuild { files = ''("emacs/*.el")''; - ignoreCompilationError = false; - meta = { inherit (texpresso.meta) homepage license; description = "Emacs mode for TeXpresso"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix index a0e8969f466bf..5f04332db117f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tree-sitter-langs/default.nix @@ -44,8 +44,6 @@ melpaStablePackages.tree-sitter-langs.overrideAttrs(old: { fi '') plugins); - ignoreCompilationError = false; - passthru = old.passthru or {} // { inherit plugins; withPlugins = fn: final.tree-sitter-langs.override { plugins = fn tree-sitter-grammars; }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/urweb-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/urweb-mode/package.nix index 0d000a43d7385..d5b597bdf47b8 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/urweb-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/urweb-mode/package.nix @@ -20,8 +20,6 @@ melpaBuild { dontConfigure = true; - ignoreCompilationError = false; - meta = { description = "Major mode for editing Ur/Web"; inherit (urweb.meta) license homepage; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/package.nix index 94e3d17828f22..5107bd77f63a7 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/voicemacs/package.nix @@ -49,8 +49,6 @@ melpaBuild { el-patch ]; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/wat-mode/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/wat-mode/package.nix index da9bde05eba91..e4bb260d14b44 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/wat-mode/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/wat-mode/package.nix @@ -16,8 +16,6 @@ melpaBuild { hash = "sha256-jV5V3TRY+D3cPSz3yFwVWn9yInhGOYIaUTPEhsOBxto="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/yes-no/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/yes-no/package.nix index 41c0fcc1fdad0..2981cb8f47112 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/yes-no/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/yes-no/package.nix @@ -13,8 +13,6 @@ melpaBuild { hash = "sha256-ceCOBFfixmGVB3kaSvOv1YZThC2pleYnS8gXhLrjhA8="; }; - ignoreCompilationError = false; - meta = { homepage = "https://www.emacswiki.org/emacs/yes-no.el"; description = "Specify use of `y-or-n-p' or `yes-or-no-p' on a case-by-case basis"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/youtube-dl/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/youtube-dl/package.nix index b8bb5cd8dc334..d3e5a5cfbbb3b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/youtube-dl/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/youtube-dl/package.nix @@ -16,8 +16,6 @@ melpaBuild { hash = "sha256-Etl95rcoRACDPjcTPQqYK2L+w8OZbOrTrRT0JadMdH4="; }; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { }; meta = { From 35ff4b6a6491017fe84da69d99594392fac0477b Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 22 Sep 2024 18:05:37 +0800 Subject: [PATCH 346/491] emacsPackages.tsc: stop setting ignoreCompilationError It defaults to false now. --- .../emacs/elisp-packages/manual-packages/tsc/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix index cb020bc7efaf7..bf23d0caf9df0 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/tsc/package.nix @@ -42,8 +42,6 @@ in melpaBuild { files = ''("core/*.el" "${tsc-dyn}/lib/*")''; - ignoreCompilationError = false; - passthru = { inherit tsc-dyn; updateScript = nix-update-script { attrPath = "emacsPackages.tsc.tsc-dyn"; }; From d3e9e03e54839f757cd998597ae118515f4d512d Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 22 Sep 2024 18:06:12 +0800 Subject: [PATCH 347/491] emacsPackages.cask: stop setting ignoreCompilationError It defaults to false now. --- .../emacs/elisp-packages/manual-packages/cask/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/package.nix index 4334fce6ecbb3..654c260745294 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/cask/package.nix @@ -46,8 +46,6 @@ melpaBuild (finalAttrs: { shut-up ]; - ignoreCompilationError = false; - strictDeps = true; # use melpaVersion so that it works for unstable releases too From 84d59c02ec3cc07845273542b0031b104b9c28fb Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 22 Sep 2024 18:06:23 +0800 Subject: [PATCH 348/491] emacsPackages.consult-gh: stop setting ignoreCompilationError It defaults to false now. --- .../emacs/elisp-packages/manual-packages/consult-gh/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/consult-gh/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/consult-gh/default.nix index cbeee76c172d0..c70ec74ee763f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/consult-gh/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/consult-gh/default.nix @@ -30,8 +30,6 @@ melpaBuild { propagatedUserEnvPkgs = [ gh ]; - ignoreCompilationError = false; - passthru.updateScript = unstableGitUpdater { }; meta = { From 5176727b63774e1a9f801657cf4433de62df196f Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sun, 22 Sep 2024 18:06:42 +0800 Subject: [PATCH 349/491] emacsPackages.gn-mode-from-sources: stop setting ignoreCompilationError It defaults to false now. --- .../manual-packages/gn-mode-from-sources/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/gn-mode-from-sources/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/gn-mode-from-sources/package.nix index 8b554081d1fd9..ae73bf0d64457 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/gn-mode-from-sources/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/gn-mode-from-sources/package.nix @@ -18,8 +18,6 @@ melpaBuild { --replace-fail ";;; gn-mode.el - " ";;; gn-mode.el --- " ''; - ignoreCompilationError = false; - meta = { inherit (gn.meta) homepage license; maintainers = with lib.maintainers; [ rennsax ]; From 98ac76b79c404e42dbf8085c3f57ba93e0b7be32 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Fri, 6 Sep 2024 19:16:32 +0800 Subject: [PATCH 350/491] emacsPackages.color-theme-solarized: ignore native compilation error --- .../manual-packages/color-theme-solarized/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/color-theme-solarized/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/color-theme-solarized/package.nix index 7c047fe32f4ef..13d06e451dcd9 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/color-theme-solarized/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/color-theme-solarized/package.nix @@ -16,6 +16,9 @@ melpaBuild { hash = "sha256-7E8r56dzfD06tsQEnqU5mWSbwz9x9QPbzken2J/fhlg="; }; + # https://github.com/NixOS/nixpkgs/issues/335408 + ignoreCompilationError = true; + passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; meta = { From 466727b8217a9d96204884f2720ba8c895050a01 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Fri, 6 Sep 2024 19:17:10 +0800 Subject: [PATCH 351/491] emacsPackages.session-management-for-emacs: ignore compilation error --- .../manual-packages/session-management-for-emacs/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/session-management-for-emacs/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/session-management-for-emacs/package.nix index b020d158f3e39..495e274735f45 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/session-management-for-emacs/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/session-management-for-emacs/package.nix @@ -14,6 +14,9 @@ melpaBuild rec { hash = "sha256-lc6NIX+lx97qCs5JqG7x0iVE6ki09Gy7DEQuPW2c+7s="; }; + # https://github.com/NixOS/nixpkgs/issues/335421 + ignoreCompilationError = true; + meta = { /* installation: add to your ~/.emacs From 656c68d6547819064837ebbd1a4f6e8fc218c8a5 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 14:16:09 +0800 Subject: [PATCH 352/491] emacsPackages: add more override helpers - addPackageRequires - addPackageRequiresIfOlder - addPackageRequiresWhen - fixRequireHelmCore - ignoreCompilationError - ignoreCompilationErrorIfOlder - ignoreCompilationErrorWhen - mkHomeIfOlder - mkHomeWhen --- .../elisp-packages/elpa-devel-packages.nix | 2 +- .../emacs/elisp-packages/elpa-packages.nix | 2 +- .../elisp-packages/lib-override-helper.nix | 80 ++++++++++++++++--- .../emacs/elisp-packages/melpa-packages.nix | 2 +- 4 files changed, 73 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix index 5744eaa4e5a15..0db019dddb5c0 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix @@ -26,7 +26,7 @@ formats commits for you. self: let - inherit (import ./lib-override-helper.nix pkgs) + inherit (import ./lib-override-helper.nix pkgs lib) markBroken ; diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix index d20a2249703b6..64c05ba3154e6 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix @@ -26,7 +26,7 @@ formats commits for you. self: let - inherit (import ./lib-override-helper.nix pkgs) + inherit (import ./lib-override-helper.nix pkgs lib) markBroken ; diff --git a/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix b/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix index fb1f412299f7c..6eddcc2f9f758 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix @@ -1,6 +1,27 @@ -pkgs: +pkgs: lib: rec { + addPackageRequires = + pkg: packageRequires: addPackageRequiresWhen pkg packageRequires (finalAttrs: previousAttrs: true); + + addPackageRequiresIfOlder = + pkg: packageRequires: version: + addPackageRequiresWhen pkg packageRequires ( + finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version + ); + + addPackageRequiresWhen = + pkg: packageRequires: predicate: + pkg.overrideAttrs ( + finalAttrs: previousAttrs: { + packageRequires = + if predicate finalAttrs previousAttrs then + previousAttrs.packageRequires or [ ] ++ packageRequires + else + previousAttrs.packageRequires or null; + } + ); + buildWithGit = pkg: pkg.overrideAttrs (previousAttrs: { @@ -18,6 +39,34 @@ rec { fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags); + fixRequireHelmCore = + pkg: + pkg.overrideAttrs (previousAttrs: { + postPatch = + previousAttrs.postPatch or "" + + "\n" + + '' + substituteInPlace $ename.el \ + --replace-fail "(require 'helm)" "(require 'helm-core)" + ''; + }); + + ignoreCompilationError = pkg: ignoreCompilationErrorWhen pkg (finalAttrs: previousAttrs: true); + + ignoreCompilationErrorIfOlder = + pkg: version: + ignoreCompilationErrorWhen pkg ( + finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version + ); + + ignoreCompilationErrorWhen = + pkg: predicate: + pkg.overrideAttrs ( + finalAttrs: previousAttrs: { + ignoreCompilationError = predicate finalAttrs previousAttrs; + } + ); + markBroken = pkg: pkg.overrideAttrs (previousAttrs: { @@ -26,13 +75,24 @@ rec { }; }); - mkHome = - pkg: - pkg.overrideAttrs (previousAttrs: { - preInstall = - '' - HOME=$(mktemp -d) - '' - + previousAttrs.preInstall or ""; - }); + mkHome = pkg: mkHomeWhen pkg (finalAttrs: previousAttrs: true); + + mkHomeIfOlder = + pkg: version: + mkHomeWhen pkg (finalAttrs: previousAttrs: lib.versionOlder finalAttrs.version version); + + mkHomeWhen = + pkg: predicate: + pkg.overrideAttrs ( + finalAttrs: previousAttrs: { + preInstall = + if predicate finalAttrs previousAttrs then + '' + HOME=$(mktemp -d) + '' + + previousAttrs.preInstall or "" + else + previousAttrs.preInstall or null; + } + ); } diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index d61d83bb5aaa2..6b3e93aa97548 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -30,7 +30,7 @@ in { lib, pkgs }: variant: self: let - inherit (import ./lib-override-helper.nix pkgs) + inherit (import ./lib-override-helper.nix pkgs lib) buildWithGit dontConfigure externalSrc From e48a0365d2d67410cb701b028d2a70c271d2ea3d Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 14:18:10 +0800 Subject: [PATCH 353/491] emacsPackages: fix build for nongnu packages --- .../nongnu-common-overrides.nix | 19 ++++++++++++++++++- .../elisp-packages/nongnu-devel-packages.nix | 14 ++++++++++++-- .../emacs/elisp-packages/nongnu-packages.nix | 2 +- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-common-overrides.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-common-overrides.nix index d6ac00a3a817c..f59b607202b80 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-common-overrides.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-common-overrides.nix @@ -1,8 +1,25 @@ -pkgs: +pkgs: lib: self: super: +let + inherit (import ./lib-override-helper.nix pkgs lib) + addPackageRequires + ; +in { + # missing optional dependencies + haskell-tng-mode = addPackageRequires super.haskell-tng-mode ( + with self; + [ + s + company + projectile + smartparens + yasnippet + ] + ); + p4-16-mode = super.p4-16-mode.overrideAttrs { # workaround https://github.com/NixOS/nixpkgs/issues/301795 prePatch = '' diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix index 8cbcd0a711195..bba1f73f02afc 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-devel-packages.nix @@ -19,6 +19,10 @@ self: let + inherit (import ./lib-override-helper.nix pkgs lib) + addPackageRequires + ; + generateNongnu = lib.makeOverridable ( { generated ? ./nongnu-devel-generated.nix, @@ -39,9 +43,15 @@ let super = imported; - commonOverrides = import ./nongnu-common-overrides.nix pkgs; + commonOverrides = import ./nongnu-common-overrides.nix pkgs lib; - overrides = self: super: { }; + overrides = self: super: { + # missing optional dependencies + haskell-tng-mode = addPackageRequires super.haskell-tng-mode [ + self.shut-up + self.lsp-mode + ]; + }; in let diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix index 4466621b39261..139bdaf6260a3 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix @@ -29,7 +29,7 @@ self: let super = imported; - commonOverrides = import ./nongnu-common-overrides.nix pkgs; + commonOverrides = import ./nongnu-common-overrides.nix pkgs lib; overrides = self: super: { }; From fc9502ff295c22cc8114ecc6b550c3b0db41c267 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 14:18:31 +0800 Subject: [PATCH 354/491] emacsPackages: fix build for elpa packages --- .../elisp-packages/elpa-common-overrides.nix | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix index 56cdd8ad733ed..5d7a429280689 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix @@ -4,6 +4,14 @@ self: super: let libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary; + inherit (import ./lib-override-helper.nix pkgs lib) + addPackageRequires + addPackageRequiresIfOlder + ignoreCompilationError + ignoreCompilationErrorIfOlder + mkHome + mkHomeIfOlder + ; in { cl-lib = null; # builtin @@ -54,6 +62,64 @@ in } ); + # native-compiler-error-empty-byte in old versions + ada-ref-man = ignoreCompilationErrorIfOlder super.ada-ref-man "2020.1.0.20201129.190419"; + + # elisp error in old versions + ampc = ignoreCompilationErrorIfOlder super.ampc "0.2.0.20240220.181558"; + + auctex = mkHome super.auctex; + + auctex-cont-latexmk = mkHome super.auctex-cont-latexmk; + + auctex-label-numbers = mkHome super.auctex-label-numbers; + + # missing optional dependencies https://codeberg.org/rahguzar/consult-hoogle/issues/4 + consult-hoogle = addPackageRequiresIfOlder super.consult-hoogle [ self.consult ] "0.2.2"; + + # missing optional dependencies https://github.com/jacksonrayhamilton/context-coloring/issues/10 + context-coloring = addPackageRequires super.context-coloring [ self.js2-mode ]; + + cpio-mode = ignoreCompilationError super.cpio-mode; # elisp error + + # fixed in https://git.savannah.gnu.org/cgit/emacs/elpa.git/commit/?h=externals/dbus-codegen&id=cfc46758c6252a602eea3dbc179f8094ea2a1a85 + dbus-codegen = ignoreCompilationErrorIfOlder super.dbus-codegen "0.1.0.20201127.221326"; # elisp error + + ebdb = super.ebdb.overrideAttrs ( + finalAttrs: previousAttrs: + let + applyOrgRoamMissingPatch = lib.versionOlder finalAttrs.version "0.8.22.0.20240205.070828"; + in + { + dontUnpack = !applyOrgRoamMissingPatch; + patches = + if applyOrgRoamMissingPatch then + previousAttrs.patches or [ ] + ++ [ + (pkgs.fetchpatch { + name = "fix-comilation-error-about-missing-org-roam.patch"; + url = "https://github.com/girzel/ebdb/commit/058f30a996eb9074feac8f94db4eb49e85ae08f1.patch"; + hash = "sha256-UI72N3lCgro6bG75sWnbw9truREToQHEzZ1TeQAIMjo="; + }) + ] + else + previousAttrs.patches or null; + preBuild = + if applyOrgRoamMissingPatch then + previousAttrs.preBuild or "" + + "\n" + + '' + pushd .. + local content_directory=$ename-$version + src=$PWD/$content_directory.tar + tar --create --verbose --file=$src $content_directory + popd + '' + else + previousAttrs.preBuild or null; + } + ); + eglot = super.eglot.overrideAttrs ( finalAttrs: previousAttrs: { postInstall = @@ -99,6 +165,29 @@ in }; }); + notes-mode = (mkHome super.notes-mode).overrideAttrs (old: { + dontUnpack = false; + buildInputs = old.buildInputs or [ ] ++ [ pkgs.perl ]; + nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.perl ]; + preInstall = + old.preInstall or "" + + "\n" + + '' + patchShebangs --build mkconfig + pushd .. + local content_directory=$ename-$version + src=$PWD/$content_directory.tar + tar --create --verbose --file=$src $content_directory + popd + ''; + postFixup = + old.postFixup or "" + + "\n" + + '' + patchShebangs --host --update $out/share/emacs/site-lisp/elpa/$ename-$version/mkconfig + ''; + }); + plz = super.plz.overrideAttrs (old: { dontUnpack = false; postPatch = @@ -117,10 +206,22 @@ in ''; }); + # https://sourceware.org/bugzilla/show_bug.cgi?id=32185 + poke = addPackageRequires super.poke [ self.poke-mode ]; + pq = super.pq.overrideAttrs (old: { buildInputs = old.buildInputs or [ ] ++ [ pkgs.postgresql ]; }); + preview-auto = mkHome super.preview-auto; + + preview-tailor = mkHome super.preview-tailor; + + # native-ice https://github.com/mattiase/relint/issues/15 + relint = ignoreCompilationError super.relint; + + shen-mode = ignoreCompilationErrorIfOlder super.shen-mode "0.1.0.20221221.82050"; # elisp error + # native compilation for tests/seq-tests.el never ends # delete tests/seq-tests.el to workaround this seq = super.seq.overrideAttrs (old: { @@ -136,6 +237,26 @@ in ''; }); + # https://github.com/alphapapa/taxy.el/issues/3 + taxy = super.taxy.overrideAttrs (old: { + dontUnpack = false; + postUnpack = + old.postUnpack or "" + + "\n" + + '' + local content_directory=$ename-$version + rm --verbose --recursive $content_directory/examples + src=$PWD/$content_directory.tar + tar --create --verbose --file=$src $content_directory + ''; + }); + + tex-parens = mkHomeIfOlder super.tex-parens "0.4.0.20240630.70456"; + + timerfunctions = ignoreCompilationErrorIfOlder super.timerfunctions "1.4.2.0.20201129.225252"; + + wisitoken-grammar-mode = ignoreCompilationError super.wisitoken-grammar-mode; # elisp error + xeft = super.xeft.overrideAttrs (old: { dontUnpack = false; buildInputs = old.buildInputs or [ ] ++ [ pkgs.xapian ]; @@ -153,4 +274,7 @@ in rm $outd/xapian-lite.cc $outd/emacs-module.h $outd/emacs-module-prelude.h $outd/demo.gif $outd/Makefile ''; }); + + # native-ice https://github.com/mattiase/xr/issues/9 + xr = ignoreCompilationError super.xr; } From bc2ab9c42cede4e35e4d80f117e73ef3717fcb84 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 14:18:47 +0800 Subject: [PATCH 355/491] emacsPackages: fix build for melpa packages --- .../emacs/elisp-packages/melpa-packages.nix | 851 +++++++++++++++++- 1 file changed, 834 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index 6b3e93aa97548..0530af85cde0f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -31,11 +31,16 @@ in { lib, pkgs }: variant: self: let inherit (import ./lib-override-helper.nix pkgs lib) + addPackageRequires + addPackageRequiresIfOlder buildWithGit dontConfigure externalSrc fix-rtags + fixRequireHelmCore + ignoreCompilationError markBroken + mkHome ; generateMelpa = lib.makeOverridable ({ archiveJson ? defaultArchive @@ -131,7 +136,7 @@ let } // { # Expects bash to be at /bin/bash - ac-rtags = fix-rtags super.ac-rtags; + ac-rtags = ignoreCompilationError (fix-rtags super.ac-rtags); # elisp error age = super.age.overrideAttrs (attrs: { postPatch = attrs.postPatch or "" + '' @@ -144,7 +149,8 @@ let inherit (self.melpaPackages) powerline; }; - auto-complete-clang-async = super.auto-complete-clang-async.overrideAttrs (old: { + # https://github.com/Golevka/emacs-clang-complete-async/issues/90 + auto-complete-clang-async = (addPackageRequires super.auto-complete-clang-async [ self.auto-complete ]).overrideAttrs (old: { buildInputs = old.buildInputs ++ [ pkgs.llvmPackages.llvm ]; CFLAGS = "-I${pkgs.llvmPackages.libclang.lib}/include"; LDFLAGS = "-L${pkgs.llvmPackages.libclang.lib}/lib"; @@ -157,7 +163,7 @@ let # upstream issue: missing package version cmake-mode = dontConfigure super.cmake-mode; - company-rtags = fix-rtags super.company-rtags; + company-rtags = ignoreCompilationError (fix-rtags super.company-rtags); # elisp error easy-kill-extras = super.easy-kill-extras.override { inherit (self.melpaPackages) easy-kill; @@ -226,7 +232,7 @@ let inherit (self.melpaPackages) ess ctable popup; }; - flycheck-rtags = fix-rtags super.flycheck-rtags; + flycheck-rtags = ignoreCompilationError (fix-rtags super.flycheck-rtags); # elisp error pdf-tools = super.pdf-tools.overrideAttrs (old: { # Temporary work around for: @@ -313,7 +319,7 @@ let HOME = "/tmp"; }); - ivy-rtags = fix-rtags super.ivy-rtags; + ivy-rtags = ignoreCompilationError (fix-rtags super.ivy-rtags); # elisp error jinx = super.jinx.overrideAttrs (old: let libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary; @@ -392,7 +398,7 @@ let magit-tbdiff = buildWithGit super.magit-tbdiff; - magit-topgit = buildWithGit super.magit-topgit; + magit-topgit = ignoreCompilationError (buildWithGit super.magit-topgit); # elisp error magit-vcsh = buildWithGit super.magit-vcsh; @@ -406,7 +412,7 @@ let magit-gitflow = buildWithGit super.magit-gitflow; - magithub = buildWithGit super.magithub; + magithub = ignoreCompilationError (buildWithGit super.magithub); # elisp error magit-svn = buildWithGit super.magit-svn; @@ -426,9 +432,7 @@ let jist = buildWithGit super.jist; - mandoku = buildWithGit super.mandoku; - - mandoku-tls = buildWithGit super.mandoku-tls; + mandoku = addPackageRequires super.mandoku [ self.git ]; # upstream is archived magit-p4 = buildWithGit super.magit-p4; @@ -465,7 +469,8 @@ let }); # upstream issue: missing file header - mhc = super.mhc.override { + # elisp error + mhc = (ignoreCompilationError super.mhc).override { inherit (self.melpaPackages) calfw; }; @@ -482,7 +487,7 @@ let ''; }); - rtags = dontConfigure (externalSrc super.rtags pkgs.rtags); + rtags = ignoreCompilationError (dontConfigure (externalSrc super.rtags pkgs.rtags)); # elisp error rtags-xref = dontConfigure super.rtags; @@ -496,12 +501,21 @@ let ''; }); - shm = super.shm.overrideAttrs (attrs: { - propagatedUserEnvPkgs = [ pkgs.haskellPackages.structured-haskell-mode ]; - }); + # https://github.com/projectional-haskell/structured-haskell-mode/issues/165 + shm = + (addPackageRequires super.shm [ + self.haskell-mode + self.hindent + ]).overrideAttrs + (attrs: { + propagatedUserEnvPkgs = attrs.propagatedUserEnvPkgs or [ ] ++ [ + pkgs.haskellPackages.structured-haskell-mode + ]; + }); # Telega has a server portion for it's network protocol - telega = super.telega.overrideAttrs (old: { + # elisp error + telega = (ignoreCompilationError super.telega).overrideAttrs (old: { buildInputs = old.buildInputs ++ [ pkgs.tdlib ]; nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ]; @@ -640,7 +654,7 @@ let ]; }); - helm-rtags = fix-rtags super.helm-rtags; + helm-rtags = ignoreCompilationError (fix-rtags super.helm-rtags); # elisp error # tries to write to $HOME php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: { @@ -718,6 +732,809 @@ let ''; }) else super.osx-dictionary; + + abgaben = addPackageRequires (mkHome super.abgaben) [ self.mu4e ]; + + # https://github.com/afroisalreadyinu/abl-mode/issues/9 + abl-mode = addPackageRequires super.abl-mode [ self.f ]; + + ac-php-core = super.ac-php-core.overrideAttrs (old: { + # empty file causing native-compiler-error-empty-byte + preBuild = + '' + rm --verbose ac-php-comm-tags-data.el + '' + + old.preBuild or ""; + }); + + # Optimizer error: too much on the stack + ack-menu = ignoreCompilationError super.ack-menu; + + # https://github.com/gongo/airplay-el/issues/2 + airplay = addPackageRequires super.airplay [ self.request-deferred ]; + + # https://github.com/melpa/melpa/pull/9185 + alectryon = super.alectryon.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --recursive --verbose etc/elisp/screenshot + ''; + }); + + # https://github.com/gergelypolonkai/alert-termux/issues/2 + alert-termux = addPackageRequires super.alert-termux [ self.alert ]; + + # https://github.com/magnars/angular-snippets.el/issues/7 + angular-snippets = addPackageRequires super.angular-snippets [ self.yasnippet ]; + + # https://github.com/ragone/asx/pull/3 + asx = addPackageRequires super.asx [ self.request ]; + + auctex-cluttex = mkHome super.auctex-cluttex; + + auctex-latexmk = mkHome super.auctex-latexmk; + + auto-indent-mode = ignoreCompilationError super.auto-indent-mode; # elisp error + + # missing optional dependencies + auto-complete-auctex = addPackageRequires (mkHome super.auto-complete-auctex) [ self.auctex ]; + + # depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21 + auto-complete-distel = ignoreCompilationError super.auto-complete-distel; + + aws-ec2 = ignoreCompilationError super.aws-ec2; # elisp error + + badger-theme = ignoreCompilationError super.badger-theme; # elisp error + + # https://github.com/BinaryAnalysisPlatform/bap-mode/pull/4 + bap-mode = fixRequireHelmCore (addPackageRequires super.bap-mode [ self.helm-core ]); + + # try to open non-existent ~/.emacs.d/.blog_minimal.config during compilation + blog-minimal = ignoreCompilationError super.blog-minimal; + + boa-mode = ignoreCompilationError super.boa-mode; # elisp error + + # missing optional dependencies + boogie-friends = addPackageRequires super.boogie-friends [ self.lsp-mode ]; + + # https://github.com/melpa/melpa/pull/9181 + bpr = super.bpr.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --verbose --force test-bpr.el + ''; + }); + + bts = ignoreCompilationError super.bts; # elisp error + + bts-github = ignoreCompilationError super.bts-github; # elisp error + + buffer-buttons = ignoreCompilationError super.buffer-buttons; # elisp error + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-cal = addPackageRequires super.calfw-cal [ self.calfw ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-gcal = addPackageRequires super.calfw-gcal [ self.calfw ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-howm = addPackageRequires super.calfw-howm [ + self.calfw + self.howm + ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-ical = addPackageRequires super.calfw-ical [ self.calfw ]; + + # https://github.com/kiwanami/emacs-calfw/pull/106 + calfw-org = addPackageRequires super.calfw-org [ self.calfw ]; + + cardano-tx = ignoreCompilationError super.cardano-tx; # elisp error + + cardano-wallet = ignoreCompilationError super.cardano-wallet; # elisp error + + # elisp error and missing optional dependencies + cask-package-toolset = ignoreCompilationError super.cask-package-toolset; + + # missing optional dependencies + chee = addPackageRequires super.chee [ self.helm ]; + + cheerilee = ignoreCompilationError super.cheerilee; # elisp error + + # elisp error and missing optional dependencies + # one optional dependency spark is removed in https://github.com/melpa/melpa/pull/9151 + chronometrist = ignoreCompilationError super.chronometrist; + + # https://github.com/melpa/melpa/pull/9184 + chronometrist-key-values = super.chronometrist-key-values.overrideAttrs (old: { + recipe = '' + (chronometrist-key-values :fetcher git :url "" + :files (:defaults "elisp/chronometrist-key-values.*")) + ''; + }); + + # https://github.com/atilaneves/cmake-ide/issues/176 + cmake-ide = addPackageRequires super.cmake-ide [ self.dash ]; + + code-review = ignoreCompilationError super.code-review; # elisp error + + codesearch = super.codesearch.overrideAttrs ( + finalAttrs: previousAttrs: { + patches = + if lib.versionOlder finalAttrs.version "20240827.805" then + previousAttrs.patches or [ ] + ++ [ + (pkgs.fetchpatch { + name = "remove-unused-dash.patch"; + url = "https://github.com/abingham/emacs-codesearch/commit/bd24a152ab6ea9f69443ae8e5b7351bb2f990fb6.patch"; + hash = "sha256-cCHY8Ak2fHuuhymjSF7w2MLPDJa84mBUdKg27mB9yto="; + }) + ] + else + previousAttrs.patches or null; + } + ); + + # https://github.com/hying-caritas/comint-intercept/issues/2 + comint-intercept = addPackageRequires super.comint-intercept [ self.vterm ]; + + company-auctex = mkHome super.company-auctex; + + # depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21 + company-distel = ignoreCompilationError super.company-distel; + + # qmltypes-table.el causing native-compiler-error-empty-byte + company-qml = ignoreCompilationError super.company-qml; + + # https://github.com/neuromage/ycm.el/issues/6 + company-ycm = ignoreCompilationError (addPackageRequires super.company-ycm [ self.company ]); + + composable = ignoreCompilationError super.composable; # elisp error + + # missing optional dependencies + conda = addPackageRequires super.conda [ self.projectile ]; + + counsel-gtags = ignoreCompilationError super.counsel-gtags; # elisp error + + # https://github.com/fuxialexander/counsel-notmuch/issues/3 + counsel-notmuch = addPackageRequires super.counsel-notmuch [ self.counsel ]; + + # needs dbus during compilation + counsel-spotify = ignoreCompilationError super.counsel-spotify; + + creole = ignoreCompilationError super.creole; # elisp error + + cssh = ignoreCompilationError super.cssh; # elisp error + + dap-mode = super.dap-mode.overrideAttrs (old: { + # empty file causing native-compiler-error-empty-byte + preBuild = + '' + rm --verbose dapui.el + '' + + old.preBuild or ""; + }); + + db-pg = ignoreCompilationError super.db-pg; # elisp error + + describe-number = ignoreCompilationError super.describe-number; # elisp error + + # missing optional dependencies: text-translator, not on any ELPA + dic-lookup-w3m = ignoreCompilationError super.dic-lookup-w3m; + + # https://github.com/nlamirault/dionysos/issues/17 + dionysos = addPackageRequires super.dionysos [ self.f ]; + + # https://github.com/emacsorphanage/dired-k/issues/48 + # missing optional dependencies + dired-k = addPackageRequires super.dired-k [ self.direx ]; + + # depends on distel which is not on any ELPA https://github.com/massemanet/distel/issues/21 + distel-completion-lib = ignoreCompilationError super.distel-completion-lib; + + django-mode = ignoreCompilationError super.django-mode; # elisp error + + # elisp error and missing optional dependencies + drupal-mode = ignoreCompilationError super.drupal-mode; + + e2wm-pkgex4pl = ignoreCompilationError super.e2wm-pkgex4pl; # elisp error + + ecb = ignoreCompilationError super.ecb; # elisp error + + # Optimizer error: too much on the stack + edit-color-stamp = ignoreCompilationError super.edit-color-stamp; + + edts = ignoreCompilationError (mkHome super.edts); # elisp error + + eimp = super.eimp.overrideAttrs (old: { + postPatch = + old.postPatch or "" + + "\n" + + '' + substituteInPlace eimp.el --replace-fail \ + '(defcustom eimp-mogrify-program "mogrify"' \ + '(defcustom eimp-mogrify-program "${pkgs.imagemagick}/bin/mogrify"' + ''; + }); + + ein = ignoreCompilationError super.ein; # elisp error + + # missing optional dependencies + ejc-sql = addPackageRequires super.ejc-sql [ + self.auto-complete + self.company + ]; + + # missing optional dependencies + ekg = addPackageRequires super.ekg [ self.denote ]; + + elisp-sandbox = ignoreCompilationError super.elisp-sandbox; # elisp error + + elnode = ignoreCompilationError super.elnode; # elisp error + + elscreen = super.elscreen.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "do-not-require-unneeded-wl.patch"; + url = "https://github.com/knu/elscreen/pull/34/commits/2ffbeb11418d1b98809909c389e7010666d511fd.patch"; + hash = "sha256-7JoDGtFECZEkB3xmMBXZcx6oStkEV06soiqOkDevWtM="; + }) + ]; + }); + + el-secretario-mu4e = addPackageRequires super.el-secretario-mu4e [ self.mu4e ]; + + embark-vc = buildWithGit super.embark-vc; + + # https://github.com/nubank/emidje/issues/23 + emidje = addPackageRequires super.emidje [ self.pkg-info ]; + + # depends on later-do which is not on any ELPA + emms-player-simple-mpv = ignoreCompilationError super.emms-player-simple-mpv; + emms-player-mpv-jp-radios = ignoreCompilationError super.emms-player-mpv-jp-radios; + + enotify = ignoreCompilationError super.enotify; # elisp error + + # https://github.com/leathekd/ercn/issues/6 + ercn = addPackageRequires super.ercn [ self.dash ]; + + # missing optional dependencies + eval-in-repl = addPackageRequires super.eval-in-repl ( + with self; + [ + alchemist + cider + elm-mode + erlang + geiser + hy-mode + elixir-mode + js-comint + lua-mode + tuareg + racket-mode + inf-ruby + slime + sly + sml-mode + ] + ); + + # elisp error and missing dependencies + evalator = ignoreCompilationError super.evalator; + + evalator-clojure = ignoreCompilationError super.evalator-clojure; # elisp error + + # https://github.com/PythonNut/evil-easymotion/issues/74 + evil-easymotion = addPackageRequires super.evil-easymotion [ self.evil ]; + + evil-mu4e = addPackageRequires super.evil-mu4e [ self.mu4e ]; + + # https://github.com/VanLaser/evil-nl-break-undo/issues/2 + evil-nl-break-undo = addPackageRequiresIfOlder super.evil-nl-break-undo [ + self.evil + ] "20240921.953"; + + evil-python-movement = ignoreCompilationError super.evil-python-movement; # elisp error + + evil-tex = mkHome super.evil-tex; + + # Error: Bytecode overflow + ewal-doom-themes = ignoreCompilationError super.ewal-doom-themes; + + # https://github.com/agzam/exwm-edit/issues/32 + exwm-edit = addPackageRequires super.exwm-edit [ self.exwm ]; + + # https://github.com/syl20bnr/flymake-elixir/issues/4 + flymake-elixir = addPackageRequires super.flymake-elixir [ self.flymake-easy ]; + + flyparens = ignoreCompilationError super.flyparens; # elisp error + + fold-dwim-org = ignoreCompilationError super.fold-dwim-org; # elisp error + + # https://github.com/melpa/melpa/pull/9182 + frontside-javascript = super.frontside-javascript.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --verbose packages/javascript/test-suppport.el + ''; + }); + + fxrd-mode = ignoreCompilationError super.fxrd-mode; # elisp error + + # missing optional dependencies + gap-mode = addPackageRequires super.gap-mode [ + self.company + self.flycheck + ]; + + gh-notify = buildWithGit super.gh-notify; + + # https://github.com/nlamirault/emacs-gitlab/issues/68 + gitlab = addPackageRequires super.gitlab [ self.f ]; + + # TODO report to upstream + global-tags = addPackageRequires super.global-tags [ self.s ]; + + go = ignoreCompilationError super.go; # elisp error + + graphene = ignoreCompilationError super.graphene; # elisp error + + greader = ignoreCompilationError super.greader; # elisp error + + # TODO report to upstream + guix = addPackageRequires super.guix [ self.geiser-guile ]; + + # missing optional dependencies + gumshoe = addPackageRequires super.gumshoe [ self.perspective ]; + + helm-chrome-control = super.helm-chrome-control.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "require-helm-core-instead-of-helm.patch"; + url = "https://github.com/xuchunyang/helm-chrome-control/pull/2/commits/7765cd2483adef5cfa6cf77f52259ad6e1dd0daf.patch"; + hash = "sha256-tF+IaICbveYJvd3Tjx52YBBztpjifZdCA4O+Z2r1M3s="; + }) + ]; + }); + + # https://github.com/xuchunyang/helm-chrome-history/issues/3 + helm-chrome-history = fixRequireHelmCore super.helm-chrome-history; + + helm-cider = ignoreCompilationError super.helm-cider; # elisp error + + helm-ext = ignoreCompilationError super.helm-ext; # elisp error + + # https://github.com/iory/emacs-helm-ghs/issues/1 + helm-ghs = addPackageRequires super.helm-ghs [ self.helm-ghq ]; + + # https://github.com/maio/helm-git/issues/7 + helm-git = addPackageRequires super.helm-git [ + self.helm + self.magit + ]; + + # TODO report to upstream + helm-flycheck = fixRequireHelmCore super.helm-flycheck; + + # https://github.com/yasuyk/helm-git-grep/issues/54 + helm-git-grep = addPackageRequires super.helm-git-grep [ self.helm ]; + + # https://github.com/yasuyk/helm-go-package/issues/8 + helm-go-package = fixRequireHelmCore super.helm-go-package; + + # https://github.com/torgeir/helm-js-codemod.el/pull/1 + helm-js-codemod = fixRequireHelmCore super.helm-js-codemod; + + helm-kythe = ignoreCompilationError super.helm-kythe; # elisp error + + # https://github.com/emacs-jp/helm-migemo/issues/8 + helm-migemo = addPackageRequiresIfOlder super.helm-migemo [ self.helm ] "20240921.1550"; + + helm-mu = addPackageRequires super.helm-mu [ self.mu4e ]; + + # https://github.com/xuchunyang/helm-osx-app/pull/1 + helm-osx-app = addPackageRequires super.helm-osx-app [ self.helm ]; + + # https://github.com/cosmicexplorer/helm-rg/issues/36 + helm-rg = ignoreCompilationError super.helm-rg; # elisp error + + # https://github.com/yasuyk/helm-spaces/issues/1 + helm-spaces = fixRequireHelmCore super.helm-spaces; + + hideshow-org = ignoreCompilationError super.hideshow-org; # elisp error + + # https://github.com/purcell/hippie-expand-slime/issues/2 + hippie-expand-slime = addPackageRequires super.hippie-expand-slime [ self.slime ]; + + hyperbole = ignoreCompilationError (addPackageRequires (mkHome super.hyperbole) [ self.el-mock ]); # elisp error + + # needs non-existent "browser database directory" during compilation + # TODO report to upsteam about missing dependency websocket + ibrowse = ignoreCompilationError (addPackageRequires super.ibrowse [ self.websocket ]); + + # elisp error and missing optional dependencies + identica-mode = ignoreCompilationError super.identica-mode; + + # missing optional dependencies + idris-mode = addPackageRequires super.idris-mode [ self.flycheck ]; + + imbot = ignoreCompilationError super.imbot; # elisp error + + indium = mkHome super.indium; + + # TODO report to upsteam + inlineR = addPackageRequires super.inlineR [ self.ess ]; + + # https://github.com/duelinmarkers/insfactor.el/issues/7 + insfactor = addPackageRequires super.insfactor [ self.cider ]; + + # https://github.com/wandersoncferreira/ivy-clojuredocs/issues/5 + ivy-clojuredocs = addPackageRequires super.ivy-clojuredocs [ self.parseedn ]; + + # TODO report to upstream + jack-connect = addPackageRequires super.jack-connect [ self.dash ]; + + jdee = ignoreCompilationError super.jdee; # elisp error + + # https://github.com/fred-o/jekyll-modes/issues/6 + jekyll-modes = addPackageRequires super.jekyll-modes [ self.poly-markdown ]; + + jss = ignoreCompilationError super.jss; # elisp error + + # missing optional dependencies: vterm or eat + julia-snail = addPackageRequires super.julia-snail [ self.eat ]; + + kite = ignoreCompilationError super.kite; # elisp error + + # missing optional dependencies + laas = addPackageRequires super.laas [ self.math-symbol-lists ]; + + latex-change-env = mkHome super.latex-change-env; + + latex-extra = mkHome super.latex-extra; + + latex-table-wizard = mkHome super.latex-table-wizard; + + leaf-defaults = ignoreCompilationError super.leaf-defaults; # elisp error + + # https://github.com/abo-abo/lispy/pull/683 + # missing optional dependencies + lispy = addPackageRequires (mkHome super.lispy) [ self.indium ]; + + # missing optional dependencies + magik-mode = addPackageRequires super.magik-mode [ + self.auto-complete + self.flycheck + ]; + + # missing optional dependencies + magnatune = addPackageRequires super.magnatune [ self.helm ]; + + major-mode-icons = ignoreCompilationError super.major-mode-icons; # elisp error + + malinka = ignoreCompilationError super.malinka; # elisp error + + mastodon = ignoreCompilationError super.mastodon; # elisp error + + # https://github.com/org2blog/org2blog/issues/339 + metaweblog = addPackageRequires super.metaweblog [ self.xml-rpc ]; + + mu-cite = ignoreCompilationError super.mu-cite; # elisp error + + mu4e-alert = addPackageRequires super.mu4e-alert [ self.mu4e ]; + + mu4e-column-faces = addPackageRequires super.mu4e-column-faces [ self.mu4e ]; + + mu4e-conversation = addPackageRequires super.mu4e-conversation [ self.mu4e ]; + + mu4e-jump-to-list = addPackageRequires super.mu4e-jump-to-list [ self.mu4e ]; + + mu4e-marker-icons = addPackageRequires super.mu4e-marker-icons [ self.mu4e ]; + + mu4e-overview = addPackageRequires super.mu4e-overview [ self.mu4e ]; + + mu4e-query-fragments = addPackageRequires super.mu4e-query-fragments [ self.mu4e ]; + + mu4e-views = addPackageRequires super.mu4e-views [ self.mu4e ]; + + # https://github.com/magnars/multifiles.el/issues/9 + multifiles = addPackageRequires super.multifiles [ self.dash ]; + + # missing optional dependencies + mykie = addPackageRequires super.mykie [ self.helm ]; + + myrddin-mode = ignoreCompilationError super.myrddin-mode; # elisp error + + nand2tetris = super.nand2tetris.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "remove-unneeded-require.patch"; + url = "https://github.com/CestDiego/nand2tetris.el/pull/16/commits/d06705bf52f3cf41f55498d88fe15a1064bc2cfa.patch"; + hash = "sha256-8OJXN9MuwBbL0afus53WroIxtIzHY7Bryv5ZGcS/inI="; + }) + ]; + }); + + # elisp error and missing dependency spamfilter which is not on any ELPA + navi2ch = ignoreCompilationError super.navi2ch; + + navorski = super.navorski.overrideAttrs (old: { + patches = old.patches or [ ] ++ [ + (pkgs.fetchpatch { + name = "stop-using-assoc.patch"; + url = "https://github.com/roman/navorski.el/pull/12/commits/b7b6c331898cae239c176346ac87c8551b1e0c72.patch"; + hash = "sha256-CZxOSGuJXATonHMSLGCzO4kOlQqRAOcNNq0i4Qh21y8="; + }) + ]; + }); + + # empty tools/ncl-mode-keywords.el causing native-compiler-error-empty-byte + ncl-mode = ignoreCompilationError super.ncl-mode; + + # missing optional dependencies + netease-cloud-music = addPackageRequires super.netease-cloud-music [ self.async ]; + + nim-mode = ignoreCompilationError super.nim-mode; # elisp error + + noctilux-theme = ignoreCompilationError super.noctilux-theme; # elisp error + + # https://github.com/nicferrier/emacs-noflet/issues/12 + noflet = ignoreCompilationError super.noflet; # elisp error + + norns = ignoreCompilationError super.norns; # elisp error + + # missing optional dependencies + nu-mode = addPackageRequires super.nu-mode [ self.evil ]; + + # try to open non-existent ~/.emacs.d/.chatgpt-shell.el during compilation + ob-chatgpt-shell = ignoreCompilationError super.ob-chatgpt-shell; + + org-change = ignoreCompilationError super.org-change; # elisp error + + org-edit-latex = mkHome super.org-edit-latex; + + org-gnome = ignoreCompilationError super.org-gnome; # elisp error + + org-gtd = ignoreCompilationError super.org-gtd; # elisp error + + # needs newer org than the Eamcs 29.4 builtin one + org-link-beautify = addPackageRequires super.org-link-beautify [ self.org ]; + + # TODO report to upstream + org-kindle = addPackageRequires super.org-kindle [ self.dash ]; + + org-special-block-extras = ignoreCompilationError super.org-special-block-extras; # elisp error + + org-trello = ignoreCompilationError super.org-trello; # elisp error + + # Optimizer error: too much on the stack + orgnav = ignoreCompilationError super.orgnav; + + org-noter = super.org-noter.overrideAttrs ( + finalAttrs: previousAttrs: { + patches = + if lib.versionOlder finalAttrs.version "20240915.344" then + previousAttrs.patches or [ ] + ++ [ + (pkgs.fetchpatch { + name = "catch-error-for-optional-dep-org-roam.patch"; + url = "https://github.com/org-noter/org-noter/commit/761c551ecc88fec57e840d346c6af5f5b94591d5.patch"; + hash = "sha256-Diw9DgjANDWu6CBMOlRaihQLOzeAr7VcJPZT579dpYU="; + }) + ] + else + previousAttrs.patches or null; + } + ); + + org-noter-pdftools = mkHome super.org-noter-pdftools; + + # elisp error and missing optional dependencies + org-ref = ignoreCompilationError super.org-ref; + + # missing optional dependencies + org-roam-bibtex = addPackageRequires super.org-roam-bibtex [ + self.helm-bibtex + self.ivy-bibtex + ]; + + org-pdftools = mkHome super.org-pdftools; + + org-projectile = super.org-projectile.overrideAttrs ( + finalAttrs: previousAttrs: { + # https://github.com/melpa/melpa/pull/9150 + preBuild = + if lib.versionOlder finalAttrs.version "20240901.2041" then + '' + rm --verbose org-projectile-helm.el + '' + + previousAttrs.preBuild or "" + else + previousAttrs.preBuild or null; + } + ); + + # https://github.com/colonelpanic8/org-project-capture/issues/66 + org-projectile-helm = addPackageRequires super.org-projectile-helm [ self.helm-org ]; + + # https://github.com/DarwinAwardWinner/mac-pseudo-daemon/issues/9 + osx-pseudo-daemon = addPackageRequiresIfOlder super.osx-pseudo-daemon [ self.mac-pseudo-daemon ] "20240922.2024"; + + # missing optional dependencies + outlook = addPackageRequires super.outlook [ self.mu4e ]; + + pastery = ignoreCompilationError super.pastery; # elisp error + + pgdevenv = ignoreCompilationError super.pgdevenv; # elisp error + + pinot = ignoreCompilationError super.pinot; # elisp error + + # https://github.com/polymode/poly-R/issues/41 + poly-R = addPackageRequires super.poly-R [ self.ess ]; + + # missing optional dependencies: direx e2wm yaol, yaol not on any ELPA + pophint = ignoreCompilationError super.pophint; + + portage-navi = ignoreCompilationError super.portage-navi; # elisp error + + preview-dvisvgm = mkHome super.preview-dvisvgm; + + # https://github.com/micdahl/projectile-trailblazer/issues/4 + projectile-trailblazer = addPackageRequires super.projectile-trailblazer [ self.projectile-rails ]; + + projmake-mode = ignoreCompilationError super.projmake-mode; # elisp error + + # https://github.com/tumashu/pyim-basedict/issues/4 + pyim-basedict = addPackageRequires super.pyim-basedict [ self.pyim ]; + + # TODO report to upstream + realgud-lldb = super.realgud-lldb.overrideAttrs (old: { + preBuild = + old.preBuild or "" + + "\n" + + '' + rm --verbose cask-install.el + ''; + }); + + # empty .yas-compiled-snippets.el causing native-compiler-error-empty-byte + requirejs = ignoreCompilationError super.requirejs; + + rhtml-mode = ignoreCompilationError super.rhtml-mode; # elisp error + + roguel-ike = ignoreCompilationError super.roguel-ike; # elisp error + + rpm-spec-mode = ignoreCompilationError super.rpm-spec-mode; # elisp error + + # https://github.com/emacsfodder/emacs-theme-sakura/issues/1 + sakura-theme = addPackageRequiresIfOlder super.sakura-theme [ self.autothemer ] "20240921.1028"; + + scad-preview = ignoreCompilationError super.scad-preview; # elisp error + + # https://github.com/wanderlust/semi/pull/29 + # missing optional dependencies + semi = addPackageRequires super.semi [ self.bbdb-vcard ]; + + shadchen = ignoreCompilationError super.shadchen; # elisp error + + # missing optional dependencies and one of them (mew) is not on any ELPA + shimbun = ignoreCompilationError ( + addPackageRequires super.shimbun [ + self.apel + self.flim + self.w3m + ] + ); + + slack = mkHome super.slack; + + # https://github.com/ffevotte/slurm.el/issues/14 + slurm-mode = addPackageRequires super.slurm-mode [ + self.dash + self.s + ]; + + smart-tabs-mode = ignoreCompilationError super.smart-tabs-mode; # elisp error + + # needs network during compilation + # https://github.com/md-arif-shaikh/soccer/issues/14 + soccer = ignoreCompilationError (addPackageRequires super.soccer [ self.s ]); + + # elisp error and missing optional dependencies + soundklaus = ignoreCompilationError super.soundklaus; + + # missing optional dependencies + sparql-mode = addPackageRequires super.sparql-mode [ self.company ]; + + speechd-el = ignoreCompilationError super.speechd-el; # elisp error + + spu = ignoreCompilationError super.spu; # elisp error + + # missing optional dependencies + ssh-tunnels = addPackageRequires super.ssh-tunnels [ self.helm ]; + + # https://github.com/brianc/jade-mode/issues/73 + stylus-mode = addPackageRequires super.stylus-mode [ self.sws-mode ]; + + # missing optional dependencies + suggest = addPackageRequires super.suggest [ self.shut-up ]; + + symex = ignoreCompilationError super.symex; # elisp error + + term-alert = mkHome super.term-alert; + + # https://github.com/colonelpanic8/term-manager/issues/9 + term-manager = addPackageRequires super.term-manager [ self.eat ]; + + texfrag = mkHome super.texfrag; + + # https://github.com/Dspil/text-categories/issues/3 + text-categories = addPackageRequiresIfOlder super.text-categories [ self.dash ] "20240921.824"; + + timp = ignoreCompilationError super.timp; # elisp error + + tommyh-theme = ignoreCompilationError super.tommyh-theme; # elisp error + + tramp-hdfs = ignoreCompilationError super.tramp-hdfs; # elisp error + + universal-emotions-emoticons = ignoreCompilationError super.universal-emotions-emoticons; # elisp error + + use-package-el-get = addPackageRequires super.use-package-el-get [ self.el-get ]; + + vala-mode = ignoreCompilationError super.vala-mode; # elisp error + + # needs network during compilation + wandbox = ignoreCompilationError super.wandbox; # needs network + + # optional dependency spamfilter is not on any ELPA + wanderlust = ignoreCompilationError (addPackageRequires super.wanderlust [ self.shimbun ]); + + # https://github.com/nicklanasa/xcode-mode/issues/28 + xcode-mode = addPackageRequires super.xcode-mode [ self.hydra ]; + + weechat = ignoreCompilationError super.weechat; # elisp error + + weechat-alert = ignoreCompilationError super.weechat-alert; # elisp error + + weibo = ignoreCompilationError super.weibo; # elisp error + + xenops = mkHome super.xenops; + + # missing optional dependencies + xmlunicode = addPackageRequires super.xmlunicode [ self.helm ]; + + # https://github.com/canatella/xwwp/issues/18 + xwwp-follow-link-ivy = addPackageRequires super.xwwp-follow-link-ivy [ self.ivy ]; + + # https://github.com/canatella/xwwp/issues/19 + xwwp-follow-link-helm = addPackageRequires super.xwwp-follow-link-helm [ self.helm ]; + + yara-mode = ignoreCompilationError super.yara-mode; # elisp error + + # https://github.com/leanprover-community/yasnippet-lean/issues/6 + yasnippet-lean = addPackageRequires super.yasnippet-lean [ self.lean-mode ]; + + yasnippet-snippets = mkHome super.yasnippet-snippets; + + yatex = ignoreCompilationError super.yatex; # elisp error + + # elisp error and incomplete recipe + ycm = ignoreCompilationError ( + addPackageRequires super.ycm [ + self.flycheck + self.f + ] + ); + + # missing optional dependencies + zotxt = addPackageRequires super.zotxt [ self.org-noter ]; }; in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super); From 37575b30229ad6a819b759b4f702a734bf219f34 Mon Sep 17 00:00:00 2001 From: "Matthieu C." <886074+teto@users.noreply.github.com> Date: Tue, 20 Aug 2024 12:44:31 +0200 Subject: [PATCH 356/491] buildVimPlugin: deprecate addRtp it has been doing nothing for a few years now. I doubt it's being used anywhere outside nixpkgs. Will remove it after release --- .../editors/vim/plugins/build-vim-plugin.nix | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix index db712305c932c..fabdccd4e12a8 100644 --- a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix +++ b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix @@ -4,12 +4,8 @@ , toVimPlugin }: -rec { - addRtp = drv: - drv // { - rtp = lib.warn "`rtp` attribute is deprecated, use `outPath` instead." drv.outPath; - overrideAttrs = f: addRtp (drv.overrideAttrs f); - }; +{ + addRtp = drv: lib.warn "`addRtp` is deprecated, does nothing." drv; buildVimPlugin = { name ? "${attrs.pname}-${attrs.version}" @@ -45,6 +41,6 @@ rec { } // meta; }); in - addRtp (toVimPlugin drv); + toVimPlugin drv; } From e9f4eb9728aa3851196bb964975195d120d11d5c Mon Sep 17 00:00:00 2001 From: "Matthieu C." <886074+teto@users.noreply.github.com> Date: Tue, 20 Aug 2024 12:45:44 +0200 Subject: [PATCH 357/491] buildVimPlugin: enable structuredAttrs it's a cool feature, let's enable it before release to find issues early the neovimRequireCheckHook needed changes since now 'dependencies' is seen as a bash array instead of a string: 1. we first expand it as a string 2. we replace ' ' with ',' (as before) --- pkgs/applications/editors/vim/plugins/build-vim-plugin.nix | 1 + .../editors/vim/plugins/neovim-require-check-hook.sh | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix index fabdccd4e12a8..b746e186644e0 100644 --- a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix +++ b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix @@ -24,6 +24,7 @@ drv = stdenv.mkDerivation (attrs // { name = lib.warnIf (attrs ? vimprefix) "The 'vimprefix' is now hardcoded in toVimPlugin" name; + __structuredAttrs = true; inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall; installPhase = '' diff --git a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh index c207a58e4f496..1808442327a1e 100644 --- a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh +++ b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh @@ -1,3 +1,4 @@ +#shellcheck shell=bash # Setup hook for checking whether Python imports succeed echo "Sourcing neovim-require-check-hook.sh" @@ -9,8 +10,10 @@ neovimRequireCheckHook () { # editorconfig-checker-disable export HOME="$TMPDIR" + + local deps="${dependencies[*]}" @nvimBinary@ -es --headless -n -u NONE -i NONE --clean -V1 \ - --cmd "set rtp+=$out,${dependencies// /,}" \ + --cmd "set rtp+=$out,${deps// /,}" \ --cmd "lua require('$nvimRequireCheck')" fi } From 2f7cc5a7812bd4b4758312051a72b0a618072cd4 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 16:14:55 +0800 Subject: [PATCH 358/491] emacsPackages: respect turnCompilationWarningToError and ignoreCompilationError at bytecompile time Previously, these two attributes were only respected at nativecompile time. --- .../applications/editors/emacs/build-support/elpa2nix.el | 9 +++++++++ .../applications/editors/emacs/build-support/generic.nix | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/build-support/elpa2nix.el b/pkgs/applications/editors/emacs/build-support/elpa2nix.el index 64587c0fad1a7..b0b4ecedc360a 100644 --- a/pkgs/applications/editors/emacs/build-support/elpa2nix.el +++ b/pkgs/applications/editors/emacs/build-support/elpa2nix.el @@ -31,3 +31,12 @@ The file can either be a tar file or an Emacs Lisp file." ;; Allow installing package tarfiles larger than 10MB (setq large-file-warning-threshold nil) + +(let ((flag (getenv "turnCompilationWarningToError"))) + (when (and flag + (not (string-empty-p flag))) + (setq byte-compile-error-on-warn t))) + +(let ((flag (getenv "ignoreCompilationError"))) + (when (string-empty-p flag) + (setq byte-compile-debug t))) diff --git a/pkgs/applications/editors/emacs/build-support/generic.nix b/pkgs/applications/editors/emacs/build-support/generic.nix index e91709e9343e5..f5b60305fc6b9 100644 --- a/pkgs/applications/editors/emacs/build-support/generic.nix +++ b/pkgs/applications/editors/emacs/build-support/generic.nix @@ -64,6 +64,8 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: setupHook = args.setupHook or setupHook; + inherit turnCompilationWarningToError ignoreCompilationError; + meta = { broken = false; platforms = emacs.meta.platforms; @@ -76,8 +78,6 @@ libBuildHelper.extendMkDerivation' stdenv.mkDerivation (finalAttrs: addEmacsNativeLoadPath = args.addEmacsNativeLoadPath or true; - inherit turnCompilationWarningToError ignoreCompilationError; - postInstall = '' # Besides adding the output directory to the native load path, make sure # the current package's elisp files are in the load path, otherwise From 8ae08e01c2c6593908848b74bec670eca5b9cb43 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 17:32:39 +0800 Subject: [PATCH 359/491] emacsPackages.psgml: fix build --- .../editors/emacs/elisp-packages/elpa-common-overrides.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix index 5d7a429280689..84924fe42e5ad 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-common-overrides.nix @@ -217,6 +217,8 @@ in preview-tailor = mkHome super.preview-tailor; + psgml = ignoreCompilationError super.psgml; # elisp error + # native-ice https://github.com/mattiase/relint/issues/15 relint = ignoreCompilationError super.relint; From 13b28dc48716edb2bcb2ac36ca29e779356e28a8 Mon Sep 17 00:00:00 2001 From: Simon Hauser Date: Wed, 18 Sep 2024 14:55:47 +0200 Subject: [PATCH 360/491] python3.pkgs.paramiko: 3.4.1 -> 3.5.0 Changelog: https://www.paramiko.org/changelog.html#3.5.0 --- pkgs/development/python-modules/paramiko/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix index 27df85a4b768e..d486df672adbd 100644 --- a/pkgs/development/python-modules/paramiko/default.nix +++ b/pkgs/development/python-modules/paramiko/default.nix @@ -18,12 +18,12 @@ buildPythonPackage rec { pname = "paramiko"; - version = "3.4.1"; + version = "3.5.0"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-ixUwKHCvf2ZS8uA4l1wdKXPwYEbLXX1lNVZos+y+zgw="; + hash = "sha256-rRHlQNpPVc7dpSkx8aP4Eqgjinr39ipg3lOM2AuygSQ="; }; patches = [ @@ -65,17 +65,17 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; - meta = with lib; { + meta = { homepage = "https://github.com/paramiko/paramiko/"; changelog = "https://github.com/paramiko/paramiko/blob/${version}/sites/www/changelog.rst"; description = "Native Python SSHv2 protocol library"; - license = licenses.lgpl21Plus; + license = lib.licenses.lgpl21Plus; longDescription = '' Library for making SSH2 connections (client or server). Emphasis is on using SSH2 as an alternative to SSL for making secure connections between python scripts. All major ciphers and hash methods are supported. SFTP client and server mode are both supported too. ''; - maintainers = [ ]; + maintainers = lib.teams.helsinki-systems.members; }; } From a9c68ea85747ee9cab28b354bd47ae56808d29d1 Mon Sep 17 00:00:00 2001 From: Simon Hauser Date: Fri, 23 Aug 2024 09:17:20 +0200 Subject: [PATCH 361/491] python3Packages.werkzeug: 3.0.3 -> 3.0.4 Changelog: https://werkzeug.palletsprojects.com/en/3.0.x/changes/#version-3-0-4 --- pkgs/development/python-modules/werkzeug/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index 43758f06157b5..93d23c27ad1a7 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -29,19 +29,19 @@ buildPythonPackage rec { pname = "werkzeug"; - version = "3.0.3"; - format = "pyproject"; + version = "3.0.4"; + pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-CX5b/anwq6jaa4VFFG3vSB0Gqn0yZudEjizM9n3YvRg="; + hash = "sha256-NPI3FQayUN9NT4S/57CSHkdiUldiu9k2YUkJ/iXNcwY="; }; - nativeBuildInputs = [ flit-core ]; + build-system = [ flit-core ]; - propagatedBuildInputs = [ markupsafe ]; + dependencies = [ markupsafe ]; passthru.optional-dependencies = { watchdog = lib.optionals (!stdenv.isDarwin) [ From 2bd38b4f38fa04b443769fbfecac12525c055631 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 21:12:12 +0800 Subject: [PATCH 362/491] emacsPackages.bbdb: fix build --- .../editors/emacs/elisp-packages/recipes-archive-melpa.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json index 67a0025d0cf1f..5dbcd958b31d8 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json +++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json @@ -6975,8 +6975,8 @@ }, { "ename": "bbdb", - "commit": "1ae754064cd1f062bbdd6ecf9af03fa0c2798cf6", - "sha256": "0gnjdlb338gxpsmdx8scj5vb1rbvfkmm71xq37sahy0m4r402al1", + "commit": "8a7d0c7287d157f45ebcb7a6ba2a776b3ee2bc2d", + "sha256": "0rrjvg3rq9267hyr5dkr82kqd3lxxnv6zhmn4ldzb00ynwwmrzr0", "fetcher": "git", "url": "https://git.savannah.nongnu.org/git/bbdb.git", "unstable": { From a2be9025372e05229d32e1a4cb9d050c5ca86a22 Mon Sep 17 00:00:00 2001 From: Emily Date: Mon, 23 Sep 2024 17:05:19 +0100 Subject: [PATCH 363/491] libaom: skip `_POSIX_C_SOURCE` patch on Darwin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should possibly be a conditional in the patch itself, but I don’t know what the appropriate CMake conditional would be. --- pkgs/development/libraries/libaom/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix index 3845f1bc7ddbe..c533c9859f6f3 100644 --- a/pkgs/development/libraries/libaom/default.nix +++ b/pkgs/development/libraries/libaom/default.nix @@ -23,7 +23,9 @@ stdenv.mkDerivation rec { patches = [ ./outputs.patch - + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + # This patch defines `_POSIX_C_SOURCE`, which breaks system headers + # on Darwin. (fetchurl { name = "musl.patch"; url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libaom/files/libaom-3.4.0-posix-c-source-ftello.patch?id=50c7c4021e347ee549164595280cf8a23c960959"; From fd1745b8607349440ff33b113a8b5eb2c5d96c15 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Mon, 23 Sep 2024 17:57:58 +0200 Subject: [PATCH 364/491] openssl_3_3: hotfix for cmake builds Signed-off-by: Markus Theil --- pkgs/development/libraries/openssl/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 0313841dce302..4058ccd6c59fd 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -222,8 +222,12 @@ let rm -r $etc/etc/ssl/misc rmdir $etc/etc/ssl/{certs,private} - - ${lib.optionalString (conf != null) "cat ${conf} > $etc/etc/ssl/openssl.cnf"} + '' + lib.optionalString (conf != null) '' + cat ${conf} > $etc/etc/ssl/openssl.cnf + '' + lib.optionalString (lib.versionAtLeast version "3.3.0") '' + # cleanup cmake helpers for now (for OpenSSL >= 3.3), only rely on pkg-config. + # pkg-config gets its paths fixed correctly + rm -rf $dev/lib/cmake ''; postFixup = lib.optionalString (!stdenv.hostPlatform.isWindows) '' From 36fed72b3bb7015751af5d06e519a2f55873116b Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 24 Sep 2024 00:43:05 +0800 Subject: [PATCH 365/491] opencc: use system rapidjson to fix gcc 14 error The bundled rapidjson is not new enough and causes compilation error[1] in gcc 14. [1]: https://hydra.nixos.org/build/273250179/log --- pkgs/tools/text/opencc/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/tools/text/opencc/default.nix b/pkgs/tools/text/opencc/default.nix index 5806a8ab4fafe..fef7fbd9dbbb0 100644 --- a/pkgs/tools/text/opencc/default.nix +++ b/pkgs/tools/text/opencc/default.nix @@ -5,6 +5,7 @@ cmake, python3, opencc, + rapidjson, }: stdenv.mkDerivation rec { @@ -27,6 +28,15 @@ stdenv.mkDerivation rec { opencc # opencc_dict ]; + buildInputs = [ + rapidjson + ]; + + # TODO use more system dependencies + cmakeFlags = [ + (lib.cmakeBool "USE_SYSTEM_RAPIDJSON" true) + ]; + meta = with lib; { homepage = "https://github.com/BYVoid/OpenCC"; license = licenses.asl20; From 42960d743a87684313e56251bcd97225e60a712d Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 24 Sep 2024 00:51:36 +0800 Subject: [PATCH 366/491] opencc: add passthru.updateScript --- pkgs/tools/text/opencc/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/text/opencc/default.nix b/pkgs/tools/text/opencc/default.nix index fef7fbd9dbbb0..a6e833de76e6d 100644 --- a/pkgs/tools/text/opencc/default.nix +++ b/pkgs/tools/text/opencc/default.nix @@ -6,6 +6,7 @@ python3, opencc, rapidjson, + gitUpdater, }: stdenv.mkDerivation rec { @@ -37,6 +38,10 @@ stdenv.mkDerivation rec { (lib.cmakeBool "USE_SYSTEM_RAPIDJSON" true) ]; + passthru = { + updateScript = gitUpdater { rev-prefix = "ver."; }; + }; + meta = with lib; { homepage = "https://github.com/BYVoid/OpenCC"; license = licenses.asl20; From 1c953b1def0291551328199d430029bbea8cd10a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Sep 2024 17:35:20 +0200 Subject: [PATCH 367/491] Revert "llvmPackages.clangUseLLVM: add --undefined-version by default" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 019d0919383f5b28f0339020bb85fb291000bf54. My comments from the PR (which I only saw after it was merged): > I'm not convinced this is a good idea — compiler authors turn things > into errors for a reason, and as a distribution we have our part to > play in getting problematic things fixed. It's fine to disable the > errors for packages where it's not reasonably possible to get them > fixed, but doing it globally means even packages that would be > simple to fix properly don't get fixed. > To expand a bit, the problem with this sort of thing is that it's > very difficult later to tell when it can be removed. By setting this > globally instead of setting it for individual packages that need it, > we're effectively stuck with it forever, because it's impossible to > tell if removing it is going to break any packages. If we mark > packages individually, it's very easy to tell in future when those > markings can be removed. > > This isn't a theoretical concern: something similar was done for > pkgsMusl — some compatibility headers were added globally, instead > of fixing individual affected packages, and now, even though we've > discovered that the presence of those headers actually causes > problems for other packages, it's impossible to know what the > fallout would be of removing it. Let's not repeat this mistake. So let's revert now, before it's too late. --- pkgs/development/compilers/llvm/common/default.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/llvm/common/default.nix b/pkgs/development/compilers/llvm/common/default.nix index c329060abfaad..519f06d6ff5a4 100644 --- a/pkgs/development/compilers/llvm/common/default.nix +++ b/pkgs/development/compilers/llvm/common/default.nix @@ -756,12 +756,9 @@ let && stdenv.targetPlatform.useLLVM or false ) "-lunwind" ++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions"; - nixSupport.cc-ldflags = - lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) - ( - [ "-L${targetLlvmLibraries.libunwind}/lib" ] - ++ lib.optional (lib.versionAtLeast metadata.release_version "17") "--undefined-version" - ); + nixSupport.cc-ldflags = lib.optionals ( + !stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD + ) [ "-L${targetLlvmLibraries.libunwind}/lib" ]; } ); From 72cc50b66202fc872735d7276f39fea3e4809aa8 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Mon, 23 Sep 2024 17:57:58 +0200 Subject: [PATCH 368/491] openssl_3_3: hotfix for cmake builds Signed-off-by: Markus Theil (cherry picked from commit fd1745b8607349440ff33b113a8b5eb2c5d96c15) --- pkgs/development/libraries/openssl/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 0313841dce302..4058ccd6c59fd 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -222,8 +222,12 @@ let rm -r $etc/etc/ssl/misc rmdir $etc/etc/ssl/{certs,private} - - ${lib.optionalString (conf != null) "cat ${conf} > $etc/etc/ssl/openssl.cnf"} + '' + lib.optionalString (conf != null) '' + cat ${conf} > $etc/etc/ssl/openssl.cnf + '' + lib.optionalString (lib.versionAtLeast version "3.3.0") '' + # cleanup cmake helpers for now (for OpenSSL >= 3.3), only rely on pkg-config. + # pkg-config gets its paths fixed correctly + rm -rf $dev/lib/cmake ''; postFixup = lib.optionalString (!stdenv.hostPlatform.isWindows) '' From 207d89c1e7f072496c242f15290ed3422eb8bf25 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Mon, 23 Sep 2024 17:32:52 +0800 Subject: [PATCH 369/491] emacsPackages."@": fix build --- .../editors/emacs/elisp-packages/melpa-packages.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index 0530af85cde0f..4a916958f2c1c 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -39,6 +39,7 @@ let fix-rtags fixRequireHelmCore ignoreCompilationError + ignoreCompilationErrorIfOlder markBroken mkHome ; @@ -733,6 +734,9 @@ let }) else super.osx-dictionary; + # https://github.com/skeeto/at-el/issues/9 + "@" = ignoreCompilationErrorIfOlder super."@" "20240923.1318"; + abgaben = addPackageRequires (mkHome super.abgaben) [ self.mu4e ]; # https://github.com/afroisalreadyinu/abl-mode/issues/9 From 12b97a409bac470b2d6e53e09e512a723e836266 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Tue, 24 Sep 2024 07:51:40 +0200 Subject: [PATCH 370/491] openssl_3_3: move cmake rm to correct phase Signed-off-by: Markus Theil --- pkgs/development/libraries/openssl/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 4058ccd6c59fd..993f9cdf9aa2b 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -224,10 +224,6 @@ let rmdir $etc/etc/ssl/{certs,private} '' + lib.optionalString (conf != null) '' cat ${conf} > $etc/etc/ssl/openssl.cnf - '' + lib.optionalString (lib.versionAtLeast version "3.3.0") '' - # cleanup cmake helpers for now (for OpenSSL >= 3.3), only rely on pkg-config. - # pkg-config gets its paths fixed correctly - rm -rf $dev/lib/cmake ''; postFixup = lib.optionalString (!stdenv.hostPlatform.isWindows) '' @@ -237,6 +233,10 @@ let echo "Found an erroneous dependency on perl ^^^" >&2 exit 1 fi + '' + lib.optionalString (lib.versionAtLeast version "3.3.0") '' + # cleanup cmake helpers for now (for OpenSSL >= 3.3), only rely on pkg-config. + # pkg-config gets its paths fixed correctly + rm -rf $dev/lib/cmake ''; passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; From 1ec3f1dbbf81c413948f72de17b47347f253444b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 24 Sep 2024 15:02:37 +0200 Subject: [PATCH 371/491] =?UTF-8?q?Revert=20"gcc:=20gcc=5F13=20=E2=86=92?= =?UTF-8?q?=20gcc=5F14"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e9cdb2274152ab7e7646406cebec791a47a48c7d. We've encountered multiple GCC 14 internal compiler errors on aarch64. If we wanted to keep it as the default compiler, we'd either have to track the 14.x release branch, or backport about half of it. One Bugzilla thread mentions six patches that should be backported. This doesn't feel good to have as the default compiler. Let's stick with 13 for now until 14.3 is released, hopefully with all the fixes. --- nixos/doc/manual/release-notes/rl-2411.section.md | 2 -- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 12cb8b38704f2..68fd59fa96c2c 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -17,8 +17,6 @@ [2.24](https://nix.dev/manual/nix/latest/release-notes/rl-2.24). Notable changes include improvements to Git fetching, documentation comment support in `nix-repl> :doc`, as well as many quality of life improvements. -- GCC now defaults to major version 14 from previous 13. ([GCC Porting Guide](https://gcc.gnu.org/gcc-14/porting_to.html)) - - Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`. - [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK), AMD's open source Vulkan driver, is now available to be configured as `hardware.amdgpu.amdvlk` option. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 26b089ea720d8..e74a52d29697a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14695,7 +14695,7 @@ with pkgs; gbforth = callPackage ../development/compilers/gbforth { }; - default-gcc-version = 14; + default-gcc-version = 13; gcc = pkgs.${"gcc${toString default-gcc-version}"}; gccFun = callPackage ../development/compilers/gcc; gcc-unwrapped = gcc.cc; From e480154f61b12abb27f057b21db9f87becbf6e61 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 24 Sep 2024 18:05:12 +0200 Subject: [PATCH 372/491] Revert "libaom,libvmaf: pin to GCC 13 on aarch64" This reverts commit adb8dffe97f307fba886b8ec35d09b2e438b09c7. The default GCC has been reverted to 13. We won't be upgrading to 14 until after the next minor release comes out, which will include the fix for the issue being worked around here. --- pkgs/top-level/all-packages.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 26b089ea720d8..443379cf3594a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20752,10 +20752,7 @@ with pkgs; libantlr3c = callPackage ../development/libraries/libantlr3c { }; - libaom = callPackage ../development/libraries/libaom { - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116737 - stdenv = if stdenv.hostPlatform.isAarch64 && stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "14" then gcc13Stdenv else stdenv; - }; + libaom = callPackage ../development/libraries/libaom { }; libappindicator-gtk2 = libappindicator.override { gtkVersion = "2"; }; libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; }; @@ -21948,10 +21945,7 @@ with pkgs; libvisual = callPackage ../development/libraries/libvisual { }; - libvmaf = callPackage ../development/libraries/libvmaf { - # See libaom - stdenv = if stdenv.hostPlatform.isAarch64 && stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "14" then gcc13Stdenv else stdenv; - }; + libvmaf = callPackage ../development/libraries/libvmaf { }; libvncserver = callPackage ../development/libraries/libvncserver { inherit (darwin.apple_sdk.frameworks) Carbon; From 3e84f7c96cb40bb521220bb8c9c89dae6463c646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Tue, 24 Sep 2024 17:23:39 -0600 Subject: [PATCH 373/491] lksctp-tools: change hash after retag Reference: https://github.com/sctp/lksctp-tools/issues/62 Didn't review difference between the content --- pkgs/os-specific/linux/lksctp-tools/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/lksctp-tools/default.nix b/pkgs/os-specific/linux/lksctp-tools/default.nix index 89c1dfd3937d1..d416ddd14b979 100644 --- a/pkgs/os-specific/linux/lksctp-tools/default.nix +++ b/pkgs/os-specific/linux/lksctp-tools/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { owner = "sctp"; repo = "lksctp-tools"; rev = "v${version}"; - hash = "sha256-z7Je2qwDPr1sp5z8nhYsJIyJxDvHW7lw97JAdPY09NE="; + hash = "sha256-h+wMrnx+u/4feNjZr2Gc+y6/80qJ8IVXsrDvHyixMxo="; }; nativeBuildInputs = [ autoreconfHook ]; From e005e5d99f413d27a9426f5c1019c071638b3f4e Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 24 Sep 2024 01:02:08 +0200 Subject: [PATCH 374/491] nodejs: add missing patches and skip some TLS tests on 20.x and 18.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Fabián Heredia Montiel --- pkgs/development/web/nodejs/nodejs.nix | 9 ++---- pkgs/development/web/nodejs/v18.nix | 39 ++++++++++++++++++++++++++ pkgs/development/web/nodejs/v20.nix | 12 ++++++++ pkgs/development/web/nodejs/v22.nix | 4 +++ 4 files changed, 57 insertions(+), 7 deletions(-) diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 014795f7425ae..62f1ccbef336a 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -294,18 +294,11 @@ let "test-child-process-exec-env" "test-child-process-uid-gid" "test-fs-write-stream-eagain" - "test-https-client-checkServerIdentity" - "test-https-foafssl" - "test-https-strict" "test-process-euid-egid" "test-process-initgroups" "test-process-setgroups" "test-process-uid-gid" "test-setproctitle" - "test-tls-cli-max-version-1.3" - "test-tls-client-auth" - "test-tls-junk-closes-server" - "test-tls-sni-option" # This is a bit weird, but for some reason fs watch tests fail with # sandbox. "test-fs-promises-watch" @@ -326,6 +319,8 @@ let "test-runner-run" "test-runner-watch-mode" "test-watch-mode-files_watcher" + ] ++ lib.optionals (!lib.versionAtLeast version "22") [ + "test-tls-multi-key" ] ++ lib.optionals stdenv.buildPlatform.isDarwin [ # Disable tests that don’t work under macOS sandbox. "test-macos-app-sandbox" diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix index d940613ecb787..556e163e3ae96 100644 --- a/pkgs/development/web/nodejs/v18.nix +++ b/pkgs/development/web/nodejs/v18.nix @@ -50,6 +50,33 @@ buildNodejs { }) # Patches for OpenSSL 3.2 + # Patches already in 20.13.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/9f939f5af7d11299796999af3cbfa4845b505c78.patch?full_index=1"; + hash = "sha256-vZJMTI8KR+RoCl4r9dfNdNMKssk4osLS61A/F7gdeWQ="; + }) + # Patches already in 20.16.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/5909cf3b047f708de6a1373232bfcc899fa97a1d.patch?full_index=1"; + hash = "sha256-JidSO/73fjxTcGBiMHC7x10muYtv04inXNVJebFmcgo="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/ce531af0c27acf29dd05ab2fac19b4af88f8780d.patch?full_index=1"; + hash = "sha256-2WD4lVCtfji0AXlIHq4tiQ2TWKVMPjYZjbaVxd3HEFw="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/3e7129e5d60d4f017ad06c006dec7f95d986095c.patch?full_index=1"; + hash = "sha256-2SRoUMswY25GamJ6APVAzDwqopSCpVPKAEIIqyaAmBA="; + }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/da0f19208786cd7c57fec733e4ba24d0454f556a.patch?full_index=1"; + hash = "sha256-AyQe2eHIx0O2jUgMCqWnzLhW8XduPaU4ZmhFA3UQI+Q="; + }) + # Patches already in 20.17.0 + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/53ac448022b7cdfcc09296da88d9a1b59921f6bf.patch?full_index=1"; + hash = "sha256-JcEbluU9k20Q3W915D1O6wWgX5R/UKjxqsuDemjMoTc="; + }) # Patches already in 22.7.0 (fetchpatch2 { url = "https://github.com/nodejs/node/commit/bd42e4c6a73f61f7ee47e4426d86708fd80c6c4f.patch?full_index=1"; @@ -69,6 +96,10 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/2bfc9e467cb05578efa4d3db497f368fb144e5fc.patch?full_index=1"; hash = "sha256-TyHSd+O0T/bFR7YZuxm4HumrMljnJu2a8RRLRvz6KNM="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/01f751b529d126529f1d2019f0dcb13b8e54b787.patch?full_index=1"; + hash = "sha256-m3IaWL7U8fQMnmP2Xch4M8Qn1AJU8Ao9GCqMPcDnqCk="; + }) # Patches already in 22.9.0 (fetchpatch2 { url = "https://github.com/nodejs/node/commit/d9ca8b018efd172a99365ada8f536491b19bd87b.patch?full_index=1"; @@ -86,6 +117,10 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/c77bcf018716e97ae35203990bcd51c143840348.patch?full_index=1"; hash = "sha256-EwrZKpLRzk3Yjen1WVQqKTiHKE2uLTpaPsE13czH2rY="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/18101d83a158b877ac765936aba973c664130ea2.patch?full_index=1"; + hash = "sha256-vpHDj5+340bjYLo7gTWFu7iS4vVveBZAMypQ2eLoQzM="; + }) # Patches not yet released (fetchpatch2 { url = "https://github.com/nodejs/node/commit/f8b7a171463e775da304bccf4cf165e634525c7e.patch?full_index=1"; @@ -107,5 +142,9 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/2cec716c48cea816dcd5bf4997ae3cdf1fe4cd90.patch?full_index=1"; hash = "sha256-ExIkAj8yRJEK39OfV6A53HiuZsfQOm82/Tvj0nCaI8A="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/0f7bdcc17fbc7098b89f238f4bd8ecad9367887b.patch?full_index=1"; + hash = "sha256-lXx6QyD2anlY9qAwjNMFM2VcHckBshghUF1NaMoaNl4="; + }) ] ++ gypPatches; } diff --git a/pkgs/development/web/nodejs/v20.nix b/pkgs/development/web/nodejs/v20.nix index cf3cb89167b5e..9e3c3a3577a1a 100644 --- a/pkgs/development/web/nodejs/v20.nix +++ b/pkgs/development/web/nodejs/v20.nix @@ -42,6 +42,10 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/2bfc9e467cb05578efa4d3db497f368fb144e5fc.patch?full_index=1"; hash = "sha256-TyHSd+O0T/bFR7YZuxm4HumrMljnJu2a8RRLRvz6KNM="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/01f751b529d126529f1d2019f0dcb13b8e54b787.patch?full_index=1"; + hash = "sha256-m3IaWL7U8fQMnmP2Xch4M8Qn1AJU8Ao9GCqMPcDnqCk="; + }) # Patches already in 22.9.0 (fetchpatch2 { url = "https://github.com/nodejs/node/commit/d9ca8b018efd172a99365ada8f536491b19bd87b.patch?full_index=1"; @@ -59,6 +63,10 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/c77bcf018716e97ae35203990bcd51c143840348.patch?full_index=1"; hash = "sha256-EwrZKpLRzk3Yjen1WVQqKTiHKE2uLTpaPsE13czH2rY="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/18101d83a158b877ac765936aba973c664130ea2.patch?full_index=1"; + hash = "sha256-vpHDj5+340bjYLo7gTWFu7iS4vVveBZAMypQ2eLoQzM="; + }) # Patches not yet released (fetchpatch2 { url = "https://github.com/nodejs/node/commit/f8b7a171463e775da304bccf4cf165e634525c7e.patch?full_index=1"; @@ -80,5 +88,9 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/2cec716c48cea816dcd5bf4997ae3cdf1fe4cd90.patch?full_index=1"; hash = "sha256-ExIkAj8yRJEK39OfV6A53HiuZsfQOm82/Tvj0nCaI8A="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/0f7bdcc17fbc7098b89f238f4bd8ecad9367887b.patch?full_index=1"; + hash = "sha256-lXx6QyD2anlY9qAwjNMFM2VcHckBshghUF1NaMoaNl4="; + }) ] ++ gypPatches; } diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index 4d539aac90b92..9c7530f52bba3 100644 --- a/pkgs/development/web/nodejs/v22.nix +++ b/pkgs/development/web/nodejs/v22.nix @@ -61,5 +61,9 @@ buildNodejs { url = "https://github.com/nodejs/node/commit/2cec716c48cea816dcd5bf4997ae3cdf1fe4cd90.patch?full_index=1"; hash = "sha256-ExIkAj8yRJEK39OfV6A53HiuZsfQOm82/Tvj0nCaI8A="; }) + (fetchpatch2 { + url = "https://github.com/nodejs/node/commit/0f7bdcc17fbc7098b89f238f4bd8ecad9367887b.patch?full_index=1"; + hash = "sha256-lXx6QyD2anlY9qAwjNMFM2VcHckBshghUF1NaMoaNl4="; + }) ] ++ gypPatches; } From ab5bad33c63d632997224c66d7c7685874482009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 26 Sep 2024 09:33:42 +0200 Subject: [PATCH 375/491] Reapply "closure-info: switch to stdenvNoCC (#344456)" This reverts commit 6f733a03df80085f85444f4e0714061388527553. --- pkgs/build-support/closure-info.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/closure-info.nix b/pkgs/build-support/closure-info.nix index f2aa4964d9a1d..cbeefc0e101c0 100644 --- a/pkgs/build-support/closure-info.nix +++ b/pkgs/build-support/closure-info.nix @@ -4,13 +4,13 @@ # "nix-store --load-db" and "nix-store --register-validity # --hash-given". -{ stdenv, coreutils, jq }: +{ stdenvNoCC, coreutils, jq }: { rootPaths }: assert builtins.langVersion >= 5; -stdenv.mkDerivation { +stdenvNoCC.mkDerivation { name = "closure-info"; __structuredAttrs = true; From ba0df0111ff87a2721a945246f46e9a6e5363973 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Thu, 26 Sep 2024 08:18:57 -0600 Subject: [PATCH 376/491] Revert "protobufc: fix compatibility with new protobuf" This reverts commit b3c1bb1762fceefe9520ae0e442fdd2cce0fca31. --- .../libraries/protobufc/default.nix | 6 -- .../protobufc/recent_protobuf_compat.patch | 80 ------------------- 2 files changed, 86 deletions(-) delete mode 100644 pkgs/development/libraries/protobufc/recent_protobuf_compat.patch diff --git a/pkgs/development/libraries/protobufc/default.nix b/pkgs/development/libraries/protobufc/default.nix index 73c2d7fba157d..5a39725275508 100644 --- a/pkgs/development/libraries/protobufc/default.nix +++ b/pkgs/development/libraries/protobufc/default.nix @@ -19,12 +19,6 @@ stdenv.mkDerivation rec { hash = "sha256-Dkpcc7ZfvAIVY91trRiHuiRFcUGUbQxbheYKTBcq80I="; }; - patches = [ - # https://github.com/protobuf-c/protobuf-c/issues/709 - # https://github.com/protobuf-c/protobuf-c/pull/711 - ./recent_protobuf_compat.patch - ]; - outputs = [ "out" "dev" "lib" ]; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/pkgs/development/libraries/protobufc/recent_protobuf_compat.patch b/pkgs/development/libraries/protobufc/recent_protobuf_compat.patch deleted file mode 100644 index c2d340e1a7f6d..0000000000000 --- a/pkgs/development/libraries/protobufc/recent_protobuf_compat.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc -index ca0ad34..c6d8a24 100644 ---- a/protoc-c/c_file.cc -+++ b/protoc-c/c_file.cc -@@ -117,14 +117,7 @@ FileGenerator::~FileGenerator() {} - void FileGenerator::GenerateHeader(io::Printer* printer) { - std::string filename_identifier = FilenameIdentifier(file_->name()); - -- int min_header_version = 1000000; --#if GOOGLE_PROTOBUF_VERSION >= 4023000 -- if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) { --#else -- if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) { --#endif -- min_header_version = 1003000; -- } -+ const int min_header_version = 1003000; - - // Generate top of header. - printer->Print( -diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h -index b8b44aa..4aeb579 100644 ---- a/protoc-c/c_generator.h -+++ b/protoc-c/c_generator.h -@@ -93,6 +93,12 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator { - const std::string& parameter, - OutputDirectory* output_directory, - std::string* error) const; -+ -+#if GOOGLE_PROTOBUF_VERSION >= 5026000 -+ uint64_t GetSupportedFeatures() const { return CodeGenerator::FEATURE_SUPPORTS_EDITIONS; } -+ Edition GetMinimumEdition() const { return Edition::EDITION_PROTO2; } -+ Edition GetMaximumEdition() const { return Edition::EDITION_PROTO3; } -+#endif - }; - - } // namespace c -diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h -index 062d330..be28b60 100644 ---- a/protoc-c/c_helpers.h -+++ b/protoc-c/c_helpers.h -@@ -70,10 +70,6 @@ - #include - #include - --#if GOOGLE_PROTOBUF_VERSION >= 4023000 --# include --#endif -- - namespace google { - namespace protobuf { - namespace compiler { -@@ -173,13 +169,21 @@ struct NameIndex - int compare_name_indices_by_name(const void*, const void*); - - // Return the syntax version of the file containing the field. --// This wrapper is needed to be able to compile against protobuf2. - inline int FieldSyntax(const FieldDescriptor* field) { --#if GOOGLE_PROTOBUF_VERSION >= 4023000 -- return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2; --#else -- return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2; --#endif -+ auto proto = FileDescriptorProto(); -+ field->file()->CopyTo(&proto); -+ -+ if (proto.has_syntax()) { -+ auto syntax = proto.syntax(); -+ assert(syntax == "proto2" || syntax == "proto3"); -+ if (syntax == "proto2") { -+ return 2; -+ } else if (syntax == "proto3") { -+ return 3; -+ } -+ } -+ -+ return 2; - } - - // Work around changes in protobuf >= 22.x without breaking compilation against From 92ecfb167e8035dd8806d01d0b5ed4d4ddf608f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Thu, 26 Sep 2024 07:56:26 -0600 Subject: [PATCH 377/491] protobufc: pin to protobuf_25 --- pkgs/development/libraries/protobufc/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/protobufc/default.nix b/pkgs/development/libraries/protobufc/default.nix index 5a39725275508..7681c5b2591c0 100644 --- a/pkgs/development/libraries/protobufc/default.nix +++ b/pkgs/development/libraries/protobufc/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , autoreconfHook , pkg-config -, protobuf +, protobuf_25 , zlib , buildPackages }: @@ -23,9 +23,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ protobuf zlib ]; + buildInputs = [ protobuf_25 zlib ]; - env.PROTOC = lib.getExe buildPackages.protobuf; + env.PROTOC = lib.getExe buildPackages.protobuf_25; meta = with lib; { homepage = "https://github.com/protobuf-c/protobuf-c/"; From e5a08c88596139e9267cc57abde51bc4cbecb20b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 26 Sep 2024 21:04:57 +0200 Subject: [PATCH 378/491] nix-fallback-paths: 2.24.7 -> 2.24.8 --- nixos/modules/installer/tools/nix-fallback-paths.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 728dae200c156..87641be5aaf28 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,8 +1,8 @@ { - x86_64-linux = "/nix/store/s429drnj3jp5dbxib74r3q0rypknvw48-nix-2.24.7"; - i686-linux = "/nix/store/1ysk63fwjvx4whxqpka1x4lyjb4m5576-nix-2.24.7"; - aarch64-linux = "/nix/store/8av0avdm2anwmvf9qka02cz093599rw7-nix-2.24.7"; - riscv64-linux = "/nix/store/b70zcmr3zrd7q569zzpz8dln93d3sx39-nix-riscv64-unknown-linux-gnu-2.24.7"; - x86_64-darwin = "/nix/store/gba97bmnyrp6x936kr8zqc2mkhcrz1vf-nix-2.24.7"; - aarch64-darwin = "/nix/store/7mb1mcpmjphg5bgc8m7m0gxrsshrzsk7-nix-2.24.7"; + x86_64-linux = "/nix/store/vi6fh1mhzl5m0knn3y056wnl07sri6c5-nix-2.24.8"; + i686-linux = "/nix/store/s4wdfq4dzii2jhy1mv2h7b5hpzhf40hm-nix-2.24.8"; + aarch64-linux = "/nix/store/g50zn4kdcnlgkwbvyi9f9icj9i2x83i5-nix-2.24.8"; + riscv64-linux = "/nix/store/8ws83k3wc9a639hp6dyprsmvb24fd14w-nix-riscv64-unknown-linux-gnu-2.24.8"; + x86_64-darwin = "/nix/store/1dhc9a68j5lcnkgdrcm2kbydnbzrlldg-nix-2.24.8"; + aarch64-darwin = "/nix/store/7gv39q83hm8b7cwcpx1vlcs424qmp67p-nix-2.24.8"; } From 045a98f88caa7b9e9be4bd685912181276d4ca2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Thu, 26 Sep 2024 16:52:35 -0600 Subject: [PATCH 379/491] mbedtls: make `-Wno-error conditional` on gcc version https://hydra.nixos.org/build/273869701/nixlog/2 --- pkgs/development/libraries/mbedtls/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/mbedtls/generic.nix b/pkgs/development/libraries/mbedtls/generic.nix index bb869fea31e49..14545a2710fc1 100644 --- a/pkgs/development/libraries/mbedtls/generic.nix +++ b/pkgs/development/libraries/mbedtls/generic.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { "-DGEN_FILES=off" ]; - env = lib.optionalAttrs stdenv.cc.isGNU { + env = lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) { NIX_CFLAGS_COMPILE = "-Wno-error=calloc-transposed-args"; }; From 9f92114fc85e96f8c208fc92642205cee3a053bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 27 Sep 2024 09:19:13 +0200 Subject: [PATCH 380/491] libtiff: avoid parallel checking (partially) It causes issues apparently, so saving something like 10 seconds isn't worth that hassle. 3/3 failures on Hydra: https://hydra.nixos.org/build/274030385#tabs-buildsteps --- pkgs/by-name/li/libtiff/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/li/libtiff/package.nix b/pkgs/by-name/li/libtiff/package.nix index 99fb5e644cfb2..6622acf533a3c 100644 --- a/pkgs/by-name/li/libtiff/package.nix +++ b/pkgs/by-name/li/libtiff/package.nix @@ -83,6 +83,9 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; doCheck = true; + # Avoid flakiness like https://gitlab.com/libtiff/libtiff/-/commit/94f6f7315b1 + # - except that we have many x86_64-linux binaries depending on this already + enableParallelChecking = stdenv.system == "x86_64-linux"; passthru = { tests = { From 222d7063940ddf7d60b86ad81d54663b4357254a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 27 Sep 2024 10:55:20 +0200 Subject: [PATCH 381/491] python311Packages.furl: disable test for all python versions https://github.com/NixOS/nixpkgs/pull/320020#discussion_r1772033439 https://hydra.nixos.org/build/273770076/nixlog/2/tail --- pkgs/development/python-modules/furl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/furl/default.nix b/pkgs/development/python-modules/furl/default.nix index 4b4f81d1a2aad..4431e2c86867e 100644 --- a/pkgs/development/python-modules/furl/default.nix +++ b/pkgs/development/python-modules/furl/default.nix @@ -36,7 +36,7 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTests = lib.optionals (pythonAtLeast "3.12") [ + disabledTests = [ # AssertionError: assert '//////path' == '////path' "test_odd_urls" ]; From 8f280f4cb8edc5f41305ca9221a8320eafff7f33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 27 Sep 2024 10:59:19 +0200 Subject: [PATCH 382/491] python3Packages.furl: add link to upstream issue --- pkgs/development/python-modules/furl/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/furl/default.nix b/pkgs/development/python-modules/furl/default.nix index 4431e2c86867e..8fcaeb27d04ac 100644 --- a/pkgs/development/python-modules/furl/default.nix +++ b/pkgs/development/python-modules/furl/default.nix @@ -38,6 +38,7 @@ buildPythonPackage rec { disabledTests = [ # AssertionError: assert '//////path' == '////path' + # https://github.com/gruns/furl/issues/176 "test_odd_urls" ]; From e79c35f00355e37b51b15d33fe7d69b34ef83f60 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 27 Sep 2024 14:48:55 +0300 Subject: [PATCH 383/491] pipewire: 1.2.4 -> 1.2.5 Diff: https://gitlab.freedesktop.org/pipewire/pipewire/-/compare/1.2.4...1.2.5 Changelog: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/1.2.5 --- 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 0d1b313ac55fc..84be326dd5535 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation(finalAttrs: { pname = "pipewire"; - version = "1.2.4"; + version = "1.2.5"; outputs = [ "out" @@ -74,7 +74,7 @@ stdenv.mkDerivation(finalAttrs: { owner = "pipewire"; repo = "pipewire"; rev = finalAttrs.version; - sha256 = "sha256-G63vxglQWYC2j66pcEwuio1jE/S2bFZYUK3xnyk2eKs="; + sha256 = "sha256-cYzcEit5zW29GYhvH/pTXqnYFi6AEaS5wl8nD74eWVY="; }; patches = [ From 0c0e48b0ec1af2d7f7de70f839de1569927fe4c8 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 27 Sep 2024 21:07:26 +0300 Subject: [PATCH 384/491] qt6: 6.7.2 -> 6.7.3 - refresh patches for qtbase - propagate cups for qtprintsupport - drop merged backports for qtwayland --- pkgs/development/libraries/qt-6/fetch.sh | 2 +- .../libraries/qt-6/modules/qtbase.nix | 4 +- .../libraries/qt-6/modules/qtmqtt.nix | 4 +- .../libraries/qt-6/modules/qtwayland.nix | 21 -- ...ays-use-libname-instead-of-absolute-.patch | 37 +-- ...se-allow-translations-outside-prefix.patch | 29 +- pkgs/development/libraries/qt-6/srcs.nix | 312 +++++++++--------- 7 files changed, 182 insertions(+), 227 deletions(-) diff --git a/pkgs/development/libraries/qt-6/fetch.sh b/pkgs/development/libraries/qt-6/fetch.sh index 79c95c4d890c0..b91fd89f80e4e 100644 --- a/pkgs/development/libraries/qt-6/fetch.sh +++ b/pkgs/development/libraries/qt-6/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.qt.io/official_releases/qt/6.7/6.7.3/submodules/ -A '*.tar.xz' ) diff --git a/pkgs/development/libraries/qt-6/modules/qtbase.nix b/pkgs/development/libraries/qt-6/modules/qtbase.nix index 68ef06921ac91..417aeaf9bb317 100644 --- a/pkgs/development/libraries/qt-6/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-6/modules/qtbase.nix @@ -186,14 +186,14 @@ stdenv.mkDerivation rec { CoreBluetooth ] ++ lib.optional withGtk3 gtk3 - ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups ++ lib.optional (libmysqlclient != null && !stdenv.hostPlatform.isMinGW) libmysqlclient ++ lib.optional (postgresql != null && lib.meta.availableOn stdenv.hostPlatform postgresql) postgresql; nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ]; - propagatedNativeBuildInputs = [ lndir ]; + propagatedNativeBuildInputs = [ lndir ] + ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups; strictDeps = true; diff --git a/pkgs/development/libraries/qt-6/modules/qtmqtt.nix b/pkgs/development/libraries/qt-6/modules/qtmqtt.nix index 0475a67d56b89..c33fc9a4499dd 100644 --- a/pkgs/development/libraries/qt-6/modules/qtmqtt.nix +++ b/pkgs/development/libraries/qt-6/modules/qtmqtt.nix @@ -5,13 +5,13 @@ qtModule rec { pname = "qtmqtt"; - version = "6.7.2"; + version = "6.7.3"; src = fetchFromGitHub { owner = "qt"; repo = "qtmqtt"; rev = "v${version}"; - hash = "sha256-5OvU8I7hSnbBbu8OTrd0o2KSOyIMVfGGUSy4IsA85fA="; + hash = "sha256-QVLt1nhxYIMmmVY1rZ8pnkXNs0N6hp1o8rv33o8ptxM="; }; propagatedBuildInputs = [ qtbase ]; diff --git a/pkgs/development/libraries/qt-6/modules/qtwayland.nix b/pkgs/development/libraries/qt-6/modules/qtwayland.nix index 17679c83a23fb..771680233d166 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwayland.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwayland.nix @@ -19,27 +19,6 @@ qtModule { nativeBuildInputs = [ pkg-config ]; patches = [ - # Included in qtwayland 6.7.3 - # Fixes https://bugs.kde.org/show_bug.cgi?id=489259 - (fetchpatch { - url = "https://invent.kde.org/qt/qt/qtwayland/-/commit/92bcb8f6b7a852c7a5d662fc34de561692a7a454.diff"; - sha256 = "sha256-XgGO8VnmQHLhUxTGf9CniwkCr5FsFiuUbnVP0NLNekI="; - }) - - # Included in qtwayland 6.7.3 - # Fixes https://bugs.kde.org/show_bug.cgi?id=489072 - (fetchpatch { - url = "https://invent.kde.org/qt/qt/qtwayland/-/commit/c4f91b479303dda2e49499de249018d7c66c5f99.diff"; - sha256 = "sha256-4rUdl6WuJHONW0Uy2wjTvyvDY3bJWeRvhk3tCkaOOro="; - }) - - # Included in qtwayland 6.7.3 - # Fixes https://bugs.kde.org/show_bug.cgi?id=489180 - (fetchpatch { - url = "https://invent.kde.org/qt/qt/qtwayland/-/commit/632127d7f1d86cba4dd17361f24f9fd70a0ae44c.diff"; - sha256 = "sha256-1EIcMj6+yIpqXAGZB3ZbrwRkl4n1o7TVP2SC1Nu1t78="; - }) - # Update wayland.xml to version 1.23.0 (fetchpatch { url = "https://invent.kde.org/qt/qt/qtwayland/-/commit/c2f61bc47baacf2e6a44c6c3c4e4cbf0abfa4095.diff"; diff --git a/pkgs/development/libraries/qt-6/patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch b/pkgs/development/libraries/qt-6/patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch index a8bb8f71cdbf0..94ae308c1cfcb 100644 --- a/pkgs/development/libraries/qt-6/patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch +++ b/pkgs/development/libraries/qt-6/patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch @@ -1,23 +1,8 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nick Cao -Date: Thu, 13 Apr 2023 23:42:29 +0800 -Subject: [PATCH] qtbase: qmake: always use libname instead of absolute path in - qmake files - -In generated qmake files, absolute paths to qt libraries are embedded -and then used in linker flags. However as the libraries can be provided -by qt modules other than the one currently being built, the ebedded -paths can be incorrect. ---- - cmake/QtFinishPrlFile.cmake | 7 ++++--- - cmake/QtGenerateLibHelpers.cmake | 3 --- - 2 files changed, 4 insertions(+), 6 deletions(-) - diff --git a/cmake/QtFinishPrlFile.cmake b/cmake/QtFinishPrlFile.cmake -index 1cf9377e6ce..ac4428bd7a1 100644 +index 0cef22617c..232d92bc62 100644 --- a/cmake/QtFinishPrlFile.cmake +++ b/cmake/QtFinishPrlFile.cmake -@@ -64,9 +64,10 @@ foreach(line ${lines}) +@@ -69,9 +69,10 @@ foreach(line ${lines}) endif() list(APPEND adjusted_libs "-framework" "${CMAKE_MATCH_1}") else() @@ -32,16 +17,16 @@ index 1cf9377e6ce..ac4428bd7a1 100644 endif() else() diff --git a/cmake/QtGenerateLibHelpers.cmake b/cmake/QtGenerateLibHelpers.cmake -index 3ffe354fd8d..441332d4582 100644 +index 96675267d2..c9d4a69497 100644 --- a/cmake/QtGenerateLibHelpers.cmake +++ b/cmake/QtGenerateLibHelpers.cmake -@@ -73,9 +73,6 @@ function(qt_transform_absolute_library_paths_to_link_flags out_var library_path_ - string(TOLOWER "${dir}" dir_lower) - # If library_path isn't in default link directories, we should add it to link flags. - list(FIND IMPLICIT_LINK_DIRECTORIES_LOWER "${dir_lower}" index) -- if(${index} EQUAL -1) -- list(APPEND out_list "-L\"${dir}\"") -- endif() +@@ -82,9 +82,6 @@ function(qt_transform_absolute_library_paths_to_link_flags out_var library_path_ + # If library_path isn't in default link directories, we should add it to link flags. + # But we shouldn't add it duplicately. + list(FIND IMPLICIT_LINK_DIRECTORIES_LOWER "${dir_lower}" index) +- if(index EQUAL -1 AND NOT "-L\"${dir}\"" IN_LIST out_list) +- list(APPEND out_list "-L\"${dir}\"") +- endif() + endif() list(APPEND out_list "${lib_name_with_link_flag}") else() - list(APPEND out_list "${library_path}") diff --git a/pkgs/development/libraries/qt-6/patches/0007-qtbase-allow-translations-outside-prefix.patch b/pkgs/development/libraries/qt-6/patches/0007-qtbase-allow-translations-outside-prefix.patch index d8061f1610e97..c7c097cce3596 100644 --- a/pkgs/development/libraries/qt-6/patches/0007-qtbase-allow-translations-outside-prefix.patch +++ b/pkgs/development/libraries/qt-6/patches/0007-qtbase-allow-translations-outside-prefix.patch @@ -1,22 +1,13 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nick Cao -Date: Tue, 10 Oct 2023 10:14:40 -0400 -Subject: [PATCH] qtbase: allow translations outside prefix - ---- - cmake/QtBuildPathsHelpers.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - diff --git a/cmake/QtBuildPathsHelpers.cmake b/cmake/QtBuildPathsHelpers.cmake -index 18082ac6a5f..e16aea7d7c6 100644 +index bf28d1e9ee..08e64a2092 100644 --- a/cmake/QtBuildPathsHelpers.cmake +++ b/cmake/QtBuildPathsHelpers.cmake -@@ -134,7 +134,7 @@ function(qt_configure_process_path name default docstring) - set(rel_path ".") - elseif(rel_path MATCHES "^\.\./") - # INSTALL_SYSCONFDIR is allowed to be outside the prefix. -- if(NOT name STREQUAL "INSTALL_SYSCONFDIR") -+ if(NOT (name STREQUAL "INSTALL_SYSCONFDIR" OR name STREQUAL "INSTALL_TRANSLATIONSDIR")) - message(FATAL_ERROR - "Path component '${name}' is outside computed install prefix: ${rel_path} ") - return() +@@ -140,7 +140,7 @@ function(qt_configure_process_path name default docstring) + set(new_value ".") + elseif(rel_path MATCHES "^\.\./") + # INSTALL_SYSCONFDIR is allowed to be outside the prefix. +- if(NOT name STREQUAL "INSTALL_SYSCONFDIR") ++ if(NOT (name STREQUAL "INSTALL_SYSCONFDIR" OR name STREQUAL "INSTALL_TRANSLATIONSDIR")) + message(FATAL_ERROR + "Path component '${name}' is outside computed install prefix: ${rel_path} ") + endif() diff --git a/pkgs/development/libraries/qt-6/srcs.nix b/pkgs/development/libraries/qt-6/srcs.nix index aeca3be2539e3..234fb3afeb318 100644 --- a/pkgs/development/libraries/qt-6/srcs.nix +++ b/pkgs/development/libraries/qt-6/srcs.nix @@ -4,315 +4,315 @@ { qt3d = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qt3d-everywhere-src-6.7.2.tar.xz"; - sha256 = "1pwagjicvqc7lbypkw7wvjznndyzqm2ihisqdqc36ccp0kcqgh4b"; - name = "qt3d-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qt3d-everywhere-src-6.7.3.tar.xz"; + sha256 = "155nddckcc94klwsn51s9p8ynk1acg7q9dx99blhq7ch98vqrm25"; + name = "qt3d-everywhere-src-6.7.3.tar.xz"; }; }; qt5compat = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qt5compat-everywhere-src-6.7.2.tar.xz"; - sha256 = "00y071p09v91ascxg3llc0yfbx7xs24smcgxckdrnkgwkqcba9l8"; - name = "qt5compat-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qt5compat-everywhere-src-6.7.3.tar.xz"; + sha256 = "1w2k7911n20wdgl3lmxwc7h8sbn7jkjwxz6sl089szmavyinhslb"; + name = "qt5compat-everywhere-src-6.7.3.tar.xz"; }; }; qtactiveqt = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtactiveqt-everywhere-src-6.7.2.tar.xz"; - sha256 = "1y02pyb2bz9wf5jmf2kh20wqq2vmq8afmgrs0pvhgfvyrs8b7an0"; - name = "qtactiveqt-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtactiveqt-everywhere-src-6.7.3.tar.xz"; + sha256 = "03qsszrsv3x2w9v65wnmizyqbs0x13c00zjd7sfgsaxw20p5x11a"; + name = "qtactiveqt-everywhere-src-6.7.3.tar.xz"; }; }; qtbase = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtbase-everywhere-src-6.7.2.tar.xz"; - sha256 = "16bmfrjfxjajs6sqg1383ihhfwwf69ihkpnpvsajh5pv21g2mwn5"; - name = "qtbase-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtbase-everywhere-src-6.7.3.tar.xz"; + sha256 = "15rhv8irwpgxs0pgqsn5dy9ndz6n3vfyv7iccdvaq1aj0nmvkjwc"; + name = "qtbase-everywhere-src-6.7.3.tar.xz"; }; }; qtcharts = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtcharts-everywhere-src-6.7.2.tar.xz"; - sha256 = "1nlv4z2rvhrn1f1f7n6qdag7lmkpl3idnj6ph572qzwb8lvs9xh0"; - name = "qtcharts-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtcharts-everywhere-src-6.7.3.tar.xz"; + sha256 = "0n9n4gj86g86yqkgws12aw2p6d94lmx6y19qki5gmg76a2jn7sh7"; + name = "qtcharts-everywhere-src-6.7.3.tar.xz"; }; }; qtconnectivity = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtconnectivity-everywhere-src-6.7.2.tar.xz"; - sha256 = "1s08djgzhh5p9ij0hxbrrcx9n7r7f0ba6pr9793mdsgh8ar23lwf"; - name = "qtconnectivity-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtconnectivity-everywhere-src-6.7.3.tar.xz"; + sha256 = "1igwnbjhdwmaw1x4v0gx9wv4h4a5h9f9rv9m9dyi0ybv14prpyc0"; + name = "qtconnectivity-everywhere-src-6.7.3.tar.xz"; }; }; qtdatavis3d = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtdatavis3d-everywhere-src-6.7.2.tar.xz"; - sha256 = "0lsfd737zi8517scys3xj4c9l505vvkdg3n6dw89bdfyjmywisy0"; - name = "qtdatavis3d-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtdatavis3d-everywhere-src-6.7.3.tar.xz"; + sha256 = "108x4hafvrc4jpmmx6lcf7mnns7vkgz0004b6qkw5bzq36apdwp1"; + name = "qtdatavis3d-everywhere-src-6.7.3.tar.xz"; }; }; qtdeclarative = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtdeclarative-everywhere-src-6.7.2.tar.xz"; - sha256 = "16drp7yjsm50cvsyww9xk15hzf2csax02vpbv0jx8hlcmyhwnaac"; - name = "qtdeclarative-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtdeclarative-everywhere-src-6.7.3.tar.xz"; + sha256 = "0xcq1dhws5k1sdf8iwxc2j2s45171rhjckfla17brxdb87j70ywk"; + name = "qtdeclarative-everywhere-src-6.7.3.tar.xz"; }; }; qtdoc = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtdoc-everywhere-src-6.7.2.tar.xz"; - sha256 = "0vbmhx2rbfbxgzz1ipa185wvnm08a43sdr47y9jn1ivdnrn4bhd0"; - name = "qtdoc-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtdoc-everywhere-src-6.7.3.tar.xz"; + sha256 = "0113rrsrcaw5l425xv96z081idjpav2iprg1834pxfqk3wk2l3ak"; + name = "qtdoc-everywhere-src-6.7.3.tar.xz"; }; }; qtgraphs = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtgraphs-everywhere-src-6.7.2.tar.xz"; - sha256 = "0046293800if5ca04r40wsa4gxh8r5q6c863yrx3cmjadqk3m0fq"; - name = "qtgraphs-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtgraphs-everywhere-src-6.7.3.tar.xz"; + sha256 = "13vcx0fkx9vyvjysnj0n805x13ir1srbzlg1jha8h56ccg6dw2f3"; + name = "qtgraphs-everywhere-src-6.7.3.tar.xz"; }; }; qtgrpc = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtgrpc-everywhere-src-6.7.2.tar.xz"; - sha256 = "0zp1l9vf0p78f53mhirs4crw6cjy6fmv26n7nndyrk8a0hz8b7wd"; - name = "qtgrpc-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtgrpc-everywhere-src-6.7.3.tar.xz"; + sha256 = "1py6h4g5zhqpm99bhxk12paw675a4c6dl95s6nwkvg1y2vaavapf"; + name = "qtgrpc-everywhere-src-6.7.3.tar.xz"; }; }; qthttpserver = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qthttpserver-everywhere-src-6.7.2.tar.xz"; - sha256 = "11lbfx08yl725w4n8dmvviscixvfkpzx8ijhy74gx0waz6sbjlq3"; - name = "qthttpserver-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qthttpserver-everywhere-src-6.7.3.tar.xz"; + sha256 = "1zyyyj9q0yy5gh28yqgc0nwhgdvg0qbwkag9bd566srbwp3if8vz"; + name = "qthttpserver-everywhere-src-6.7.3.tar.xz"; }; }; qtimageformats = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtimageformats-everywhere-src-6.7.2.tar.xz"; - sha256 = "1mp5bi45gcmsds0g2xfjd1mklrijbwfv0hx4s1md2rxfbxwdi8g1"; - name = "qtimageformats-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtimageformats-everywhere-src-6.7.3.tar.xz"; + sha256 = "0ls76bxl3xhy7hyzw53vj8q3h0llsbm9dpb86wvw6m0n11283mcz"; + name = "qtimageformats-everywhere-src-6.7.3.tar.xz"; }; }; qtlanguageserver = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtlanguageserver-everywhere-src-6.7.2.tar.xz"; - sha256 = "14hs20738d2ljfb5la8p0lip7qranjnrwl5fwdhs1zs4a5jzwndn"; - name = "qtlanguageserver-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtlanguageserver-everywhere-src-6.7.3.tar.xz"; + sha256 = "13yzz6qnpkah9s89xlqiszzkbw1j6c1a2vzwkgjdj0w589r3hvf5"; + name = "qtlanguageserver-everywhere-src-6.7.3.tar.xz"; }; }; qtlocation = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtlocation-everywhere-src-6.7.2.tar.xz"; - sha256 = "0pa8ibw490p3433ysni73f0gpz7gvxyl2abh3ygvd28ipxcdlcpj"; - name = "qtlocation-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtlocation-everywhere-src-6.7.3.tar.xz"; + sha256 = "1657scmrkyhm31fgvgpjlqd053gb7bcywra4qvlgg3h4rpfxg7sn"; + name = "qtlocation-everywhere-src-6.7.3.tar.xz"; }; }; qtlottie = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtlottie-everywhere-src-6.7.2.tar.xz"; - sha256 = "03piwc7p0lgqm73rx2kf5ckh986nv9dkssfl47js8lnkb29vrbyr"; - name = "qtlottie-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtlottie-everywhere-src-6.7.3.tar.xz"; + sha256 = "03c3s6alabqqqhi8cx8rnkr3gx7h8rcf2wn8iy9n7hbsfrvix39r"; + name = "qtlottie-everywhere-src-6.7.3.tar.xz"; }; }; qtmultimedia = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtmultimedia-everywhere-src-6.7.2.tar.xz"; - sha256 = "1lsiarvag8lr4a1apa466xz56b1znjncy8wz5hyiv6nbb88kby4f"; - name = "qtmultimedia-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtmultimedia-everywhere-src-6.7.3.tar.xz"; + sha256 = "00vkazz4mcz5n2hdh10y9mh0fi2kygai009vi69m4hwjwnw2hk9h"; + name = "qtmultimedia-everywhere-src-6.7.3.tar.xz"; }; }; qtnetworkauth = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtnetworkauth-everywhere-src-6.7.2.tar.xz"; - sha256 = "0w7l5lhhxhg9x1rd66727gwkpzi6l7wmyc0c4qrfp2g5rx7q42bz"; - name = "qtnetworkauth-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtnetworkauth-everywhere-src-6.7.3.tar.xz"; + sha256 = "1dqk9983cjf3kiprk053xn3np2c25044dlfdrzs5d742x2jpb6kb"; + name = "qtnetworkauth-everywhere-src-6.7.3.tar.xz"; }; }; qtpositioning = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtpositioning-everywhere-src-6.7.2.tar.xz"; - sha256 = "073v10z1axmqydrvdka9g69wr117kzhvci9sjr110swgmbq0j002"; - name = "qtpositioning-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtpositioning-everywhere-src-6.7.3.tar.xz"; + sha256 = "0736qsf7k3dqdm9gd7xc0l368h45jgzh4nzz72wizj9489sp6w6s"; + name = "qtpositioning-everywhere-src-6.7.3.tar.xz"; }; }; qtquick3d = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtquick3d-everywhere-src-6.7.2.tar.xz"; - sha256 = "0w2js64s1wg86dblqmmy9cyjz2x96f9qbk4674xjsbnsqspgk3xv"; - name = "qtquick3d-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquick3d-everywhere-src-6.7.3.tar.xz"; + sha256 = "0mwrlz9ji0ivnxz44m9xhhsk7lngxjnmid420s359vs21msik6ni"; + name = "qtquick3d-everywhere-src-6.7.3.tar.xz"; }; }; qtquick3dphysics = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtquick3dphysics-everywhere-src-6.7.2.tar.xz"; - sha256 = "0h21dq5yplqizyk43agfw7yzyjfcs3d8bl7jq6n07g2fnjw91izz"; - name = "qtquick3dphysics-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquick3dphysics-everywhere-src-6.7.3.tar.xz"; + sha256 = "1wyqi6z0g2pi0wj288ssjj0awn8jpi9rqa8bi510s9vr625w8pdl"; + name = "qtquick3dphysics-everywhere-src-6.7.3.tar.xz"; }; }; qtquickeffectmaker = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtquickeffectmaker-everywhere-src-6.7.2.tar.xz"; - sha256 = "0vbmgdqlwihi379z1yr8ci09jxr93jrkgd8ripr2jb680z72c3rv"; - name = "qtquickeffectmaker-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquickeffectmaker-everywhere-src-6.7.3.tar.xz"; + sha256 = "15if8ansjc1nkpaf6ldyydb47grgv079pm15ljn0ykf35ldzv2sq"; + name = "qtquickeffectmaker-everywhere-src-6.7.3.tar.xz"; }; }; qtquicktimeline = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtquicktimeline-everywhere-src-6.7.2.tar.xz"; - sha256 = "1sqr0xmiz33wfl5db24chq3gsbs0p17ylbin23gcx5gh3jhdxv91"; - name = "qtquicktimeline-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquicktimeline-everywhere-src-6.7.3.tar.xz"; + sha256 = "00n90camzs7c3s61id58466sypc83w0101wrnw0xwlaci1kld45p"; + name = "qtquicktimeline-everywhere-src-6.7.3.tar.xz"; }; }; qtremoteobjects = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtremoteobjects-everywhere-src-6.7.2.tar.xz"; - sha256 = "10vlkg5v5hc8fwiw9x06d84z6cs4i5kxm652si3lwvvxma0np40b"; - name = "qtremoteobjects-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtremoteobjects-everywhere-src-6.7.3.tar.xz"; + sha256 = "1lciziv5qvnxich39j0q46v3pkn83yy1jkm2q3d10k5672lqmh4r"; + name = "qtremoteobjects-everywhere-src-6.7.3.tar.xz"; }; }; qtscxml = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtscxml-everywhere-src-6.7.2.tar.xz"; - sha256 = "0vy80npai5ikwlf0ghxf5xj8vq1hi3cdjgddjas2g3yl0qszkv10"; - name = "qtscxml-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtscxml-everywhere-src-6.7.3.tar.xz"; + sha256 = "18zdgq3sapkh6jsnfhl0xm0r8ydbg7kxwr70b7szpdmg1pmyp3v0"; + name = "qtscxml-everywhere-src-6.7.3.tar.xz"; }; }; qtsensors = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtsensors-everywhere-src-6.7.2.tar.xz"; - sha256 = "0ndvwra9bssfqw32bk5mbj3zdqgi9zshm0gd0bfd8vn5hz3xxlga"; - name = "qtsensors-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtsensors-everywhere-src-6.7.3.tar.xz"; + sha256 = "1z68yfjljv7bi49kna4a7yz6javw9bqdw0jr30zmzvb2ldfqsfn0"; + name = "qtsensors-everywhere-src-6.7.3.tar.xz"; }; }; qtserialbus = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtserialbus-everywhere-src-6.7.2.tar.xz"; - sha256 = "0asb6xnp6gnn41bivirld1llhb2zmbgidianv7blcms5kfliqr37"; - name = "qtserialbus-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtserialbus-everywhere-src-6.7.3.tar.xz"; + sha256 = "0xk218y1cm9icdzb4dn9nvszr9n22anmf2iz72vhhy42gaf2xn2m"; + name = "qtserialbus-everywhere-src-6.7.3.tar.xz"; }; }; qtserialport = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtserialport-everywhere-src-6.7.2.tar.xz"; - sha256 = "1z5lsgdl4g48fr2kcp7zznv5jyv42xmd4qn6rrxikd8w2v8lrhr1"; - name = "qtserialport-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtserialport-everywhere-src-6.7.3.tar.xz"; + sha256 = "1w26n5nw8fv9cq258xm0p7niisbig5ky83njm3nwjfcvh3p5iynl"; + name = "qtserialport-everywhere-src-6.7.3.tar.xz"; }; }; qtshadertools = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtshadertools-everywhere-src-6.7.2.tar.xz"; - sha256 = "1hbw5xz12frydk787rl6cgfxm2bxlzkxiwcxjjmgq04cmk039ypd"; - name = "qtshadertools-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtshadertools-everywhere-src-6.7.3.tar.xz"; + sha256 = "1589ij1aarr0i6cfbdxg8yxvljs52599g39d98sxmnvxiiwi5rbl"; + name = "qtshadertools-everywhere-src-6.7.3.tar.xz"; }; }; qtspeech = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtspeech-everywhere-src-6.7.2.tar.xz"; - sha256 = "1khl90m6jd2zg0r0fncdz3r1w2l96vwp6jihpq9rgr730ja7d36c"; - name = "qtspeech-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtspeech-everywhere-src-6.7.3.tar.xz"; + sha256 = "04h998pshs2bzm3a0bvmkq2an2yhgfrap22k3lvprx3f3gsgn2gn"; + name = "qtspeech-everywhere-src-6.7.3.tar.xz"; }; }; qtsvg = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtsvg-everywhere-src-6.7.2.tar.xz"; - sha256 = "00ggr84l1h8did6ivprv343rwwcl7j2bbbilxqzmiqsvlf3143gv"; - name = "qtsvg-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtsvg-everywhere-src-6.7.3.tar.xz"; + sha256 = "0sx0xm6hcjhjhrmswycrgwvdjk6mymkindmw2bb7mq5i3yvjq520"; + name = "qtsvg-everywhere-src-6.7.3.tar.xz"; }; }; qttools = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qttools-everywhere-src-6.7.2.tar.xz"; - sha256 = "0ajbma9lbrb0d048bvg2xl74m833ddv2b9684r3hjcr53fnmbs2q"; - name = "qttools-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qttools-everywhere-src-6.7.3.tar.xz"; + sha256 = "0gr06dr3dd334mswrjdxp27dhpdbpjvk03hipafsrncwc7gvffzh"; + name = "qttools-everywhere-src-6.7.3.tar.xz"; }; }; qttranslations = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qttranslations-everywhere-src-6.7.2.tar.xz"; - sha256 = "1a9cb1br3wqn0rshkgj21hba3r7jx8dbavc3ayfjgdy1bl5phicq"; - name = "qttranslations-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qttranslations-everywhere-src-6.7.3.tar.xz"; + sha256 = "1j3dklf0gvzpnl6zw254fv7wy3iyypbbcsfkwjsrnfq4mjn65iyw"; + name = "qttranslations-everywhere-src-6.7.3.tar.xz"; }; }; qtvirtualkeyboard = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtvirtualkeyboard-everywhere-src-6.7.2.tar.xz"; - sha256 = "03qqrs0nv6bhnm0ps54inw43xgnfx3vdq8mqq5wzyq09basn81ij"; - name = "qtvirtualkeyboard-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtvirtualkeyboard-everywhere-src-6.7.3.tar.xz"; + sha256 = "1n932jgj97ili5chhfrscqvhdaz0na5yla3xljnlih0jw82231qs"; + name = "qtvirtualkeyboard-everywhere-src-6.7.3.tar.xz"; }; }; qtwayland = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtwayland-everywhere-src-6.7.2.tar.xz"; - sha256 = "0nwa59g1wk7fkym837pkw312abjb376gx44rpd5d8jv4vphmg852"; - name = "qtwayland-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwayland-everywhere-src-6.7.3.tar.xz"; + sha256 = "1ddjf9lrlx8cp0699sq8vc8fx44nvz9daxq5qazh7x98nv7cf9p3"; + name = "qtwayland-everywhere-src-6.7.3.tar.xz"; }; }; qtwebchannel = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtwebchannel-everywhere-src-6.7.2.tar.xz"; - sha256 = "072hniyxavz2jjkzh7mrz4g67zf0cngvp4xgdradxrqhgdh9cpdc"; - name = "qtwebchannel-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebchannel-everywhere-src-6.7.3.tar.xz"; + sha256 = "1f3lak91fvlncgs43dcgkgjg25f9449d2pvbsh33m6xhdpg3yqqm"; + name = "qtwebchannel-everywhere-src-6.7.3.tar.xz"; }; }; qtwebengine = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtwebengine-everywhere-src-6.7.2.tar.xz"; - sha256 = "1lgz0mj9lw4ii1c8nkbr0ll02xzx8i6n7wvvn21f72sdb5smhxf7"; - name = "qtwebengine-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebengine-everywhere-src-6.7.3.tar.xz"; + sha256 = "1ns6v24jarjlvd1b3nh4x3sp6y38ag62dsh7x6f5dp40pff1aay2"; + name = "qtwebengine-everywhere-src-6.7.3.tar.xz"; }; }; qtwebsockets = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtwebsockets-everywhere-src-6.7.2.tar.xz"; - sha256 = "0pr13p6inlh2i79yc567w8dp446rh9xvfakq5diwis4wxkv4mpjv"; - name = "qtwebsockets-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebsockets-everywhere-src-6.7.3.tar.xz"; + sha256 = "03lrqphvn0bwrma8rjqb8x7giqgk24gdgl9v7syaas7fnxyh00xs"; + name = "qtwebsockets-everywhere-src-6.7.3.tar.xz"; }; }; qtwebview = { - version = "6.7.2"; + version = "6.7.3"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.2/submodules/qtwebview-everywhere-src-6.7.2.tar.xz"; - sha256 = "1zp44kfrks0grc1l6f3ayvfmw45zmhal0pfrzjdw7znl0dlhkqac"; - name = "qtwebview-everywhere-src-6.7.2.tar.xz"; + url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebview-everywhere-src-6.7.3.tar.xz"; + sha256 = "0bdr0m8453difqwd8gvgqsd4df4j8lnlbi44cdazwhx28kzfi2kh"; + name = "qtwebview-everywhere-src-6.7.3.tar.xz"; }; }; } From 8e9a6862d73568a7de5c7a87b32bba22610fdf00 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 27 Sep 2024 22:29:26 -0400 Subject: [PATCH 385/491] protobuf_28: fix cross compilation by only building tests when necessary --- .../libraries/protobuf/generic.nix | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix index 4c03454c432c5..459f54b2457a5 100644 --- a/pkgs/development/libraries/protobuf/generic.nix +++ b/pkgs/development/libraries/protobuf/generic.nix @@ -76,18 +76,20 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals enableShared [ "-Dprotobuf_BUILD_SHARED_LIBS=ON" ] - # Tests fail to build on 32-bit platforms; fixed in 22.x - # https://github.com/protocolbuffers/protobuf/issues/10418 - ++ lib.optionals (stdenv.hostPlatform.is32bit && lib.versionOlder version "22") [ + ++ lib.optionals (!finalAttrs.finalPackage.doCheck) [ "-Dprotobuf_BUILD_TESTS=OFF" ]; - # FIXME: investigate. 24.x and 23.x have different errors. - # At least some of it is not reproduced on some other machine; example: - # https://hydra.nixos.org/build/235677717/nixlog/4/tail - # Also AnyTest.TestPackFromSerializationExceedsSizeLimit fails on 32-bit platforms - # https://github.com/protocolbuffers/protobuf/issues/8460 - doCheck = !(stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "23") && !stdenv.hostPlatform.is32bit; + doCheck = + # FIXME: investigate. 24.x and 23.x have different errors. + # At least some of it is not reproduced on some other machine; example: + # https://hydra.nixos.org/build/235677717/nixlog/4/tail + !(stdenv.hostPlatform.isDarwin && lib.versionAtLeast version "23") + # Tests fail to build on 32-bit platforms; fixed in 22.x + # https://github.com/protocolbuffers/protobuf/issues/10418 + # Also AnyTest.TestPackFromSerializationExceedsSizeLimit fails on 32-bit platforms + # https://github.com/protocolbuffers/protobuf/issues/8460 + && !stdenv.hostPlatform.is32bit; passthru = { tests = { From 76aeca8297c18213c7eab8ab721c38d6de77d576 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sat, 28 Sep 2024 10:24:31 -0600 Subject: [PATCH 386/491] cdrtools: remove -fpermissive due to revert of gcc_14 as default This fails to build with gcc_13 as default, opting to remove the flag for the time being instead of conditioning to the gcc version Not showing up on hydra at the moment --- pkgs/tools/cd-dvd/cdrtools/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/tools/cd-dvd/cdrtools/default.nix b/pkgs/tools/cd-dvd/cdrtools/default.nix index 7b8e1c4d1c818..d264a0f8bdb34 100644 --- a/pkgs/tools/cd-dvd/cdrtools/default.nix +++ b/pkgs/tools/cd-dvd/cdrtools/default.nix @@ -27,10 +27,6 @@ stdenv.mkDerivation rec { makeFlags = [ "GMAKE_NOWARN=true" "INS_BASE=/" "INS_RBASE=/" "DESTDIR=${placeholder "out"}" ]; - env = lib.optionalAttrs stdenv.cc.isGNU { - NIX_CFLAGS_COMPILE = "-fpermissive"; - }; - enableParallelBuilding = false; # parallel building fails on some linux machines hardeningDisable = lib.optional stdenv.hostPlatform.isMusl "fortify"; From 3bd454d384bc98193567d000666314875528c061 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 28 Sep 2024 20:30:29 +0300 Subject: [PATCH 387/491] python312Packages.docker: fix tests --- pkgs/development/python-modules/docker/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix index 59ab52857824a..4ed5c9c113dc1 100644 --- a/pkgs/development/python-modules/docker/default.nix +++ b/pkgs/development/python-modules/docker/default.nix @@ -16,6 +16,7 @@ # optional-dependenices paramiko, + pynacl, # optional in paramiko, required here websocket-client, # tests @@ -57,7 +58,10 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook - ] ++ lib.flatten (lib.attrValues optional-dependencies); + paramiko + pynacl + websocket-client + ]; pytestFlagsArray = [ "tests/unit" ]; From 67cdc348c09653b73a111e12e2d2a16a3db79b70 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 28 Sep 2024 20:32:31 +0300 Subject: [PATCH 388/491] python312Packages.josepy: backport test fix --- pkgs/development/python-modules/josepy/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/python-modules/josepy/default.nix b/pkgs/development/python-modules/josepy/default.nix index 955bc33cc2239..b1aa721e1305f 100644 --- a/pkgs/development/python-modules/josepy/default.nix +++ b/pkgs/development/python-modules/josepy/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, cryptography, fetchPypi, + fetchpatch, poetry-core, pyopenssl, pytestCheckHook, @@ -21,6 +22,15 @@ buildPythonPackage rec { hash = "sha256-MIs7+c6CWtTUu6djcs8ZtdwcLOlqnSmPlkKXXmS9E90="; }; + patches = [ + # don't fail tests on openssl deprecation warning, upstream is working on proper fix + # FIXME: remove for next update + (fetchpatch { + url = "https://github.com/certbot/josepy/commit/350410fc1d38c4ac8422816b6865ac8cd9c60fc7.diff"; + hash = "sha256-QGbzonXb5BtTTWDeDqnZhbS6gHce99vIOm/H8QYeGXY="; + }) + ]; + nativeBuildInputs = [ poetry-core ]; propagatedBuildInputs = [ From d507a0ac7753a82aa5f6d053bd466a4e1d51c008 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 28 Sep 2024 20:34:49 +0300 Subject: [PATCH 389/491] python312Packages.proto-plus: 1.23.0 -> 1.24.0 --- pkgs/development/python-modules/proto-plus/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/proto-plus/default.nix b/pkgs/development/python-modules/proto-plus/default.nix index df76396f68e34..ae3cd88eeef75 100644 --- a/pkgs/development/python-modules/proto-plus/default.nix +++ b/pkgs/development/python-modules/proto-plus/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "proto-plus"; - version = "1.23.0"; + version = "1.24.0"; format = "setuptools"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - hash = "sha256-iQdRce8RmIs/oVf129i5zwnWX//ul+Kc5APNje+6GdI="; + hash = "sha256-MLcqXsr+RAaw0znbNbVsQFkGTmkie4w72nRiOX+WZEU="; }; propagatedBuildInputs = [ protobuf ]; From a28eb11846566990e895acd574a266ffbf7ec4c7 Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 29 Sep 2024 08:15:17 +0300 Subject: [PATCH 390/491] python312Packages.grpc-google-iam-v1: 0.13.0 -> 0.13.1 Fixes build with latest protobuf --- .../development/python-modules/grpc-google-iam-v1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/grpc-google-iam-v1/default.nix b/pkgs/development/python-modules/grpc-google-iam-v1/default.nix index 17ede6dee378a..0f0062f4a344a 100644 --- a/pkgs/development/python-modules/grpc-google-iam-v1/default.nix +++ b/pkgs/development/python-modules/grpc-google-iam-v1/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "grpc-google-iam-v1"; - version = "0.13.0"; + version = "0.13.1"; pyproject = true; src = fetchFromGitHub { owner = "googleapis"; repo = "python-grpc-google-iam-v1"; rev = "refs/tags/v${version}"; - hash = "sha256-pmwHDzOaXrgqXZiaxIn01CtiAG+XRBGr8BgzbG/F1uw="; + hash = "sha256-FLDx2zbM0qqLa+k/7xexyv5/YHlSOdikrbU2eYbxDM0="; }; nativeBuildInputs = [ setuptools ]; From d46eefeffd5d77babaf82a5741297af166bedc81 Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 29 Sep 2024 08:21:18 +0300 Subject: [PATCH 391/491] google-cloud-cpp: 2.14.0 -> 2.29.0 Fixes build with latest GCC/glibc/protobuf/etc, also catches us up on a year of updates. --- .../libraries/google-cloud-cpp/default.nix | 27 ++++++------------- .../hardcode-googleapis-path.patch | 14 ++++++++++ 2 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 pkgs/development/libraries/google-cloud-cpp/hardcode-googleapis-path.patch diff --git a/pkgs/development/libraries/google-cloud-cpp/default.nix b/pkgs/development/libraries/google-cloud-cpp/default.nix index e8caeadcd32d8..c70d9d70340ea 100644 --- a/pkgs/development/libraries/google-cloud-cpp/default.nix +++ b/pkgs/development/libraries/google-cloud-cpp/default.nix @@ -1,7 +1,7 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch +, substituteAll , c-ares , cmake , crc32c @@ -20,41 +20,33 @@ }: let # defined in cmake/GoogleapisConfig.cmake - googleapisRev = "85f8c758016c279fb7fa8f0d51ddc7ccc0dd5e05"; + googleapisRev = "6a474b31c53cc1797710206824a17b364a835d2d"; googleapis = fetchFromGitHub { name = "googleapis-src"; owner = "googleapis"; repo = "googleapis"; rev = googleapisRev; - hash = "sha256-4Qiz0pBgW3OZi+Z8Zq6k9E94+8q6/EFMwPh8eQxDjdI="; + hash = "sha256-t5oX6Gc1WSMSBDftXA9RZulckUenxOEHBYeq2qf8jnY="; }; in stdenv.mkDerivation rec { pname = "google-cloud-cpp"; - version = "2.14.0"; + version = "2.29.0"; src = fetchFromGitHub { owner = "googleapis"; repo = "google-cloud-cpp"; rev = "v${version}"; - sha256 = "sha256-0SoOaAqvk8cVC5W3ejTfe4O/guhrro3uAzkeIpAkCpg="; + sha256 = "sha256-gCq8Uc+s/rnJWsGlI7f+tvAZHH8K69+H/leUOKE2GCY="; }; patches = [ - # https://github.com/googleapis/google-cloud-cpp/pull/12554, tagged in 2.16.0 - (fetchpatch { - name = "prepare-for-GCC-13.patch"; - url = "https://github.com/googleapis/google-cloud-cpp/commit/ae30135c86982c36e82bb0f45f99baa48c6a780b.patch"; - hash = "sha256-L0qZfdhP8Zt/gYBWvJafteVgBHR8Kup49RoOrLDtj3k="; + (substituteAll { + src = ./hardcode-googleapis-path.patch; + url = googleapis; }) ]; - postPatch = '' - substituteInPlace external/googleapis/CMakeLists.txt \ - --replace "https://github.com/googleapis/googleapis/archive/\''${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}.tar.gz" "file://${googleapis}" - sed -i '/https:\/\/storage.googleapis.com\/cloud-cpp-community-archive\/com_google_googleapis/d' external/googleapis/CMakeLists.txt - ''; - nativeBuildInputs = [ cmake ninja @@ -78,9 +70,6 @@ stdenv.mkDerivation rec { protobuf ]; - # https://hydra.nixos.org/build/222679737/nixlog/3/tail - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isAarch64 "-Wno-error=maybe-uninitialized"; - doInstallCheck = true; preInstallCheck = diff --git a/pkgs/development/libraries/google-cloud-cpp/hardcode-googleapis-path.patch b/pkgs/development/libraries/google-cloud-cpp/hardcode-googleapis-path.patch new file mode 100644 index 0000000000000..9e1affcfe0168 --- /dev/null +++ b/pkgs/development/libraries/google-cloud-cpp/hardcode-googleapis-path.patch @@ -0,0 +1,14 @@ +--- a/external/googleapis/CMakeLists.txt ++++ b/external/googleapis/CMakeLists.txt +@@ -20,10 +20,7 @@ endif () + + include(GoogleapisConfig) + +-set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL +- "https://github.com/googleapis/googleapis/archive/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}.tar.gz" +- "https://storage.googleapis.com/cloud-cpp-community-archive/github.com/googleapis/googleapis/archive/${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_COMMIT_SHA}.tar.gz" +-) ++set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL @url@) + set(GOOGLE_CLOUD_CPP_GOOGLEAPIS_URL_HASH + "${_GOOGLE_CLOUD_CPP_GOOGLEAPIS_SHA256}") + if (GOOGLE_CLOUD_CPP_OVERRIDE_GOOGLEAPIS_URL) From 8b540b5f7197e68c96e4824b6c1be58c18484a2a Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 29 Sep 2024 10:45:23 +0300 Subject: [PATCH 392/491] python312Packages.botocore: 1.34.131 -> 1.35.29 --- pkgs/development/python-modules/botocore/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix index 68a1ae7c68dce..870b3b86a7e33 100644 --- a/pkgs/development/python-modules/botocore/default.nix +++ b/pkgs/development/python-modules/botocore/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "botocore"; - version = "1.34.131"; # N.B: if you change this, change boto3 and awscli to a matching version + version = "1.35.29"; # N.B: if you change this, change boto3 and awscli to a matching version pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-UC3a/h1if88eTAB8hkVOXdAR26fFi9jopTaKefPjh9w="; + hash = "sha256-TtKKsDZ1uwCKKQxFLF3deqpdTj+hkSqtvfkwV+6ENis="; }; pythonRelaxDeps = [ "urllib3" ]; From afb688c2265eb0c4ee5709f8885ceecca797c80c Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 29 Sep 2024 10:45:36 +0300 Subject: [PATCH 393/491] python312Packages.boto3: 1.34.131 -> 1.35.29 --- pkgs/development/python-modules/boto3/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix index f6998d6400a26..2f28117ca2ea1 100644 --- a/pkgs/development/python-modules/boto3/default.nix +++ b/pkgs/development/python-modules/boto3/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "boto"; repo = "boto3"; rev = "refs/tags/${version}"; - hash = "sha256-fiUguOzNF9T3CcGD1mYl2b5QFbvBG8wNOd3Or2NR66E="; + hash = "sha256-4WP5E8LuuxWZi8DK8yOpvyy6isSfB4eFcbctkTEd3As="; }; nativeBuildInputs = [ From 48d02fb9ac57627a62389985e6abb48f8bcdd456 Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 29 Sep 2024 10:45:58 +0300 Subject: [PATCH 394/491] awscli: 1.33.13 -> 1.34.29 --- pkgs/tools/admin/awscli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix index d7fc15a173cf3..c792563000a69 100644 --- a/pkgs/tools/admin/awscli/default.nix +++ b/pkgs/tools/admin/awscli/default.nix @@ -13,12 +13,12 @@ let pname = "awscli"; # N.B: if you change this, change botocore and boto3 to a matching version too # check e.g. https://github.com/aws/aws-cli/blob/1.33.21/setup.py - version = "1.33.13"; + version = "1.34.29"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-utRALEoP+CWlmkPnbgByFSSX9Nr39iyTdv5uABT6Kps="; + hash = "sha256-2w9z6f8ThKIISEiExePHObUZzBrdltP3AfZqKh8d1Mo="; }; pythonRelaxDeps = [ From 5d8390a8c4473579044fcc48225e9db6b9afae60 Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 29 Sep 2024 10:46:12 +0300 Subject: [PATCH 395/491] python312Packages.py-partiql-parser: 0.5.4 -> 0.5.6 --- pkgs/development/python-modules/py-partiql-parser/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/py-partiql-parser/default.nix b/pkgs/development/python-modules/py-partiql-parser/default.nix index f3978e4fb6957..a240fbcd8085e 100644 --- a/pkgs/development/python-modules/py-partiql-parser/default.nix +++ b/pkgs/development/python-modules/py-partiql-parser/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "py-partiql-parser"; - version = "0.5.4"; + version = "0.5.6"; pyproject = true; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "getmoto"; repo = "py-partiql-parser"; rev = "refs/tags/${version}"; - hash = "sha256-BSqc3xibStb3J6Rua4dDp/eRD5/ns/dU1vGa4vL1Cyo="; + hash = "sha256-uEpgcY2bBaeFaK/0gWg1ef81FmKJy7m5G21aETW9QXU="; }; build-system = [ hatchling ]; From 110123ae4d1b1d174c3436c131cc0e8fef7a6766 Mon Sep 17 00:00:00 2001 From: K900 Date: Sun, 29 Sep 2024 10:46:22 +0300 Subject: [PATCH 396/491] python312Packages.moto: 5.0.12 -> 5.0.15 --- pkgs/development/python-modules/moto/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix index 3f5ae8133936d..96e633f4c465e 100644 --- a/pkgs/development/python-modules/moto/default.nix +++ b/pkgs/development/python-modules/moto/default.nix @@ -44,14 +44,14 @@ buildPythonPackage rec { pname = "moto"; - version = "5.0.12"; + version = "5.0.15"; pyproject = true; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-EL1DS/2jKWOf6VKUcMTCeTgGTBOZhAJOamJRPlCv9Cc="; + hash = "sha256-V6qMKvQXzGSg3f5j5bzRrakPUHm3PN0fdMTp+zChp+Y="; }; build-system = [ setuptools ]; From c2a5dcf5a04c895ab9a7b7443e11ee8799b5bd09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sun, 29 Sep 2024 12:10:22 -0600 Subject: [PATCH 397/491] accountservice: condition gcc_14 specific `-Wno-error` flags --- pkgs/development/libraries/accountsservice/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix index 05c72673ded4f..1bb42e9c3fe61 100644 --- a/pkgs/development/libraries/accountsservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -74,7 +74,7 @@ stdenv.mkDerivation rec { libxcrypt ]; - env = lib.optionalAttrs stdenv.cc.isGNU { + env = lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) { NIX_CFLAGS_COMPILE = toString [ "-Wno-error=deprecated-declarations" "-Wno-error=implicit-function-declaration" From d67a90a413e9b56769e6fb6212604fb0da60ec79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= Date: Sun, 29 Sep 2024 12:10:33 -0600 Subject: [PATCH 398/491] seahorse: condition gcc_14 specific `-Wno-error` flags --- pkgs/by-name/se/seahorse/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/se/seahorse/package.nix b/pkgs/by-name/se/seahorse/package.nix index 820d71de4a7a0..65b3cf855abb6 100644 --- a/pkgs/by-name/se/seahorse/package.nix +++ b/pkgs/by-name/se/seahorse/package.nix @@ -81,7 +81,7 @@ stdenv.mkDerivation rec { patchShebangs build-aux/gpg_check_version.py ''; - env = lib.optionalAttrs stdenv.cc.isGNU { + env = lib.optionalAttrs (stdenv.cc.isGNU && (lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "14")) { NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-function-declaration" "-Wno-error=int-conversion" From 6471602fa451057e055d034315bca53a1fa48574 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 07:17:05 +0300 Subject: [PATCH 399/491] python312Packages.google-api-core: 2.19.0 -> 2.20.0 --- .../python-modules/google-api-core/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix index ccfeaa3debacb..fc56a754c6a6e 100644 --- a/pkgs/development/python-modules/google-api-core/default.nix +++ b/pkgs/development/python-modules/google-api-core/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, google-auth, googleapis-common-protos, grpcio, @@ -19,14 +19,16 @@ buildPythonPackage rec { pname = "google-api-core"; - version = "2.19.0"; + version = "2.20.0"; pyproject = true; disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - hash = "sha256-zxt8JpQEeIbSrxEooDrpnjkRCKCIBPh8/TWXDknJzRA="; + src = fetchFromGitHub { + owner = "googleapis"; + repo = "python-api-core"; + rev = "v${version}"; + hash = "sha256-ccjkGQNaPRefI6+j/O+NwdBGEVNuZ5q5m1d8EAJGcbs="; }; nativeBuildInputs = [ setuptools ]; From 66eee3addaed3dc8ba104f80c961737bee1d075d Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 08:00:21 +0300 Subject: [PATCH 400/491] ftgl: fix build, clean up - patch to fix type mismatch error - remove conditional Darwin inputs, those are aliased in all-packages.nix now - clean up postInstall - remove unnecessary enableParallelBuilding --- pkgs/by-name/ft/ftgl/fix-warnings.patch | 39 +++++++++++++++++++++++++ pkgs/by-name/ft/ftgl/package.nix | 21 ++++--------- 2 files changed, 44 insertions(+), 16 deletions(-) create mode 100644 pkgs/by-name/ft/ftgl/fix-warnings.patch diff --git a/pkgs/by-name/ft/ftgl/fix-warnings.patch b/pkgs/by-name/ft/ftgl/fix-warnings.patch new file mode 100644 index 0000000000000..7dea7e8fb06d3 --- /dev/null +++ b/pkgs/by-name/ft/ftgl/fix-warnings.patch @@ -0,0 +1,39 @@ +diff --git a/src/FTContour.cpp b/src/FTContour.cpp +index c668d32..ef13576 100644 +--- a/src/FTContour.cpp ++++ b/src/FTContour.cpp +@@ -174,7 +174,7 @@ void FTContour::SetParity(int parity) + } + + +-FTContour::FTContour(FT_Vector* contour, char* tags, unsigned int n) ++FTContour::FTContour(FT_Vector* contour, unsigned char* tags, unsigned int n) + { + FTPoint prev, cur(contour[(n - 1) % n]), next(contour[0]); + double olddir, dir = atan2((next - cur).Y(), (next - cur).X()); +diff --git a/src/FTContour.h b/src/FTContour.h +index d2d187c..dc64e3a 100644 +--- a/src/FTContour.h ++++ b/src/FTContour.h +@@ -52,7 +52,7 @@ class FTContour + * @param pointTags + * @param numberOfPoints + */ +- FTContour(FT_Vector* contour, char* pointTags, unsigned int numberOfPoints); ++ FTContour(FT_Vector* contour, unsigned char* pointTags, unsigned int numberOfPoints); + + /** + * Destructor +diff --git a/src/FTVectoriser.cpp b/src/FTVectoriser.cpp +index 26e7da8..53d738e 100644 +--- a/src/FTVectoriser.cpp ++++ b/src/FTVectoriser.cpp +@@ -168,7 +168,7 @@ void FTVectoriser::ProcessContours() + for(int i = 0; i < ftContourCount; ++i) + { + FT_Vector* pointList = &outline.points[startIndex]; +- char* tagList = &outline.tags[startIndex]; ++ unsigned char* tagList = &outline.tags[startIndex]; + + endIndex = outline.contours[i]; + contourLength = (endIndex - startIndex) + 1; diff --git a/pkgs/by-name/ft/ftgl/package.nix b/pkgs/by-name/ft/ftgl/package.nix index ee2a3e2457bf2..506a756ba2e70 100644 --- a/pkgs/by-name/ft/ftgl/package.nix +++ b/pkgs/by-name/ft/ftgl/package.nix @@ -8,12 +8,8 @@ , libGL , libGLU , pkg-config -, darwin }: -let - inherit (darwin.apple_sdk.frameworks) OpenGL GLUT; -in stdenv.mkDerivation rec { pname = "ftgl"; version = "2.4.0"; @@ -33,6 +29,10 @@ stdenv.mkDerivation rec { --replace ' -dylib_file $GL_DYLIB: $GL_DYLIB' "" ''; + patches = [ + ./fix-warnings.patch + ]; + nativeBuildInputs = [ autoreconfHook doxygen @@ -40,24 +40,13 @@ stdenv.mkDerivation rec { ]; buildInputs = [ freetype - ] ++ (if stdenv.hostPlatform.isDarwin then [ - OpenGL - GLUT - ] else [ libGL libGLU libglut - ]); - - configureFlags = [ - "--with-ft-prefix=${lib.getDev freetype}" ]; - enableParallelBuilding = true; - postInstall = '' - install -Dm644 src/FTSize.h -t ${placeholder "out"}/include/FTGL - install -Dm644 src/FTFace.h -t ${placeholder "out"}/include/FTGL + install -Dm644 src/FTSize.h src/FTFace.h -t $out/include/FTGL ''; meta = with lib; { From beff13896ba9ed0d89cc67376ce625e4edc5f22b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 25 Sep 2024 14:44:50 +0200 Subject: [PATCH 401/491] python312Packages.ncclient: fix missing dependency after paramiko changes --- pkgs/development/python-modules/ncclient/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/ncclient/default.nix b/pkgs/development/python-modules/ncclient/default.nix index 11f3424083cb6..8be90d3d98384 100644 --- a/pkgs/development/python-modules/ncclient/default.nix +++ b/pkgs/development/python-modules/ncclient/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { paramiko lxml six - ]; + ] ++ paramiko.optional-dependencies.ed25519; nativeCheckInputs = [ pytestCheckHook ]; From 90909568076a20e062c91fe60b5c6be50e10a625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 25 Sep 2024 14:45:08 +0200 Subject: [PATCH 402/491] python312Packages.sshtunnel: fix missing dependency after paramiko changes, set pyproject = true --- pkgs/development/python-modules/sshtunnel/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/sshtunnel/default.nix b/pkgs/development/python-modules/sshtunnel/default.nix index 1422b50c320d1..ecb8e24d01a4c 100644 --- a/pkgs/development/python-modules/sshtunnel/default.nix +++ b/pkgs/development/python-modules/sshtunnel/default.nix @@ -5,19 +5,22 @@ paramiko, pytestCheckHook, mock, + setuptools, }: buildPythonPackage rec { - version = "0.4.0"; - format = "setuptools"; pname = "sshtunnel"; + version = "0.4.0"; + pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-58sOp3Tbgb+RhE2yLecqQKro97D5u5ug9mbUdO9r+fw="; }; - propagatedBuildInputs = [ paramiko ]; + build-system = [ setuptools ]; + + dependencies = [ paramiko ] ++ paramiko.optional-dependencies.ed25519; nativeCheckInputs = [ pytestCheckHook From 224b0950df6f1d4b920e7c078d2e5f1ef8bd0e58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 25 Sep 2024 18:00:52 +0200 Subject: [PATCH 403/491] python312Packages.docker: fix missing dependency after paramiko changes --- pkgs/development/python-modules/docker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix index 4ed5c9c113dc1..69bba263a3d91 100644 --- a/pkgs/development/python-modules/docker/default.nix +++ b/pkgs/development/python-modules/docker/default.nix @@ -14,7 +14,7 @@ requests, urllib3, - # optional-dependenices + # optional-dependencies paramiko, pynacl, # optional in paramiko, required here websocket-client, @@ -49,7 +49,7 @@ buildPythonPackage rec { ]; optional-dependencies = { - ssh = [ paramiko ]; + ssh = [ paramiko paramiko.optional-dependencies.ed25519 ]; tls = []; websockets = [ websocket-client ]; }; From 7ab47b15138cdb0e486813e6266404fb7ebc2625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 30 Sep 2024 13:53:47 +0200 Subject: [PATCH 404/491] Revert "python312Packages.docker: fix tests" This reverts commit 3bd454d384bc98193567d000666314875528c061. --- pkgs/development/python-modules/docker/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix index 69bba263a3d91..bcc56c0259f41 100644 --- a/pkgs/development/python-modules/docker/default.nix +++ b/pkgs/development/python-modules/docker/default.nix @@ -16,7 +16,6 @@ # optional-dependencies paramiko, - pynacl, # optional in paramiko, required here websocket-client, # tests @@ -58,10 +57,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook - paramiko - pynacl - websocket-client - ]; + ] ++ lib.flatten (lib.attrValues optional-dependencies); pytestFlagsArray = [ "tests/unit" ]; From e52446bcacf7a6246be055a0970a106831b5a1ce Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 20:41:47 +0300 Subject: [PATCH 405/491] linux/common-config: begin carcinization We now have a compatible rustc to build 6.12 with, which means THE TIME HAS COME PRAISE THE CRAB --- pkgs/os-specific/linux/kernel/common-config.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 0b3da3f22f71b..e7c212cb6e6fe 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -32,8 +32,11 @@ let forceRust = features.rust or false; kernelSupportsRust = lib.versionAtLeast version "6.7"; - # Currently not enabling Rust by default, as upstream requires rustc 1.81 - defaultRust = false; + # Currently only enabling Rust by default on kernel 6.12+, + # which actually has features that use Rust that we want, + # and only on x86_64, because of a nixpkgs rustc issue: + # https://github.com/NixOS/nixpkgs/pull/315121#issuecomment-2135805876 + defaultRust = lib.versionAtLeast version "6.12" && stdenv.hostPlatform.isx86_64; withRust = (forceRust || defaultRust) && kernelSupportsRust; options = { From 1859c5139d2ca10d7d10ea8b51e6be4e8a6a44b3 Mon Sep 17 00:00:00 2001 From: Tom Dohrmann Date: Mon, 30 Sep 2024 21:12:19 +0200 Subject: [PATCH 406/491] grafana: fix build Grafana 11.2 doesn't work with Go 1.23, so revert to 1.22. This can be undone once we upgrade to a version containing https://github.com/grafana/grafana/pull/92055, presumably grafana 11.3. --- pkgs/servers/monitoring/grafana/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 89b7cec1023d1..26f365463bcb8 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildGoModule, fetchFromGitHub, removeReferencesTo +{ lib, stdenv, buildGo122Module, fetchFromGitHub, removeReferencesTo , tzdata, wire , yarn, nodejs, python3, cacert , jq, moreutils @@ -6,7 +6,8 @@ , faketty }: -buildGoModule rec { +# TODO: Go back to using buildGoModule when upgrading to grafana 11.3. +buildGo122Module rec { pname = "grafana"; version = "11.2.1"; From 6111416de7983c0918bb953778d226c71e4ae72c Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 1 Oct 2024 09:17:11 +0300 Subject: [PATCH 407/491] qt6.qtbase: propagate cups as host, not as build I am an idiot and a fool. strictDeps when. --- pkgs/development/libraries/qt-6/modules/qtbase.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/qt-6/modules/qtbase.nix b/pkgs/development/libraries/qt-6/modules/qtbase.nix index 417aeaf9bb317..f9c36c4311e96 100644 --- a/pkgs/development/libraries/qt-6/modules/qtbase.nix +++ b/pkgs/development/libraries/qt-6/modules/qtbase.nix @@ -175,7 +175,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ vulkan-headers vulkan-loader - ]; + ] ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups; buildInputs = lib.optionals (lib.meta.availableOn stdenv.hostPlatform at-spi2-core) [ at-spi2-core @@ -192,8 +192,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ moveBuildTree ]; - propagatedNativeBuildInputs = [ lndir ] - ++ lib.optional (cups != null && lib.meta.availableOn stdenv.hostPlatform cups) cups; + propagatedNativeBuildInputs = [ lndir ]; strictDeps = true; From 84266e795accfbf420350b4a1ace33fa20268b58 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 1 Oct 2024 13:37:35 +0100 Subject: [PATCH 408/491] gbenchmark: 1.8.5 -> 1.9.0 Release notes: --- pkgs/development/libraries/gbenchmark/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix index be39b0d7cbdd3..32582b25b608e 100644 --- a/pkgs/development/libraries/gbenchmark/default.nix +++ b/pkgs/development/libraries/gbenchmark/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "gbenchmark"; - version = "1.8.5"; + version = "1.9.0"; src = fetchFromGitHub { owner = "google"; repo = "benchmark"; rev = "v${version}"; - hash = "sha256-c46Xna/t21WKaFa7n4ieIacsrxJ+15uGNYWCUVuUhsI="; + hash = "sha256-5cl1PIjhXaL58kSyWZXRWLq6BITS2BwEovPhwvk2e18="; }; nativeBuildInputs = [ cmake ]; From 94b9af3863eb939d5874f699443d73eeeb54756d Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 1 Oct 2024 13:37:35 +0100 Subject: [PATCH 409/491] gbenchmark: remove obsolete patch This was upstreamed in . --- pkgs/development/libraries/gbenchmark/default.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix index 32582b25b608e..10163a04bc580 100644 --- a/pkgs/development/libraries/gbenchmark/default.nix +++ b/pkgs/development/libraries/gbenchmark/default.nix @@ -22,11 +22,6 @@ stdenv.mkDerivation rec { postPatch = '' cp -r ${gtest.src} googletest chmod -R u+w googletest - - # https://github.com/google/benchmark/issues/1396 - substituteInPlace cmake/benchmark.pc.in \ - --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \ - --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ ''; # Tests fail on 32-bit due to not enough precision From 267cdb7989e81a4aceb1ddcd928b9c990116ab8e Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 1 Oct 2024 13:37:35 +0100 Subject: [PATCH 410/491] gbenchmark: use Ninja to build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I confirmed that it’s faster. --- pkgs/development/libraries/gbenchmark/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix index 10163a04bc580..fcb95d088f8d0 100644 --- a/pkgs/development/libraries/gbenchmark/default.nix +++ b/pkgs/development/libraries/gbenchmark/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchFromGitHub , cmake +, ninja , gtest , prometheus-cpp }: @@ -17,7 +18,7 @@ stdenv.mkDerivation rec { hash = "sha256-5cl1PIjhXaL58kSyWZXRWLq6BITS2BwEovPhwvk2e18="; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ninja ]; postPatch = '' cp -r ${gtest.src} googletest From 2a9be238cf0c4d26b2a2fc48c023c38094120325 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 1 Oct 2024 13:37:35 +0100 Subject: [PATCH 411/491] gbenchmark: disable `-Werror` Fixes the build on Darwin. --- pkgs/development/libraries/gbenchmark/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix index fcb95d088f8d0..4aea6433c813b 100644 --- a/pkgs/development/libraries/gbenchmark/default.nix +++ b/pkgs/development/libraries/gbenchmark/default.nix @@ -20,6 +20,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja ]; + cmakeFlags = [ + # We ran into issues with gtest 1.8.5 conditioning on + # `#if __has_cpp_attribute(maybe_unused)`, which was, for some + # reason, going through even when C++14 was being used and + # breaking the build on Darwin by triggering warnings about using + # C++17 features. + # + # This might be a problem with our Clang, as it does not reproduce + # with Xcode, but since `-Werror` is painful for us anyway and + # upstream exposes a CMake flag to turn it off, we just use that. + (lib.cmakeBool "BENCHMARK_ENABLE_WERROR" false) + ]; + postPatch = '' cp -r ${gtest.src} googletest chmod -R u+w googletest From 2e51160fc4ad27bc09b1b5db380a1a783dbf830c Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 1 Oct 2024 22:39:58 +0300 Subject: [PATCH 412/491] python312Packages.google-cloud-kms: 2.23.0 -> 3.0.0 --- .../python-modules/google-cloud-kms/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-kms/default.nix b/pkgs/development/python-modules/google-cloud-kms/default.nix index ff28fe3dfcb68..7c879b7235d36 100644 --- a/pkgs/development/python-modules/google-cloud-kms/default.nix +++ b/pkgs/development/python-modules/google-cloud-kms/default.nix @@ -15,14 +15,15 @@ buildPythonPackage rec { pname = "google-cloud-kms"; - version = "2.23.0"; + version = "3.0.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { - inherit pname version; - hash = "sha256-UrX8b3CxY1FvrWEKr8CI++eI9QHVu+HV9FjNw/y6/Sw="; + pname = "google_cloud_kms"; + inherit version; + hash = "sha256-suyMBB/cl8hkW/w7S2TNFJ32JFl8dbSuS8qmIU7oSus="; }; nativeBuildInputs = [ setuptools ]; From 5ff5ea3bfb10459c4b5bd540da51be981b8cf966 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 1 Oct 2024 22:55:10 +0300 Subject: [PATCH 413/491] python312Packages.imageio: fix tests with new ffmpeg --- pkgs/development/python-modules/imageio/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix index 47018744c6b45..903b6f84e4c04 100644 --- a/pkgs/development/python-modules/imageio/default.nix +++ b/pkgs/development/python-modules/imageio/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, pythonOlder, fetchFromGitHub, + fetchpatch, isPyPy, substituteAll, @@ -44,7 +45,15 @@ buildPythonPackage rec { hash = "sha256-WeoZE2TPBAhzBBcZNQqoiqvribMCLSZWk/XpdMydvCQ="; }; - patches = lib.optionals (!stdenv.hostPlatform.isDarwin) [ + patches = [ + # Fix tests failing with new enough ffmpeg + # Upstream PR: https://github.com/imageio/imageio/pull/1101 + # FIXME: remove when merged + (fetchpatch { + url = "https://github.com/imageio/imageio/commit/8d1bea4b560f3aa10ed2d250e483173f488f50fe.patch"; + hash = "sha256-68CzSoJzbr21N97gWu5qVYh6QeBS9zon8XmytcVK89c="; + }) + ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ (substituteAll { src = ./libgl-path.patch; libgl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}"; From 9afe9942d162752dbeafbd607da64da70c580821 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 1 Oct 2024 23:02:18 +0300 Subject: [PATCH 414/491] opencascade-occt_7_6: backport patch to fix build --- pkgs/top-level/all-packages.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 584d15399adab..5a94e0db29125 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22470,6 +22470,13 @@ with pkgs; url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz"; hash = "sha256-n3KFrN/mN1SVXfuhEUAQ1fJzrCvhiclxfEIouyj9Z18="; }; + patches = [ + # Backport GCC 14 build fix + (fetchpatch { + url = "https://github.com/Open-Cascade-SAS/OCCT/commit/7236e83dcc1e7284e66dc61e612154617ef715d6.patch"; + hash = "sha256-NoC2mE3DG78Y0c9UWonx1vmXoU4g5XxFUT3eVXqLU60="; + }) + ]; }; opencl-headers = callPackage ../development/libraries/opencl-headers { }; From b4d6931af0ee8e7a0e4c8785a263eca76d90531a Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 09:40:37 +0300 Subject: [PATCH 415/491] heroic: don't depend on v4l-utils We already depend on libv4l, which is the same thing, but less. --- pkgs/games/heroic/fhsenv.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/games/heroic/fhsenv.nix b/pkgs/games/heroic/fhsenv.nix index 4fe9429193199..7b0b67ad302e4 100644 --- a/pkgs/games/heroic/fhsenv.nix +++ b/pkgs/games/heroic/fhsenv.nix @@ -135,7 +135,6 @@ buildFHSEnv { udev unixODBC util-linux - v4l-utils vulkan-loader wayland zlib From 290f5c015abc9097d45d70b8885e25bb1ac1e801 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 09:44:20 +0300 Subject: [PATCH 416/491] nix-ld: backport patch for Rust 1.81 --- pkgs/by-name/ni/nix-ld/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/ni/nix-ld/package.nix b/pkgs/by-name/ni/nix-ld/package.nix index 94c4068cb7358..16404454df022 100644 --- a/pkgs/by-name/ni/nix-ld/package.nix +++ b/pkgs/by-name/ni/nix-ld/package.nix @@ -1,6 +1,7 @@ { stdenv, fetchFromGitHub, + fetchpatch, nixosTests, rustPlatform, lib, @@ -17,6 +18,14 @@ rustPlatform.buildRustPackage rec { hash = "sha256-rmSXQ4MYQe/OFDBRlqqw5kyp9b/aeEg0Fg9c167xofg="; }; + patches = [ + # Backport fix for Rust 1.81 + (fetchpatch { + url = "https://github.com/nix-community/nix-ld/commit/9583c80eafc4f904a013713c084e9dc5e47c3675.patch"; + hash = "sha256-glZNdNh+dAmi1xjgcitLymsaQIrEQx4M5VFDOxpDk1Q="; + }) + ]; + cargoHash = "sha256-BVulfs4zm3Iruq00H49QcxR3V+iZvePtLBTytdXfLP4="; hardeningDisable = [ "stackprotector" ]; From af2038fc9b6408e1cbfd47c0458d090428d31147 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 10:00:41 +0300 Subject: [PATCH 417/491] mimir: pin to Go 1.22 for now --- pkgs/servers/monitoring/mimir/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/mimir/default.nix b/pkgs/servers/monitoring/mimir/default.nix index 0a5e12efcb1fe..1656ec909ea65 100644 --- a/pkgs/servers/monitoring/mimir/default.nix +++ b/pkgs/servers/monitoring/mimir/default.nix @@ -1,5 +1,7 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests, nix-update-script }: -buildGoModule rec { +{ lib, buildGo122Module, fetchFromGitHub, nixosTests, nix-update-script }: +# Does not build with Go 1.23 +# FIXME: check again for next release +buildGo122Module rec { pname = "mimir"; version = "2.13.0"; From aec335fc3ed123867fd6122e95ba0d896e8d90bf Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 10:00:47 +0300 Subject: [PATCH 418/491] tempo: pin to Go 1.22 for now --- pkgs/servers/tracing/tempo/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/tracing/tempo/default.nix b/pkgs/servers/tracing/tempo/default.nix index c4a01d6707f3c..2b5ee20b265c4 100644 --- a/pkgs/servers/tracing/tempo/default.nix +++ b/pkgs/servers/tracing/tempo/default.nix @@ -1,6 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGo122Module, fetchFromGitHub }: -buildGoModule rec { +# Does not build with Go 1.23 +# FIXME: check again for next release +buildGo122Module rec { pname = "tempo"; version = "2.6.0"; From 884e25ee36b38b051b5bb686641e80b8c0fb2a2b Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 2 Oct 2024 17:28:53 +1000 Subject: [PATCH 419/491] pebble: pin to go 1.22 --- pkgs/tools/admin/pebble/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/admin/pebble/default.nix b/pkgs/tools/admin/pebble/default.nix index 384cc0f3d9280..c5bc92388958c 100644 --- a/pkgs/tools/admin/pebble/default.nix +++ b/pkgs/tools/admin/pebble/default.nix @@ -1,11 +1,12 @@ { lib , stdenv -, buildGoModule +, buildGo122Module , fetchFromGitHub , nixosTests }: -buildGoModule rec { +# build failure with go 1.23 +buildGo122Module rec { pname = "pebble"; version = "2.4.0"; From c76b3450203cd65615c65a84a2dddf79aa17a552 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Tue, 1 Oct 2024 13:46:39 -0400 Subject: [PATCH 420/491] go_1_23: 1.23.1 -> 1.23.2 Changelog: https://go.dev/doc/devel/release#go1.23 --- pkgs/development/compilers/go/1.23.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/go/1.23.nix b/pkgs/development/compilers/go/1.23.nix index 65c562389b9b9..80bba9cb53325 100644 --- a/pkgs/development/compilers/go/1.23.nix +++ b/pkgs/development/compilers/go/1.23.nix @@ -47,11 +47,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "go"; - version = "1.23.1"; + version = "1.23.2"; src = fetchurl { url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; - hash = "sha256-buROKYN50Ual5aprHFtdX10KM2XqvdcHQebiE0DsOw0="; + hash = "sha256-NpMBYqk99BfZC9IsbhTa/0cFuqwrAkGO3aZxzfqc0H8="; }; strictDeps = true; From 5c95fb43401bd1425031b8110d75cb9459512fee Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Tue, 1 Oct 2024 13:47:10 -0400 Subject: [PATCH 421/491] go_1_22: 1.22.7 -> 1.22.8 Changelog: https://go.dev/doc/devel/release#go1.22 --- pkgs/development/compilers/go/1.22.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/go/1.22.nix b/pkgs/development/compilers/go/1.22.nix index afda23ba96d8e..a87d57b9c748f 100644 --- a/pkgs/development/compilers/go/1.22.nix +++ b/pkgs/development/compilers/go/1.22.nix @@ -47,11 +47,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "go"; - version = "1.22.7"; + version = "1.22.8"; src = fetchurl { url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; - hash = "sha256-ZkMth9heDPrD7f/mN9WTD8Td9XkzE/4R5KDzMwI8h58="; + hash = "sha256-3xLCPr8Z3qD0v0aiLL7aSj7Kb0dPMYOQzndJdCeEQLg="; }; strictDeps = true; From 9047145ea0f49eaa23fb03077f142aa078acfc6f Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 10:35:56 +0300 Subject: [PATCH 422/491] python312Packages.dateparser: skip test that breaks on latest tzdata --- pkgs/development/python-modules/dateparser/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/dateparser/default.nix b/pkgs/development/python-modules/dateparser/default.nix index e87f6d2a72c66..9ca1c89a49c9b 100644 --- a/pkgs/development/python-modules/dateparser/default.nix +++ b/pkgs/development/python-modules/dateparser/default.nix @@ -73,6 +73,10 @@ buildPythonPackage rec { # access network "test_custom_language_detect_fast_text_0" "test_custom_language_detect_fast_text_1" + + # breaks with latest tzdata + # FIXME: look into this more + "test_relative_base" ]; pythonImportsCheck = [ "dateparser" ]; From cf1d700e04c3a051a3ecbcaaf9499338365e7e7e Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 10:39:04 +0300 Subject: [PATCH 423/491] python312Packages.dateparser: add link to upstream issue --- pkgs/development/python-modules/dateparser/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/dateparser/default.nix b/pkgs/development/python-modules/dateparser/default.nix index 9ca1c89a49c9b..e2f6436f0cfb4 100644 --- a/pkgs/development/python-modules/dateparser/default.nix +++ b/pkgs/development/python-modules/dateparser/default.nix @@ -74,7 +74,7 @@ buildPythonPackage rec { "test_custom_language_detect_fast_text_0" "test_custom_language_detect_fast_text_1" - # breaks with latest tzdata + # breaks with latest tzdata: https://github.com/scrapinghub/dateparser/issues/1237 # FIXME: look into this more "test_relative_base" ]; From 9963eb16ec0f1a23b3df95e56a01c50ee4e7249f Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 10:42:03 +0300 Subject: [PATCH 424/491] python312Packages.imap-tools: skip broken test --- pkgs/development/python-modules/imap-tools/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix index d914f72b94bcb..039f1d77e8c99 100644 --- a/pkgs/development/python-modules/imap-tools/default.nix +++ b/pkgs/development/python-modules/imap-tools/default.nix @@ -34,6 +34,10 @@ buildPythonPackage rec { "test_folders" "test_idle" "test_live" + + # broken by Python 3.12.6 email parsing changes: https://github.com/ikvk/imap_tools/issues/242 + # FIXME: remove when fixed + "test_utils" ]; pythonImportsCheck = [ "imap_tools" ]; From 82836350f75aa281a2141af3b946182cb3639da6 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 13:05:22 +0300 Subject: [PATCH 425/491] grafana-agent: pin to Go 1.22 Why. No. Bad. --- pkgs/servers/monitoring/grafana-agent/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix index 1382302def422..951258d63f100 100644 --- a/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/pkgs/servers/monitoring/grafana-agent/default.nix @@ -1,5 +1,5 @@ { lib -, buildGoModule +, buildGo122Module , fetchFromGitHub , fetchYarnDeps , fixup-yarn-lock @@ -13,7 +13,9 @@ , yarn }: -buildGoModule rec { +# Breaks with Go 1.23: https://github.com/grafana/agent/issues/6972 +# FIXME: unpin when fixed upstream +buildGo122Module rec { pname = "grafana-agent"; version = "0.43.3"; From ffebe64e16512da06bbda7832bc9b980f9c26a9f Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 2 Oct 2024 14:02:43 +0300 Subject: [PATCH 426/491] nix-ld: 2.0.0 -> 2.0.2 Diff: https://github.com/mic92/nix-ld/compare/2.0.0...2.0.2 --- pkgs/by-name/ni/nix-ld/package.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/ni/nix-ld/package.nix b/pkgs/by-name/ni/nix-ld/package.nix index 16404454df022..2b488054ff390 100644 --- a/pkgs/by-name/ni/nix-ld/package.nix +++ b/pkgs/by-name/ni/nix-ld/package.nix @@ -1,7 +1,6 @@ { stdenv, fetchFromGitHub, - fetchpatch, nixosTests, rustPlatform, lib, @@ -9,24 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "nix-ld"; - version = "2.0.0"; + version = "2.0.2"; src = fetchFromGitHub { owner = "mic92"; repo = "nix-ld"; rev = version; - hash = "sha256-rmSXQ4MYQe/OFDBRlqqw5kyp9b/aeEg0Fg9c167xofg="; + hash = "sha256-N0rXDMTzDCdMUIMGZpGi04iptUXX3MZcVTshMNkJCSM="; }; - patches = [ - # Backport fix for Rust 1.81 - (fetchpatch { - url = "https://github.com/nix-community/nix-ld/commit/9583c80eafc4f904a013713c084e9dc5e47c3675.patch"; - hash = "sha256-glZNdNh+dAmi1xjgcitLymsaQIrEQx4M5VFDOxpDk1Q="; - }) - ]; - - cargoHash = "sha256-BVulfs4zm3Iruq00H49QcxR3V+iZvePtLBTytdXfLP4="; + cargoHash = "sha256-deh+gFshOTe+Zxd1epHjVoceBtunjp0QcRW/Y4FBKzI="; hardeningDisable = [ "stackprotector" ]; From e6a60f696cdc59ea77b798dd666d7c3989872fe2 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 2 Oct 2024 13:39:23 +0100 Subject: [PATCH 427/491] gbenchmark: actually fix build with LLVM --- .../libraries/gbenchmark/default.nix | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix index 4aea6433c813b..f289e248513cb 100644 --- a/pkgs/development/libraries/gbenchmark/default.nix +++ b/pkgs/development/libraries/gbenchmark/default.nix @@ -21,18 +21,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja ]; cmakeFlags = [ - # We ran into issues with gtest 1.8.5 conditioning on - # `#if __has_cpp_attribute(maybe_unused)`, which was, for some - # reason, going through even when C++14 was being used and - # breaking the build on Darwin by triggering warnings about using - # C++17 features. - # - # This might be a problem with our Clang, as it does not reproduce - # with Xcode, but since `-Werror` is painful for us anyway and - # upstream exposes a CMake flag to turn it off, we just use that. (lib.cmakeBool "BENCHMARK_ENABLE_WERROR" false) ]; + # We ran into issues with gtest 1.8.5 conditioning on + # `#if __has_cpp_attribute(maybe_unused)`, which was, for some + # reason, going through even when C++14 was being used and + # breaking the build on Darwin by triggering errors about using + # C++17 features. + # + # This might be a problem with our Clang, as it does not reproduce + # with Xcode, but we just work around it by silencing the warning. + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-c++17-attribute-extensions"; + postPatch = '' cp -r ${gtest.src} googletest chmod -R u+w googletest From 449f466945ccedb675c6e8060f4a2b03ef9d4766 Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 2 Oct 2024 13:39:23 +0100 Subject: [PATCH 428/491] gbenchmark: use upstream flag for devendoring gtest --- pkgs/development/libraries/gbenchmark/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix index f289e248513cb..180ff455342e5 100644 --- a/pkgs/development/libraries/gbenchmark/default.nix +++ b/pkgs/development/libraries/gbenchmark/default.nix @@ -20,7 +20,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja ]; + checkInputs = [ gtest ]; + cmakeFlags = [ + (lib.cmakeBool "BENCHMARK_USE_BUNDLED_GTEST" false) (lib.cmakeBool "BENCHMARK_ENABLE_WERROR" false) ]; @@ -34,11 +37,6 @@ stdenv.mkDerivation rec { # with Xcode, but we just work around it by silencing the warning. env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-c++17-attribute-extensions"; - postPatch = '' - cp -r ${gtest.src} googletest - chmod -R u+w googletest - ''; - # Tests fail on 32-bit due to not enough precision doCheck = stdenv.hostPlatform.is64bit; From 5a9e0e3c299ecad569eaf1bdcede3addfb83426f Mon Sep 17 00:00:00 2001 From: Emily Date: Wed, 2 Oct 2024 14:22:13 +0100 Subject: [PATCH 429/491] python3{11,12}Packages.imageio: format Fixes: 5ff5ea3bfb10459c4b5bd540da51be981b8cf966 --- .../python-modules/imageio/default.nix | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix index 903b6f84e4c04..5e2ab8366ef3e 100644 --- a/pkgs/development/python-modules/imageio/default.nix +++ b/pkgs/development/python-modules/imageio/default.nix @@ -45,20 +45,22 @@ buildPythonPackage rec { hash = "sha256-WeoZE2TPBAhzBBcZNQqoiqvribMCLSZWk/XpdMydvCQ="; }; - patches = [ - # Fix tests failing with new enough ffmpeg - # Upstream PR: https://github.com/imageio/imageio/pull/1101 - # FIXME: remove when merged - (fetchpatch { - url = "https://github.com/imageio/imageio/commit/8d1bea4b560f3aa10ed2d250e483173f488f50fe.patch"; - hash = "sha256-68CzSoJzbr21N97gWu5qVYh6QeBS9zon8XmytcVK89c="; - }) - ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ - (substituteAll { - src = ./libgl-path.patch; - libgl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}"; - }) - ]; + patches = + [ + # Fix tests failing with new enough ffmpeg + # Upstream PR: https://github.com/imageio/imageio/pull/1101 + # FIXME: remove when merged + (fetchpatch { + url = "https://github.com/imageio/imageio/commit/8d1bea4b560f3aa10ed2d250e483173f488f50fe.patch"; + hash = "sha256-68CzSoJzbr21N97gWu5qVYh6QeBS9zon8XmytcVK89c="; + }) + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + (substituteAll { + src = ./libgl-path.patch; + libgl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}"; + }) + ]; build-system = [ setuptools ]; From 3070d8a681fab94a2dd108de4b151e0def7e8868 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 2 Oct 2024 20:12:28 +0200 Subject: [PATCH 430/491] ghostscript: fix build on darwin https://github.com/ArtifexSoftware/ghostpdl/commit/3230e58d06e024a6b4a08c37690aac48c0f186b2 https://hydra.nixos.org/build/274082857/nixlog/3/tail --- pkgs/misc/ghostscript/default.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix index 841172ff7c084..c9557858a161b 100644 --- a/pkgs/misc/ghostscript/default.nix +++ b/pkgs/misc/ghostscript/default.nix @@ -21,6 +21,7 @@ , bash , buildPackages , openjpeg +, fixDarwinDylibNames , cupsSupport ? config.ghostscript.cups or (!stdenv.hostPlatform.isDarwin) , cups , x11Support ? cupsSupport @@ -82,7 +83,8 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config autoconf zlib ] - ++ lib.optional cupsSupport cups; + ++ lib.optional cupsSupport cups + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ zlib expat openssl @@ -136,17 +138,14 @@ stdenv.mkDerivation rec { mkdir -p $fonts/share/fonts cp -rv ${fonts}/* "$fonts/share/fonts/" ln -s "$fonts/share/fonts" "$out/share/ghostscript/fonts" - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - for file in $out/lib/*.dylib* ; do - install_name_tool -id "$file" $file - done ''; - # dynamic library name only contains maj.min, eg. '9.53' - dylib_version = lib.versions.majorMinor version; + # dynamic library name only contains major version number, eg. '10' + dylib_version = lib.versions.major version; preFixup = lib.optionalString stdenv.hostPlatform.isDarwin '' - install_name_tool -change libgs.dylib.$dylib_version $out/lib/libgs.dylib.$dylib_version $out/bin/gs - install_name_tool -change libgs.dylib.$dylib_version $out/lib/libgs.dylib.$dylib_version $out/bin/gsx + for file in $out/bin/{gs,gsc,gsx}; do + install_name_tool -change libgs.$dylib_version.dylib $out/lib/libgs.$dylib_version.dylib $file + done ''; # validate dynamic linkage From 97a95cd14324e7e0fb45825774c3782ac41a8d2c Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 3 Oct 2024 09:19:37 +0300 Subject: [PATCH 431/491] glaxnimate: backport patch to fix build with latest ffmpeg --- pkgs/applications/video/glaxnimate/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/applications/video/glaxnimate/default.nix b/pkgs/applications/video/glaxnimate/default.nix index 7c6d8500d8776..984e5db8f665d 100644 --- a/pkgs/applications/video/glaxnimate/default.nix +++ b/pkgs/applications/video/glaxnimate/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitLab +, fetchpatch , cmake , zlib , potrace @@ -47,6 +48,15 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + patches = [ + # Backport fix for newer ffmpeg + # FIXME: remove in next update + (fetchpatch { + url = "https://invent.kde.org/graphics/glaxnimate/-/commit/4fb2b67a0f0ce2fbffb6fe9f87c3bf7914c8a602.patch"; + hash = "sha256-QjCnscGa7n+zwrImA4mbQiTQb9jmDGm8Y/7TK8jZXvM="; + }) + ]; + nativeBuildInputs = [ cmake wrapQtAppsHook From 01dfa6bca5da1b7acc5b0419fdc625c6d5053bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 3 Oct 2024 10:42:04 +0200 Subject: [PATCH 432/491] persistent-cache-cpp: fixup build, missing #include --- pkgs/by-name/pe/persistent-cache-cpp/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix index 7c6ef4e04c4e3..b6acb32dda6c2 100644 --- a/pkgs/by-name/pe/persistent-cache-cpp/package.nix +++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix @@ -59,6 +59,9 @@ stdenv.mkDerivation (finalAttrs: { # Runs in parallel to other tests, limit to 1 thread substituteInPlace tests/headers/compile_headers.py \ --replace 'multiprocessing.cpu_count()' '1' + + sed '1i#include ' \ + -i tests/core/persistent_string_cache/speed_test.cpp '' + lib.optionalString finalAttrs.finalPackage.doCheck '' patchShebangs tests/{headers,whitespace}/*.py ''; From f1cb1ac417093b8fa5dde34ff0197577684b3c61 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 3 Oct 2024 14:56:50 +0300 Subject: [PATCH 433/491] hfsprogs: 332.25 -> 627.40.1 Use Gentoo fork, clean up build, nixfmt --- pkgs/tools/filesystems/hfsprogs/default.nix | 66 ++++++++------------- 1 file changed, 24 insertions(+), 42 deletions(-) diff --git a/pkgs/tools/filesystems/hfsprogs/default.nix b/pkgs/tools/filesystems/hfsprogs/default.nix index 127050f025851..17b787b08b83c 100644 --- a/pkgs/tools/filesystems/hfsprogs/default.nix +++ b/pkgs/tools/filesystems/hfsprogs/default.nix @@ -1,53 +1,35 @@ -{ lib, stdenv, fetchurl, fetchFromGitHub, openssl, libbsd }: - -let - version = "332.25"; - - apple_src = fetchFromGitHub { - owner = "apple-oss-distributions"; - repo = "diskdev_cmds"; - rev = "diskdev_cmds-${version}"; - hash = "sha256-cycPGPx2Gbjn4FKGKuQKJkh+dWGbJfy6C+LTz8rrs0A="; - name = "diskdev_cmds-${version}"; - }; -in - +{ + lib, + stdenv, + fetchFromGitHub, + libbsd, + libuuid, + openssl, +}: stdenv.mkDerivation rec { pname = "hfsprogs"; - inherit version; - - srcs = [ - (fetchurl { - url = "http://ftp.de.debian.org/debian/pool/main/h/hfsprogs/hfsprogs_${version}-11.debian.tar.gz"; - sha256 = "62d9b8599c66ebffbc57ce5d776e20b41341130d9b27341d63bda08460ebde7c"; - }) - apple_src - ]; - - postPatch = '' - sed -ie '/sys\/sysctl.h/d' newfs_hfs.tproj/makehfs.c - ''; + version = "627.40.1-linux"; - sourceRoot = apple_src.name; - patches = [ "../debian/patches/*.patch" ]; + src = fetchFromGitHub { + owner = "glaubitz"; + repo = "hfs"; + rev = "a9496556b0a5fa805139ea20b44081d48aae912a"; + hash = "sha256-i6fXPWHU03ErUN2irP2cLJbpqi1OrTtcQE+ohAz+Eio="; + }; - buildInputs = [ openssl libbsd ]; - makefile = "Makefile.lnx"; + buildInputs = [ + libbsd + libuuid + openssl + ]; - # Inspired by PKGBUILD of https://www.archlinux.org/packages/community/x86_64/hfsprogs/ installPhase = '' - # Create required package directories - install -m 755 -d "$out/bin" - install -m 755 -d "$out/share/hfsprogs" - install -m 755 -d "$out/share/man/man8/" # Copy executables - install -m 755 "newfs_hfs.tproj/newfs_hfs" "$out/bin/mkfs.hfsplus" - install -m 755 "fsck_hfs.tproj/fsck_hfs" "$out/bin/fsck.hfsplus" - # Copy shared data - install -m 644 "newfs_hfs.tproj/hfsbootdata.img" "$out/share/hfsprogs/hfsbootdata" + install -Dm 555 "newfs_hfs/newfs_hfs" "$out/bin/mkfs.hfsplus" + install -Dm 555 "fsck_hfs/fsck_hfs" "$out/bin/fsck.hfsplus" # Copy man pages - install -m 644 "newfs_hfs.tproj/newfs_hfs.8" "$out/share/man/man8/mkfs.hfsplus.8" - install -m 644 "fsck_hfs.tproj/fsck_hfs.8" "$out/share/man/man8/fsck.hfsplus.8" + install -Dm 444 "newfs_hfs/newfs_hfs.8" "$out/share/man/man8/mkfs.hfsplus.8" + install -Dm 444 "fsck_hfs/fsck_hfs.8" "$out/share/man/man8/fsck.hfsplus.8" ''; meta = { From f927f502ddcab89228d13416a3b4c5a48e06c761 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 3 Oct 2024 16:46:23 +0300 Subject: [PATCH 434/491] plasma5Packages.partitionmanager: remove hfsprogs dependency Unmaintained, broken, hopefully unnecessary --- pkgs/applications/kde/partitionmanager/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/applications/kde/partitionmanager/default.nix b/pkgs/applications/kde/partitionmanager/default.nix index f65eb6d02b0ba..b5a5053419ecd 100644 --- a/pkgs/applications/kde/partitionmanager/default.nix +++ b/pkgs/applications/kde/partitionmanager/default.nix @@ -20,7 +20,6 @@ , exfat , f2fs-tools , fatresize -, hfsprogs , jfsutils , nilfs-utils , ntfs3g @@ -50,7 +49,7 @@ let exfat f2fs-tools fatresize - hfsprogs + # hfsprogs intentionally omitted due to being unmaintained jfsutils nilfs-utils ntfs3g From dbcffc18453eab755df6d02979b940384f1f5e5f Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 3 Oct 2024 16:46:40 +0300 Subject: [PATCH 435/491] kdePackages.kpmcore: remove hfsprogs dependency --- pkgs/kde/gear/kpmcore/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/kde/gear/kpmcore/default.nix b/pkgs/kde/gear/kpmcore/default.nix index 3da512e1701a9..fcbfa4a730d67 100644 --- a/pkgs/kde/gear/kpmcore/default.nix +++ b/pkgs/kde/gear/kpmcore/default.nix @@ -15,7 +15,6 @@ exfatprogs, f2fs-tools, fatresize, - hfsprogs, jfsutils, nilfs-utils, ntfs3g, @@ -41,7 +40,7 @@ let exfatprogs f2fs-tools fatresize - hfsprogs + # hfsprogs intentionally omitted due to being unmaintained jfsutils nilfs-utils ntfs3g From 3d69d78a6cc6be214fcafa2985c8bff12ba764da Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 3 Oct 2024 19:18:11 +0100 Subject: [PATCH 436/491] python3{11,12}Packages.pdm-backend: set Git `user.name` for tests At least one Hydra Darwin builder has an empty real name field for at least one Nix build user, which causes Git to infer an empty `user.name` and break. --- pkgs/development/python-modules/pdm-backend/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pdm-backend/default.nix b/pkgs/development/python-modules/pdm-backend/default.nix index 64ad22dd1651e..536b8a98a296e 100644 --- a/pkgs/development/python-modules/pdm-backend/default.nix +++ b/pkgs/development/python-modules/pdm-backend/default.nix @@ -46,6 +46,7 @@ buildPythonPackage rec { # tests require a configured git identity export HOME=$TMPDIR + git config --global user.name nixbld git config --global user.email nixbld@localhost ''; From ca30ae374a8977fa1c1d1336fff80317e6f5538d Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 3 Oct 2024 23:25:26 +0300 Subject: [PATCH 437/491] mesa: 24.2.3 -> 24.2.4 --- pkgs/development/libraries/mesa/common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/common.nix b/pkgs/development/libraries/mesa/common.nix index 70c72ce58d0d5..0261d48390547 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.2.3"; + version = "24.2.4"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "mesa"; repo = "mesa"; rev = "mesa-${version}"; - hash = "sha256-DcDeqOd5U/jgTRWpCsNNsPT9UJ9wAJJEGjFVz1gKAUY="; + hash = "sha256-pgyvgMHImWO+b4vpCCe4+zOI98XCqcG8NRWpIcImGUk="; }; meta = { From ef7d970a8b969792cac1bd25c76dcd60575a615d Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 3 Oct 2024 21:26:41 +0100 Subject: [PATCH 438/491] arcan: 0.6.3 -> 0.6.3.3 --- pkgs/by-name/ar/arcan/sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ar/arcan/sources.nix b/pkgs/by-name/ar/arcan/sources.nix index 6701021eb6b4b..01f800a4aa4b2 100644 --- a/pkgs/by-name/ar/arcan/sources.nix +++ b/pkgs/by-name/ar/arcan/sources.nix @@ -6,13 +6,13 @@ letoram-arcan = let self = { pname = "arcan"; - version = "0.6.3"; + version = "0.6.3.3"; src = fetchFromGitHub { owner = "letoram"; repo = "arcan"; rev = self.version; - hash = "sha256-ZSKOkNrFa2QgmXmmXnLkB1pehmVJbEFVeNs43Z2DSKo="; + hash = "sha256-YH3VGU3gSR5gqHnAlA2vrzU8vasKd0hOpc+2ludnV+Y="; }; }; in From 815287fb198535d8442c36c460bb5b3d6d6ebf7d Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 3 Oct 2024 21:26:41 +0100 Subject: [PATCH 439/491] arcan: add upstream patch for FFmpeg 7 --- pkgs/by-name/ar/arcan/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/ar/arcan/package.nix b/pkgs/by-name/ar/arcan/package.nix index b31d642c703e5..5259b5560cfba 100644 --- a/pkgs/by-name/ar/arcan/package.nix +++ b/pkgs/by-name/ar/arcan/package.nix @@ -2,6 +2,7 @@ lib, SDL2, callPackage, + fetchpatch2, cmake, espeak-ng, ffmpeg, @@ -60,6 +61,14 @@ stdenv.mkDerivation (finalAttrs: { inherit (sources.letoram-arcan) pname version src; + patches = [ + # (encode) remove deprecated use of pts/channel-layout + (fetchpatch2 { + url = "https://github.com/letoram/arcan/commit/e717c1b5833bdc2dea7dc6f64eeaf39c683ebd26.patch?full_index=1"; + hash = "sha256-nUmOWfphGtGiLehUa78EJWqTlD7SvqJgl8lnn90vTFU="; + }) + ]; + nativeBuildInputs = [ cmake makeWrapper From 7d01328ba0288f71f6c538c2e541634cbb21f2dd Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 3 Oct 2024 21:39:29 +0100 Subject: [PATCH 440/491] deepin-movie-reborn: pin FFmpeg 6 Upstream is not yet ready for FFmpeg 7. --- pkgs/desktops/deepin/apps/deepin-movie-reborn/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/deepin/apps/deepin-movie-reborn/default.nix b/pkgs/desktops/deepin/apps/deepin-movie-reborn/default.nix index cb87e366304ea..be2af30cc3a2a 100644 --- a/pkgs/desktops/deepin/apps/deepin-movie-reborn/default.nix +++ b/pkgs/desktops/deepin/apps/deepin-movie-reborn/default.nix @@ -15,7 +15,7 @@ qtdbusextended, gsettings-qt, elfutils, - ffmpeg, + ffmpeg_6, ffmpegthumbnailer, mpv, xorg, @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { qtmpris gsettings-qt elfutils - ffmpeg + ffmpeg_6 ffmpegthumbnailer xorg.libXtst xorg.libXdmcp @@ -106,7 +106,7 @@ stdenv.mkDerivation rec { "--prefix LD_LIBRARY_PATH : ${ lib.makeLibraryPath [ mpv - ffmpeg + ffmpeg_6 ffmpegthumbnailer gst_all_1.gstreamer gst_all_1.gst-plugins-base From 3ae7b3cd4541f7b2246af01ecc8613f07a1d2ba5 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 3 Oct 2024 21:54:00 +0100 Subject: [PATCH 441/491] openmw: pin FFmpeg 6 Upstream is ready for FFmpeg 7 in the development version, but there are too many patches to reasonably apply to the release version. --- pkgs/games/openmw/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix index 22bd90a348a97..59c5295b1b31e 100644 --- a/pkgs/games/openmw/default.nix +++ b/pkgs/games/openmw/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchFromGitLab , fetchpatch +, fetchpatch2 , cmake , pkg-config , wrapQtAppsHook @@ -11,7 +12,8 @@ , VideoDecodeAcceleration , boost , bullet -, ffmpeg +# Please unpin this on the next OpenMW release. +, ffmpeg_6 , libXt , luajit , lz4 @@ -80,7 +82,7 @@ stdenv.mkDerivation rec { SDL2 boost bullet' - ffmpeg + ffmpeg_6 libXt luajit lz4 From 7fd2766a189e3f7ca03c510790b757050e2dfb84 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 3 Oct 2024 22:12:20 +0100 Subject: [PATCH 442/491] python3{11,12}Packages.torchaudio: pin FFmpeg 6 Upstream is not yet ready for FFmpeg 7. --- pkgs/development/python-modules/torchaudio/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix index 760ea740b9f82..63ea30a39f620 100644 --- a/pkgs/development/python-modules/torchaudio/default.nix +++ b/pkgs/development/python-modules/torchaudio/default.nix @@ -10,7 +10,7 @@ ninja, # buildInputs - ffmpeg-full, + ffmpeg_6-full, pybind11, sox, torch, @@ -108,9 +108,9 @@ buildPythonPackage rec { FFMPEG_ROOT = symlinkJoin { name = "ffmpeg"; paths = [ - ffmpeg-full.bin - ffmpeg-full.dev - ffmpeg-full.lib + ffmpeg_6-full.bin + ffmpeg_6-full.dev + ffmpeg_6-full.lib ]; }; @@ -131,7 +131,7 @@ buildPythonPackage rec { ); buildInputs = [ - ffmpeg-full + ffmpeg_6-full pybind11 sox torch.cxxdev From 9776002fd7f70d4923a8e6279f315d5fdb801bb1 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Thu, 3 Oct 2024 21:50:11 -0400 Subject: [PATCH 443/491] moltenvk: fix build on staging-next https://github.com/NixOS/nixpkgs/pull/342459 changed glslang to build shared libraries, which breaks the MoltenVK build. Drop the static libraries and link only glslang. --- pkgs/os-specific/darwin/moltenvk/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix index 65e8d93f41aa3..43ede5f950c5c 100644 --- a/pkgs/os-specific/darwin/moltenvk/default.nix +++ b/pkgs/os-specific/darwin/moltenvk/default.nix @@ -107,10 +107,7 @@ stdenv.mkDerivation (finalAttrs: { ); env.NIX_LDFLAGS = toString [ - "-lMachineIndependent" - "-lGenericCodeGen" "-lglslang" - "-lOSDependent" "-lSPIRV" "-lSPIRV-Tools" "-lSPIRV-Tools-opt" From a26a95a9a75c630a77796d4178c960ab8bd90dd8 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 4 Oct 2024 08:16:41 +0300 Subject: [PATCH 444/491] python312Packages.smart-open: add pynacl to checkInputs --- pkgs/development/python-modules/smart-open/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/smart-open/default.nix b/pkgs/development/python-modules/smart-open/default.nix index aa98f44b02ff1..4e8412d2cb90d 100644 --- a/pkgs/development/python-modules/smart-open/default.nix +++ b/pkgs/development/python-modules/smart-open/default.nix @@ -12,6 +12,7 @@ requests, moto, paramiko, + pynacl, pytestCheckHook, responses, setuptools, @@ -67,6 +68,7 @@ buildPythonPackage rec { moto pytestCheckHook responses + pynacl ] ++ lib.flatten (builtins.attrValues optional-dependencies); pytestFlagsArray = [ "smart_open" ]; From 3bb6e496b892b1242dbce11c45b954932796fe2b Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 4 Oct 2024 08:40:19 +0300 Subject: [PATCH 445/491] python312Packages.imap-tools: 1.7.2 -> 1.7.3, unskip test --- pkgs/development/python-modules/imap-tools/default.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix index 039f1d77e8c99..21a9f2607e83a 100644 --- a/pkgs/development/python-modules/imap-tools/default.nix +++ b/pkgs/development/python-modules/imap-tools/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "imap-tools"; - version = "1.7.2"; + version = "1.7.3"; disabled = pythonOlder "3.5"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "ikvk"; repo = "imap_tools"; rev = "refs/tags/v${version}"; - hash = "sha256-KW6YyArM3rHOkhXJCRWWy9OSwMwRFr16njeN+EcSGz0="; + hash = "sha256-orzU5jTFTj8O1zYDUDJYbXGpfZ60Egz0/eUttvej08k="; }; build-system = [ setuptools ]; @@ -34,10 +34,6 @@ buildPythonPackage rec { "test_folders" "test_idle" "test_live" - - # broken by Python 3.12.6 email parsing changes: https://github.com/ikvk/imap_tools/issues/242 - # FIXME: remove when fixed - "test_utils" ]; pythonImportsCheck = [ "imap_tools" ]; From 2d1be88a720a4bcb8858407b8f9fda3e4ea5b0e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 4 Oct 2024 10:27:00 +0200 Subject: [PATCH 446/491] agg: fixup build Probably after freetype update. https://hydra.nixos.org/build/273865284/nixlog/7/tail --- pkgs/development/libraries/agg/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix index 020c2dce95d89..cd098ae825c24 100644 --- a/pkgs/development/libraries/agg/default.nix +++ b/pkgs/development/libraries/agg/default.nix @@ -40,6 +40,8 @@ stdenv.mkDerivation rec { "--x-libraries=${lib.getLib libX11}/lib" ]; + NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; + # libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o # libtool: error: cannot find the library 'libexamples.la' enableParallelBuilding = false; From b7868eb3ee26513ff6260588734670678d659547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 4 Oct 2024 10:42:02 +0200 Subject: [PATCH 447/491] acme-dns: pin back to go 1.22 https://hydra.nixos.org/build/274239582/nixlog/2 https://github.com/joohoi/acme-dns/issues/365 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6a29b36076ff4..fd75a942f124d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1454,7 +1454,9 @@ with pkgs; accuraterip-checksum = callPackage ../tools/audio/accuraterip-checksum { }; - acme-dns = callPackage ../servers/dns/acme-dns/default.nix { }; + acme-dns = callPackage ../servers/dns/acme-dns/default.nix { + buildGoModule = buildGo122Module; # https://github.com/joohoi/acme-dns/issues/365 + }; acme-sh = callPackage ../tools/admin/acme-sh { }; From 80cb07c14ed63c9bcf14db6387a06b65c152a872 Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Tue, 17 Sep 2024 23:38:21 +0200 Subject: [PATCH 448/491] nodejs_22: 22.8.0 -> 22.9.0 --- .../nodejs/gyp-patches-v22-import-sys.patch | 14 ------------- pkgs/development/web/nodejs/v22.nix | 21 ++----------------- 2 files changed, 2 insertions(+), 33 deletions(-) delete mode 100644 pkgs/development/web/nodejs/gyp-patches-v22-import-sys.patch diff --git a/pkgs/development/web/nodejs/gyp-patches-v22-import-sys.patch b/pkgs/development/web/nodejs/gyp-patches-v22-import-sys.patch deleted file mode 100644 index 4f1abea901c0f..0000000000000 --- a/pkgs/development/web/nodejs/gyp-patches-v22-import-sys.patch +++ /dev/null @@ -1,14 +0,0 @@ -For some reason Node.js v22 has two different GYP versions vendored, and -only one of them contains `import sys`. - ---- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py -+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py -@@ -25,6 +25,7 @@ - import os - import re - import subprocess -+import sys - import gyp - import gyp.common - import gyp.xcode_emulation - diff --git a/pkgs/development/web/nodejs/v22.nix b/pkgs/development/web/nodejs/v22.nix index 9c7530f52bba3..dc4f10b7454d3 100644 --- a/pkgs/development/web/nodejs/v22.nix +++ b/pkgs/development/web/nodejs/v22.nix @@ -11,8 +11,8 @@ let in buildNodejs { inherit enableNpm; - version = "22.8.0"; - sha256 = "f130e82176d1ee0702d99afc1995d0061bf8ed357c38834a32a08c9ef74f1ac7"; + version = "22.9.0"; + sha256 = "a55aeb368dee93432f610127cf94ce682aac07b93dcbbaadd856df122c9239df"; patches = [ ./configure-emulator.patch ./configure-armv6-vfpv2.patch @@ -23,23 +23,6 @@ buildNodejs { ./bin-sh-node-run-v22.patch # Patches for OpenSSL 3.2 - # Patches already in 22.9.0 - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/d9ca8b018efd172a99365ada8f536491b19bd87b.patch?full_index=1"; - hash = "sha256-KzoWVXcgjJaMUOXDyLlkwRcN6z3SdFhTJd0KYBYfElE="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/c4f295470392db237c0adfc9832214538a99a034.patch?full_index=1"; - hash = "sha256-sYTY+oiQ5K7bYLcI1+jSTlLFdwpteKGSu7S/bbaslLE="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/a65105ec284023960e93b3a66f6661ddd2f4121f.patch?full_index=1"; - hash = "sha256-ZNkiHlp+UlbnonPBhMUw6rqtjWrC1b9SgI9EcGhDlwY="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/c77bcf018716e97ae35203990bcd51c143840348.patch?full_index=1"; - hash = "sha256-EwrZKpLRzk3Yjen1WVQqKTiHKE2uLTpaPsE13czH2rY="; - }) # Patches not yet released (fetchpatch2 { url = "https://github.com/nodejs/node/commit/f8b7a171463e775da304bccf4cf165e634525c7e.patch?full_index=1"; From 8aa8c517db7f051c7edd9796fb3ca7a8fc7d2b74 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 5 Oct 2024 09:31:47 +0300 Subject: [PATCH 449/491] nix-ld: 2.0.2 -> 2.0.3 Diff: https://github.com/mic92/nix-ld/compare/2.0.2...2.0.3 --- pkgs/by-name/ni/nix-ld/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ni/nix-ld/package.nix b/pkgs/by-name/ni/nix-ld/package.nix index 2b488054ff390..8f2c147797263 100644 --- a/pkgs/by-name/ni/nix-ld/package.nix +++ b/pkgs/by-name/ni/nix-ld/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "nix-ld"; - version = "2.0.2"; + version = "2.0.3"; src = fetchFromGitHub { owner = "mic92"; repo = "nix-ld"; rev = version; - hash = "sha256-N0rXDMTzDCdMUIMGZpGi04iptUXX3MZcVTshMNkJCSM="; + hash = "sha256-NRkLjdMtVfC6dD1gEbYZWFEtbmC2xfD6ft1IP7l76Vw="; }; - cargoHash = "sha256-deh+gFshOTe+Zxd1epHjVoceBtunjp0QcRW/Y4FBKzI="; + cargoHash = "sha256-GOngDGRzWVuzGTX5xNb/nv5dJ6is6cH8K6kHTX3OoXE="; hardeningDisable = [ "stackprotector" ]; From 8861008db8474e9dc87dee3caaa259f28a19364a Mon Sep 17 00:00:00 2001 From: Emily Date: Sat, 5 Oct 2024 14:19:21 +0100 Subject: [PATCH 450/491] blender: add Arch patches for FFmpeg 7 (#346239) --- pkgs/applications/misc/blender/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index a2ac2a81c8b60..1a9ea4fd5ea40 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -19,6 +19,7 @@ dbus, embree, fetchgit, + fetchpatch2, fetchzip, ffmpeg, fftw, @@ -132,7 +133,17 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "source"; - patches = [ ./draco.patch ] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch; + patches = [ + ./draco.patch + (fetchpatch2 { + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-1.patch"; + hash = "sha256-YXXqP/+79y3f41n3cJ3A1RBzgdoYqfKZD/REqmWYdgQ="; + }) + (fetchpatch2 { + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/raw/4b6214600e11851d7793256e2f6846a594e6f223/ffmpeg-7-2.patch"; + hash = "sha256-mF6IA/dbHdNEkBN5XXCRcLIZ/8kXoirNwq7RDuLRAjw="; + }) + ] ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin.patch; postPatch = (lib.optionalString stdenv.hostPlatform.isDarwin '' From 5968299b950220a1493e29040ed3862d6a1d6b51 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 5 Oct 2024 16:31:58 +0100 Subject: [PATCH 451/491] nix-plugin-pijul.tests: fix the eval MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without the change the eval fails as: $ nix build --no-link -f. nix-plugin-pijul.tests error: … while calling the 'derivationStrict' builtin at :34:12: 33| 34| strict = derivationStrict drvAttrs; | ^ 35| … while evaluating derivation 'localRepoCheck-nix-2.25.0pre20240920_ca3fc169' whose name attribute is located at pkgs/stdenv/generic/make-derivation.nix:336:7 … while evaluating attribute 'buildCommand' of derivation 'localRepoCheck-nix-2.25.0pre20240920_ca3fc169' at pkgs/build-support/trivial-builders/default.nix:59:17: 58| enableParallelBuilding = true; 59| inherit buildCommand name; | ^ 60| passAsFile = [ "buildCommand" ] (stack trace truncated; use '--show-trace' to show the full, detailed trace) error: function 'anonymous lambda' called with unexpected argument 'nix' at pkgs/by-name/ni/nix-plugin-pijul/package.nix:1:1: 1| { | ^ 2| lib, Did you mean lib? --- pkgs/by-name/ni/nix-plugin-pijul/package.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ni/nix-plugin-pijul/package.nix b/pkgs/by-name/ni/nix-plugin-pijul/package.nix index 52538d48878ca..b9b7f62f01ba8 100644 --- a/pkgs/by-name/ni/nix-plugin-pijul/package.nix +++ b/pkgs/by-name/ni/nix-plugin-pijul/package.nix @@ -11,9 +11,11 @@ runCommand, pijul, nixVersions, + nixOverride ? null, nix-plugin-pijul, }: -stdenv.mkDerivation (finalAttrs: { +let nix = if nixOverride != null then nixOverride else nixVersions.nix_2_18; +in stdenv.mkDerivation (finalAttrs: { pname = "nix-plugin-pijul"; version = "0.1.4"; @@ -30,12 +32,12 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost howard-hinnant-date - nixVersions.nix_2_18 + nix ]; passthru.tests = let - localRepoCheck = nix: - runCommand "localRepoCheck-${nix.name}" + localRepoCheck = nixOverride: + runCommand "localRepoCheck-${nixOverride.name}" { nativeBuildInputs = [ pijul @@ -56,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: { output=$( nix \ - --option plugin-files ${nix-plugin-pijul.override {inherit nix;}}/lib/nix/plugins/pijul.so \ + --option plugin-files ${nix-plugin-pijul.override {inherit nixOverride;}}/lib/nix/plugins/pijul.so \ --extra-experimental-features 'nix-command flakes' \ eval --impure --raw --expr "builtins.readFile ((builtins.fetchTree \"pijul+file://$PWD\") + \"/foo\")" ) From 887a9ba50a0cbe560aaf28170e72e57da3b23729 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Wed, 25 Sep 2024 21:41:00 -0400 Subject: [PATCH 452/491] nodejs: suppress failing test on x86_64-darwin --- pkgs/development/web/nodejs/nodejs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 62f1ccbef336a..8881d608c95b1 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -331,6 +331,7 @@ let # TODO: revisit at a later date. "test-fs-readv" "test-fs-readv-sync" + "test-vm-memleak" ])}" ]; From 1ec58b8125561695a9c68f39a3a6872015635a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 6 Oct 2024 17:32:34 +0200 Subject: [PATCH 453/491] openmw: drop the extra `fetchpatch2` argument Added apparently by accident in the last fix (see the parent merge). --- pkgs/games/openmw/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix index 59c5295b1b31e..6f1e45b1e68c7 100644 --- a/pkgs/games/openmw/default.nix +++ b/pkgs/games/openmw/default.nix @@ -2,7 +2,6 @@ , stdenv , fetchFromGitLab , fetchpatch -, fetchpatch2 , cmake , pkg-config , wrapQtAppsHook From 1da61cd562558a86f8ae22f16971090d940605a6 Mon Sep 17 00:00:00 2001 From: Emily Date: Thu, 3 Oct 2024 22:23:11 +0100 Subject: [PATCH 454/491] survex: 1.4.3 -> 1.4.11 Includes fixes for FFmpeg 7. --- pkgs/applications/misc/survex/default.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/misc/survex/default.nix b/pkgs/applications/misc/survex/default.nix index bfb79fd10b930..a74d7e424e886 100644 --- a/pkgs/applications/misc/survex/default.nix +++ b/pkgs/applications/misc/survex/default.nix @@ -13,6 +13,7 @@ , perl , pkg-config , proj +, gdal , python3 , wrapGAppsHook3 , wxGTK32 @@ -20,21 +21,13 @@ stdenv.mkDerivation rec { pname = "survex"; - version = "1.4.3"; + version = "1.4.11"; src = fetchurl { url = "https://survex.com/software/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-7NtGTe9xNRPEvG9fQ2fC6htQLEMHfqGmBM2ezhi6oNM="; + hash = "sha256-Q+86sDfU3zYhRhnnO2rfzwmF3CmWPYcIf2VeQctIZ7Y="; }; - patches = [ - # Fix cavern.tst to work with SOURCE_DATE_EPOCH set - (fetchpatch { - url = "https://github.com/ojwb/survex/commit/b1200a60be7bdea20ffebbd8bb15386041727fa6.patch"; - hash = "sha256-OtFjqpU+u8XGy+PAHg2iea++b681p/Kl8YslisBs4sA="; - }) - ]; - nativeBuildInputs = [ perl pkg-config @@ -46,6 +39,7 @@ stdenv.mkDerivation rec { ffmpeg glib proj + gdal wxGTK32 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon From f6c921ee279b603896b341382384d4d2be0d2ae5 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Sat, 5 Oct 2024 11:51:29 +0200 Subject: [PATCH 455/491] haskellPackages.openssl-streams: fix test with OpenSSL 3.3 Signed-off-by: Markus Theil Picked from PR https://github.com/NixOS/nixpkgs/pull/345998 --- .../haskell-modules/configuration-nix.nix | 5 + .../patches/openssl-streams-cert.patch | 137 ++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 pkgs/development/haskell-modules/patches/openssl-streams-cert.patch diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 6400e5246aea9..0b7264e175dbe 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -1431,4 +1431,9 @@ self: super: builtins.intersectAttrs super { "--skip=/Cabal.Paths/paths" ]; }) super.doctest; + + # tracked upstream: https://github.com/snapframework/openssl-streams/pull/11 + # certificate used only 1024 Bit RSA key and SHA-1, which is not allowed in OpenSSL 3.1+ + # security level 2 + openssl-streams = appendPatch ./patches/openssl-streams-cert.patch super.openssl-streams; } diff --git a/pkgs/development/haskell-modules/patches/openssl-streams-cert.patch b/pkgs/development/haskell-modules/patches/openssl-streams-cert.patch new file mode 100644 index 0000000000000..2a668e6d14d84 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/openssl-streams-cert.patch @@ -0,0 +1,137 @@ +From ae9f8db059b6093092f6bd5155d55557c0892a4e Mon Sep 17 00:00:00 2001 +From: Markus Theil +Date: Sat, 5 Oct 2024 11:44:45 +0200 +Subject: [PATCH] regenerate test certificate to work with OpenSSL security + level 2 + +Signed-off-by: Markus Theil +--- + test/cert.pem | 43 ++++++++++++++++++++++++--------- + test/key.pem | 67 +++++++++++++++++++++++++++++++++++++++------------ + 2 files changed, 83 insertions(+), 27 deletions(-) + +diff --git a/test/cert.pem b/test/cert.pem +index 13a87f5..a9dd418 100644 +--- a/test/cert.pem ++++ b/test/cert.pem +@@ -1,14 +1,33 @@ + -----BEGIN CERTIFICATE----- +-MIICOzCCAaQCCQChUcwtek3F7DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJD +-SDEPMA0GA1UECAwGWnVyaWNoMQ8wDQYDVQQHDAZadXJpY2gxFzAVBgNVBAoMDlNu +-YXAgRnJhbWV3b3JrMRgwFgYDVQQDDA9HcmVnb3J5IENvbGxpbnMwHhcNMTAxMjEx +-MTk1MjA0WhcNMzgwNDI3MTk1MjA0WjBiMQswCQYDVQQGEwJDSDEPMA0GA1UECAwG +-WnVyaWNoMQ8wDQYDVQQHDAZadXJpY2gxFzAVBgNVBAoMDlNuYXAgRnJhbWV3b3Jr +-MRgwFgYDVQQDDA9HcmVnb3J5IENvbGxpbnMwgZ8wDQYJKoZIhvcNAQEBBQADgY0A +-MIGJAoGBAMcWrmVJ0xn3JcKf+b8Y+Bs+rRacodl/R+N7UJXTyfkByB7bzN6VR2h8 +-oRYJu7DhETs/w4o/Af9vNwsJBJVovcbV6FAAbl45TMDq2QZVtPwwTDi8R52QbRIR +-WBxge3aHeMUz1hV32iMzGPVe4jKSaO2KcbVOFphwc8VmA59GvShfAgMBAAEwDQYJ +-KoZIhvcNAQEFBQADgYEAXsRchaVlL4RP5V+r1npL7n4W3Ge2O7F+fQ2dX6tNyqeo +-tMAdc6wYahg3m+PejWASVCh0vVEjBx2WYOMRPsmk/DYLUi4UwZYPrvZtbfSbMrD+ +-mYmZhqCDM4316qAg5OwcTON3+VZXMwbXCVM+vUCvZIw4xh6ywNjvuQjCzy7oKMg= ++MIIFpTCCA42gAwIBAgIUJuFs2fMmpGUlm+CT7l6v2LdnpeEwDQYJKoZIhvcNAQEL ++BQAwYjELMAkGA1UEBhMCQ0gxDzANBgNVBAgMBlp1cmljaDEPMA0GA1UEBwwGWnVy ++aWNoMRcwFQYDVQQKDA5TbmFwIEZyYW1ld29yazEYMBYGA1UEAwwPR3JlZ29yeSBD ++b2xsaW5zMB4XDTI0MTAwNTA5NDM1NFoXDTQ0MDkzMDA5NDM1NFowYjELMAkGA1UE ++BhMCQ0gxDzANBgNVBAgMBlp1cmljaDEPMA0GA1UEBwwGWnVyaWNoMRcwFQYDVQQK ++DA5TbmFwIEZyYW1ld29yazEYMBYGA1UEAwwPR3JlZ29yeSBDb2xsaW5zMIICIjAN ++BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA26OMdBRG9IybxVYY49z5xp4adabK ++QKMgBctSbY9+AXQ8dR0mPswQRMNG0upQyJJPTFXUBvKr2N2K00XbWIMifwhCfkBo ++9/JsOuQLNH1Dc627/amx9fuRrJJBnVUOZ9YOg9ytjaItXQ0rngv+lz8EH8IL8SB5 ++AQJr+MRRNr5JD44+/+au3oyL3eoDkb/MT3y2dyUCX7Kuk49h5iiTsPDp6DLQLxl2 ++YegJNh67qrw0gBSjhB0s0Yv7EqVeKTNEx89SkIdOSXh+S3Sf1foAU0Aq3v0a6aIh ++MLrN5Fo3TjQbhF9mlRjYZOM7HbrZsz7X6t77y9Ac4lgFWhbrCdtKFnwP3X1qHAou ++jfzwmnC7Z7h7rzoS0opjE29UcuOPaA7Jw/rbl3SpAab1UVVhOdMxvkJ+gshdJT8W ++uAoovhuyhtimM7l4vkwPqSD5y+h+zNiW5Lx1H1kAsyHeQ8zOI/wnuW4VjvhUb/Q+ ++LZWXmzEBZdGXZloj11py6B3b83atHU+R2LZQnDhnjU15JBG7WN7/anExz3Q7rRfs ++oYHa5qoV+sol53VIJDj+6nsJGfbr1WAonLxDOc8B3E7uu6fGSLeoTZj+hKCZhhsD ++1jnlGG1skpYqf+ECXgq8TGlFRjn6ae3Z7Tq/UFu0a+cbsHHBSUwKG17mtaaqbDeY ++8kWUWNDKtUSewb0CAwEAAaNTMFEwHQYDVR0OBBYEFDj0ry4aPDK4/pbxzbLdUrtN ++4EuXMB8GA1UdIwQYMBaAFDj0ry4aPDK4/pbxzbLdUrtN4EuXMA8GA1UdEwEB/wQF ++MAMBAf8wDQYJKoZIhvcNAQELBQADggIBACct1UKUYYORYcjV96HuPVQSN00iLLUj ++C2QWfF2rF6sToX46oEHfwtIpBT3kATB2G8Ltt5OBohek0eLpGIaJyMYlhiRb6ubz ++O8jcgD2d0FKEBAIEYK+UvuKakWKY3C72zNzL89KOkCqS5o8dYXhMtxPi/ncAdyUa ++jIKHhZx1gYIkaYRVgnnLk4NrpIH3WZmwGj5y/k8ha4vvbfg4pf04FAWliqmD+30E ++qyF0GtxhVN7ZffEn610i9DCsxQet5DiThlZMB9gSZK0VqvTdaKR7qmAohEe5mKBr ++/MbERm8E36B1sW3uGTJLu/irFZtoez2IYNBJaatkKjk3bv+cHKV3E/VTKMMKFtLS ++poLtaAZpuLr4Lg1RS1dCU2f6NaNYuKl30ROAf8ro++8Rnn1WMVc+8x3EhyMJzJYT +++NLnB+8PnoOj2jkc0lY+AqbwSREIivRoN1frbqHfsyZc8Mkds1FUCHLun77LMBVi ++HwmG1frnJ6X9actf1sQqXSqD0URenqTpZSu8YKAkhH3oaKm5I0IyYUeynCk1ck8G ++PyiRk2sj4II7nrzZOCJSJsgDweZdqoul3qKki4V/4+sMgmsAIHJYy/nCwl1HThQ8 ++XY15cF3dnf1bcly1ooj7bL4DrPuG1oWpzDIlIkJ+ZTsPrKK3/Vy2pUkklKowmq3w ++qHcAZ2oKVR1s + -----END CERTIFICATE----- +diff --git a/test/key.pem b/test/key.pem +index 3db6603..ef99b04 100644 +--- a/test/key.pem ++++ b/test/key.pem +@@ -1,15 +1,52 @@ +------BEGIN RSA PRIVATE KEY----- +-MIICXgIBAAKBgQDHFq5lSdMZ9yXCn/m/GPgbPq0WnKHZf0fje1CV08n5Acge28ze +-lUdofKEWCbuw4RE7P8OKPwH/bzcLCQSVaL3G1ehQAG5eOUzA6tkGVbT8MEw4vEed +-kG0SEVgcYHt2h3jFM9YVd9ojMxj1XuIykmjtinG1ThaYcHPFZgOfRr0oXwIDAQAB +-AoGBAIr+p9UpfIvFRASkYd3sFdQXpwqBYnIR7ePBBVsFWR5TAx+gP2ErAYbOdDyJ +-oRN1nu0psGBFaySlxd0bd6rETLFXMWbA0uDJcqASrlsOhsbhgPH7aExYfAi7eX8h +-FAwD//j2E1sS6WvNWu0YANKR2yrM9R0vcbt0GF7hlmyV7lhRAkEA+6DCI6nfbdvR +-jkvaxzOdC9jY/eBI9a4BbyjPLUSlTuQsGrp6s0Sj1LOQscItzqkPSutugM3f1dlG +-lqq31/fnqQJBAMqMOknRBlOZY8DBfCorvNXAjIenoqlqE1D4yTL+tE5C3zEyvTcF +-jPAaX220vf1OkL1bX4jKUxx8uXIqiYND9McCQQCWoWWWc9qMqUqJJF+TYBJjRSyg +-zeLfL4ssQAHF15Id5/l/BqLtLenlKpkz0EobrJi7ALTl5lhYa/kVuJzVbFIBAkEA +-shE17U9mUHi5yexQTILHMORmp5wo1Of8s2ME/2ANBACmV4pT7ttiXHPTEY+kt90q +-Qk7iXlABYToFjuj2nABSYQJAO6W9P18mM2p6vkiBuNReW6VN/ftYqq5TLK3hXh2Q +-0d5v0eW9ce7CiQueH5kxq44EVVTIDiVLe2pk+BQIntMC8w== +------END RSA PRIVATE KEY----- ++-----BEGIN PRIVATE KEY----- ++MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDbo4x0FEb0jJvF ++Vhjj3PnGnhp1pspAoyAFy1Jtj34BdDx1HSY+zBBEw0bS6lDIkk9MVdQG8qvY3YrT ++RdtYgyJ/CEJ+QGj38mw65As0fUNzrbv9qbH1+5GskkGdVQ5n1g6D3K2Noi1dDSue ++C/6XPwQfwgvxIHkBAmv4xFE2vkkPjj7/5q7ejIvd6gORv8xPfLZ3JQJfsq6Tj2Hm ++KJOw8OnoMtAvGXZh6Ak2HruqvDSAFKOEHSzRi/sSpV4pM0THz1KQh05JeH5LdJ/V +++gBTQCre/RrpoiEwus3kWjdONBuEX2aVGNhk4zsdutmzPtfq3vvL0BziWAVaFusJ ++20oWfA/dfWocCi6N/PCacLtnuHuvOhLSimMTb1Ry449oDsnD+tuXdKkBpvVRVWE5 ++0zG+Qn6CyF0lPxa4Cii+G7KG2KYzuXi+TA+pIPnL6H7M2JbkvHUfWQCzId5DzM4j ++/Ce5bhWO+FRv9D4tlZebMQFl0ZdmWiPXWnLoHdvzdq0dT5HYtlCcOGeNTXkkEbtY ++3v9qcTHPdDutF+yhgdrmqhX6yiXndUgkOP7qewkZ9uvVYCicvEM5zwHcTu67p8ZI ++t6hNmP6EoJmGGwPWOeUYbWySlip/4QJeCrxMaUVGOfpp7dntOr9QW7Rr5xuwccFJ ++TAobXua1pqpsN5jyRZRY0Mq1RJ7BvQIDAQABAoICAAIB114rM5p3W31nmUV3Ju2J ++Uy6+kLbGVtv+skOP42P82DLuH9lEkPnT5VvhlM3pxQw/9OFVtTt/i3h9TlvGIln8 ++rRY4HU12G3DuqxSLzYKV30kvlGcDVB7lMkYkuW46VE/LrpFZXqaXoM2qXeVWHSye ++H8ZQbef+tJZlfY7YGSpUJOAT+gaiIa1sPqPwbQalRN9HXmNvVQLtCpppcK9rWt6K ++nQDv2mIFgRS2c1rEKrWomqBHNPo67YHg3YCtDYScRiyjHpRzeQdUVZlFa4cskl0P ++J+sOgSpPwWMZbkvKaZ2hfTpBFnSA6Bt63OjzWtKfFDgrWsw4Z4odz1WRJGGauM62 ++HwroFPCXCit2KCieu23hmsy+Bzh9kdKby8Y3IIdCkTxpslc8au5Psz9uETOXCRwG ++XrANA+OjIawNb3M6Lp3//F07V5eTdWNGrkCByfe0O6/tbnQXPnpqb4u39mnRDQgM ++O69TUCZNaHFQoN7cVJl6hMM6+i3ymMbNOk46hqiqe12KeO8iN/kp/GyGKEP0+H+K ++K2xniIYvm4s+1BE4klkU3S1TQhlZInYu5DFKtGb++n2+UfUlC6bLvA7aAh0K/yOC ++zECPZV8InyTwOaom/CHfWEnBUSEvqvaw/r1DNYqsRR8QSFzlNxx7rDwcEsfy0rJt ++0Ru9jSGCYBRR/EeBHY5JAoIBAQDvqF0K5k/WUIRdybygi22pkEcXbajC0s0Z7Wm/ ++/Uh2zOw2tDv2wfN26Jk9YvPFuZzkgTZSSHBtVHLaju8LXzIDtbD7990KyWKTm/QX ++ynm/Depp7HWbKVxgWAa0Q0DNUNl/vTGHtj9MDGYx798GzGfrQvIs50jBvjnw1QcN +++vkNkkEFTOc3XYKWdPMsqfUowgVC73aiK3Bq1g514F5hj6OPuiyAbrWluS0jsOLG ++fWGbo9Aw7PmAD8oCjrkpGslLuIVjw0j9Ro0o6iK8+5rzdyai5WsSRBeBsBw5N3pg ++OzDXiBm8mfu9TDk7O7ZXM9Jw/jrV5lGks+XHMsPm1Flrtx7pAoIBAQDqnbj1uwH/ ++Z1fd4+hVygXsHju77IoSx5mgSuXhDn+tl35IbUR0rgPNNLc/TVo4FHuJuKHdH3/G ++un9tYLfo/CCMZOMM/Tlh5ZSm1d9BCniCxlmbdXka5DXJ34TTAL2ssdwBagRmaj7n ++8o1EhOdqB+DszGoLWm2NUXPZOFCaMD30vjQ6xeY+YkePCsPpffr4YeTDtgsX7URE ++sTNfyAXtK5boQg1VkowlAP+EYqggnu10sOn3Hddxq2YHTi2cCDSSuctCfqyvfVea ++LudIh5pIfwxie8w09znMxKJhUij1duRcv+L9z/O+zjSW2gPPlvqgw7gcg3cCp1RM +++WGX9V2jPE+1AoIBAGL+echp0CqnwbV4AmmSjm7PQP5ldqNbLgt6rQb4Gbmw9hW2 ++p1pLTUUd2UapHCbdf/hHg2fDsmUG0BaFmippXSB5Ka06+lxdSVHNxqsZIOcRWXX9 ++jarVD+pgEgzeBuOIdP816EK1vjmsmX4hJlAJmRdt5Nk1hDE7YXWgmTRmKgA4HJGS ++7aNKBgoeLuCRJ8p5MnEutyNPrDUFTJ3WW0YTbi2Napp2oKPe9M1cYKA65FnE9ddv ++27PRUdFyoPtgrCuSAc9uuDSesupmpIjJqXzOB/CbsXmvFMKmO1JLH0qmyIsPFgp4 ++1Kqh1LYp+SzWJCQ2b5kxdSICiXSZ/J/ZsUI0NxkCggEBAKzYSd1vSod5ATjNoOsj ++DL3pgCRwnUA8oKeAxl7JqbKf+z8skNRNJyvU/HO8bw0FugW6ajVX8XDdEOfp61PP +++8KyyLtXCyFeW+eVhQaLykC+FGH9Z50yJ5Zz/4zb7OD/n4/DJT62Y2XKQd0K9Noe ++t8x8xFtc4XzNV0XewTL2+44FWsE57uhiy0lMqwyn7W9z3293/DBCcpsQ2UJlQEh8 ++Zo7xqpUyg+D3HUfQzwBJVbM0awnNiF2L4nzbUaq0ONcn3eE9Jceb1iAXEflTPYzP ++XLZpcgZLZN/AtchxGQ/N6WuTSo2m2HHnxMKmF0ymdDpgNpF7IQBpeifDSe0DrVqH ++IkkCggEBAKdRzi+vHk2sNAM+oRt6wnSxmVi38YhqQY3jB/BUKrmG9yeU/5NrLnLV ++UHEw8X+bAIaDXcjW8nH9l8mmCpWRv6Atk69KCAYCnyHkDmMjyEbFkG+VW1mJKeQD ++J7MA8QMwg8nW3t6GdyGNupLP65EIVaOd0+W27qzHOinWq/vlrJLi7DAk7ZxDbZxa ++YsE0Dy6oko0M0cN+NhgfsOE2/E9u3u+OfM7WqJjvKs7nPBh1mlSmGXB0srbsdF5X ++zSi2PxEM87K9FjhwdLRg1Wgq1hqK5xeFpvQETd5dCwrbPDnWd4H91jycquVQ29+f ++F3fTQNKQ93zJWtUhTUSPO2BzPnZh8UE= ++-----END PRIVATE KEY----- +-- +2.46.0 + From 8f49652bea9b063eda203d41664c993fabb78d0a Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Wed, 2 Oct 2024 20:44:11 +0200 Subject: [PATCH 456/491] edk2: use openssl 3.0 for now Signed-off-by: Markus Theil Picked from PR https://github.com/NixOS/nixpkgs/pull/345998 In particular, this fixes OVMF build (a channel blocker). https://hydra.nixos.org/build/274346247/nixlog/1/tail --- pkgs/by-name/ed/edk2/package.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ed/edk2/package.nix b/pkgs/by-name/ed/edk2/package.nix index b4919f27efb09..e986e42bd47aa 100644 --- a/pkgs/by-name/ed/edk2/package.nix +++ b/pkgs/by-name/ed/edk2/package.nix @@ -63,16 +63,18 @@ edk2 = stdenv.mkDerivation { }) ]; + # EDK2 is currently working on OpenSSL 3.3.x support. Use buildpackages.openssl again, + # when "https://github.com/tianocore/edk2/pull/6167" is merged. postPatch = '' # We don't want EDK2 to keep track of OpenSSL, they're frankly bad at it. rm -r CryptoPkg/Library/OpensslLib/openssl mkdir -p CryptoPkg/Library/OpensslLib/openssl ( cd CryptoPkg/Library/OpensslLib/openssl - tar --strip-components=1 -xf ${buildPackages.openssl.src} + tar --strip-components=1 -xf ${buildPackages.openssl_3.src} # Apply OpenSSL patches. - ${lib.pipe buildPackages.openssl.patches [ + ${lib.pipe buildPackages.openssl_3.patches [ (builtins.filter ( patch: !builtins.elem (baseNameOf patch) [ From 91c30a30e9c4811146bf8411f30120acbffa6dba Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Mon, 7 Oct 2024 21:27:25 +0200 Subject: [PATCH 457/491] vim: 9.1.0707 -> 9.1.0765 Fixes CVE-2024-47814 / GHSA-rj48-v4mq-j4vg. Changes: https://github.com/vim/vim/compare/v9.1.0707...v9.1.0765 --- pkgs/applications/editors/vim/common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index 5b9cfec4cb326..67cf247fe72a9 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub }: rec { - version = "9.1.0707"; + version = "9.1.0765"; outputs = [ "out" "xxd" ]; @@ -8,7 +8,7 @@ rec { owner = "vim"; repo = "vim"; rev = "v${version}"; - hash = "sha256-iHOLABPk5B7Sh7EBYnM7wdxnK2Wv7q4WS3FEp780SV4="; + hash = "sha256-LtEEMpdWXA6qyjAIjgsZoc4hNXXG2ZXxCsbWKC5aEPI="; }; enableParallelBuilding = true; From b7e2eb1e2111ae9ef1be83e1bf34154f30afedbc Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Sat, 5 Oct 2024 11:09:56 +0200 Subject: [PATCH 458/491] openssl_3_2: remove and switch single user to the default openssl Signed-off-by: Markus Theil Picked from PR https://github.com/NixOS/nixpkgs/pull/345998 except that vcunat used `openssl` instead of `openssl_3_3` I do think that we should be well covered with 3.0 and 3.3. https://github.com/openssl/openssl/blob/openssl-3.3.0/NEWS.md --- .../use-etc-ssl-certs-darwin.patch | 0 .../{3.2 => 3.3}/use-etc-ssl-certs.patch | 0 .../development/libraries/openssl/default.nix | 27 ++----------------- .../networking/cloudflare-warp/default.nix | 4 +-- pkgs/top-level/all-packages.nix | 1 - 5 files changed, 4 insertions(+), 28 deletions(-) rename pkgs/development/libraries/openssl/{3.2 => 3.3}/use-etc-ssl-certs-darwin.patch (100%) rename pkgs/development/libraries/openssl/{3.2 => 3.3}/use-etc-ssl-certs.patch (100%) diff --git a/pkgs/development/libraries/openssl/3.2/use-etc-ssl-certs-darwin.patch b/pkgs/development/libraries/openssl/3.3/use-etc-ssl-certs-darwin.patch similarity index 100% rename from pkgs/development/libraries/openssl/3.2/use-etc-ssl-certs-darwin.patch rename to pkgs/development/libraries/openssl/3.3/use-etc-ssl-certs-darwin.patch diff --git a/pkgs/development/libraries/openssl/3.2/use-etc-ssl-certs.patch b/pkgs/development/libraries/openssl/3.3/use-etc-ssl-certs.patch similarity index 100% rename from pkgs/development/libraries/openssl/3.2/use-etc-ssl-certs.patch rename to pkgs/development/libraries/openssl/3.3/use-etc-ssl-certs.patch diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 0c6c8ae98a094..3dee6474adee2 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -312,29 +312,6 @@ in { }; }; - openssl_3_2 = common { - version = "3.2.3"; - hash = "sha256-UrXxxrgCK8WGjDCMVPt3cF5wLWxvRZT5mg3yFqz0Yjk="; - - patches = [ - ./3.0/nix-ssl-cert-file.patch - - # openssl will only compile in KTLS if the current kernel supports it. - # This patch disables build-time detection. - ./3.0/openssl-disable-kernel-detection.patch - - (if stdenv.hostPlatform.isDarwin - then ./3.2/use-etc-ssl-certs-darwin.patch - else ./3.2/use-etc-ssl-certs.patch) - ]; - - withDocs = true; - - extraMeta = { - license = lib.licenses.asl20; - }; - }; - openssl_3_3 = common { version = "3.3.2"; hash = "sha256-LopAsBl5r+i+C7+z3l3BxnCf7bRtbInBDaEUq1/D0oE="; @@ -347,8 +324,8 @@ in { ./3.0/openssl-disable-kernel-detection.patch (if stdenv.hostPlatform.isDarwin - then ./3.2/use-etc-ssl-certs-darwin.patch - else ./3.2/use-etc-ssl-certs.patch) + then ./3.3/use-etc-ssl-certs-darwin.patch + else ./3.3/use-etc-ssl-certs.patch) ]; withDocs = true; diff --git a/pkgs/tools/networking/cloudflare-warp/default.nix b/pkgs/tools/networking/cloudflare-warp/default.nix index c36ec7c947b12..fb03bee688a61 100644 --- a/pkgs/tools/networking/cloudflare-warp/default.nix +++ b/pkgs/tools/networking/cloudflare-warp/default.nix @@ -11,7 +11,7 @@ , makeWrapper , nftables , nss -, openssl_3_2 +, openssl }: stdenv.mkDerivation rec { @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { dbus gtk3 libpcap - openssl_3_2 + openssl nss stdenv.cc.cc.lib ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ab9a453819d59..1d7359382592c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22467,7 +22467,6 @@ with pkgs; inherit (callPackages ../development/libraries/openssl { }) openssl_1_1 openssl_3 - openssl_3_2 openssl_3_3; opensubdiv = callPackage ../development/libraries/opensubdiv { }; From 7014f869474850e8e8a43db61aa8566215f9a1a6 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 13 Sep 2024 16:11:59 +0300 Subject: [PATCH 459/491] buildFHSEnv: don't set LD_LIBRARY_PATH It's a bad hack that was originally put into place for Steam, which doesn't need it anymore, and it confuses native binaries that run from Steam. --- pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix index 3f066f846517d..a18885ac5990f 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix @@ -87,7 +87,6 @@ let etcProfile = writeText "profile" '' export PS1='${name}-fhsenv:\u@\h:\w\$ ' export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive' - export LD_LIBRARY_PATH="/run/opengl-driver/lib:/run/opengl-driver-32/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH" export TZDIR='/etc/zoneinfo' From 70cb669a2f5608583caedde7e691b104f83ad718 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 13 Sep 2024 19:53:16 +0300 Subject: [PATCH 460/491] buildFHSEnv: fix nested fhsenvs with LD_PRELOAD I hate this, but I also kinda love this. It's very cursed. Please help. Co-authored-by: Alyssa Ross --- .../build-fhsenv-bubblewrap/container-init.cc | 63 +++++++++++++++++++ .../build-fhsenv-bubblewrap/default.nix | 47 +++++++------- 2 files changed, 88 insertions(+), 22 deletions(-) create mode 100644 pkgs/build-support/build-fhsenv-bubblewrap/container-init.cc diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/container-init.cc b/pkgs/build-support/build-fhsenv-bubblewrap/container-init.cc new file mode 100644 index 0000000000000..351e92477a082 --- /dev/null +++ b/pkgs/build-support/build-fhsenv-bubblewrap/container-init.cc @@ -0,0 +1,63 @@ +#include + +#include +#include +#include + +#include + +const char LD_SO_CONF[] = R"(/lib +/lib/x86_64-linux-gnu +/lib64 +/usr/lib +/usr/lib/x86_64-linux-gnu +/usr/lib64 +/lib/i386-linux-gnu +/lib32 +/usr/lib/i386-linux-gnu +/usr/lib32 +/run/opengl-driver/lib +/run/opengl-driver-32/lib +)"; + +int main(int, const char *argv[]) { + std::ofstream ld_so_conf; + ld_so_conf.open("/etc/ld.so.conf"); + ld_so_conf << LD_SO_CONF; + ld_so_conf.close(); + if (!ld_so_conf) { + perror("Failed to generate ld.so.conf"); + return 1; + } + + int e; + pid_t pid; + const char *ldconfig_argv[] = {"/bin/ldconfig", NULL}; + char *ldconfig_envp[] = {NULL}; + if ((e = posix_spawn(&pid, ldconfig_argv[0], NULL, NULL, + (char *const *)ldconfig_argv, ldconfig_envp))) { + fprintf(stderr, "Failed to run ldconfig: %s\n", strerror(e)); + return 1; + } + + int status; + if (waitpid(pid, &status, 0) == -1) { + perror("Failed to wait for ldconfig"); + return 1; + } + if (WIFEXITED(status)) { + if (WEXITSTATUS(status)) { + fprintf(stderr, "ldconfig exited %d\n", WEXITSTATUS(status)); + return 1; + } + } else { + fprintf(stderr, "ldconfig killed by signal %d\n", WTERMSIG(status)); + return 1; + } + + argv[0] = "/init"; + execv(argv[0], (char *const *)argv); + + perror("Failed to exec stage 2 init"); + return 1; +} diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix index 5be1172352b5a..8bf5aebeb5166 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/default.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/default.nix @@ -5,6 +5,7 @@ , writeShellScript , glibc , pkgsi686Linux +, runCommandCC , coreutils , bubblewrap }: @@ -98,29 +99,30 @@ let ]; in map (path: "/etc/${path}") files; - # Create this on the fly instead of linking from /nix - # The container might have to modify it and re-run ldconfig if there are - # issues running some binary with LD_LIBRARY_PATH - createLdConfCache = '' - cat > /etc/ld.so.conf < /dev/null + # Here's the problem case: + # - we need to run bash to run the init script + # - LD_PRELOAD may be set to another dynamic library, requiring us to discover its dependencies + # - oops! ldconfig is part of the init script, and it hasn't run yet + # - everything explodes + # + # In particular, this happens with fhsenvs in fhsenvs, e.g. when running + # a wrapped game from Steam. + # + # So, instead of doing that, we build a tiny static (important!) shim + # that executes ldconfig in a completely clean environment to generate + # the initial cache, and then execs into the "real" init, which is the + # first time we see anything dynamically linked at all. + # + # Also, the real init is placed strategically at /init, so we don't + # have to recompile this every time. + containerInit = runCommandCC "container-init" { + buildInputs = [ stdenv.cc.libc.static or null ]; + } '' + $CXX -static -s -o $out ${./container-init.cc} ''; - init = run: writeShellScript "${name}-init" '' + + realInit = run: writeShellScript "${name}-init" '' source /etc/profile - ${createLdConfCache} exec ${run} "$@" ''; @@ -253,6 +255,7 @@ let --symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \ --ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \ --remount-ro ${glibc}/etc \ + --symlink ${realInit runScript} /init \ '' + optionalString fhsenv.isMultiBuild (indentLines '' --tmpfs ${pkgsi686Linux.glibc}/etc \ --symlink /etc/ld.so.conf ${pkgsi686Linux.glibc}/etc/ld.so.conf \ @@ -265,7 +268,7 @@ let "''${auto_mounts[@]}" "''${x11_args[@]}" ${concatStringsSep "\n " extraBwrapArgs} - ${init runScript} ${initArgs} + ${containerInit} ${initArgs} ) exec "''${cmd[@]}" ''; From a3ccb7f562a93826ad0112adf20dc7f697b7713e Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 19 Sep 2024 18:21:35 +0300 Subject: [PATCH 461/491] steam: decimate --- nixos/modules/programs/steam.nix | 2 +- .../build-fhsenv-bubblewrap/buildFHSEnv.nix | 3 + pkgs/games/steam/default.nix | 17 +- pkgs/games/steam/fhsenv.nix | 431 +++++------------- pkgs/games/steam/runtime-wrapped.nix | 45 -- pkgs/games/steam/runtime.nix | 37 -- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 1 - 8 files changed, 118 insertions(+), 419 deletions(-) delete mode 100644 pkgs/games/steam/runtime-wrapped.nix delete mode 100644 pkgs/games/steam/runtime.nix diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix index 92e6f4ccaeb1b..dab8425721c52 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -31,7 +31,7 @@ in { default = pkgs.steam; defaultText = lib.literalExpression "pkgs.steam"; example = lib.literalExpression '' - pkgs.steam-small.override { + pkgs.steam.override { extraEnv = { MANGOHUD = true; OBS_VKCAPTURE = true; diff --git a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix index a18885ac5990f..25f8b8a39b6b3 100644 --- a/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix +++ b/pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix @@ -12,6 +12,7 @@ , targetPkgs ? pkgs: [] , multiPkgs ? pkgs: [] , multiArch ? false # Whether to include 32bit packages +, includeClosures ? false # Whether to include closures of all packages , nativeBuildInputs ? [] , extraBuildCommands ? "" , extraBuildCommandsMulti ? "" @@ -171,6 +172,7 @@ let ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas fi ''; + inherit includeClosures; }; staticUsrProfileMulti = buildEnv { @@ -178,6 +180,7 @@ let paths = baseMultiPaths ++ multiPaths; extraOutputsToInstall = [ "out" "lib" ] ++ extraOutputsToInstall; ignoreCollisions = true; + inherit includeClosures; }; # setup library paths only for the targeted architecture diff --git a/pkgs/games/steam/default.nix b/pkgs/games/steam/default.nix index 4d3f2ba7140cd..ee2b72be54001 100644 --- a/pkgs/games/steam/default.nix +++ b/pkgs/games/steam/default.nix @@ -1,5 +1,5 @@ { makeScopeWithSplicing', generateSplicesForMkScope -, stdenv, buildFHSEnv, pkgsi686Linux, mesa-demos +, stdenv }: let @@ -10,21 +10,8 @@ let else if stdenv.hostPlatform.system == "i686-linux" then "i386" else throw "Unsupported platform: ${stdenv.hostPlatform.system}"; - steam-runtime = callPackage ./runtime.nix { }; - steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { }; steam = callPackage ./steam.nix { }; - steam-fhsenv = callPackage ./fhsenv.nix { - mesa-demos-i686 = - if self.steamArch == "amd64" - then pkgsi686Linux.mesa-demos - else mesa-demos; - steam-runtime-wrapped-i686 = - if self.steamArch == "amd64" - then pkgsi686Linux.steamPackages.steam-runtime-wrapped - else null; - inherit buildFHSEnv; - }; - steam-fhsenv-small = steam-fhsenv.override { withGameSpecificLibraries = false; }; + steam-fhsenv = callPackage ./fhsenv.nix {}; # This has to exist so Hydra tries to build all of Steam's dependencies. # FIXME: Maybe we should expose it as something more generic? diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index 6a4a1e002058f..1eb6dffd3a398 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -1,340 +1,127 @@ -{ lib, stdenv, writeShellScript, buildFHSEnv, steam, mesa-demos-i686 -, steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null -, extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs -, extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs -, extraProfile ? "" # string to append to profile -, extraPreBwrapCmds ? "" # extra commands to run before calling bubblewrap (real default is at usage site) -, extraBwrapArgs ? [ ] # extra arguments to pass to bubblewrap (real default is at usage site) -, extraArgs ? "" # arguments to always pass to steam -, extraEnv ? { } # Environment variables to pass to Steam - -# steamwebhelper deletes unrelated electron programs' singleton cookies from /tmp on startup: -# https://github.com/ValveSoftware/steam-for-linux/issues/9121 -, privateTmp ? true # Whether to separate steam's /tmp from the host system - -, withGameSpecificLibraries ? true # include game specific libraries -}@args: - +{ + lib, + steam, + buildFHSEnv, + writeShellScript, + extraPkgs ? pkgs: [ ], # extra packages to add to targetPkgs + extraLibraries ? pkgs: [ ], # extra packages to add to multiPkgs + extraProfile ? "", # string to append to profile + extraPreBwrapCmds ? "", # extra commands to run before calling bubblewrap + extraBwrapArgs ? [ ], # extra arguments to pass to bubblewrap (real default is at usage site) + extraArgs ? "", # arguments to always pass to steam + extraEnv ? { }, # Environment variables to pass to Steam +}: let - commonTargetPkgs = pkgs: with pkgs; [ - # Needed for operating system detection until - # https://github.com/ValveSoftware/steam-for-linux/issues/5909 is resolved - lsb-release - # Errors in output without those - pciutils - # run.sh wants ldconfig - glibc_multi.bin - # Games' dependencies - xorg.xrandr - which - # Needed by gdialog, including in the steam-runtime - perl - # Open URLs - xdg-utils - iana-etc - # Steam Play / Proton - python3 - # Steam VR - procps - usbutils - - # It tries to execute xdg-user-dir and spams the log with command not founds - xdg-user-dirs - - # electron based launchers need newer versions of these libraries than what runtime provides - mesa - sqlite - ] ++ extraPkgs pkgs; - - ldPath = lib.optionals stdenv.hostPlatform.is64bit [ "/lib64" ] - ++ [ "/lib32" ] - ++ map (x: "/steamrt/${steam-runtime-wrapped.arch}/" + x) steam-runtime-wrapped.libs - ++ lib.optionals (steam-runtime-wrapped-i686 != null) (map (x: "/steamrt/${steam-runtime-wrapped-i686.arch}/" + x) steam-runtime-wrapped-i686.libs); - - # Zachtronics and a few other studios expect STEAM_LD_LIBRARY_PATH to be present - exportLDPath = '' - export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH - export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" - ''; + steamEnv = { name, runScript, passthru ? {}, meta ? {} }: + buildFHSEnv { + inherit name runScript passthru meta; + + multiArch = true; + includeClosures = true; + + # https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#command-line-tools + targetPkgs = pkgs: with pkgs; [ + steam + + bash + coreutils + file + lsb-release # not documented, called from Big Picture + pciutils # not documented, complains about lspci on startup + glibc_multi.bin + xz + zenity + + # Steam expects it to be /sbin specifically + (pkgs.runCommand "sbin-ldconfig" {} '' + mkdir -p $out/sbin + ln -s /bin/ldconfig $out/sbin/ldconfig + '') + + # crashes on startup if it can't find libX11 locale files + (pkgs.runCommand "xorg-locale" {} '' + mkdir -p $out + ln -s ${xorg.libX11}/share $out/share + '') + ] ++ extraPkgs pkgs; + + # https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#shared-libraries + multiPkgs = pkgs: with pkgs; [ + glibc + libxcrypt + libGL + + libdrm + mesa # for libgbm + udev + libudev0-shim + libva + vulkan-loader + + networkmanager # not documented, used for network status things in Big Picture + # FIXME: figure out how to only build libnm? + libcap # not documented, required by srt-bwrap + ] ++ extraLibraries pkgs; + + extraInstallCommands = lib.optionalString (steam != null) '' + ln -s ${steam}/share $out/share + ''; - # bootstrap.tar.xz has 444 permissions, which means that simple deletes fail - # and steam will not be able to start - fixBootstrap = '' - if [ -r $HOME/.steam/steam/bootstrap.tar.xz ]; then - chmod +w $HOME/.steam/steam/bootstrap.tar.xz - fi - ''; + profile = '' + # prevents log spam from SteamRT GTK trying to load host GIO modules + unset GIO_EXTRA_MODULES + + # udev event notifications don't work reliably inside containers. + # SDL2 already tries to automatically detect flatpak and pressure-vessel + # and falls back to inotify-based discovery [1]. We make SDL2 do the + # same by telling it explicitly. + # + # [1] + export SDL_JOYSTICK_DISABLE_UDEV=1 + + # This is needed for IME (e.g. iBus, fcitx5) to function correctly on non-CJK locales + # https://github.com/ValveSoftware/steam-for-linux/issues/781#issuecomment-2004757379 + export GTK_IM_MODULE='xim' + + # See https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#graphics-driver + export LIBGL_DRIVERS_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri + export __EGL_VENDOR_LIBRARY_DIRS=/run/opengl-driver/share/glvnd/egl_vendor.d:/run/opengl-driver-32/share/glvnd/egl_vendor.d + export LIBVA_DRIVERS_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri + export VDPAU_DRIVER_PATH=/run/opengl-driver/lib/vdpau:/run/opengl-driver-32/lib/vdpau + + set -a + ${lib.toShellVars extraEnv} + set +a + + ${extraProfile} + ''; - envScript = '' - # prevents various error messages - unset GIO_EXTRA_MODULES + privateTmp = true; - # This is needed for IME (e.g. iBus, fcitx5) to function correctly on non-CJK locales - # https://github.com/ValveSoftware/steam-for-linux/issues/781#issuecomment-2004757379 - GTK_IM_MODULE='xim' - '' + lib.toShellVars extraEnv; + inherit extraPreBwrapCmds; -in buildFHSEnv rec { + extraBwrapArgs = [ + # Steam will dump crash reports here, make those more accessible + "--bind-try /tmp/dumps /tmp/dumps" + ] ++ extraBwrapArgs; + }; +in steamEnv { name = "steam"; - # Steam still needs 32bit and various native games do too - multiArch = true; - - targetPkgs = pkgs: with pkgs; [ - steam - # License agreement - zenity - ] ++ commonTargetPkgs pkgs; - - multiPkgs = pkgs: with pkgs; [ - # These are required by steam with proper errors - xorg.libXcomposite - xorg.libXtst - xorg.libXrandr - xorg.libXext - xorg.libX11 - xorg.libXfixes - libGL - libva - pipewire - - # steamwebhelper - harfbuzz - libthai - pango - - lsof # friends options won't display "Launch Game" without it - file # called by steam's setup.sh - - # dependencies for mesa drivers, needed inside pressure-vessel - mesa.llvmPackages.llvm.lib - vulkan-loader - expat - wayland - xorg.libxcb - xorg.libXdamage - xorg.libxshmfence - xorg.libXxf86vm - elfutils - - # Without these it silently fails - xorg.libXinerama - xorg.libXcursor - xorg.libXrender - xorg.libXScrnSaver - xorg.libXi - xorg.libSM - xorg.libICE - curl - nspr - nss - cups - libcap - SDL2 - libusb1 - dbus-glib - gsettings-desktop-schemas - ffmpeg - libudev0-shim - - # Verified games requirements - fontconfig - freetype - xorg.libXt - xorg.libXmu - libogg - libvorbis - SDL - SDL2_image - glew110 - libdrm - libidn - tbb - zlib - - # SteamVR - udev - dbus - - # Other things from runtime - glib - gtk2 - bzip2 - flac - libglut - libjpeg - libpng - libpng12 - libsamplerate - libmikmod - libtheora - libtiff - pixman - speex - SDL_image - SDL_ttf - SDL_mixer - SDL2_ttf - SDL2_mixer - libappindicator-gtk2 - libdbusmenu-gtk2 - libindicator-gtk2 - libcaca - libcanberra - libgcrypt - libunwind - libvpx - librsvg - xorg.libXft - libvdpau - - # required by coreutils stuff to run correctly - # Steam ends up with LD_LIBRARY_PATH=/usr/lib:: - # which overrides DT_RUNPATH in our binaries, so it tries to dynload the - # very old versions of stuff from the runtime. - # FIXME: how do we even fix this correctly - attr - # same thing, but for Xwayland (usually via gamescope), already in the closure - libkrb5 - keyutils - ] ++ lib.optionals withGameSpecificLibraries [ - # Not formally in runtime but needed by some games - at-spi2-atk - at-spi2-core # CrossCode - gst_all_1.gstreamer - gst_all_1.gst-plugins-ugly - gst_all_1.gst-plugins-base - json-glib # paradox launcher (Stellaris) - libxkbcommon # paradox launcher - libvorbis # Dead Cells - libxcrypt # Alien Isolation, XCOM 2, Company of Heroes 2 - mono - ncurses # Crusader Kings III - openssl - xorg.xkeyboardconfig - xorg.libpciaccess - xorg.libXScrnSaver # Dead Cells - icu # dotnet runtime, e.g. Stardew Valley - - # screeps dependencies - gtk3 - zlib - atk - cairo - gdk-pixbuf - - # Prison Architect - libGLU - libuuid - libbsd - alsa-lib - - # Loop Hero - # FIXME: Also requires openssl_1_1, which is EOL. Either find an alternative solution, or remove these dependencies (if not needed by other games) - libidn2 - libpsl - nghttp2.lib - rtmpdump - ] - # This needs to come from pkgs as the passed-in steam-runtime-wrapped may not be the same architecture - ++ pkgs.steamPackages.steam-runtime-wrapped.overridePkgs - ++ extraLibraries pkgs; - - extraInstallCommands = lib.optionalString (steam != null) '' - mkdir -p $out/share/applications - ln -s ${steam}/share/icons $out/share - ln -s ${steam}/share/pixmaps $out/share - ln -s ${steam}/share/applications/steam.desktop $out/share/applications/steam.desktop - ''; - - profile = '' - # Workaround for issue #44254 (Steam cannot connect to friends network) - # https://github.com/NixOS/nixpkgs/issues/44254 - if [ -z ''${TZ+x} ]; then - new_TZ="$(readlink -f /etc/localtime | grep -P -o '(?<=/zoneinfo/).*$')" - if [ $? -eq 0 ]; then - export TZ="$new_TZ" - fi - fi - - # udev event notifications don't work reliably inside containers. - # SDL2 already tries to automatically detect flatpak and pressure-vessel - # and falls back to inotify-based discovery [1]. We make SDL2 do the - # same by telling it explicitly. - # - # [1] - export SDL_JOYSTICK_DISABLE_UDEV=1 - '' + extraProfile; - - runScript = writeShellScript "steam-wrapper.sh" '' - if [ -f /etc/NIXOS ]; then # Check only useful on NixOS - ${mesa-demos-i686}/bin/glxinfo 2>&1 | grep -q Error - # If there was an error running glxinfo, we know something is wrong with the configuration - if [ $? -eq 0 ]; then - cat < /dev/stderr - ** - WARNING: Steam is not set up. Add the following options to /etc/nixos/configuration.nix - and then run \`sudo nixos-rebuild switch\`: - { - hardware.graphics.enable32Bit = true; - hardware.pulseaudio.support32Bit = true; - } - ** - EOF - fi - fi - - ${exportLDPath} - ${fixBootstrap} - - set -o allexport # Export the following env vars - ${envScript} + runScript = writeShellScript "steam-wrapped" '' exec steam ${extraArgs} "$@" ''; - inherit privateTmp; - - extraPreBwrapCmds = '' - install -m 1777 -d /tmp/dumps - '' + args.extraPreBwrapCmds or ""; - - extraBwrapArgs = [ - "--bind-try /etc/NIXOS /etc/NIXOS" # required 32bit driver check in runScript - "--bind-try /tmp/dumps /tmp/dumps" - ] ++ args.extraBwrapArgs or []; - - meta = - if steam != null - then - steam.meta // lib.optionalAttrs (!withGameSpecificLibraries) { - description = steam.meta.description + " (without game specific libraries)"; - mainProgram = "steam"; - } - else { - description = "Steam dependencies (dummy package, do not use)"; - }; - - passthru.steamargs = args; - passthru.run = buildFHSEnv { + passthru.run = steamEnv { name = "steam-run"; - targetPkgs = commonTargetPkgs; - inherit multiArch multiPkgs profile extraInstallCommands extraBwrapArgs; - runScript = writeShellScript "steam-run" '' - run="$1" - if [ "$run" = "" ]; then + if [ $# -eq 0 ]; then echo "Usage: steam-run command-to-run args..." >&2 exit 1 fi - shift - - ${exportLDPath} - ${fixBootstrap} - set -o allexport # Export the following env vars - ${envScript} - exec -- "$run" "$@" + exec "$@" ''; meta = (steam.meta or {}) // { @@ -347,4 +134,8 @@ in buildFHSEnv rec { license = lib.licenses.mit; }; }; + + meta = (steam.meta or {}) // { + description = "Steam dependencies (dummy package, do not use)"; + }; } diff --git a/pkgs/games/steam/runtime-wrapped.nix b/pkgs/games/steam/runtime-wrapped.nix deleted file mode 100644 index 648e012d3fe58..0000000000000 --- a/pkgs/games/steam/runtime-wrapped.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ stdenv, steamArch, lib, perl, pkgs, steam-runtime -, runtimeOnly ? false -}: - -let - overridePkgs = lib.optionals (!runtimeOnly) (with pkgs; [ - libgpg-error - libpulseaudio - alsa-lib - openalSoft - libva1 - libvdpau - vulkan-loader - gcc.cc.lib - nss - nspr - xorg.libxcb - ]); - - allPkgs = overridePkgs ++ [ steam-runtime ]; - - gnuArch = if steamArch == "amd64" then "x86_64-linux-gnu" - else if steamArch == "i386" then "i386-linux-gnu" - else throw "Unsupported architecture"; - - libs = [ "lib/${gnuArch}" "lib" "usr/lib/${gnuArch}" "usr/lib" ]; - bins = [ "bin" "usr/bin" ]; - -in stdenv.mkDerivation { - name = "steam-runtime-wrapped"; - - nativeBuildInputs = [ perl ]; - - builder = ./build-wrapped.sh; - - passthru = { - inherit gnuArch libs bins overridePkgs; - arch = steamArch; - }; - - installPhase = '' - buildDir "${toString libs}" "${toString (map lib.getLib allPkgs)}" - buildDir "${toString bins}" "${toString (map lib.getBin allPkgs)}" - ''; -} diff --git a/pkgs/games/steam/runtime.nix b/pkgs/games/steam/runtime.nix deleted file mode 100644 index f736ac8daa47c..0000000000000 --- a/pkgs/games/steam/runtime.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchurl - -# for update script -, writeShellScript, curl, nix-update -}: - -stdenv.mkDerivation (finalAttrs: { - - pname = "steam-runtime"; - # from https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/VERSION.txt - version = "0.20240415.84615"; - - src = fetchurl { - url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${finalAttrs.version}/steam-runtime.tar.xz"; - hash = "sha256-C8foNnIVA+O4YwuCrIf9N6Lr/GlApPVgZsYgi+3OZUE="; - name = "scout-runtime-${finalAttrs.version}.tar.gz"; - }; - - buildCommand = '' - mkdir -p $out - tar -C $out --strip=1 -x -f $src - ''; - - passthru = { - updateScript = writeShellScript "update.sh" '' - version=$(${curl}/bin/curl https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/VERSION.txt) - ${lib.getExe nix-update} --version "$version" steamPackages.steam-runtime - ''; - }; - - meta = { - description = "Official runtime used by Steam"; - homepage = "https://github.com/ValveSoftware/steam-runtime"; - license = lib.licenses.unfreeRedistributable; # Includes NVIDIA CG toolkit - maintainers = with lib.maintainers; [ hrdinka abbradar ]; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 88b828c32cbe5..659b60117a31b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1520,6 +1520,7 @@ mapAliases { ssm-agent = amazon-ssm-agent; # Added 2023-10-17 starboard-octant-plugin = throw "starboard-octant-plugin has been dropped due to needing octant which is archived"; # Added 2023-09-29 starspace = throw "starspace has been removed from nixpkgs, as it was broken"; # Added 2024-07-15 + steam-small = steam; # Added 2024-09-12 steam-run-native = steam-run; # added 2022-02-21 StormLib = stormlib; # Added 2024-01-21 sumneko-lua-language-server = lua-language-server; # Added 2023-02-07 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1d7359382592c..2ac9e6be40c37 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35332,7 +35332,6 @@ with pkgs; steamPackages = recurseIntoAttrs (callPackage ../games/steam { }); steam = steamPackages.steam-fhsenv; - steam-small = steamPackages.steam-fhsenv-small; steam-run = steam.run; From d4f7b842c6eb8a34930566274249602964a301fc Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 8 Oct 2024 13:23:30 +0300 Subject: [PATCH 462/491] qt6: 6.7.3 -> 6.8.0 --- pkgs/development/libraries/qt-6/fetch.sh | 2 +- .../libraries/qt-6/modules/qtmqtt.nix | 4 +- .../libraries/qt-6/modules/qtwayland.nix | 13 +- .../libraries/qt-6/modules/qtwebengine.nix | 9 - ...-qtbase-qmake-fix-mkspecs-for-darwin.patch | 62 ++-- .../fix-qtgui-include-incorrect-case.patch | 4 +- .../patches/qtwebengine-link-pulseaudio.patch | 22 +- pkgs/development/libraries/qt-6/srcs.nix | 314 +++++++++--------- 8 files changed, 195 insertions(+), 235 deletions(-) diff --git a/pkgs/development/libraries/qt-6/fetch.sh b/pkgs/development/libraries/qt-6/fetch.sh index b91fd89f80e4e..8ae22eecfa05d 100644 --- a/pkgs/development/libraries/qt-6/fetch.sh +++ b/pkgs/development/libraries/qt-6/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.qt.io/official_releases/qt/6.7/6.7.3/submodules/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.qt.io/official_releases/qt/6.8/6.8.0/submodules/ -A '*.tar.xz' ) diff --git a/pkgs/development/libraries/qt-6/modules/qtmqtt.nix b/pkgs/development/libraries/qt-6/modules/qtmqtt.nix index c33fc9a4499dd..80eef148701ac 100644 --- a/pkgs/development/libraries/qt-6/modules/qtmqtt.nix +++ b/pkgs/development/libraries/qt-6/modules/qtmqtt.nix @@ -5,13 +5,13 @@ qtModule rec { pname = "qtmqtt"; - version = "6.7.3"; + version = "6.8.0"; src = fetchFromGitHub { owner = "qt"; repo = "qtmqtt"; rev = "v${version}"; - hash = "sha256-QVLt1nhxYIMmmVY1rZ8pnkXNs0N6hp1o8rv33o8ptxM="; + hash = "sha256-WvqBEq7Zv1CONMMuDHdj8/nJHoY4y7ysrqliTZHi7x8="; }; propagatedBuildInputs = [ qtbase ]; diff --git a/pkgs/development/libraries/qt-6/modules/qtwayland.nix b/pkgs/development/libraries/qt-6/modules/qtwayland.nix index 771680233d166..54346345e4e39 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwayland.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwayland.nix @@ -5,7 +5,6 @@ , wayland-scanner , pkg-config , libdrm -, fetchpatch }: qtModule { @@ -18,11 +17,9 @@ qtModule { buildInputs = [ wayland libdrm ]; nativeBuildInputs = [ pkg-config ]; - patches = [ - # Update wayland.xml to version 1.23.0 - (fetchpatch { - url = "https://invent.kde.org/qt/qt/qtwayland/-/commit/c2f61bc47baacf2e6a44c6c3c4e4cbf0abfa4095.diff"; - sha256 = "sha256-ZcK/LT65oFvTzCukZB8aDYWH5L6RK5MOPs8VtpYQpq0="; - }) - ]; + # Replace vendored wayland.xml with our matching version + # FIXME: remove when upstream updates past 1.23 + postPatch = '' + cp ${wayland-scanner}/share/wayland/wayland.xml src/3rdparty/protocol/wayland/wayland.xml + ''; } diff --git a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix index 46cc19012c1fb..11a70e53bfcdd 100644 --- a/pkgs/development/libraries/qt-6/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-6/modules/qtwebengine.nix @@ -3,7 +3,6 @@ , qtwebchannel , qtpositioning , qtwebsockets -, fetchpatch2 , buildPackages , bison , coreutils @@ -132,14 +131,6 @@ qtModule { # Override locales install path so they go to QtWebEngine's $out ../patches/qtwebengine-locales-path.patch - - # Support FFmpeg 7 - (fetchpatch2 { - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/qt6-webengine/-/raw/6bee5464ac6340e925e08c7ed023026e727ae9d5/qtwebengine-ffmpeg-7.patch"; - hash = "sha256-OdCIu1KMW3YcpCnfUP1uD7OJRl6Iwap9X4aJhGpoaNs="; - stripLen = 1; - extraPrefix = "src/3rdparty/chromium/"; - }) ]; postPatch = '' diff --git a/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch b/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch index 1e548950a2a6f..fbe49379533b1 100644 --- a/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch +++ b/pkgs/development/libraries/qt-6/patches/0002-qtbase-qmake-fix-mkspecs-for-darwin.patch @@ -1,19 +1,5 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nick Cao -Date: Fri, 14 Apr 2023 21:43:04 +0800 -Subject: [PATCH] qtbase: qmake: fix mkspecs for darwin - ---- - mkspecs/common/mac.conf | 2 +- - mkspecs/features/mac/default_post.prf | 264 -------------------------- - mkspecs/features/mac/default_pre.prf | 58 ------ - mkspecs/features/mac/sdk.mk | 27 --- - mkspecs/features/mac/sdk.prf | 61 ------ - mkspecs/features/mac/toolchain.prf | 5 - - 6 files changed, 1 insertion(+), 416 deletions(-) - diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf -index 61bea952b22..9909dae7260 100644 +index 61bea952b2..9909dae726 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL = \ @@ -26,20 +12,10 @@ index 61bea952b22..9909dae7260 100644 QMAKE_LFLAGS_REL_RPATH = diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf -index 0b64a586b93..3b40328304d 100644 +index 22c84d6473..4d46762bec 100644 --- a/mkspecs/features/mac/default_post.prf +++ b/mkspecs/features/mac/default_post.prf -@@ -1,9 +1,5 @@ - load(default_post) - --# Recompute SDK version in case the user set it explicitly --sdk_version = $$QMAKE_MAC_SDK_VERSION --QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion) -- - contains(TEMPLATE, .*app) { - !macx-xcode:if(isEmpty(BUILDS)|build_pass) { - # Detect changes to the platform SDK -@@ -15,270 +11,10 @@ contains(TEMPLATE, .*app) { +@@ -15,278 +15,10 @@ contains(TEMPLATE, .*app) { QMAKE_EXTRA_INCLUDES += $$shell_quote($$PWD/sdk.mk) } @@ -148,10 +124,12 @@ index 0b64a586b93..3b40328304d 100644 - - QMAKE_XCODE_ARCHS = - -- arch_device.name = "ARCHS[sdk=$${device.sdk}*]" -- arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS -- QMAKE_MAC_XCODE_SETTINGS += arch_device +- !isEmpty(QMAKE_APPLE_DEVICE_ARCHS) { +- arch_device.name = "ARCHS[sdk=$${device.sdk}*]" +- arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS +- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS +- QMAKE_MAC_XCODE_SETTINGS += arch_device +- } - - ios:simulator { - arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]" @@ -252,10 +230,16 @@ index 0b64a586b93..3b40328304d 100644 - platform_identifier = $$device.sdk - sysroot_path = $$xcodeSDKInfo(Path, $$device.sdk) - } -- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target -- QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag -- QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag -- QMAKE_LFLAGS += -isysroot $$sysroot_path $$version_min_flag +- QMAKE_CFLAGS += -isysroot $$sysroot_path +- QMAKE_CXXFLAGS += -isysroot $$sysroot_path +- QMAKE_LFLAGS += -isysroot $$sysroot_path +- +- !isEmpty(version_identifier):!isEmpty(deployment_target) { +- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target +- QMAKE_CFLAGS += $$version_min_flag +- QMAKE_CXXFLAGS += $$version_min_flag +- QMAKE_LFLAGS += $$version_min_flag +- } - } - - # Enable precompiled headers for multiple architectures @@ -311,7 +295,7 @@ index 0b64a586b93..3b40328304d 100644 generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode \"$(EXPORT__PRO_FILE_)\" $$QMAKE_ARGS generate_xcode_project.target = xcodeproj diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf -index e3534561a56..3b01424e67b 100644 +index e3534561a5..3b01424e67 100644 --- a/mkspecs/features/mac/default_pre.prf +++ b/mkspecs/features/mac/default_pre.prf @@ -1,60 +1,2 @@ @@ -376,7 +360,7 @@ index e3534561a56..3b01424e67b 100644 -xcode_copy_phase_strip_setting.value = NO -QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting diff --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk -index a32ceacb6ce..e69de29bb2d 100644 +index a32ceacb6c..e69de29bb2 100644 --- a/mkspecs/features/mac/sdk.mk +++ b/mkspecs/features/mac/sdk.mk @@ -1,27 +0,0 @@ @@ -408,7 +392,7 @@ index a32ceacb6ce..e69de29bb2d 100644 - endif -endif diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf -index 3a9c2778bbe..e69de29bb2d 100644 +index 3a9c2778bb..e69de29bb2 100644 --- a/mkspecs/features/mac/sdk.prf +++ b/mkspecs/features/mac/sdk.prf @@ -1,61 +0,0 @@ @@ -474,7 +458,7 @@ index 3a9c2778bbe..e69de29bb2d 100644 - cache($$tool_variable, set stash, $$tool) -} diff --git a/mkspecs/features/mac/toolchain.prf b/mkspecs/features/mac/toolchain.prf -index df191eb13c4..e69de29bb2d 100644 +index df191eb13c..e69de29bb2 100644 --- a/mkspecs/features/mac/toolchain.prf +++ b/mkspecs/features/mac/toolchain.prf @@ -1,5 +0,0 @@ diff --git a/pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch b/pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch index 563906fb31573..5540ed8d77da4 100644 --- a/pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch +++ b/pkgs/development/libraries/qt-6/patches/fix-qtgui-include-incorrect-case.patch @@ -1,11 +1,11 @@ diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp -index affa52d..b71b461 100644 +index c90dabb53..12557976d 100644 --- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp +++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp @@ -7,7 +7,7 @@ - #include #include #include + #include -#include +#include #include "qvideoframe.h" diff --git a/pkgs/development/libraries/qt-6/patches/qtwebengine-link-pulseaudio.patch b/pkgs/development/libraries/qt-6/patches/qtwebengine-link-pulseaudio.patch index c4302113786e7..a48bb2c37eee5 100644 --- a/pkgs/development/libraries/qt-6/patches/qtwebengine-link-pulseaudio.patch +++ b/pkgs/development/libraries/qt-6/patches/qtwebengine-link-pulseaudio.patch @@ -1,24 +1,12 @@ -From da66a74e8b8e57b4a60b2cd0d18ef3bebb15509c Mon Sep 17 00:00:00 2001 -From: Nick Cao -Date: Tue, 10 Oct 2023 11:45:24 -0400 -Subject: [PATCH 1/2] qtwebengine: link pulseaudio - ---- - src/core/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt -index 4153ce180..e89f41798 100644 +index de5222645..bddb2322a 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt -@@ -340,6 +340,7 @@ foreach(arch ${archs}) - use_static_angle=true - chrome_root_store_supported=false - trial_comparison_cert_verifier_supported=false +@@ -366,6 +366,7 @@ foreach(arch ${archs}) + content_enable_legacy_ipc=true + enable_extensions_legacy_ipc=true + enable_bound_session_credentials=false + link_pulseaudio=true ) extend_gn_list(gnArgArg ARGS use_v8_context_snapshot v8_use_external_startup_data --- -2.42.0 - diff --git a/pkgs/development/libraries/qt-6/srcs.nix b/pkgs/development/libraries/qt-6/srcs.nix index 234fb3afeb318..5f5d27318e71b 100644 --- a/pkgs/development/libraries/qt-6/srcs.nix +++ b/pkgs/development/libraries/qt-6/srcs.nix @@ -1,318 +1,318 @@ # DO NOT EDIT! This file is generated automatically. -# Command: /home/k900/gh/NixOS/nixpkgs/./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-6 +# Command: /home/k900/nixpkgs/./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-6 { fetchurl, mirror }: { qt3d = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qt3d-everywhere-src-6.7.3.tar.xz"; - sha256 = "155nddckcc94klwsn51s9p8ynk1acg7q9dx99blhq7ch98vqrm25"; - name = "qt3d-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qt3d-everywhere-src-6.8.0.tar.xz"; + sha256 = "0zbv1j0i9bla73b4v15skjballff2l0lxgrdfhdkaz232ng9249s"; + name = "qt3d-everywhere-src-6.8.0.tar.xz"; }; }; qt5compat = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qt5compat-everywhere-src-6.7.3.tar.xz"; - sha256 = "1w2k7911n20wdgl3lmxwc7h8sbn7jkjwxz6sl089szmavyinhslb"; - name = "qt5compat-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qt5compat-everywhere-src-6.8.0.tar.xz"; + sha256 = "0c2yhgsn63a5m0pxchmkkqfb7izllpr46srf2pndcsqbszyhb6rw"; + name = "qt5compat-everywhere-src-6.8.0.tar.xz"; }; }; qtactiveqt = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtactiveqt-everywhere-src-6.7.3.tar.xz"; - sha256 = "03qsszrsv3x2w9v65wnmizyqbs0x13c00zjd7sfgsaxw20p5x11a"; - name = "qtactiveqt-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtactiveqt-everywhere-src-6.8.0.tar.xz"; + sha256 = "0nycsn0yim01cvinfaljwmx8rllll6xw62cywqhbz61fqlsdy693"; + name = "qtactiveqt-everywhere-src-6.8.0.tar.xz"; }; }; qtbase = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtbase-everywhere-src-6.7.3.tar.xz"; - sha256 = "15rhv8irwpgxs0pgqsn5dy9ndz6n3vfyv7iccdvaq1aj0nmvkjwc"; - name = "qtbase-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtbase-everywhere-src-6.8.0.tar.xz"; + sha256 = "0x9wp9fd37ycpw73s03p01zi19l93xjp57vcvrrgh9xa20blib8v"; + name = "qtbase-everywhere-src-6.8.0.tar.xz"; }; }; qtcharts = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtcharts-everywhere-src-6.7.3.tar.xz"; - sha256 = "0n9n4gj86g86yqkgws12aw2p6d94lmx6y19qki5gmg76a2jn7sh7"; - name = "qtcharts-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtcharts-everywhere-src-6.8.0.tar.xz"; + sha256 = "0bqkbd31lxyqiw4nbwrach7hixg3q93v26di9hxb0s8s1nndl8qr"; + name = "qtcharts-everywhere-src-6.8.0.tar.xz"; }; }; qtconnectivity = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtconnectivity-everywhere-src-6.7.3.tar.xz"; - sha256 = "1igwnbjhdwmaw1x4v0gx9wv4h4a5h9f9rv9m9dyi0ybv14prpyc0"; - name = "qtconnectivity-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtconnectivity-everywhere-src-6.8.0.tar.xz"; + sha256 = "120pq8yvm4v72800cj0mm8069fiyan036arnc74zq1vmq1ngpgmv"; + name = "qtconnectivity-everywhere-src-6.8.0.tar.xz"; }; }; qtdatavis3d = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtdatavis3d-everywhere-src-6.7.3.tar.xz"; - sha256 = "108x4hafvrc4jpmmx6lcf7mnns7vkgz0004b6qkw5bzq36apdwp1"; - name = "qtdatavis3d-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtdatavis3d-everywhere-src-6.8.0.tar.xz"; + sha256 = "1zscaf1f4dfc5v8w8bivac5hnbq4j6j70vf78b5dcy5h2dfrdwim"; + name = "qtdatavis3d-everywhere-src-6.8.0.tar.xz"; }; }; qtdeclarative = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtdeclarative-everywhere-src-6.7.3.tar.xz"; - sha256 = "0xcq1dhws5k1sdf8iwxc2j2s45171rhjckfla17brxdb87j70ywk"; - name = "qtdeclarative-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtdeclarative-everywhere-src-6.8.0.tar.xz"; + sha256 = "1hj4asdzkm78v0mfwyvh847j010mb43i3xx11nma66g989ms6h9v"; + name = "qtdeclarative-everywhere-src-6.8.0.tar.xz"; }; }; qtdoc = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtdoc-everywhere-src-6.7.3.tar.xz"; - sha256 = "0113rrsrcaw5l425xv96z081idjpav2iprg1834pxfqk3wk2l3ak"; - name = "qtdoc-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtdoc-everywhere-src-6.8.0.tar.xz"; + sha256 = "0mqjki77cbm14jxxh750p6h7kixkma1nsimdl97b4lslcrs3mj1x"; + name = "qtdoc-everywhere-src-6.8.0.tar.xz"; }; }; qtgraphs = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtgraphs-everywhere-src-6.7.3.tar.xz"; - sha256 = "13vcx0fkx9vyvjysnj0n805x13ir1srbzlg1jha8h56ccg6dw2f3"; - name = "qtgraphs-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtgraphs-everywhere-src-6.8.0.tar.xz"; + sha256 = "0hnb1nb8bdhjkrr3b64dk9wgkdgnrb8bxdafvizy2gsr0rd4m9ab"; + name = "qtgraphs-everywhere-src-6.8.0.tar.xz"; }; }; qtgrpc = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtgrpc-everywhere-src-6.7.3.tar.xz"; - sha256 = "1py6h4g5zhqpm99bhxk12paw675a4c6dl95s6nwkvg1y2vaavapf"; - name = "qtgrpc-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtgrpc-everywhere-src-6.8.0.tar.xz"; + sha256 = "0zgli0y52n5ahiahkmr1439c5vmjjv69f1x6vw4jbhc3xkp4lnvx"; + name = "qtgrpc-everywhere-src-6.8.0.tar.xz"; }; }; qthttpserver = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qthttpserver-everywhere-src-6.7.3.tar.xz"; - sha256 = "1zyyyj9q0yy5gh28yqgc0nwhgdvg0qbwkag9bd566srbwp3if8vz"; - name = "qthttpserver-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qthttpserver-everywhere-src-6.8.0.tar.xz"; + sha256 = "0zvrmqdch8mgpz3xbql3qy6zivyg8f0h10h86di90p1ssb40ihw1"; + name = "qthttpserver-everywhere-src-6.8.0.tar.xz"; }; }; qtimageformats = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtimageformats-everywhere-src-6.7.3.tar.xz"; - sha256 = "0ls76bxl3xhy7hyzw53vj8q3h0llsbm9dpb86wvw6m0n11283mcz"; - name = "qtimageformats-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtimageformats-everywhere-src-6.8.0.tar.xz"; + sha256 = "1m55966458jf5n7hciahzw8fdix3d2cf1w96qzmziqcigdazhnsr"; + name = "qtimageformats-everywhere-src-6.8.0.tar.xz"; }; }; qtlanguageserver = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtlanguageserver-everywhere-src-6.7.3.tar.xz"; - sha256 = "13yzz6qnpkah9s89xlqiszzkbw1j6c1a2vzwkgjdj0w589r3hvf5"; - name = "qtlanguageserver-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtlanguageserver-everywhere-src-6.8.0.tar.xz"; + sha256 = "1vsw0q0pb7dbxhpg1df0bandfy7k62l68pi063fxpld4ihn1bxzv"; + name = "qtlanguageserver-everywhere-src-6.8.0.tar.xz"; }; }; qtlocation = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtlocation-everywhere-src-6.7.3.tar.xz"; - sha256 = "1657scmrkyhm31fgvgpjlqd053gb7bcywra4qvlgg3h4rpfxg7sn"; - name = "qtlocation-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtlocation-everywhere-src-6.8.0.tar.xz"; + sha256 = "181ijzpx4xav5j282w2ppa9g5wdc4z13q0r7269flrb9ngs8gi50"; + name = "qtlocation-everywhere-src-6.8.0.tar.xz"; }; }; qtlottie = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtlottie-everywhere-src-6.7.3.tar.xz"; - sha256 = "03c3s6alabqqqhi8cx8rnkr3gx7h8rcf2wn8iy9n7hbsfrvix39r"; - name = "qtlottie-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtlottie-everywhere-src-6.8.0.tar.xz"; + sha256 = "15kw2cgxqh8mhip0838yalbpfnp4pd000sdalgxvc53bd8wycsfb"; + name = "qtlottie-everywhere-src-6.8.0.tar.xz"; }; }; qtmultimedia = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtmultimedia-everywhere-src-6.7.3.tar.xz"; - sha256 = "00vkazz4mcz5n2hdh10y9mh0fi2kygai009vi69m4hwjwnw2hk9h"; - name = "qtmultimedia-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtmultimedia-everywhere-src-6.8.0.tar.xz"; + sha256 = "1kfgfcnihn0rqnjdif4n0hd8j2p9xkbfy3a2m3gsfypscajnlxi8"; + name = "qtmultimedia-everywhere-src-6.8.0.tar.xz"; }; }; qtnetworkauth = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtnetworkauth-everywhere-src-6.7.3.tar.xz"; - sha256 = "1dqk9983cjf3kiprk053xn3np2c25044dlfdrzs5d742x2jpb6kb"; - name = "qtnetworkauth-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtnetworkauth-everywhere-src-6.8.0.tar.xz"; + sha256 = "0j6ch2p6c2b6akg0hq7iy96v118rypz77573bf4mvcy68ijmcpdr"; + name = "qtnetworkauth-everywhere-src-6.8.0.tar.xz"; }; }; qtpositioning = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtpositioning-everywhere-src-6.7.3.tar.xz"; - sha256 = "0736qsf7k3dqdm9gd7xc0l368h45jgzh4nzz72wizj9489sp6w6s"; - name = "qtpositioning-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtpositioning-everywhere-src-6.8.0.tar.xz"; + sha256 = "0fgbgsg1hnwnm7bbp0j41nlpmz9g65nwj48v2c8mjiq15cz4d0gc"; + name = "qtpositioning-everywhere-src-6.8.0.tar.xz"; }; }; qtquick3d = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquick3d-everywhere-src-6.7.3.tar.xz"; - sha256 = "0mwrlz9ji0ivnxz44m9xhhsk7lngxjnmid420s359vs21msik6ni"; - name = "qtquick3d-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtquick3d-everywhere-src-6.8.0.tar.xz"; + sha256 = "0gr2y030phghpniw7flr90f4kckiksq39y53dwddncysw970959y"; + name = "qtquick3d-everywhere-src-6.8.0.tar.xz"; }; }; qtquick3dphysics = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquick3dphysics-everywhere-src-6.7.3.tar.xz"; - sha256 = "1wyqi6z0g2pi0wj288ssjj0awn8jpi9rqa8bi510s9vr625w8pdl"; - name = "qtquick3dphysics-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtquick3dphysics-everywhere-src-6.8.0.tar.xz"; + sha256 = "07wmy546hwavbpy368pyk0qgj79sqykqkcsnmv802qp7kwi5rcqk"; + name = "qtquick3dphysics-everywhere-src-6.8.0.tar.xz"; }; }; qtquickeffectmaker = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquickeffectmaker-everywhere-src-6.7.3.tar.xz"; - sha256 = "15if8ansjc1nkpaf6ldyydb47grgv079pm15ljn0ykf35ldzv2sq"; - name = "qtquickeffectmaker-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtquickeffectmaker-everywhere-src-6.8.0.tar.xz"; + sha256 = "1x3lijsfd8pv74sgyjc7cj9s0c2q9bf49r44aa2d0zdjs3rxg8ca"; + name = "qtquickeffectmaker-everywhere-src-6.8.0.tar.xz"; }; }; qtquicktimeline = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtquicktimeline-everywhere-src-6.7.3.tar.xz"; - sha256 = "00n90camzs7c3s61id58466sypc83w0101wrnw0xwlaci1kld45p"; - name = "qtquicktimeline-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtquicktimeline-everywhere-src-6.8.0.tar.xz"; + sha256 = "020zv4fnx37k8nm0c462bk8r9ma7l6ivr8j7i82h6688v0ds81hi"; + name = "qtquicktimeline-everywhere-src-6.8.0.tar.xz"; }; }; qtremoteobjects = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtremoteobjects-everywhere-src-6.7.3.tar.xz"; - sha256 = "1lciziv5qvnxich39j0q46v3pkn83yy1jkm2q3d10k5672lqmh4r"; - name = "qtremoteobjects-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtremoteobjects-everywhere-src-6.8.0.tar.xz"; + sha256 = "123mkiak4xj05yg6sg86z1hixp8vycj0yks1fj1yk5lpdl65gpzi"; + name = "qtremoteobjects-everywhere-src-6.8.0.tar.xz"; }; }; qtscxml = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtscxml-everywhere-src-6.7.3.tar.xz"; - sha256 = "18zdgq3sapkh6jsnfhl0xm0r8ydbg7kxwr70b7szpdmg1pmyp3v0"; - name = "qtscxml-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtscxml-everywhere-src-6.8.0.tar.xz"; + sha256 = "0fxl6yc03z43x49nskm2r1wa7vq9zg6dv1hl74nipc21yi7amadv"; + name = "qtscxml-everywhere-src-6.8.0.tar.xz"; }; }; qtsensors = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtsensors-everywhere-src-6.7.3.tar.xz"; - sha256 = "1z68yfjljv7bi49kna4a7yz6javw9bqdw0jr30zmzvb2ldfqsfn0"; - name = "qtsensors-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtsensors-everywhere-src-6.8.0.tar.xz"; + sha256 = "0yg6vn1yk4k962bff33pk9pjzyw3rskqcqfnadfvgyh5zb2l8dbj"; + name = "qtsensors-everywhere-src-6.8.0.tar.xz"; }; }; qtserialbus = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtserialbus-everywhere-src-6.7.3.tar.xz"; - sha256 = "0xk218y1cm9icdzb4dn9nvszr9n22anmf2iz72vhhy42gaf2xn2m"; - name = "qtserialbus-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtserialbus-everywhere-src-6.8.0.tar.xz"; + sha256 = "1ynsy0xkjdp5d3rii0ch540n8cs07dzwd66cxw59gh9j92839676"; + name = "qtserialbus-everywhere-src-6.8.0.tar.xz"; }; }; qtserialport = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtserialport-everywhere-src-6.7.3.tar.xz"; - sha256 = "1w26n5nw8fv9cq258xm0p7niisbig5ky83njm3nwjfcvh3p5iynl"; - name = "qtserialport-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtserialport-everywhere-src-6.8.0.tar.xz"; + sha256 = "1hz7fynpa6z0x206g920xfk45hi74fahpcyha1f09cddrwpdfrvp"; + name = "qtserialport-everywhere-src-6.8.0.tar.xz"; }; }; qtshadertools = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtshadertools-everywhere-src-6.7.3.tar.xz"; - sha256 = "1589ij1aarr0i6cfbdxg8yxvljs52599g39d98sxmnvxiiwi5rbl"; - name = "qtshadertools-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtshadertools-everywhere-src-6.8.0.tar.xz"; + sha256 = "1jy4siv6ny9wgs5bcn19z05my9q8za0wi5lyngrlndw26k4jssa4"; + name = "qtshadertools-everywhere-src-6.8.0.tar.xz"; }; }; qtspeech = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtspeech-everywhere-src-6.7.3.tar.xz"; - sha256 = "04h998pshs2bzm3a0bvmkq2an2yhgfrap22k3lvprx3f3gsgn2gn"; - name = "qtspeech-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtspeech-everywhere-src-6.8.0.tar.xz"; + sha256 = "0rb52qbwjkxlncz28rcjapi059b8px3i5haq71gm7f1pph90l8vm"; + name = "qtspeech-everywhere-src-6.8.0.tar.xz"; }; }; qtsvg = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtsvg-everywhere-src-6.7.3.tar.xz"; - sha256 = "0sx0xm6hcjhjhrmswycrgwvdjk6mymkindmw2bb7mq5i3yvjq520"; - name = "qtsvg-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtsvg-everywhere-src-6.8.0.tar.xz"; + sha256 = "16b1ckqpfhzn9xaqbwz5gy4b0xavbpjxj4064ivq23sjbqymjyng"; + name = "qtsvg-everywhere-src-6.8.0.tar.xz"; }; }; qttools = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qttools-everywhere-src-6.7.3.tar.xz"; - sha256 = "0gr06dr3dd334mswrjdxp27dhpdbpjvk03hipafsrncwc7gvffzh"; - name = "qttools-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qttools-everywhere-src-6.8.0.tar.xz"; + sha256 = "1xw1k7rnm2yylbj08p9a0w2ydfcfwa50qca3dv6cc0w54vc1aca0"; + name = "qttools-everywhere-src-6.8.0.tar.xz"; }; }; qttranslations = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qttranslations-everywhere-src-6.7.3.tar.xz"; - sha256 = "1j3dklf0gvzpnl6zw254fv7wy3iyypbbcsfkwjsrnfq4mjn65iyw"; - name = "qttranslations-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qttranslations-everywhere-src-6.8.0.tar.xz"; + sha256 = "1dkw8f3hcnmnnv0ia62i5189dcgjkpx7pkcal180rka3q9kjpgw4"; + name = "qttranslations-everywhere-src-6.8.0.tar.xz"; }; }; qtvirtualkeyboard = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtvirtualkeyboard-everywhere-src-6.7.3.tar.xz"; - sha256 = "1n932jgj97ili5chhfrscqvhdaz0na5yla3xljnlih0jw82231qs"; - name = "qtvirtualkeyboard-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtvirtualkeyboard-everywhere-src-6.8.0.tar.xz"; + sha256 = "1q0cdmxm4j9w6lhm1k1ayjykknl6kmzr415qc14znr87ykbh4rcg"; + name = "qtvirtualkeyboard-everywhere-src-6.8.0.tar.xz"; }; }; qtwayland = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwayland-everywhere-src-6.7.3.tar.xz"; - sha256 = "1ddjf9lrlx8cp0699sq8vc8fx44nvz9daxq5qazh7x98nv7cf9p3"; - name = "qtwayland-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtwayland-everywhere-src-6.8.0.tar.xz"; + sha256 = "02h6lak0cp87b76474ifsm78vsx0gwfc2smnzg3g3srq2rcmhmqp"; + name = "qtwayland-everywhere-src-6.8.0.tar.xz"; }; }; qtwebchannel = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebchannel-everywhere-src-6.7.3.tar.xz"; - sha256 = "1f3lak91fvlncgs43dcgkgjg25f9449d2pvbsh33m6xhdpg3yqqm"; - name = "qtwebchannel-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtwebchannel-everywhere-src-6.8.0.tar.xz"; + sha256 = "1h30mzmhkbcjaj4wivway0ldrdidqyg2b79313v2m3capwjhs9fn"; + name = "qtwebchannel-everywhere-src-6.8.0.tar.xz"; }; }; qtwebengine = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebengine-everywhere-src-6.7.3.tar.xz"; - sha256 = "1ns6v24jarjlvd1b3nh4x3sp6y38ag62dsh7x6f5dp40pff1aay2"; - name = "qtwebengine-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtwebengine-everywhere-src-6.8.0.tar.xz"; + sha256 = "0lklgz5i3ryl6d1ghy11rvmg9isbzvrvx007nwb4qqm89294b114"; + name = "qtwebengine-everywhere-src-6.8.0.tar.xz"; }; }; qtwebsockets = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebsockets-everywhere-src-6.7.3.tar.xz"; - sha256 = "03lrqphvn0bwrma8rjqb8x7giqgk24gdgl9v7syaas7fnxyh00xs"; - name = "qtwebsockets-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtwebsockets-everywhere-src-6.8.0.tar.xz"; + sha256 = "0vxgbqxahay0gz5cv3fl075qw3flm3hgz1srhs4jl75p8rff0jy1"; + name = "qtwebsockets-everywhere-src-6.8.0.tar.xz"; }; }; qtwebview = { - version = "6.7.3"; + version = "6.8.0"; src = fetchurl { - url = "${mirror}/official_releases/qt/6.7/6.7.3/submodules/qtwebview-everywhere-src-6.7.3.tar.xz"; - sha256 = "0bdr0m8453difqwd8gvgqsd4df4j8lnlbi44cdazwhx28kzfi2kh"; - name = "qtwebview-everywhere-src-6.7.3.tar.xz"; + url = "${mirror}/official_releases/qt/6.8/6.8.0/submodules/qtwebview-everywhere-src-6.8.0.tar.xz"; + sha256 = "1wvrq7lf688hqvq102kyvx7kqnixxp6w25cb6rvb2xiqb50rvf3w"; + name = "qtwebview-everywhere-src-6.8.0.tar.xz"; }; }; } From 38fb2331ad7e14d114ffefa6169c098ffb8ccd76 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 8 Oct 2024 14:12:49 +0300 Subject: [PATCH 463/491] maintainers/scripts/fetch-kde-qt.sh: hardcode path instead of using $0 --- maintainers/scripts/fetch-kde-qt.sh | 2 +- pkgs/development/libraries/qt-6/srcs.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/maintainers/scripts/fetch-kde-qt.sh b/maintainers/scripts/fetch-kde-qt.sh index c43e8ad904d7d..b5d49f8350380 100755 --- a/maintainers/scripts/fetch-kde-qt.sh +++ b/maintainers/scripts/fetch-kde-qt.sh @@ -156,7 +156,7 @@ files_before=$(grep -c 'src = ' "$SRCS") echo "writing output file $SRCS ..." cat >"$SRCS" < Date: Tue, 8 Oct 2024 15:24:45 +0300 Subject: [PATCH 464/491] qt6: build with Apple SDK 12.3 This is still multiple versions behind where we should be, but it is the latest we've got (for now, anyway), and 11.0 doesn't build at all. --- pkgs/development/libraries/qt-6/default.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index 8625dadf5233c..51bd83a99d197 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -29,7 +29,7 @@ let inherit srcs python3; stdenv = if stdenv.hostPlatform.isDarwin - then overrideSDK stdenv { darwinMinVersion = "11.0"; darwinSdkVersion = "11.0"; } + then overrideSDK stdenv { darwinMinVersion = "11.0"; darwinSdkVersion = "12.3"; } else stdenv; }); in @@ -42,7 +42,7 @@ let qtbase = callPackage ./modules/qtbase.nix { withGtk3 = !stdenv.hostPlatform.isMinGW; inherit (srcs.qtbase) src version; - inherit (darwin.apple_sdk_11_0.frameworks) + inherit (darwin.apple_sdk_12_3.frameworks) AGL AVFoundation AppKit Contacts CoreBluetooth EventKit GSS MetalKit; patches = [ ./patches/0001-qtbase-qmake-always-use-libname-instead-of-absolute-.patch @@ -113,7 +113,7 @@ let qt5compat = callPackage ./modules/qt5compat.nix { }; qtcharts = callPackage ./modules/qtcharts.nix { }; qtconnectivity = callPackage ./modules/qtconnectivity.nix { - inherit (darwin.apple_sdk_11_0.frameworks) IOBluetooth PCSC; + inherit (darwin.apple_sdk_12_3.frameworks) IOBluetooth PCSC; }; qtdatavis3d = callPackage ./modules/qtdatavis3d.nix { }; qtdeclarative = callPackage ./modules/qtdeclarative.nix { }; @@ -127,7 +127,7 @@ let qtlottie = callPackage ./modules/qtlottie.nix { }; qtmultimedia = callPackage ./modules/qtmultimedia.nix { inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi; - inherit (darwin.apple_sdk_11_0.frameworks) VideoToolbox; + inherit (darwin.apple_sdk_12_3.frameworks) VideoToolbox; }; qtmqtt = callPackage ./modules/qtmqtt.nix { }; qtnetworkauth = callPackage ./modules/qtnetworkauth.nix { }; @@ -137,7 +137,7 @@ let qtserialport = callPackage ./modules/qtserialport.nix { }; qtshadertools = callPackage ./modules/qtshadertools.nix { }; qtspeech = callPackage ./modules/qtspeech.nix { - inherit (darwin.apple_sdk_11_0.frameworks) Cocoa; + inherit (darwin.apple_sdk_12_3.frameworks) Cocoa; }; qtquick3d = callPackage ./modules/qtquick3d.nix { }; qtquick3dphysics = callPackage ./modules/qtquick3dphysics.nix { }; @@ -153,9 +153,9 @@ let qtwebchannel = callPackage ./modules/qtwebchannel.nix { }; qtwebengine = callPackage ./modules/qtwebengine.nix { inherit (darwin) autoSignDarwinBinariesHook bootstrap_cmds xnu; - inherit (darwin.apple_sdk_11_0) libpm libunwind; - inherit (darwin.apple_sdk_11_0.libs) sandbox; - inherit (darwin.apple_sdk_11_0.frameworks) + inherit (darwin.apple_sdk_12_3) libpm libunwind; + inherit (darwin.apple_sdk_12_3.libs) sandbox; + inherit (darwin.apple_sdk_12_3.frameworks) AGL AVFoundation Accelerate Cocoa CoreLocation CoreML ForceFeedback GameController ImageCaptureCore LocalAuthentication MediaAccessibility MediaPlayer MetalKit Network OpenDirectory Quartz @@ -174,7 +174,7 @@ let }; qtwebsockets = callPackage ./modules/qtwebsockets.nix { }; qtwebview = callPackage ./modules/qtwebview.nix { - inherit (darwin.apple_sdk_11_0.frameworks) WebKit; + inherit (darwin.apple_sdk_12_3.frameworks) WebKit; }; wrapQtAppsHook = callPackage From 20afb4559c29bf544eeffb90a2dfd1afd6541902 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 8 Oct 2024 13:39:19 +0300 Subject: [PATCH 465/491] maintainers/scripts/kde: fix formatting to match nixfmt --- maintainers/scripts/kde/generate-sources.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/maintainers/scripts/kde/generate-sources.py b/maintainers/scripts/kde/generate-sources.py index e107e00fb71d3..e7c52368363a5 100755 --- a/maintainers/scripts/kde/generate-sources.py +++ b/maintainers/scripts/kde/generate-sources.py @@ -23,7 +23,8 @@ '''.strip()) ROOT_TEMPLATE = jinja2.Template(''' -{callPackage}: { +{ callPackage }: +{ {%- for p in packages %} {{ p }} = callPackage ./{{ p }} { }; {%- endfor %} From 91e87264ee5a51895c9a3f56c2409f58d49350e1 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 13 Sep 2024 08:05:36 +0300 Subject: [PATCH 466/491] kdePackages.pulseaudio-qt: 1.5.0 -> 1.6.0 --- pkgs/kde/misc/pulseaudio-qt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/kde/misc/pulseaudio-qt/default.nix b/pkgs/kde/misc/pulseaudio-qt/default.nix index 108824c87ff61..4b245616fee21 100644 --- a/pkgs/kde/misc/pulseaudio-qt/default.nix +++ b/pkgs/kde/misc/pulseaudio-qt/default.nix @@ -7,11 +7,11 @@ }: mkKdeDerivation rec { pname = "pulseaudio-qt"; - version = "1.5.0"; + version = "1.6.0"; src = fetchurl { url = "mirror://kde/stable/pulseaudio-qt/pulseaudio-qt-${version}.tar.xz"; - hash = "sha256-zY9RyHAAc9D9kNV4QIOs63PnK6mnBOYF4KZ5CUJqhSA="; + hash = "sha256-G+y62ss2qdakMaDJPNtCj49n83zy0jdoZ1mDMYwK3oQ="; }; extraNativeBuildInputs = [ pkg-config ]; From 0c879e6e01a6e3c38b5c38f329aecc17d11dec80 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 20 Sep 2024 09:01:51 +0300 Subject: [PATCH 467/491] kdePackages: Plasma 6.1.5 -> 6.2.0 --- .../scripts/kde/collect-missing-deps.py | 2 + pkgs/kde/generated/licenses.json | 31 +- pkgs/kde/generated/sources/plasma.json | 394 +++++++++--------- pkgs/kde/plasma/default.nix | 2 + pkgs/kde/plasma/discover/default.nix | 6 + pkgs/kde/plasma/discover/qml-deps.patch | 13 + pkgs/kde/plasma/drkonqi/gdb-path.patch | 70 ++-- pkgs/kde/plasma/kwin/default.nix | 4 +- pkgs/kde/plasma/plasma-dialer/default.nix | 23 + pkgs/kde/plasma/plasma-workspace/default.nix | 4 +- .../plasma-workspace/dependency-paths.patch | 48 +-- pkgs/kde/plasma/powerdevil/default.nix | 4 +- pkgs/kde/plasma/spacebar/default.nix | 19 + 13 files changed, 370 insertions(+), 250 deletions(-) create mode 100644 pkgs/kde/plasma/discover/qml-deps.patch create mode 100644 pkgs/kde/plasma/plasma-dialer/default.nix create mode 100644 pkgs/kde/plasma/spacebar/default.nix diff --git a/maintainers/scripts/kde/collect-missing-deps.py b/maintainers/scripts/kde/collect-missing-deps.py index aec2c29588f0b..bb2070ffe87ba 100755 --- a/maintainers/scripts/kde/collect-missing-deps.py +++ b/maintainers/scripts/kde/collect-missing-deps.py @@ -72,6 +72,7 @@ }, "kwin": { "display-info", # newer versions identify as libdisplay-info + "Libcap", # used to call setcap at build time and nothing else }, "libksysguard": { "Libcap", # used to call setcap at build time and nothing else @@ -90,6 +91,7 @@ }, "powerdevil": { "DDCUtil", # cursed, intentionally disabled + "Libcap", # used to call setcap at build time and nothing else }, "print-manager": { "PackageKitQt6", # used for auto-installing drivers which does not work for obvious reasons diff --git a/pkgs/kde/generated/licenses.json b/pkgs/kde/generated/licenses.json index 1b7f74fce5cb7..d5417831555ca 100644 --- a/pkgs/kde/generated/licenses.json +++ b/pkgs/kde/generated/licenses.json @@ -254,6 +254,7 @@ "GPL-2.0-only", "GPL-2.0-or-later", "GPL-3.0-only", + "LGPL-2.0-or-later", "LicenseRef-KDE-Accepted-GPL", "MIT" ], @@ -326,6 +327,7 @@ "GPL-3.0-only", "LGPL-2.0-or-later", "LGPL-2.1-only", + "LGPL-2.1-or-later", "LGPL-3.0-only", "LGPL-3.0-or-later", "LicenseRef-KDE-Accepted-GPL", @@ -2515,6 +2517,19 @@ "LicenseRef-KDE-Accepted-LGPL", "MIT" ], + "plasma-dialer": [ + "BSD-3-Clause", + "CC0-1.0", + "GPL-2.0-only", + "GPL-2.0-or-later", + "GPL-3.0-only", + "LGPL-2.0-or-later", + "LGPL-2.1-only", + "LGPL-2.1-or-later", + "LGPL-3.0-only", + "LicenseRef-KDE-Accepted-GPL", + "LicenseRef-KDE-Accepted-LGPL" + ], "plasma-disks": [ "BSD-3-Clause", "CC0-1.0", @@ -2646,6 +2661,7 @@ "GPL-2.0-only", "GPL-2.0-or-later", "GPL-3.0-only", + "GPL-3.0-or-later", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1-only", @@ -2662,6 +2678,7 @@ "BSD-3-Clause", "CC0-1.0", "GPL-2.0-or-later", + "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1-or-later" ], @@ -2687,18 +2704,21 @@ "LGPL-2.0-or-later" ], "powerdevil": [ + "BSD-2-Clause", "BSD-3-Clause", "CC0-1.0", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-3.0-only", + "GPL-3.0-or-later", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1-only", "LGPL-2.1-or-later", "LGPL-3.0-only", "LicenseRef-KDE-Accepted-GPL", - "LicenseRef-KDE-Accepted-LGPL" + "LicenseRef-KDE-Accepted-LGPL", + "MIT" ], "poxml": [ "CC0-1.0" @@ -2808,6 +2828,15 @@ "LGPL-2.0-or-later", "LGPL-2.1-or-later" ], + "spacebar": [ + "BSD-2-Clause", + "CC0-1.0", + "GPL-2.0-only", + "GPL-2.0-or-later", + "GPL-3.0-only", + "LGPL-2.0-or-later", + "LicenseRef-KDE-Accepted-GPL" + ], "spectacle": [ "BSD-3-Clause", "CC0-1.0", diff --git a/pkgs/kde/generated/sources/plasma.json b/pkgs/kde/generated/sources/plasma.json index 6d10817031843..3b4324a6c7567 100644 --- a/pkgs/kde/generated/sources/plasma.json +++ b/pkgs/kde/generated/sources/plasma.json @@ -1,322 +1,332 @@ { "bluedevil": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/bluedevil-6.1.5.tar.xz", - "hash": "sha256-KZWNoIsyQr2kJDiYnuPsuB04bKW+cjMlBuXPDe0LcHc=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/bluedevil-6.2.0.tar.xz", + "hash": "sha256-jj5xMBc00iyEof9cEMgfpSpQv0ftK/ST/gWoi/y9Hns=" }, "breeze": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/breeze-6.1.5.tar.xz", - "hash": "sha256-VEkXfJBhP5e0dK53YoXM/G6Gc2kdEgM32VNwyefIPLI=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/breeze-6.2.0.tar.xz", + "hash": "sha256-+WWgn+GZhG1VNmxhFOqTNnPKTMfcuB4kDJwK5HkV7lE=" }, "breeze-grub": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/breeze-grub-6.1.5.tar.xz", - "hash": "sha256-ezzwtCaAG9dLvWuPDcSvN7E3UPl7817c006moU0gCQk=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/breeze-grub-6.2.0.tar.xz", + "hash": "sha256-O4WW1N6rcnnP6gbif1STLq9ccHBnzCwjHsSmHns3Rbs=" }, "breeze-gtk": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/breeze-gtk-6.1.5.tar.xz", - "hash": "sha256-lgw98EdCPoXh8zvbYLcb3HSGuZQdideFMQ3r5QG9RtE=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/breeze-gtk-6.2.0.tar.xz", + "hash": "sha256-phHkRK7KNPFv5uCQEekBT88rtdlCLdZEAR9EDMxTdbg=" }, "breeze-plymouth": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/breeze-plymouth-6.1.5.tar.xz", - "hash": "sha256-Z2H6s/bVdWhjWwfBwjRgqRaBLgSXk3IYAdd6xd+O1gs=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/breeze-plymouth-6.2.0.tar.xz", + "hash": "sha256-ggrcuEinbtdhtclGZWk3S20uAQL6ykX5EYxAbM/fV6Y=" }, "discover": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/discover-6.1.5.tar.xz", - "hash": "sha256-biz1n6wst5JCDtbfZT+AMH1uM9bmrpwa8oJ6k7rjy40=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/discover-6.2.0.tar.xz", + "hash": "sha256-QP/KtDliA07UyISLqk41T0j/Pdi5TTKdw97sOGBklf8=" }, "drkonqi": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/drkonqi-6.1.5.tar.xz", - "hash": "sha256-Dhsn5OjrUdEcO9SnyfA5my6qP6tr6H3fQNKL4N6ujb8=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/drkonqi-6.2.0.tar.xz", + "hash": "sha256-5t2XbT9O2A57wNoaM7j1eKE69VZPDjfcSe1Zo8TWjow=" }, "flatpak-kcm": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/flatpak-kcm-6.1.5.tar.xz", - "hash": "sha256-UI99mL0UEkIUdG8kSAT+3c0kWIyw63xYA5B7IlE9KQo=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/flatpak-kcm-6.2.0.tar.xz", + "hash": "sha256-KiA+cpJXHvE3N4XCRJxQO+FUCNvfCnpZ1+mdjp3vGoE=" }, "kactivitymanagerd": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kactivitymanagerd-6.1.5.tar.xz", - "hash": "sha256-P4r9onN4eALVzUa/dvjxRn7OHyHIO7qmUTQ1d1UjgQ8=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kactivitymanagerd-6.2.0.tar.xz", + "hash": "sha256-65Q2EdhdGKxXk8O8gbl7dQevlwNN8Dhtm9DjmZnm4Gw=" }, "kde-cli-tools": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kde-cli-tools-6.1.5.tar.xz", - "hash": "sha256-wPM2Bir4AIBFTKOahatgvKHseoVOhMCdSSgwsRB5AxM=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kde-cli-tools-6.2.0.tar.xz", + "hash": "sha256-e+BC+Yr0bMtflzWP+fpYyTA2BsmQnhyS7OViR9nT0rY=" }, "kdecoration": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kdecoration-6.1.5.tar.xz", - "hash": "sha256-POFs6mWdhj9465PVZ7+VKz9mRAvs1CSwbSBB/wZ53vc=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kdecoration-6.2.0.tar.xz", + "hash": "sha256-BdDTjuVcki2xNf2GTjXEdCmIp7JlFqNBuCTpgElgyRk=" }, "kde-gtk-config": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kde-gtk-config-6.1.5.tar.xz", - "hash": "sha256-Yx5Z9SYZ3alA0gWU3FUAjC8ZLacF5sXb+m0lF1CHti4=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kde-gtk-config-6.2.0.tar.xz", + "hash": "sha256-m7Yirv6iCqkz+FJCwRxwdYFQqG95Yc83Un0UzW2Y+Wc=" }, "kdeplasma-addons": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kdeplasma-addons-6.1.5.tar.xz", - "hash": "sha256-Nrb54cA+UupOXQQJoHhhF8gkcWYWny0KIh8g8a6riGM=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kdeplasma-addons-6.2.0.tar.xz", + "hash": "sha256-KOZ46UTPzhgxqXT8SELp/JV3v9zTrxBtG4qFIrVvwg4=" }, "kgamma": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kgamma-6.1.5.tar.xz", - "hash": "sha256-L0Psa0q6wnJJsQFZTxnyIv5+WUcFT1JSwRqdnsIKtCw=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kgamma-6.2.0.tar.xz", + "hash": "sha256-UkQ4SuKNkrBVXpxn1ZlWRv+bEDces2sH3RS5NHeebPw=" }, "kglobalacceld": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kglobalacceld-6.1.5.tar.xz", - "hash": "sha256-3A4Kl34Lrhd4jnAwvsONZVrvYMzgG3QOSPVXmkcx06o=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kglobalacceld-6.2.0.tar.xz", + "hash": "sha256-IVdJJXXA2Cn8kWJMBxpNK4EfrJzMZDDxScHdB4ZuTXw=" }, "kinfocenter": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kinfocenter-6.1.5.tar.xz", - "hash": "sha256-CXauQ3Vrbdv05w51DLF/Qi2r52BMXi+CSrTx4BYa5dA=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kinfocenter-6.2.0.tar.xz", + "hash": "sha256-UIcw97RNyFuk5nyvUmGZUozvzz3WA/YoCRepMOD+Bsw=" }, "kmenuedit": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kmenuedit-6.1.5.tar.xz", - "hash": "sha256-/LJ6g6VVT7VlRjO+0Iy2CJhlcuMPXkJBYHo1TsidZVY=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kmenuedit-6.2.0.tar.xz", + "hash": "sha256-IWLv11QSj7BnSgZQbziyT+mEWVvbkoqfpwDmoG8ED/c=" }, "kpipewire": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kpipewire-6.1.5.tar.xz", - "hash": "sha256-JbMs/K/zUvDErNpXRq3/0uOyi1/wZIUhvehijKcUWkk=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kpipewire-6.2.0.tar.xz", + "hash": "sha256-csB+bGYItsXqokYNl1v5BHSJZR+wXeXltUCHZSn0JbA=" }, "krdp": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/krdp-6.1.5.tar.xz", - "hash": "sha256-qR3iyOi2/oUu3u5QtyLyq+vDs4R31++TX55re3znxrc=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/krdp-6.2.0.tar.xz", + "hash": "sha256-vln3THuq4hQ79bL/dyKjku1I413ELk/ZtvtqgenfSpo=" }, "kscreen": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kscreen-6.1.5.tar.xz", - "hash": "sha256-QWap9tWI7v3BntnZqeD4Jlq0mZviSLoRtI7jU+y8UR8=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kscreen-6.2.0.tar.xz", + "hash": "sha256-ClFDHs9PrEhtNWb4npjE0uS8mqjRprAeieXcYP8f5fI=" }, "kscreenlocker": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kscreenlocker-6.1.5.tar.xz", - "hash": "sha256-oOqDVBIqKOCsxuxgSnZY/uWwDxJcwJ6nWMm5G/PH8Pw=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kscreenlocker-6.2.0.tar.xz", + "hash": "sha256-m/QE/7DX19wZayWIrl9HP9he6t58svVkAOORBsEUfxc=" }, "ksshaskpass": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/ksshaskpass-6.1.5.tar.xz", - "hash": "sha256-NN1y8r94XdS2yYlEvU5ETb60a7Xy10xblbrtghxnGPE=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/ksshaskpass-6.2.0.tar.xz", + "hash": "sha256-KimJtRX9HEooG3ujda8H2gdObgYh1nyLrEhvKCBx3Bg=" }, "ksystemstats": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/ksystemstats-6.1.5.tar.xz", - "hash": "sha256-hCW7nwdiNNFn6vaJt09ynioFYcNnRz6KhPq0pMOcaJM=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/ksystemstats-6.2.0.tar.xz", + "hash": "sha256-BYFdAazbGZwFL6mUxI9J9pS0NWp/wj7/OLsAYUrkaH4=" }, "kwallet-pam": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kwallet-pam-6.1.5.tar.xz", - "hash": "sha256-swysTx4mY3dlR5U6YhCTcdX5tDRKjfkgeILx4d3koD8=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kwallet-pam-6.2.0.tar.xz", + "hash": "sha256-WB2stm4jqtsUVo0Dr8fgEq2QkpInexkti2jsHNQnue0=" }, "kwayland": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kwayland-6.1.5.tar.xz", - "hash": "sha256-Z6PhVzC9o2Bz8wQivcIa7ie/IF++7BorgCDJ0al/jak=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kwayland-6.2.0.tar.xz", + "hash": "sha256-f/4MKx+CMVtiJsUM+3UuZzjldvv3C3KW0XF7PYYiYkQ=" }, "kwayland-integration": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kwayland-integration-6.1.5.tar.xz", - "hash": "sha256-I8YQID8b+qzMgnGOYK2qMz4x3UKDfU6E3/DPgOYUxog=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kwayland-integration-6.2.0.tar.xz", + "hash": "sha256-aue6XsXwZfNmA8BhI0HdvQ2URbcvxvumtiy+3NT6n/A=" }, "kwin": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kwin-6.1.5.tar.xz", - "hash": "sha256-ugqs4yMZW1itv94U7HTN1MKMIR14pWfESvcPM23Ks/c=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kwin-6.2.0.tar.xz", + "hash": "sha256-iuiFLkjAQulvmOdqi2f36U8dYBk5M2+6f424tDvy/Lo=" }, "kwrited": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/kwrited-6.1.5.tar.xz", - "hash": "sha256-oFnd8o7Oi0OYml6ofkR/o/Ajea7HmKHefLWaWqoqlhg=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/kwrited-6.2.0.tar.xz", + "hash": "sha256-S0iQY3ApuNsF/4DjIl2NjXipW7RIAqpG1SauJ4T1YCk=" }, "layer-shell-qt": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/layer-shell-qt-6.1.5.tar.xz", - "hash": "sha256-0Ry1X3XW64kE5IzQloVwQ6bamQCxw0t6xXFubkbw7TI=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/layer-shell-qt-6.2.0.tar.xz", + "hash": "sha256-U5DReOf2UW1pHtqoX86cvM/gYM6lc6vGULtAZoeOsv4=" }, "libkscreen": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/libkscreen-6.1.5.tar.xz", - "hash": "sha256-WPUjqd/gely5dY1g9qfxyfQBICifg1UVpOLY1tbaTGU=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/libkscreen-6.2.0.tar.xz", + "hash": "sha256-tgGHOEWwUEaQ0hJIWRwa0qmbvONdvqx0fFdcwyHE1IU=" }, "libksysguard": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/libksysguard-6.1.5.tar.xz", - "hash": "sha256-rQH6LGZPgs4kt9YXvBmUIGN2Nz+b1krjE7Mof9WKArk=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/libksysguard-6.2.0.tar.xz", + "hash": "sha256-AoapDQrhqFbv7AXNOjS2lfslIaO1tWry2QDBmVAigng=" }, "libplasma": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/libplasma-6.1.5.tar.xz", - "hash": "sha256-d8K4Ot5pmawOUmmk6HKEQ6fWGUbWjQu0EQarQpKnnMk=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/libplasma-6.2.0.tar.xz", + "hash": "sha256-dWocsBUTygSQagecwoAtym9PYQ8xkmGRmz1eJb1P2pg=" }, "milou": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/milou-6.1.5.tar.xz", - "hash": "sha256-QFFIoS7n/siTiPmbxUhVB1SMhRLeIroDAlFURCc1OQo=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/milou-6.2.0.tar.xz", + "hash": "sha256-sfG04T+0BHZTGzpj52aiPvd5TeG4YgJCtMUatEX5scU=" }, "ocean-sound-theme": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/ocean-sound-theme-6.1.5.tar.xz", - "hash": "sha256-ro+lnDo8PTekOOOrXtEcwAjqBFAZU3cL2euTJwBRKTU=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/ocean-sound-theme-6.2.0.tar.xz", + "hash": "sha256-nfu3FnlbjGBdQJkqCznrKny5w+x9P1KROZEBiHJUM4M=" }, "oxygen": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/oxygen-6.1.5.tar.xz", - "hash": "sha256-B0HWside8AtZPvXjHKJniZ1zvD8W0TLJKkLnZ+wCVzU=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/oxygen-6.2.0.tar.xz", + "hash": "sha256-6CrJmGQZ7b/Y6ms+ganF3UajbtPNlCp002RLY2Xsy2A=" }, "oxygen-sounds": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/oxygen-sounds-6.1.5.tar.xz", - "hash": "sha256-ZpCkniLRWmpogrh/clqdo7xJYXe4mjlSsBVVqYu0RqU=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/oxygen-sounds-6.2.0.tar.xz", + "hash": "sha256-POFicpHQBgUEaRQVcY8rrpc/N85X3kjoGjcnV84IEqE=" }, "plasma5support": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma5support-6.1.5.tar.xz", - "hash": "sha256-BWNYUiLFMz4iee/agpw2oTl0HJ4M86024+gJaEDAF9E=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma5support-6.2.0.tar.xz", + "hash": "sha256-RutPXZQHfEbCS0lLuuLldJtbX3zB227ykjuBEq5q5Y0=" }, "plasma-activities": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-activities-6.1.5.tar.xz", - "hash": "sha256-s1P7564w9qBO9PgdPgJQZUoPmFmp70MhTInHi5JOKEs=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-activities-6.2.0.tar.xz", + "hash": "sha256-Ks6SrGSy6jGLBQNF1RSgOsD5D6JlhogsHZtBZv4A8tc=" }, "plasma-activities-stats": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-activities-stats-6.1.5.tar.xz", - "hash": "sha256-JiBQpTiU3gbxND+x1QtuAPeXo+NJMW7d/re1Fs3cDd8=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-activities-stats-6.2.0.tar.xz", + "hash": "sha256-IV13KFN7iQofMZ8TyqYDjALcTj5k2Zz0DOCPyC9GXf0=" }, "plasma-browser-integration": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-browser-integration-6.1.5.tar.xz", - "hash": "sha256-Q2JcNeo57uvtesyXWazGCHGrwdK4jcnnuQivpMAJiqo=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-browser-integration-6.2.0.tar.xz", + "hash": "sha256-kdWWz9iRtEwQxd14YuLJWs2nUm/pqfAY6UaDbBdFCmg=" }, "plasma-desktop": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-desktop-6.1.5.tar.xz", - "hash": "sha256-2eI2yamjMti3tO3eRMZdCw7Djqda3Fu/ohpsTH9CYcI=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-desktop-6.2.0.tar.xz", + "hash": "sha256-DqOOILnEFjhX25IOqAyXQKKeVhiGtf658g+ThZhpJwk=" + }, + "plasma-dialer": { + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-dialer-6.2.0.tar.xz", + "hash": "sha256-72JH0C2xAyJSHlLnHpyUKR8Hq92vFvCEYTyN0298qs4=" }, "plasma-disks": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-disks-6.1.5.tar.xz", - "hash": "sha256-XXZpwBnovmaLmF1z1/D9sxWYSpCsewzx45ibgJRubEo=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-disks-6.2.0.tar.xz", + "hash": "sha256-WB+6e5c5eFNELpID4CzF/mAHofbWAgvTODdR16cNK6E=" }, "plasma-firewall": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-firewall-6.1.5.tar.xz", - "hash": "sha256-TtMb3Y8CEScpR1GM8uvqVHu8RLfPxvbz50fsyRi0r0I=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-firewall-6.2.0.tar.xz", + "hash": "sha256-Wf0FeabJkT+XRm675WKwDCe1kNnDh0wjnIpR/mGQPmU=" }, "plasma-integration": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-integration-6.1.5.tar.xz", - "hash": "sha256-FatL93CRJOxP54QiggkByO+3+7kiRVdr5XyEdIKl7Js=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-integration-6.2.0.tar.xz", + "hash": "sha256-3NEKDIQYUk5mxup7+6TeTU8gRp20cLQaUK4g41npt2g=" }, "plasma-mobile": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-mobile-6.1.5.tar.xz", - "hash": "sha256-z1vUSN34Lfw6Zh4I6va0al5wa+yzDuwYfppXTokILa0=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-mobile-6.2.0.tar.xz", + "hash": "sha256-9ZPYZEUL+xB5YFwXI7KC5AFc+3eg6zN2SIx3DwS3nUg=" }, "plasma-nano": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-nano-6.1.5.tar.xz", - "hash": "sha256-weZFmXGZ/l4kn7JKA4kkhlcL3kgVPVLUkDQ58wlLosY=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-nano-6.2.0.tar.xz", + "hash": "sha256-Kt3NB/z3yoYx+uK5sImgH4t7WcBGLOQNGyvnu57vvTg=" }, "plasma-nm": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-nm-6.1.5.tar.xz", - "hash": "sha256-ywTdrwDXKOoLS10QizOJ1GLOUHhyb4tlXzjeMw7rIfU=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-nm-6.2.0.tar.xz", + "hash": "sha256-znIAir8XVV0bIPZkgP8hmSp8RLJs8FahM/0tLudCHnU=" }, "plasma-pa": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-pa-6.1.5.tar.xz", - "hash": "sha256-ckwFkdvr3l+WxBYxbJAOiPSmbXSJBe0cp05hUjV6dZE=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-pa-6.2.0.tar.xz", + "hash": "sha256-imSTF32dgj90f+kXrMO8hZxhxP6dOt15mrfxlDTZmSA=" }, "plasma-sdk": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-sdk-6.1.5.tar.xz", - "hash": "sha256-jQ1OheR9KCSblR88mX9ghVoQyt7Ze+o0FAc5flUbjEY=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-sdk-6.2.0.tar.xz", + "hash": "sha256-2KGwAi0WA19xOTqjXoFrweLW3DuxrXaUg9RYnot4whY=" }, "plasma-systemmonitor": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-systemmonitor-6.1.5.tar.xz", - "hash": "sha256-C17szwR1FiWfcgXBQ4FC1KglLq3gC7hhtm1IMbsDpwQ=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-systemmonitor-6.2.0.tar.xz", + "hash": "sha256-lZg9xBp/JffAv+gYUse4CPIX1ti+u10UC9QgWFloWhc=" }, "plasma-thunderbolt": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-thunderbolt-6.1.5.tar.xz", - "hash": "sha256-lAKt8+6u1MXvynGXVbWfLShk2prV/YHSKzqPX9bjrmA=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-thunderbolt-6.2.0.tar.xz", + "hash": "sha256-HNx2MAPiAReOUm9Iww32UPN6i04BbSWl6YObvOlNzjo=" }, "plasma-vault": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-vault-6.1.5.tar.xz", - "hash": "sha256-ULE1v9sVmUd0QSJ4hwn4kSp2Ew0pIOqXdc5AL3p9xAQ=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-vault-6.2.0.tar.xz", + "hash": "sha256-wfA9G2uP3zkYeQ9glmToD4ug+KxJ/uThU8uHhebdJ5c=" }, "plasma-welcome": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-welcome-6.1.5.tar.xz", - "hash": "sha256-Euzp59YcPsaiP+k1dmdBbiaAKrr9xp8kXMPZagXvnZY=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-welcome-6.2.0.tar.xz", + "hash": "sha256-Z4JAbVZDdFlT3oKxsfWKRKb4VMLX4NZ10DfmM3f1UtU=" }, "plasma-workspace": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-workspace-6.1.5.tar.xz", - "hash": "sha256-wp4Vo+1CRG+Ze34WlYZPhev/CE4uzlgckUoNio4mWuc=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-workspace-6.2.0.tar.xz", + "hash": "sha256-LUJoy651djG+V9adNPwCyNAgR2JRU3DJZ57LKqKv3zM=" }, "plasma-workspace-wallpapers": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plasma-workspace-wallpapers-6.1.5.tar.xz", - "hash": "sha256-qOpCuZslRm1S0/5Vcsn7w4cJvxNwVEiOk3+HDzNU7gI=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plasma-workspace-wallpapers-6.2.0.tar.xz", + "hash": "sha256-gkGYLJjEMRAafDOVjPIbn3BjsNsR8GZjpyMl9QEPnAE=" }, "plymouth-kcm": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/plymouth-kcm-6.1.5.tar.xz", - "hash": "sha256-Bz4D+KhROOBdiGcqXB4GIjjjSz3t5BGPKRHCAMBVWHU=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/plymouth-kcm-6.2.0.tar.xz", + "hash": "sha256-+iOqC1pu73bLS1o0mgJ/LmahOyLi2/Wyv8erqwp48a4=" }, "polkit-kde-agent-1": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/polkit-kde-agent-1-6.1.5.tar.xz", - "hash": "sha256-CWXl/61DKj5u6eNVQO/Le0CDIApIxp2R5SXAmke5IPY=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/polkit-kde-agent-1-6.2.0.tar.xz", + "hash": "sha256-xmUMV95OHVnMUUjtsrjX8XpmwgeFYT7DBTUXSnttyxA=" }, "powerdevil": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/powerdevil-6.1.5.tar.xz", - "hash": "sha256-BQ4cb88H2izXv+IqYYqpFQS7KwC9MapoEhuQPN6dhF0=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/powerdevil-6.2.0.tar.xz", + "hash": "sha256-g8H9VRF3V6i0xEUqLzBH2PQqzFTzfsBFBloo2SZBecI=" }, "print-manager": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/print-manager-6.1.5.tar.xz", - "hash": "sha256-pJRE4WoHlZUxU2UlF8ZlcamYujjc2IYWa4gjHpbIzhI=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/print-manager-6.2.0.tar.xz", + "hash": "sha256-jIJw8gzMzpSxOpWDDSenIwNT5dj49SSfZ7eMg2Ey+M0=" }, "qqc2-breeze-style": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/qqc2-breeze-style-6.1.5.tar.xz", - "hash": "sha256-a0tsDwiy7OO12hyJ3mzhBiHY4mt/q+2/YBA6XyyK+EU=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/qqc2-breeze-style-6.2.0.tar.xz", + "hash": "sha256-EZf7M1ZWzIWpkpTpWi8B9DaI7d9UWNqSoUTnthgrVJg=" }, "sddm-kcm": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/sddm-kcm-6.1.5.tar.xz", - "hash": "sha256-AJI1F003IHnuOq31HgvX2ho4LRhSrmWwuWcQsiZpjpw=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/sddm-kcm-6.2.0.tar.xz", + "hash": "sha256-1cbMmMGQeJ0biG26gUA5ZYjq1hJTQc9SMa35WmNohR8=" + }, + "spacebar": { + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/spacebar-6.2.0.tar.xz", + "hash": "sha256-ImSDTUR5JxmDsCQ2xls8GlLJf5jxBkD2g4mue5zqHYc=" }, "systemsettings": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/systemsettings-6.1.5.tar.xz", - "hash": "sha256-B0J66nzuCzSrzD732q8D1ivfcgXKP5ccjT+u3AunT9c=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/systemsettings-6.2.0.tar.xz", + "hash": "sha256-a0Z17dRxf3yojRdwBpbDiHP/RrP5Bj7Pp8wgfrBOuuA=" }, "wacomtablet": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/wacomtablet-6.1.5.tar.xz", - "hash": "sha256-IerMb3eC/fnKcYndlP2OyRAzAs9gWY91chY18N8MREo=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/wacomtablet-6.2.0.tar.xz", + "hash": "sha256-ml2fa6NyQ5BNTL+RyHSTsgV2vr0linXB9mCTs3YuXeM=" }, "xdg-desktop-portal-kde": { - "version": "6.1.5", - "url": "mirror://kde/stable/plasma/6.1.5/xdg-desktop-portal-kde-6.1.5.tar.xz", - "hash": "sha256-CdE8DAb93AgySdH1vpB+Jx6jnwH1d9N9JnQ7Ad9aaXg=" + "version": "6.2.0", + "url": "mirror://kde/stable/plasma/6.2.0/xdg-desktop-portal-kde-6.2.0.tar.xz", + "hash": "sha256-gAaExbvNvUHbyL/LqO2ponoNufD3IJnRgkb7eUB2T/w=" } } \ No newline at end of file diff --git a/pkgs/kde/plasma/default.nix b/pkgs/kde/plasma/default.nix index 4610811b357c7..fb7846ed86fc7 100644 --- a/pkgs/kde/plasma/default.nix +++ b/pkgs/kde/plasma/default.nix @@ -40,6 +40,7 @@ plasma-activities-stats = callPackage ./plasma-activities-stats { }; plasma-browser-integration = callPackage ./plasma-browser-integration { }; plasma-desktop = callPackage ./plasma-desktop { }; + plasma-dialer = callPackage ./plasma-dialer { }; plasma-disks = callPackage ./plasma-disks { }; plasma-firewall = callPackage ./plasma-firewall { }; plasma-integration = callPackage ./plasma-integration { }; @@ -61,6 +62,7 @@ print-manager = callPackage ./print-manager { }; qqc2-breeze-style = callPackage ./qqc2-breeze-style { }; sddm-kcm = callPackage ./sddm-kcm { }; + spacebar = callPackage ./spacebar { }; systemsettings = callPackage ./systemsettings { }; wacomtablet = callPackage ./wacomtablet { }; xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde { }; diff --git a/pkgs/kde/plasma/discover/default.nix b/pkgs/kde/plasma/discover/default.nix index 89d3df6818145..6bac065179540 100644 --- a/pkgs/kde/plasma/discover/default.nix +++ b/pkgs/kde/plasma/discover/default.nix @@ -9,6 +9,12 @@ mkKdeDerivation { pname = "discover"; + patches = [ + # remove forced QML dependency check + # FIXME: fix the check in ECM instead + ./qml-deps.patch + ]; + extraNativeBuildInputs = [ pkg-config ]; extraBuildInputs = [ qtwebview diff --git a/pkgs/kde/plasma/discover/qml-deps.patch b/pkgs/kde/plasma/discover/qml-deps.patch new file mode 100644 index 0000000000000..3b5527a2cb619 --- /dev/null +++ b/pkgs/kde/plasma/discover/qml-deps.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 04523c97d..945ba6a41 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,7 +59,7 @@ find_package(QCoro6 REQUIRED COMPONENTS Core) + + qcoro_enable_coroutines() + +-ecm_find_qmlmodule(org.kde.kitemmodels 1.0 REQUIRED) ++ecm_find_qmlmodule(org.kde.kitemmodels 1.0) + + list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "DISCOVER_BACKEND_PLUGIN") + diff --git a/pkgs/kde/plasma/drkonqi/gdb-path.patch b/pkgs/kde/plasma/drkonqi/gdb-path.patch index 617b5ed017a84..c4bf303e7ee7a 100644 --- a/pkgs/kde/plasma/drkonqi/gdb-path.patch +++ b/pkgs/kde/plasma/drkonqi/gdb-path.patch @@ -1,28 +1,44 @@ -diff --git a/src/data/debuggers/internal/gdbrc b/src/data/debuggers/internal/gdbrc -index 0d163d43..8e2f85f1 100644 ---- a/src/data/debuggers/internal/gdbrc -+++ b/src/data/debuggers/internal/gdbrc -@@ -73,17 +73,18 @@ Name[wa]=gdb - Name[x-test]=xxgdbxx - Name[zh_CN]=gdb - Name[zh_TW]=gdb --TryExec=gdb -+TryExec=@gdb@ -+CodeName=gdb - Backends=KCrash|coredump-core +diff --git a/src/debugger.cpp b/src/debugger.cpp +index 946bdd12..afb69e35 100644 +--- a/src/debugger.cpp ++++ b/src/debugger.cpp +@@ -36,15 +36,15 @@ QList Debugger::availableInternalDebuggers(const QString &backend) + result.push_back(std::make_shared( + Data{.displayName = i18nc("@label the debugger called GDB", "GDB"), + .codeName = u"gdb"_s, +- .tryExec = u"gdb"_s, ++ .tryExec = u"@gdb@"_s, + .backendData = +- BackendData{.command = u"gdb -nw -n -batch -x %preamblefile -x %tempfile -p %pid %execpath"_s, ++ BackendData{.command = u"@gdb@ -nw -n -batch -x %preamblefile -x %tempfile -p %pid %execpath"_s, + .supportsCommandWithSymbolResolution = true, + .commandWithSymbolResolution = +- u"gdb -nw -n -batch --init-eval-command='set debuginfod enabled on' -x %preamblefile -x %tempfile -p %pid %execpath"_s, ++ u"@gdb@ -nw -n -batch --init-eval-command='set debuginfod enabled on' -x %preamblefile -x %tempfile -p %pid %execpath"_s, + .backtraceBatchCommands = u"thread\nthread apply all bt"_s, + .preambleCommands = expandCommand( +- u"gdb"_s, ++ u"@gdb@"_s, + u"set width 200\nset backtrace limit 128\nsource %drkonqi_datadir/python/gdb_preamble/preamble.py\npy print_preamble()"_s), + .execInputFile = {}}})); - [KCrash] --Exec=gdb -nw -n -batch -x %preamblefile -x %tempfile -p %pid %execpath --ExecWithSymbolResolution=gdb -nw -n -batch --init-eval-command='set debuginfod enabled on' -x %preamblefile -x %tempfile -p %pid %execpath -+Exec=@gdb@ -nw -n -batch -x %preamblefile -x %tempfile -p %pid %execpath -+ExecWithSymbolResolution=@gdb@ -nw -n -batch --init-eval-command='set debuginfod enabled on' -x %preamblefile -x %tempfile -p %pid %execpath - PreambleCommands=set width 200\nset backtrace limit 128\nsource %drkonqi_datadir/python/gdb_preamble/preamble.py\npy print_preamble() - BatchCommands=thread\nthread apply all bt - - [coredump-core] --Exec=gdb --nw --nx --batch --command=%preamblefile --command=%tempfile --core=%corefile %execpath --ExecWithSymbolResolution=gdb --nw --nx --batch --init-eval-command='set debuginfod enabled on' --command=%preamblefile --command=%tempfile --core=%corefile %execpath -+Exec=@gdb@ --nw --nx --batch --command=%preamblefile --command=%tempfile --core=%corefile %execpath -+ExecWithSymbolResolution=@gdb@ --nw --nx --batch --init-eval-command='set debuginfod enabled on' --command=%preamblefile --command=%tempfile --core=%corefile %execpath - PreambleCommands=set width 200\nset backtrace limit 128\nsource %drkonqi_datadir/python/gdb_preamble/preamble.py\npy print_preamble() - BatchCommands=thread\nthread apply all bt +@@ -63,15 +63,15 @@ QList Debugger::availableInternalDebuggers(const QString &backend) + Data{ + .displayName = i18nc("@label the debugger called GDB", "GDB"), + .codeName = u"gdb"_s, +- .tryExec = u"gdb"_s, ++ .tryExec = u"@gdb@"_s, + .backendData = BackendData{ +- .command = u"gdb --nw --nx --batch --command=%preamblefile --command=%tempfile --core=%corefile %execpath"_s, ++ .command = u"@gdb@ --nw --nx --batch --command=%preamblefile --command=%tempfile --core=%corefile %execpath"_s, + .supportsCommandWithSymbolResolution = true, + .commandWithSymbolResolution = +- u"gdb --nw --nx --batch --init-eval-command='set debuginfod enabled on' --command=%preamblefile --command=%tempfile --core=%corefile %execpath"_s, ++ u"@gdb@ --nw --nx --batch --init-eval-command='set debuginfod enabled on' --command=%preamblefile --command=%tempfile --core=%corefile %execpath"_s, + .backtraceBatchCommands = u"thread\nthread apply all bt"_s, + .preambleCommands = expandCommand( +- u"gdb"_s, ++ u"@gdb@"_s, + u"set width 200\nset backtrace limit 128\nsource %drkonqi_datadir/python/gdb_preamble/preamble.py\npy print_preamble()"_s), + .execInputFile = {}}})); + } diff --git a/pkgs/kde/plasma/kwin/default.nix b/pkgs/kde/plasma/kwin/default.nix index 85679de86150d..306498d07e058 100644 --- a/pkgs/kde/plasma/kwin/default.nix +++ b/pkgs/kde/plasma/kwin/default.nix @@ -9,11 +9,11 @@ libinput, xorg, xwayland, + libcanberra, libdisplay-info, libei, mesa, lcms2, - libcap, pipewire, krunner, python3, @@ -56,7 +56,7 @@ mkKdeDerivation { mesa # libgbm lcms2 - libcap + libcanberra libdisplay-info libei libinput diff --git a/pkgs/kde/plasma/plasma-dialer/default.nix b/pkgs/kde/plasma/plasma-dialer/default.nix new file mode 100644 index 0000000000000..ca5a7cc221824 --- /dev/null +++ b/pkgs/kde/plasma/plasma-dialer/default.nix @@ -0,0 +1,23 @@ +{ + mkKdeDerivation, + pkg-config, + qtwayland, + callaudiod, + libphonenumber, + protobuf, +}: +mkKdeDerivation { + pname = "plasma-dialer"; + + extraNativeBuildInputs = [ pkg-config ]; + extraBuildInputs = [ + qtwayland + callaudiod + libphonenumber + protobuf + ]; + + extraCmakeFlags = [ + "-DQtWaylandScanner_EXECUTABLE=${qtwayland}/libexec/qtwaylandscanner" + ]; +} diff --git a/pkgs/kde/plasma/plasma-workspace/default.nix b/pkgs/kde/plasma/plasma-workspace/default.nix index 2bb51422b0afe..adca5b460e569 100644 --- a/pkgs/kde/plasma/plasma-workspace/default.nix +++ b/pkgs/kde/plasma/plasma-workspace/default.nix @@ -7,6 +7,7 @@ lsof, pkg-config, spirv-tools, + qtpositioning, qtsvg, qtwayland, libcanberra, @@ -41,6 +42,7 @@ mkKdeDerivation { spirv-tools ]; extraBuildInputs = [ + qtpositioning qtsvg qtwayland @@ -61,7 +63,7 @@ mkKdeDerivation { # Hardcoded as QStrings, which are UTF-16 so Nix can't pick these up automatically postFixup = '' mkdir -p $out/nix-support - echo "${lsof} ${xorg.xmessage} ${xorg.xsetroot}" > $out/nix-support/depends + echo "${lsof} ${xorg.xmessage} ${xorg.xrdb} ${xorg.xsetroot}" > $out/nix-support/depends ''; passthru.providedSessions = [ diff --git a/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch b/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch index e54aaa131b9f1..65664d363b3d6 100644 --- a/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch +++ b/pkgs/kde/plasma/plasma-workspace/dependency-paths.patch @@ -1,8 +1,8 @@ -diff --git a/applets/devicenotifier/plugin/ksolidnotify.cpp b/applets/devicenotifier/plugin/ksolidnotify.cpp -index bcbb58a034..be2570ce97 100644 ---- a/applets/devicenotifier/plugin/ksolidnotify.cpp -+++ b/applets/devicenotifier/plugin/ksolidnotify.cpp -@@ -169,7 +169,7 @@ void KSolidNotify::queryBlockingApps(const QString &devicePath) +diff --git a/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp b/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp +index 7e0c48a00e..fdc8b009f4 100644 +--- a/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp ++++ b/applets/devicenotifier/plugin/deviceerrormonitor_p.cpp +@@ -155,7 +155,7 @@ void DeviceErrorMonitor::queryBlockingApps(const QString &devicePath) Q_EMIT blockingAppsReady(blockApps); p->deleteLater(); }); @@ -25,37 +25,37 @@ index e27e21a7bd..abbf7f32e1 100644 p.write(input); p.closeWriteChannel(); diff --git a/kcms/fonts/fonts.cpp b/kcms/fonts/fonts.cpp -index 92d8fadd44..2a973d76ef 100644 +index a75f313880..a1e649c1f6 100644 --- a/kcms/fonts/fonts.cpp +++ b/kcms/fonts/fonts.cpp -@@ -135,7 +135,7 @@ void KFonts::save() +@@ -137,7 +137,7 @@ void KFonts::save() if (fontsAASettings()->forceFontDPI() == 0 && forceFontDPIChanged && KWindowSystem::isPlatformX11()) { QProcess proc; proc.setProcessChannelMode(QProcess::ForwardedChannels); -- proc.start("xrdb", -+ proc.start("@xrdb@", - QStringList() << "-quiet" - << "-remove" - << "-nocpp"); +- proc.start(u"xrdb"_s, QStringList{u"-quiet"_s, u"-remove"_s, u"-nocpp"_s}); ++ proc.start(u"@xrdb@"_s, QStringList{u"-quiet"_s, u"-remove"_s, u"-nocpp"_s}); + if (proc.waitForStarted()) { + proc.write("Xft.dpi\n"); + proc.closeWriteChannel(); diff --git a/kcms/kfontinst/kcmfontinst/FcQuery.cpp b/kcms/kfontinst/kcmfontinst/FcQuery.cpp -index 771c790c74..1be64b0527 100644 +index f5034455c9..8ea57813a1 100644 --- a/kcms/kfontinst/kcmfontinst/FcQuery.cpp +++ b/kcms/kfontinst/kcmfontinst/FcQuery.cpp -@@ -44,7 +44,7 @@ void CFcQuery::run(const QString &query) +@@ -46,7 +46,7 @@ void CFcQuery::run(const QString &query) connect(m_proc, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(procExited())); connect(m_proc, &QProcess::readyReadStandardOutput, this, &CFcQuery::data); -- m_proc->start("fc-match", args); -+ m_proc->start("@fc-match@", args); +- m_proc->start(u"fc-match"_s, args); ++ m_proc->start(u"@fc-match@"_s, args); } void CFcQuery::procExited() diff --git a/kcms/krdb/krdb.cpp b/kcms/krdb/krdb.cpp -index 8fdd99f9ed..1bd7d552a5 100644 +index eefa0d36a0..76afd0c418 100644 --- a/kcms/krdb/krdb.cpp +++ b/kcms/krdb/krdb.cpp @@ -423,7 +423,7 @@ void runRdb(unsigned int flags) - contents += "Xft.dpi: " + QString::number(dpi) + '\n'; + contents += "Xft.dpi: "_L1 + QString::number(dpi) + u'\n'; else { KProcess queryProc; - queryProc << QStringLiteral("xrdb") << QStringLiteral("-query"); @@ -72,17 +72,15 @@ index 8fdd99f9ed..1bd7d552a5 100644 loadProc.start(); if (loadProc.waitForStarted()) { loadProc.write(db); -@@ -461,16 +461,16 @@ void runRdb(unsigned int flags) +@@ -461,14 +461,14 @@ void runRdb(unsigned int flags) KProcess proc; #ifndef NDEBUG - proc << QStringLiteral("xrdb") << QStringLiteral("-merge") << tmpFile.fileName(); + proc << QStringLiteral("@xrdb@") << QStringLiteral("-merge") << tmpFile.fileName(); #else -- proc << "xrdb" -+ proc << "@xrdb@" - << "-quiet" - << "-merge" << tmpFile.fileName(); +- proc << u"xrdb"_s << u"-quiet"_s << u"-merge"_s << tmpFile.fileName(); ++ proc << u"@xrdb@"_s << u"-quiet"_s << u"-merge"_s << tmpFile.fileName(); #endif proc.execute(); @@ -115,7 +113,7 @@ index 7218628ce9..9126475ea4 100644 +ExecStart=@qdbus@ org.kde.kcminit /kcminit org.kde.KCMInit.runPhase1 Slice=session.slice diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp -index 0bd4511189..602b7e9eb0 100644 +index 4d31c6f408..17418b1ff7 100644 --- a/startkde/startplasma.cpp +++ b/startkde/startplasma.cpp @@ -57,7 +57,7 @@ void sigtermHandler(int signalNumber) @@ -127,7 +125,7 @@ index 0bd4511189..602b7e9eb0 100644 } QStringList allServices(const QLatin1String &prefix) -@@ -507,7 +507,7 @@ QProcess *setupKSplash() +@@ -512,7 +512,7 @@ QProcess *setupKSplash() if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) { p = new QProcess; p->setProcessChannelMode(QProcess::ForwardedChannels); diff --git a/pkgs/kde/plasma/powerdevil/default.nix b/pkgs/kde/plasma/powerdevil/default.nix index 3faa5c38417e6..8326dcaad0411 100644 --- a/pkgs/kde/plasma/powerdevil/default.nix +++ b/pkgs/kde/plasma/powerdevil/default.nix @@ -1,11 +1,11 @@ { mkKdeDerivation, pkg-config, - libcap, + qtwayland, }: mkKdeDerivation { pname = "powerdevil"; extraNativeBuildInputs = [ pkg-config ]; - extraBuildInputs = [ libcap ]; + extraBuildInputs = [ qtwayland ]; } diff --git a/pkgs/kde/plasma/spacebar/default.nix b/pkgs/kde/plasma/spacebar/default.nix new file mode 100644 index 0000000000000..acccf9b90b747 --- /dev/null +++ b/pkgs/kde/plasma/spacebar/default.nix @@ -0,0 +1,19 @@ +{ + mkKdeDerivation, + pkg-config, + c-ares, + curl, + libphonenumber, + protobuf, +}: +mkKdeDerivation { + pname = "spacebar"; + + extraNativeBuildInputs = [ pkg-config ]; + extraBuildInputs = [ + c-ares + curl + libphonenumber + protobuf + ]; +} From bf21badcacab94a1744b86715ef48c6e91d61fd7 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 26 Sep 2024 19:22:39 +0300 Subject: [PATCH 468/491] nixos/plasma6: adjust for portal config changes --- nixos/modules/services/desktop-managers/plasma6.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index f5018c4c29ef6..af7b27f28e26c 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -249,10 +249,11 @@ in { xdg.portal.enable = true; xdg.portal.extraPortals = [ + kdePackages.kwallet kdePackages.xdg-desktop-portal-kde pkgs.xdg-desktop-portal-gtk ]; - xdg.portal.configPackages = mkDefault [kdePackages.xdg-desktop-portal-kde]; + xdg.portal.configPackages = mkDefault [kdePackages.plasma-workspace]; services.pipewire.enable = mkDefault true; # Enable screen reader by default From 5e1d980f8d6848d3f141713a8796c34c3266a680 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 8 Oct 2024 18:06:19 +0300 Subject: [PATCH 469/491] qt6: backport fixes for weird list behaviors from 6.8.1 Recommended by Plasma upstream. --- pkgs/development/libraries/qt-6/default.nix | 7 +++++++ .../libraries/qt-6/modules/qtdeclarative.nix | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/pkgs/development/libraries/qt-6/default.nix b/pkgs/development/libraries/qt-6/default.nix index 51bd83a99d197..1ee93acfe485f 100644 --- a/pkgs/development/libraries/qt-6/default.nix +++ b/pkgs/development/libraries/qt-6/default.nix @@ -62,6 +62,13 @@ let revert = true; hash = "sha256-cjB2sC4cvZn0UEc+sm6ZpjyC78ssqB1Kb5nlZQ15M4A="; }) + + # Backport patch for https://bugs.kde.org/show_bug.cgi?id=493116 + # FIXME: remove for 6.8.1 + (fetchpatch2 { + url = "https://github.com/qt/qtbase/commit/2ea3abed0125d81ca4f3bacb9650db7314657332.patch"; + hash = "sha256-mdTdwhJtebuLUQRo+y1XUrrzgqG9G7GvPQwvrXLycJI="; + }) ]; }; env = callPackage ./qt-env.nix { }; diff --git a/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix index 2a377d481c3ca..1472aff537dfa 100644 --- a/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix +++ b/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix @@ -6,6 +6,7 @@ , stdenv , lib , pkgsBuildBuild +, fetchpatch2 }: qtModule { @@ -19,6 +20,17 @@ qtModule { ../patches/0001-qtdeclarative-disable-qml-disk-cache.patch # add version specific QML import path ../patches/0002-qtdeclarative-also-use-versioned-qml-paths.patch + + # Backport patches for https://bugs.kde.org/show_bug.cgi?id=493116 + # FIXME: remove for 6.8.1 + (fetchpatch2 { + url = "https://github.com/qt/qtdeclarative/commit/3330731d0cb221477ab3d856db032126403ae6a0.patch"; + hash = "sha256-XXXGJ7nVDpEG/6nr16L89J87tvutyc+YnQPQx9cRU+w="; + }) + (fetchpatch2 { + url = "https://github.com/qt/qtdeclarative/commit/2aefbca84d2f3dca2c2697f13710b6907c0c7e59.patch"; + hash = "sha256-a/BX0gpW6juJbjDRo8OleMahOC6WWqreURmYZNiGm5c="; + }) ]; cmakeFlags = [ From 55b5f298205f6c37db43edb1f79fe6f10151500f Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 9 Oct 2024 20:56:45 +0200 Subject: [PATCH 470/491] dhcpcd: bring back enablePrivSep option --- pkgs/tools/networking/dhcpcd/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index e5affd02a554e..5d5e4a0b32e2e 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -7,6 +7,7 @@ , runtimeShellPackage , runtimeShell , nixosTests +, enablePrivSep ? false }: stdenv.mkDerivation rec { @@ -39,7 +40,8 @@ stdenv.mkDerivation rec { "--localstatedir=/var" "--disable-privsep" "--dbdir=/var/lib/dhcpcd" - ]; + (lib.enableFeature enablePrivSep "privsep") + ] ++ lib.optional enablePrivSep "--privsepuser=dhcpcd"; makeFlags = [ "PREFIX=${placeholder "out"}" ]; From fb28bba040d49219153cfeab588f0ab1a9f25aaf Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 9 Oct 2024 20:57:17 +0200 Subject: [PATCH 471/491] nixos/release-notes: remove duplicate note Fix up the merge of the two dhcpcd hardening PRs (#336988 and #208780) --- nixos/doc/manual/release-notes/rl-2411.section.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index c885be49b7452..bb5164ab57fc7 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -600,8 +600,6 @@ - `nixosTests` now provide a working IPv6 setup for VLAN 1 by default. -- `services.dhcpcd` is now started with additional systemd sandbox/hardening options for better security. When using `networking.dhcpcd.runHook` these settings are not applied. - - Kanidm can now be provisioned using the new [`services.kanidm.provision`] option, but requires using a patched version available via `pkgs.kanidm.withSecretProvisioning`. - Kanidm previously had an incorrect systemd service type, causing dependent units with an `after` and `requires` directive to start before `kanidm*` finished startup. The module has now been updated in line with upstream recommendations. From fec804bfc050259dfe444060c38f7fe2794da431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 10 Oct 2024 08:36:28 +0200 Subject: [PATCH 472/491] lxqt.libqtxdg: fix build by upstream WIP patch https://hydra.nixos.org/build/274662977/nixlog/2/tail --- pkgs/desktops/lxqt/libqtxdg/default.nix | 2 + pkgs/desktops/lxqt/libqtxdg/qt68.patch | 328 ++++++++++++++++++++++++ 2 files changed, 330 insertions(+) create mode 100644 pkgs/desktops/lxqt/libqtxdg/qt68.patch diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix index 155b9c58bd425..58c17ba8d31a2 100644 --- a/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation rec { }."${version}"; }; + patches = [ ./qt68.patch ]; + nativeBuildInputs = [ cmake lxqt-build-tools diff --git a/pkgs/desktops/lxqt/libqtxdg/qt68.patch b/pkgs/desktops/lxqt/libqtxdg/qt68.patch new file mode 100644 index 0000000000000..058056a52c142 --- /dev/null +++ b/pkgs/desktops/lxqt/libqtxdg/qt68.patch @@ -0,0 +1,328 @@ +https://github.com/lxqt/libqtxdg/pull/307 + +From 37348365b127b5a3335e68a1807de34acc0caf7e Mon Sep 17 00:00:00 2001 +From: Tsu Jan +Date: Sat, 14 Sep 2024 00:36:02 +0330 +Subject: [PATCH 1/2] =?UTF-8?q?Fix=20compilation=20with=20Qt=20=E2=89=A5?= + =?UTF-8?q?=206.8?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Closes https://github.com/lxqt/libqtxdg/issues/306 +--- + src/qtxdg/xdgmimetype.h | 4 +- + src/xdgiconloader/xdgiconloader.cpp | 93 ++++++++++++++++++++++++++--- + src/xdgiconloader/xdgiconloader_p.h | 4 ++ + 3 files changed, 92 insertions(+), 9 deletions(-) + +diff --git a/src/qtxdg/xdgmimetype.h b/src/qtxdg/xdgmimetype.h +index 7bca798..59e53bd 100644 +--- a/src/qtxdg/xdgmimetype.h ++++ b/src/qtxdg/xdgmimetype.h +@@ -72,12 +72,12 @@ class QTXDG_API XdgMimeType : public QMimeType { + */ + bool operator==(const XdgMimeType &other) const + { +- return QMimeType::operator==(other); ++ return name() == other.name(); + } + + inline bool operator!=(const XdgMimeType &other) const + { +- return !QMimeType::operator==(other); ++ return !operator==(other); + } + + void swap(XdgMimeType &other) noexcept; +diff --git a/src/xdgiconloader/xdgiconloader.cpp b/src/xdgiconloader/xdgiconloader.cpp +index 1c040c2..c6967a0 100644 +--- a/src/xdgiconloader/xdgiconloader.cpp ++++ b/src/xdgiconloader/xdgiconloader.cpp +@@ -757,7 +757,11 @@ QSize XdgIconLoaderEngine::actualSize(const QSize &size, QIcon::Mode mode, + } + + // XXX: duplicated from qiconloader.cpp, because this symbol isn't exported :( ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) ++#else + QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) ++#endif + { + Q_UNUSED(state); + +@@ -766,18 +770,46 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st + if (basePixmap.isNull()) + basePixmap.load(filename); + ++ // see QPixmapIconEngine::adjustSize + QSize actualSize = basePixmap.size(); + // If the size of the best match we have (basePixmap) is larger than the + // requested size, we downscale it to match. + if (!actualSize.isNull() && (actualSize.width() > size.width() || actualSize.height() > size.height())) + actualSize.scale(size, Qt::KeepAspectRatio); + ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ // see QIconPrivate::pixmapDevicePixelRatio ++ qreal calculatedDpr; ++ QSize targetSize = size * scale; ++ if ((actualSize.width() == targetSize.width() && actualSize.height() <= targetSize.height()) || ++ (actualSize.width() <= targetSize.width() && actualSize.height() == targetSize.height())) ++ { ++ // Correctly scaled for dpr, just having different aspect ratio ++ calculatedDpr = scale; ++ } ++ else ++ { ++ qreal ratio = 0.5 * (qreal(actualSize.width()) / qreal(targetSize.width()) + ++ qreal(actualSize.height() / qreal(targetSize.height()))); ++ calculatedDpr = qMax(qreal(1.0), scale * ratio); ++ } ++ ++ ++ QString key = QLatin1String("$qt_theme_") ++ % HexString(basePixmap.cacheKey()) ++ % HexString(mode) ++ % HexString(QGuiApplication::palette().cacheKey()) ++ % HexString(actualSize.width()) ++ % HexString(actualSize.height()) ++ % HexString(qRound(calculatedDpr * 1000)); ++#else + QString key = QLatin1String("$qt_theme_") + % HexString(basePixmap.cacheKey()) + % HexString(mode) + % HexString(QGuiApplication::palette().cacheKey()) + % HexString(actualSize.width()) + % HexString(actualSize.height()); ++#endif + + QPixmap cachedPixmap; + if (QPixmapCache::find(key, &cachedPixmap)) { +@@ -789,6 +821,9 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st + cachedPixmap = basePixmap; + if (QGuiApplication *guiApp = qobject_cast(qApp)) + cachedPixmap = static_cast(QObjectPrivate::get(guiApp))->applyQIconStyleHelper(mode, cachedPixmap); ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ cachedPixmap.setDevicePixelRatio(calculatedDpr); ++#endif + QPixmapCache::insert(key, cachedPixmap); + } + return cachedPixmap; +@@ -796,21 +831,39 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st + + // NOTE: For SVG, QSvgRenderer is used to prevent our icon handling from + // being broken by icon engines that register themselves for SVG. ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++QPixmap ScalableEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) ++#else + QPixmap ScalableEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) ++#endif + { + QPixmap pm; + if (size.isEmpty()) + return pm; + ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ QString key = QLatin1String("lxqt_") ++ % filename ++ % HexString(mode) ++ % HexString(state) ++ % HexString(size.width()) ++ % HexString(size.height()) ++ % HexString(qRound(scale * 1000)); ++#else + QString key = QLatin1String("lxqt_") + % filename + % HexString(mode) + % HexString(state) + % HexString(size.width()) + % HexString(size.height()); ++#endif + if (!QPixmapCache::find(key, &pm)) + { ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ int icnSize = qMin(size.width(), size.height()) * scale; ++#else + int icnSize = qMin(size.width(), size.height()); ++#endif + pm = QPixmap(icnSize, icnSize); + pm.fill(Qt::transparent); + +@@ -824,8 +877,12 @@ QPixmap ScalableEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State + } + + svgIcon = QIcon(pm); ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ pm = svgIcon.pixmap(size, scale, mode, state); ++#else + if (QIconEngine *engine = svgIcon.data_ptr() ? svgIcon.data_ptr()->engine : nullptr) + pm = engine->pixmap(size, mode, state); ++#endif + QPixmapCache::insert(key, pm); + } + +@@ -838,7 +895,11 @@ static const QString STYLE = QStringLiteral("\n.ColorScheme-Text, .ColorScheme-N + // NOTE: Qt palette does not have any colors for positive/negative text + // .ColorScheme-PositiveText,ColorScheme-NegativeText {color:%4;} + ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) ++#else + QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) ++#endif + { + QPixmap pm; + if (size.isEmpty()) +@@ -866,6 +927,16 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q + } + hCol = pal.highlight().color().name(); + } ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ QString key = QLatin1String("lxqt_") ++ % filename ++ % HexString(mode) ++ % HexString(state) ++ % HexString(size.width()) ++ % HexString(size.height()) ++ % HexString(qRound(scale * 1000)) ++ % txtCol % bgCol % hCol; ++#else + QString key = QLatin1String("lxqt_") + % filename + % HexString(mode) +@@ -873,9 +944,14 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q + % HexString(size.width()) + % HexString(size.height()) + % txtCol % bgCol % hCol; ++#endif + if (!QPixmapCache::find(key, &pm)) + { ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ int icnSize = qMin(size.width(), size.height()) * scale; ++#else + int icnSize = qMin(size.width(), size.height()); ++#endif + pm = QPixmap(icnSize, icnSize); + pm.fill(Qt::transparent); + +@@ -926,8 +1002,12 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q + // for QIcon::pixmap() to handle states and modes, + // especially the disabled mode. + svgIcon = QIcon(pm); ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ pm = svgIcon.pixmap(size, scale, mode, state); ++#else + if (QIconEngine *engine = svgIcon.data_ptr() ? svgIcon.data_ptr()->engine : nullptr) + pm = engine->pixmap(size, mode, state); ++#endif + QPixmapCache::insert(key, pm); + } + +@@ -937,13 +1017,7 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q + QPixmap XdgIconLoaderEngine::pixmap(const QSize &size, QIcon::Mode mode, + QIcon::State state) + { +- ensureLoaded(); +- +- QIconLoaderEngineEntry *entry = entryForSize(m_info, size); +- if (entry) +- return entry->pixmap(size, mode, state); +- +- return QPixmap(); ++ return scaledPixmap(size, mode, state, 1.0); + } + + QString XdgIconLoaderEngine::key() const +@@ -967,8 +1041,13 @@ QPixmap XdgIconLoaderEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, Q + { + ensureLoaded(); + const int integerScale = qCeil(scale); ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ QIconLoaderEngineEntry *entry = entryForSize(m_info, size, integerScale); ++ return entry ? entry->pixmap(size, mode, state, scale) : QPixmap(); ++#else + QIconLoaderEngineEntry *entry = entryForSize(m_info, size / integerScale, integerScale); + return entry ? entry->pixmap(size, mode, state) : QPixmap(); ++#endif + } + + QList XdgIconLoaderEngine::availableSizes(QIcon::Mode mode, QIcon::State state) +diff --git a/src/xdgiconloader/xdgiconloader_p.h b/src/xdgiconloader/xdgiconloader_p.h +index 7fc9896..6c5f17f 100644 +--- a/src/xdgiconloader/xdgiconloader_p.h ++++ b/src/xdgiconloader/xdgiconloader_p.h +@@ -63,7 +63,11 @@ class XdgIconLoader; + + struct ScalableFollowsColorEntry : public ScalableEntry + { ++#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0)) ++ QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) override; ++#else + QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) override; ++#endif + }; + + //class QIconLoaderEngine : public QIconEngine + +From 639b1c454becc28b66fc7175ba0d709977e17c83 Mon Sep 17 00:00:00 2001 +From: Tsu Jan +Date: Sat, 14 Sep 2024 17:26:43 +0330 +Subject: [PATCH 2/2] Updated `QDomDocument::setContent` + +--- + src/qtxdg/xdgmenu.cpp | 2 +- + src/qtxdg/xdgmenureader.cpp | 13 +++++-------- + src/xdgiconloader/xdgiconloader.cpp | 1 - + 3 files changed, 6 insertions(+), 10 deletions(-) + +diff --git a/src/qtxdg/xdgmenu.cpp b/src/qtxdg/xdgmenu.cpp +index 36a9169..fbb579c 100644 +--- a/src/qtxdg/xdgmenu.cpp ++++ b/src/qtxdg/xdgmenu.cpp +@@ -227,7 +227,7 @@ void XdgMenuPrivate::load(const QString& fileName) + qWarning() << QString::fromLatin1("%1 not loading: %2").arg(fileName, file.errorString()); + return; + } +- mXml.setContent(&file, true); ++ mXml.setContent(&file, QDomDocument::ParseOption::UseNamespaceProcessing); + } + + +diff --git a/src/qtxdg/xdgmenureader.cpp b/src/qtxdg/xdgmenureader.cpp +index ede9c7b..8424bdc 100644 +--- a/src/qtxdg/xdgmenureader.cpp ++++ b/src/qtxdg/xdgmenureader.cpp +@@ -79,16 +79,13 @@ bool XdgMenuReader::load(const QString& fileName, const QString& baseDir) + //qDebug() << "Load file:" << mFileName; + mMenu->addWatchPath(mFileName); + +- QString errorStr; +- int errorLine; +- int errorColumn; +- +- if (!mXml.setContent(&file, true, &errorStr, &errorLine, &errorColumn)) ++ QDomDocument::ParseResult res = mXml.setContent(&file, QDomDocument::ParseOption::UseNamespaceProcessing); ++ if (!res) + { + mErrorStr = QString::fromLatin1("Parse error at line %1, column %2:\n%3") +- .arg(errorLine) +- .arg(errorColumn) +- .arg(errorStr); ++ .arg(res.errorLine) ++ .arg(res.errorColumn) ++ .arg(res.errorMessage); + return false; + } + +diff --git a/src/xdgiconloader/xdgiconloader.cpp b/src/xdgiconloader/xdgiconloader.cpp +index c6967a0..c299cca 100644 +--- a/src/xdgiconloader/xdgiconloader.cpp ++++ b/src/xdgiconloader/xdgiconloader.cpp +@@ -794,7 +794,6 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st + calculatedDpr = qMax(qreal(1.0), scale * ratio); + } + +- + QString key = QLatin1String("$qt_theme_") + % HexString(basePixmap.cacheKey()) + % HexString(mode) From 3a1f2c1bb7e00543c5c185f37515ecfd3dd508ed Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 10 Oct 2024 19:50:11 +0300 Subject: [PATCH 473/491] python312Packages.pyside6: 6.7.2 -> 6.8(.0?) --- pkgs/development/python-modules/shiboken6/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/shiboken6/default.nix b/pkgs/development/python-modules/shiboken6/default.nix index 2c491e193d80d..f49739d57c378 100644 --- a/pkgs/development/python-modules/shiboken6/default.nix +++ b/pkgs/development/python-modules/shiboken6/default.nix @@ -13,12 +13,13 @@ let in stdenv'.mkDerivation (finalAttrs: { pname = "shiboken6"; - version = "6.7.2"; + version = "6.8"; src = fetchurl { # https://download.qt.io/official_releases/QtForPython/shiboken6/ - url = "mirror://qt/official_releases/QtForPython/shiboken6/PySide6-${finalAttrs.version}-src/pyside-setup-everywhere-src-${finalAttrs.version}.tar.xz"; - hash = "sha256-OisNDW54yapd3H8GyktvEaP+FFYLrrFI7qU7XZjjaMc="; + # FIXME: inconsistent version numbers in directory name and tarball? + url = "mirror://qt/official_releases/QtForPython/shiboken6/PySide6-${finalAttrs.version}.0-src/pyside-setup-everywhere-src-${finalAttrs.version}.tar.xz"; + hash = "sha256-XAWtOufnJ51tudyUpG6woF/Qk1NzCfdDnDhnG9clUZA="; }; sourceRoot = "pyside-setup-everywhere-src-${finalAttrs.version}/sources/shiboken6"; From bc8f19c3ae49807f5880a9e7c422b7922cf0994c Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 10 Oct 2024 18:22:32 +0300 Subject: [PATCH 474/491] kirigami-addons: 1.4.0 -> 1.5.0 --- pkgs/kde/misc/kirigami-addons/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/kde/misc/kirigami-addons/default.nix b/pkgs/kde/misc/kirigami-addons/default.nix index d23cc7175bafe..4d5bc93632646 100644 --- a/pkgs/kde/misc/kirigami-addons/default.nix +++ b/pkgs/kde/misc/kirigami-addons/default.nix @@ -7,11 +7,11 @@ }: mkKdeDerivation rec { pname = "kirigami-addons"; - version = "1.4.0"; + version = "1.5.0"; src = fetchurl { url = "mirror://kde/stable/kirigami-addons/kirigami-addons-${version}.tar.xz"; - hash = "sha256-VuPOtSBVtWAzIOoIsn02c9MqORqNWGRtmYIn2LUfCpM="; + hash = "sha256-+d/RkQIrYz6jNI+Ecw1xWKFZ3+SWaNugqem9Z4rETlQ="; }; extraBuildInputs = [ qtdeclarative ]; From dffd4b36a2a8c0f86b67a23bd0069ba4fa25996b Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 10 Oct 2024 19:46:16 +0300 Subject: [PATCH 475/491] digikam: fix build with Qt 6.8 --- pkgs/by-name/di/digikam/package.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/di/digikam/package.nix b/pkgs/by-name/di/digikam/package.nix index dabd19fc9a5c7..39a61d7e0eb59 100644 --- a/pkgs/by-name/di/digikam/package.nix +++ b/pkgs/by-name/di/digikam/package.nix @@ -4,6 +4,7 @@ lib, fetchFromGitLab, fetchgit, + fetchpatch, cmake, ninja, @@ -71,7 +72,16 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-GJYlxJkvFEXppVk0yC9ojszylfAGt3eBMAjNUu60XDY="; }; - patches = [ ./disable-tests-download.patch ]; + patches = [ + ./disable-tests-download.patch + + # Fix build with Qt 6.8 + # FIXME: remove in next update + (fetchpatch { + url = "https://invent.kde.org/graphics/digikam/-/commit/a8b49ed8df676cae0f48b3369831edde2b74903e.patch"; + hash = "sha256-93kQ/Dg/A9FR83ChyiUaRwyelE1Iq14eIecUteVbnqI="; + }) + ]; strictDeps = true; From cb5823dcd582cb7c686d45908b9c85fa05f30f26 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 10 Oct 2024 19:53:32 +0300 Subject: [PATCH 476/491] kdePackages.kalzium: fix build with Qt 6.8 --- pkgs/kde/gear/kalzium/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/kde/gear/kalzium/default.nix b/pkgs/kde/gear/kalzium/default.nix index 7cdcd1efec638..39327304ac3fe 100644 --- a/pkgs/kde/gear/kalzium/default.nix +++ b/pkgs/kde/gear/kalzium/default.nix @@ -1,5 +1,6 @@ { mkKdeDerivation, + fetchpatch, pkg-config, ocaml, eigen, @@ -10,6 +11,15 @@ mkKdeDerivation { pname = "kalzium"; + patches = [ + # Fix build with Qt 6.8 + # FIXME: remove in next major update + (fetchpatch { + url = "https://invent.kde.org/education/kalzium/-/commit/557d9bc96636f413430d0789cbf775915fc0dc45.patch"; + hash = "sha256-KDCT/COqk7OTuF8pN7qrRrIPRU4PSGm+efpCDGbtZwA="; + }) + ]; + # FIXME: look into how to make it find libfacile extraNativeBuildInputs = [ pkg-config From 1dffb71d38610ff8ee350bb4491c00ba86a8c7ab Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 10 Oct 2024 18:22:53 +0300 Subject: [PATCH 477/491] kdePackages: Gear 24.08.1 -> 24.08.2 --- pkgs/kde/gear/akonadi-search/default.nix | 2 +- pkgs/kde/gear/angelfish/default.nix | 2 +- pkgs/kde/gear/kdepim-addons/default.nix | 2 +- pkgs/kde/generated/sources/gear.json | 1500 +++++++++++----------- 4 files changed, 753 insertions(+), 753 deletions(-) diff --git a/pkgs/kde/gear/akonadi-search/default.nix b/pkgs/kde/gear/akonadi-search/default.nix index 5b8add9abb8c0..de9c6faa951f1 100644 --- a/pkgs/kde/gear/akonadi-search/default.nix +++ b/pkgs/kde/gear/akonadi-search/default.nix @@ -7,7 +7,7 @@ cargo, rustc, # provided as callPackage input to enable easier overrides through overlays - cargoHash ? "sha256-myS9icWi2ZeQCCHZRP3xEMKToAa+afc8C+s3T8y19RE=", + cargoHash ? "sha256-E+QaicYnFF79FDIhhvuEPQLikiLk5oKIjvLA132RUZo=", }: mkKdeDerivation rec { pname = "akonadi-search"; diff --git a/pkgs/kde/gear/angelfish/default.nix b/pkgs/kde/gear/angelfish/default.nix index f599178ad37b2..f01906491453e 100644 --- a/pkgs/kde/gear/angelfish/default.nix +++ b/pkgs/kde/gear/angelfish/default.nix @@ -8,7 +8,7 @@ cargo, rustc, # provided as callPackage input to enable easier overrides through overlays - cargoHash ? "sha256-xZkFVINKcJlJizHpBFLsMheQ45GsgWafzlDmxUydf5k=", + cargoHash ? "sha256-B3M5tkmftR4nFbPAQqJDvvPidVGxq/8zH0KRgpBR92w=", qcoro, }: mkKdeDerivation rec { diff --git a/pkgs/kde/gear/kdepim-addons/default.nix b/pkgs/kde/gear/kdepim-addons/default.nix index 4b800b7c19136..8684233a9d421 100644 --- a/pkgs/kde/gear/kdepim-addons/default.nix +++ b/pkgs/kde/gear/kdepim-addons/default.nix @@ -8,7 +8,7 @@ corrosion, alpaka, # provided as callPackage input to enable easier overrides through overlays - cargoHash ? "sha256-hIiJEuUk950g29Qkka4oS7EsZDbPvm8Q3CrqxQG40bU=", + cargoHash ? "sha256-t7izRAYjuCYA0YMZaCnvwbVo2UvfTTvdlYUd69T6w/Q=", }: mkKdeDerivation rec { pname = "kdepim-addons"; diff --git a/pkgs/kde/generated/sources/gear.json b/pkgs/kde/generated/sources/gear.json index ccbb924490909..918e347772f26 100644 --- a/pkgs/kde/generated/sources/gear.json +++ b/pkgs/kde/generated/sources/gear.json @@ -1,1252 +1,1252 @@ { "accessibility-inspector": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/accessibility-inspector-24.08.1.tar.xz", - "hash": "sha256-c/xkVA4gvgDQxi4OHyDDE58UueXZ/cMdTyaKw1Wzl24=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/accessibility-inspector-24.08.2.tar.xz", + "hash": "sha256-fE4pQDnVgVZE/d0F1lndMyWtYCjeFWiv4RDlcE2mMTg=" }, "akonadi": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-24.08.1.tar.xz", - "hash": "sha256-1abzT2+XLT4cH2BY5AwjhswEsClINzxOEpkqA+PZlQE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-24.08.2.tar.xz", + "hash": "sha256-iy8RPrxZACC8FNNiu4xksbi7q+XnPKC6O2NkCZnB99M=" }, "akonadi-calendar": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-calendar-24.08.1.tar.xz", - "hash": "sha256-4GyJgKbKy//WjHpZrBgHc9xcG9wyKp697CmKk8PAsvk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-calendar-24.08.2.tar.xz", + "hash": "sha256-xq01HIIOQKxpp8X2f98qfVQfdmnT1Xh0ZF9vhfdOv54=" }, "akonadi-calendar-tools": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-calendar-tools-24.08.1.tar.xz", - "hash": "sha256-mhZfaW/1qEF0uVpAs98naZWloLu8ioY7eclfiPLFmHk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-calendar-tools-24.08.2.tar.xz", + "hash": "sha256-aGp+tN/XYu+zB6TI4eBmjfbILN04T7tggMbJvVn5tcM=" }, "akonadiconsole": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadiconsole-24.08.1.tar.xz", - "hash": "sha256-oF06JK+cHDZrw2ULku6UDAoheRxOojS4EAqYuIjMa6s=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadiconsole-24.08.2.tar.xz", + "hash": "sha256-ryud7MGLezBVtE/v8zUgpD+gHA9WrfjjioYVjb7Nbzo=" }, "akonadi-contacts": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-contacts-24.08.1.tar.xz", - "hash": "sha256-8i9VJMpOMOi6Mrk6BHLlQu40+W+yzOLVEjCDJJQ8oXY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-contacts-24.08.2.tar.xz", + "hash": "sha256-6hrY06Ttbw0wkbFYeGnHvSm0MJXSvac+gsBC4RrDf8g=" }, "akonadi-import-wizard": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-import-wizard-24.08.1.tar.xz", - "hash": "sha256-EONChsiO/aBvfjC3IIr+nssu5L2YymdaWdcJwAkPVIE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-import-wizard-24.08.2.tar.xz", + "hash": "sha256-rXGYsdfYZjEFxQpseTHKANFxE2hZqFLfMFw9mNmZkgQ=" }, "akonadi-mime": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-mime-24.08.1.tar.xz", - "hash": "sha256-hMvuG4HWxQ//Rl0U62DaUTvv2fEB8V/dQwazmrqnj9Y=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-mime-24.08.2.tar.xz", + "hash": "sha256-+9Lgk4WmC/pAn9hPADR/rIv4uZxpAgdwa60F1RVPId0=" }, "akonadi-notes": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-notes-24.08.1.tar.xz", - "hash": "sha256-GCDN1GVQlNaKWP7fFrM+ld5D23GxrFZq2DmP3ladmBg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-notes-24.08.2.tar.xz", + "hash": "sha256-LcMOIkvqDztYXLcdbMCZdB3pvtuObj8G16nO+jSeD94=" }, "akonadi-search": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akonadi-search-24.08.1.tar.xz", - "hash": "sha256-mf427ewIfrsLLJpyOsV/B/chTRa626m57mI/5kz9f8I=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akonadi-search-24.08.2.tar.xz", + "hash": "sha256-l21oZSW5zVyCfTNc0clkOvoNCdjx3amuWu72fviSnFw=" }, "akregator": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/akregator-24.08.1.tar.xz", - "hash": "sha256-WfEfezNuj5pBMcz64iLp8b9JLve8yCNKmuDSwCxxEUA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/akregator-24.08.2.tar.xz", + "hash": "sha256-ZHuaCPtYNAL7KQwjTpkhxjQDT7YBwVXHqOV13hb9Wzs=" }, "alligator": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/alligator-24.08.1.tar.xz", - "hash": "sha256-+yeAQzQEYgTa5TU4Dt3sKQSwD7txjtWKJyeMzO4CSCU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/alligator-24.08.2.tar.xz", + "hash": "sha256-U5w2J6oadXXKgR1nIV/I7qDpdcpohkV3DJHLXa1XMSg=" }, "analitza": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/analitza-24.08.1.tar.xz", - "hash": "sha256-L0lO4m8OIbbeMtESh2jwe8/1ANKs7mVyq8IwztF9pLw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/analitza-24.08.2.tar.xz", + "hash": "sha256-EWID/f0+sSTOnzoeF59olHe8ODhFF3IByj9shW0Sxjo=" }, "angelfish": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/angelfish-24.08.1.tar.xz", - "hash": "sha256-vVKyD9e2EK3FSpMPJyXd5ktIo5ly1gS1oUbOeoczUqM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/angelfish-24.08.2.tar.xz", + "hash": "sha256-SCrngjUJodD7egcqcoEG2ID1Q4JRVirzOdpFSKZUlks=" }, "arianna": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/arianna-24.08.1.tar.xz", - "hash": "sha256-cn1NMHtJQrEWveG2NeLLqh9vz96TM74Fn3D1lWAs5F4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/arianna-24.08.2.tar.xz", + "hash": "sha256-4HpVzGm5ndDtrIasInezV2EhcutA+y/xHMCgeDqzxDc=" }, "ark": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ark-24.08.1.tar.xz", - "hash": "sha256-CamKNE5t6/k5/yw5c9Z8d5TBXyL6/3uLuvuj0eOqXY0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ark-24.08.2.tar.xz", + "hash": "sha256-f98HTZhbufjFHZ/Bh1gPkeA+pxiMjsU2C9Mb1dwVuDw=" }, "artikulate": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/artikulate-24.08.1.tar.xz", - "hash": "sha256-99zL62pvlA6IlP/nLQ/fG3pFbz33Nhiw/nsxg5sYTkM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/artikulate-24.08.2.tar.xz", + "hash": "sha256-l8gqgXHrns7WouW9BbWPEq+YJOFzletUwzNjUXmiUF0=" }, "audex": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/audex-24.08.1.tar.xz", - "hash": "sha256-42AqObpwROMl+zV9mb0mADsJYy8tBeUUhLnsS6atHJY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/audex-24.08.2.tar.xz", + "hash": "sha256-eUkqCevK4BH1M8hvqamqmsxcaH77QTh6u9nAT/gfaAM=" }, "audiocd-kio": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/audiocd-kio-24.08.1.tar.xz", - "hash": "sha256-irBJyI1vHXCpj6zQINdYv6YwexgDq3zFZ51uTJykjbE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/audiocd-kio-24.08.2.tar.xz", + "hash": "sha256-o5DueitrPoJwWcmDafXqJFA0I7rsycQ7vQYsAKZ785M=" }, "audiotube": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/audiotube-24.08.1.tar.xz", - "hash": "sha256-+jhMt2q0k67wWv0togsM0jMkv6jMMxJ896cuovQfVUU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/audiotube-24.08.2.tar.xz", + "hash": "sha256-NX5Yr9/A7xMMSgeSVYYdtyrsVAI7eUugzQ9mUkVdA98=" }, "baloo-widgets": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/baloo-widgets-24.08.1.tar.xz", - "hash": "sha256-l5/oO2Kn9HtnN35SiLUdgDwGIpVvUFvtLbsJGaxKeWU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/baloo-widgets-24.08.2.tar.xz", + "hash": "sha256-szeiC0aByC6N1yIxP1e1iqc34tmEIKzBUSQlek0CY/4=" }, "blinken": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/blinken-24.08.1.tar.xz", - "hash": "sha256-JxREVor1VacbWFVY4G3otGXqZ4pXcwgWdXQHxg/kNLg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/blinken-24.08.2.tar.xz", + "hash": "sha256-QDcvZsQKqCl58hG6PCuy7qtSRWyPz5uq2JwzMDHRFPc=" }, "bomber": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/bomber-24.08.1.tar.xz", - "hash": "sha256-TgAyn/j9fr6v4YatxbT8tuX4jdc76Xm+i23Pdvz5HXg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/bomber-24.08.2.tar.xz", + "hash": "sha256-phawZVBYIG8//Db0mTxV1gWDtlR+ZMoeI4Iwtp0vXaw=" }, "bovo": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/bovo-24.08.1.tar.xz", - "hash": "sha256-tboqMf7JIYqHGHX3UQpkBeqpdM1UIFPJEGowiwusvy4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/bovo-24.08.2.tar.xz", + "hash": "sha256-kbAk70v9uXxwY3I2hwSS1KxCXUjIH1uIanZexEbHx6s=" }, "calendarsupport": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/calendarsupport-24.08.1.tar.xz", - "hash": "sha256-jU6QQdvQUSV19vA9MPdDGmFNvS9EJa0HBQvWq/fb84o=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/calendarsupport-24.08.2.tar.xz", + "hash": "sha256-brRVDcxD9FnbHygjd1fklXSF3wgigRgrKJ7vwg0Ya7U=" }, "calindori": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/calindori-24.08.1.tar.xz", - "hash": "sha256-KEJTQlK4OFk7edpGXrQaoPlv4HPANuDr3Df6U42eXOM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/calindori-24.08.2.tar.xz", + "hash": "sha256-9SFNyfA+S58KYXUozOXkr89pDPAEG/wEtQGJHV2ugz4=" }, "cantor": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/cantor-24.08.1.tar.xz", - "hash": "sha256-GOSuBBLFDgbNX2ZQcqqaMigeLoMV7tjNKs624jNM8Xo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/cantor-24.08.2.tar.xz", + "hash": "sha256-CAxztAXKLYVJctCMHNvHVU6Z89MU43rm+e8ySagCvHg=" }, "cervisia": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/cervisia-24.08.1.tar.xz", - "hash": "sha256-0oTAd48sWfoUCwIaHayCzxe0PXcl+1vgW1oV4e472M8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/cervisia-24.08.2.tar.xz", + "hash": "sha256-qTpkcgLCIJwKXDuwILtoEzGjOJS85g3+U4fOim5yJ+s=" }, "colord-kde": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/colord-kde-24.08.1.tar.xz", - "hash": "sha256-am1yTQpiemaZjHVTzNSSf7e1TnVZ3Iq655QCtRNiDyI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/colord-kde-24.08.2.tar.xz", + "hash": "sha256-f3WouENrUiPzsnkdlH3sPweZcZWkLdQ79o0Eo+z3B20=" }, "dolphin": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/dolphin-24.08.1.tar.xz", - "hash": "sha256-Hbqa+2YXCAwbSTeojsAS+6dxhDJ6zIVz2eNR/u1Tdmg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/dolphin-24.08.2.tar.xz", + "hash": "sha256-VRUWJwditxpTUC5CyuIhBmQuElPiJyBjKoBSUENBRbE=" }, "dolphin-plugins": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/dolphin-plugins-24.08.1.tar.xz", - "hash": "sha256-yIZimA9qW9BCc1wH1KqilHRSTfUad5GmwDd89ym/CzU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/dolphin-plugins-24.08.2.tar.xz", + "hash": "sha256-aX7Ggt6w6PfU/BTo645s+0w8CWHY10tZRdPHr9AE6A8=" }, "dragon": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/dragon-24.08.1.tar.xz", - "hash": "sha256-wRkXTxc8jfnoU/WikxHBqHO0uCSNBQmJuw7YCDI0/oo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/dragon-24.08.2.tar.xz", + "hash": "sha256-3h+fPtM0R13uiJ8qxaiImlNgjZq6nywJD4jdNQrx5IM=" }, "elisa": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/elisa-24.08.1.tar.xz", - "hash": "sha256-zt9tyeHYERPmWZBB0JtS1N3wbJQWe9zcybjLHGbAoko=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/elisa-24.08.2.tar.xz", + "hash": "sha256-+eTurdf9lIbjOPE8nyXF19j7S5Y3uCjW/VJUgWoHp8k=" }, "eventviews": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/eventviews-24.08.1.tar.xz", - "hash": "sha256-IUb+uHifA8DnvWVW/dHfX0qjzloCK+65omUhX6HO270=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/eventviews-24.08.2.tar.xz", + "hash": "sha256-lVH7Tkh0kNv1tdmKOd/6vUo2omFW1iR7Ubf2DQXbBV8=" }, "falkon": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/falkon-24.08.1.tar.xz", - "hash": "sha256-q3y3v8mevszeKqXiUqlp+HE4UAfCiaqxLh3sNoJrkxU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/falkon-24.08.2.tar.xz", + "hash": "sha256-19zRYVzuYjJVyBhFip2V6sDyDvzj8AOe76z0Yg6u80s=" }, "ffmpegthumbs": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ffmpegthumbs-24.08.1.tar.xz", - "hash": "sha256-4sagvdIW09GMObvyxyRifCB1Qj4+4WSpBm2vYP3EttQ=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ffmpegthumbs-24.08.2.tar.xz", + "hash": "sha256-sGrM3S/wBZ1s+hgNLrjX3ZWbmuyU0RY0vQhmkKBqxqw=" }, "filelight": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/filelight-24.08.1.tar.xz", - "hash": "sha256-i9XzR36JKKT0XaN6Pw7i1Gn8/uIPe1GXv6z/R3K7UKI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/filelight-24.08.2.tar.xz", + "hash": "sha256-XpBM30Vz+luFeOQVfaNIrUbnKBmSv71q9ZyUMOFrqU4=" }, "francis": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/francis-24.08.1.tar.xz", - "hash": "sha256-9kkssY5dsGxmBNnTO44GBG+2ZU8JBrKcGEMx06LsNU0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/francis-24.08.2.tar.xz", + "hash": "sha256-a4zH84wk4UwueXpiKZ1HCZlls45yBVeOMgaBjHkiroA=" }, "ghostwriter": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ghostwriter-24.08.1.tar.xz", - "hash": "sha256-0MGFISTFK04+rXoj0zomwdKdXppFGI66MTwaC8UJ6pI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ghostwriter-24.08.2.tar.xz", + "hash": "sha256-g+f/Nefc4DoSCt+pmLYDAYI1CwJqn+YCjQqWKRjncuc=" }, "granatier": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/granatier-24.08.1.tar.xz", - "hash": "sha256-nCAHu6MrAZ3ZAtCv2vQhN4lXfgR/mEm9sXqtmqBvo4k=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/granatier-24.08.2.tar.xz", + "hash": "sha256-zOraxrRmB9j5Y4q+tXrC/0uvj51QxkP3dLwfKGhl/P4=" }, "grantlee-editor": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/grantlee-editor-24.08.1.tar.xz", - "hash": "sha256-qf/5M/ZCMh/0sn8gxtB0Zfvp4tNTnHbtM/a4t4FmUxg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/grantlee-editor-24.08.2.tar.xz", + "hash": "sha256-GYbjU2UGuF+Vt3fUxbG56cPlvCBjn9U9NAhW6VxRXi0=" }, "grantleetheme": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/grantleetheme-24.08.1.tar.xz", - "hash": "sha256-opm5Mdt1PQYLX0Sj/HyJg9u8g8MxWTUZx+/pa5Aq8XI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/grantleetheme-24.08.2.tar.xz", + "hash": "sha256-wAYB40gpVIHgM+RCjrSLi0H5gV6mjC1hYOK79UqTW0M=" }, "gwenview": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/gwenview-24.08.1.tar.xz", - "hash": "sha256-Q4DF1CF0e1HmDMfYU64IheR1W5qN9OjKNTRmzrYQbU4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/gwenview-24.08.2.tar.xz", + "hash": "sha256-HVfcSbA05E21rtbijL3CHo43c7DctN52jk8R0duk7DI=" }, "incidenceeditor": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/incidenceeditor-24.08.1.tar.xz", - "hash": "sha256-z92Ob/F7J16pTFojSzLilwGkBUKgRnj0pyUJhaKA0k8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/incidenceeditor-24.08.2.tar.xz", + "hash": "sha256-l/67wkrUq2j84rQYbfuFCPVevs5q5NNmQy1bnRdU8XM=" }, "isoimagewriter": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/isoimagewriter-24.08.1.tar.xz", - "hash": "sha256-9lApzJlRVZO2yEFdp02Aj9yU3spyOU9jIVUgDkDPW0A=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/isoimagewriter-24.08.2.tar.xz", + "hash": "sha256-djuTSkr6lMw3Sc7q9vh8mdWTyWnvC3K50moICfKa4Ik=" }, "itinerary": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/itinerary-24.08.1.tar.xz", - "hash": "sha256-asCgnKBudz6FgljPyu0zOzMFijnBQRPFP2Emo+JikL4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/itinerary-24.08.2.tar.xz", + "hash": "sha256-MOhnRn6nnE7bTg34zdHhWj40bPF8qwEROotJfGa6NgQ=" }, "juk": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/juk-24.08.1.tar.xz", - "hash": "sha256-11qpNpcAABo4O2PjJS+nsbsHpfkhx/Ecbk1zy75Qf5g=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/juk-24.08.2.tar.xz", + "hash": "sha256-RZB9GRHIOoVvS/uCBV/v5Q9P+4jpVnEP+gDMXlv9K/w=" }, "k3b": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/k3b-24.08.1.tar.xz", - "hash": "sha256-U5iwgVxi7M11YXOdxFVOe/sVSHk8SoOnkVWoLyP1WCM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/k3b-24.08.2.tar.xz", + "hash": "sha256-rqgd0ZQsxoPHIulrM6x95YCZ/iTiI0SCcsFI9LiASm8=" }, "kaccounts-integration": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kaccounts-integration-24.08.1.tar.xz", - "hash": "sha256-PJM8nEkbMpSrQrhAVLKyRwMq/WuTSA3xV/m9SUXau2Q=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kaccounts-integration-24.08.2.tar.xz", + "hash": "sha256-Vs40NNILzIlnOCL3uUn1DzL8dTjuckL7l2KFVMksjxY=" }, "kaccounts-providers": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kaccounts-providers-24.08.1.tar.xz", - "hash": "sha256-HNHN5M/2a9WUqie0+UG2HcTW/9e1Ol8/oE1Dup6JZ9w=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kaccounts-providers-24.08.2.tar.xz", + "hash": "sha256-FSgFjcyS+FTjHyf9bIaoLqXfNLw7erlC1p/wrH8A2EM=" }, "kaddressbook": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kaddressbook-24.08.1.tar.xz", - "hash": "sha256-U1I23jS8hihW7lKrer2NRuFj+WyVbvXWMrQ4wrWJf60=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kaddressbook-24.08.2.tar.xz", + "hash": "sha256-Sb5L6wgDxqkrlGci+LHBqEJalxLOzEv9AyB6NRdCwU0=" }, "kajongg": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kajongg-24.08.1.tar.xz", - "hash": "sha256-pHqsB16aKVphfELxShAyeaUMZMJGcgx9m/W+HMk1bmg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kajongg-24.08.2.tar.xz", + "hash": "sha256-A3yvvln97eZBmjWRwgNdWjz0KXOLe9gctDIJZXu62Zs=" }, "kalarm": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kalarm-24.08.1.tar.xz", - "hash": "sha256-bUacnOaicHR1O34LycYfWO1IQzMrCf3YF/1NhIucJ0I=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kalarm-24.08.2.tar.xz", + "hash": "sha256-oe6wl0PTtQVUSJRGYoAbtpNXO4CXjGBQzrspvVeZSgI=" }, "kalgebra": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kalgebra-24.08.1.tar.xz", - "hash": "sha256-oaI6wTw99k3ScY89qJo1WMCXr26/ycHi+6oZxs1pUic=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kalgebra-24.08.2.tar.xz", + "hash": "sha256-tWCwZESHZQci405yh08c7x8h7EEJ5LLyKUQOpvAxFQ8=" }, "kalk": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kalk-24.08.1.tar.xz", - "hash": "sha256-BRU+AM/eGJdVRgPBEL6HTpzX4KbqndV9UWm2TtAZMUE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kalk-24.08.2.tar.xz", + "hash": "sha256-ZlfBKmcXhHt4+w56D2agfT+ULwljU3TUwKSk4ADMWs8=" }, "kalm": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kalm-24.08.1.tar.xz", - "hash": "sha256-VMK4O1/mFv4hsyeny5B0R2AJ3lwFgDZ21ZLB+SVvEKk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kalm-24.08.2.tar.xz", + "hash": "sha256-JquhkpaPF2xMyDJkHs+C1B5a7tZ5AGhfAM9VdtaTYso=" }, "kalzium": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kalzium-24.08.1.tar.xz", - "hash": "sha256-/ybAT+pJCwl2g+SFTvct2moryS9ObAKp/7yegHd2Dvw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kalzium-24.08.2.tar.xz", + "hash": "sha256-m4yO8wMzwjqym7m849cyTPndGjavSB0ybSx7YySys1c=" }, "kamera": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kamera-24.08.1.tar.xz", - "hash": "sha256-Ql8s6RWcAkqS+zWlOvLPxK0+Gz4a5h4gnBfCMJL7WR8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kamera-24.08.2.tar.xz", + "hash": "sha256-5OHPBtCyiyvZV1FKRXrn6kid6ZwTV20kBa32ouIHErU=" }, "kamoso": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kamoso-24.08.1.tar.xz", - "hash": "sha256-MwLqpX1YLXWcptZ6DN3GTDsAS2UrzQLhk5iO9jFgq74=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kamoso-24.08.2.tar.xz", + "hash": "sha256-UuCqnIRSMlkyeAvnDf2uWeJTvSf+OsnjubGaMuAtl38=" }, "kanagram": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kanagram-24.08.1.tar.xz", - "hash": "sha256-aS4BtIJXgcgSy9vwdRR0s5cEuqVkXhlXagXm5wMJGIM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kanagram-24.08.2.tar.xz", + "hash": "sha256-9hxsb6MJ1Tdy/n5RwtFfzqFT35pH3I6y2A2tiGEeuGI=" }, "kapman": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kapman-24.08.1.tar.xz", - "hash": "sha256-AmYN6yBbSazmjPUwcHgLF91d1Se5s2OWLqDCZ6lHuxk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kapman-24.08.2.tar.xz", + "hash": "sha256-cjhosHjMMQe+qFpdNBsC+ZarXI8dW3XPkIwmf9EG5U4=" }, "kapptemplate": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kapptemplate-24.08.1.tar.xz", - "hash": "sha256-5x+eNNmIaONUW+eSz2prlFZsmhjJ2VKCMSp5E4sH+r4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kapptemplate-24.08.2.tar.xz", + "hash": "sha256-TSsO+Z7VkBHuurVDUBljNUYwwbT47AmZ8khs/lVy0Ho=" }, "kasts": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kasts-24.08.1.tar.xz", - "hash": "sha256-jyeYFRT0GrQ2q21YJWPGSYfNfYHuriXZpeewjWOPW1w=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kasts-24.08.2.tar.xz", + "hash": "sha256-Vkbz8IkfSYR71Dfgd/4X4Nmb5S7NqedftLveCHicdOM=" }, "kate": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kate-24.08.1.tar.xz", - "hash": "sha256-wQUYskOG8dr19kcjwls/TtfjRGpwkSq+W2yWXv2bLcY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kate-24.08.2.tar.xz", + "hash": "sha256-2Ft1MYiV3KL0DpbuWOkemmAS81h+Itfz4P4Tvv+uymw=" }, "katomic": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/katomic-24.08.1.tar.xz", - "hash": "sha256-odgFbXiCOw3vg+9A/SowiXsql/0xmr8zcBT42KEJqqI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/katomic-24.08.2.tar.xz", + "hash": "sha256-5oCtP652mvujZIB77D/KfyDZEGd9kCnx7MnWXTcmYE0=" }, "kbackup": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kbackup-24.08.1.tar.xz", - "hash": "sha256-GSflfY9tJ65sM/RmA4aMemAV5TfCayPtPP2XaAhPK7g=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kbackup-24.08.2.tar.xz", + "hash": "sha256-hxRC7eTkR+xRDb6ki1mDna2SFCEXdnXq1FClRbCvKCE=" }, "kblackbox": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kblackbox-24.08.1.tar.xz", - "hash": "sha256-Oe9PSgJRe3LkPPZnCfiZo8CiFq8j8y0ZpTsupjGzThA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kblackbox-24.08.2.tar.xz", + "hash": "sha256-X+KB7aM4lOpHCH+6YcP9o7RDHnP1qkd7SNkjstpUYr8=" }, "kblocks": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kblocks-24.08.1.tar.xz", - "hash": "sha256-CXEUA2EcKIqgImChG8nUNDIiXFrkwX1bRwH7X98Eu9o=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kblocks-24.08.2.tar.xz", + "hash": "sha256-pv6IWSnaJM3LL8V4ZuZOZnqRKkZQ9/rbUW1J6ns1KKw=" }, "kbounce": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kbounce-24.08.1.tar.xz", - "hash": "sha256-DPMpvhdXzOkZsrLYiHECSxmqQuWBhadS0JH4lO/noP4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kbounce-24.08.2.tar.xz", + "hash": "sha256-EMvWygDfil41cUUm0qlEmIOokvdZ0msYL4PhN+pbIdE=" }, "kbreakout": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kbreakout-24.08.1.tar.xz", - "hash": "sha256-5Si9OKFfBlZ8g6XL4YVXrPfyGcBCvOCfQ3FeEgfhgyM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kbreakout-24.08.2.tar.xz", + "hash": "sha256-0VJCGDbWOiQJiu/WqimEFeStSbj92KXc3HXfMC5vdG4=" }, "kbruch": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kbruch-24.08.1.tar.xz", - "hash": "sha256-W/n8XRqgmFJSw7TdPikGqh41RoTl3mAw4zqfTEjqzEw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kbruch-24.08.2.tar.xz", + "hash": "sha256-I9KH/azP7/qf47GUmMTbhRyZd8qqwVI5qoYQRA1AFlw=" }, "kcachegrind": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kcachegrind-24.08.1.tar.xz", - "hash": "sha256-BPJMq1/l3IinmYSY3ntstl537xKrHrvjS8oAs7ISuyE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kcachegrind-24.08.2.tar.xz", + "hash": "sha256-h64CpqnNrtXPlSbtQFtZusxdaHFxX5HQwi0iLVyEdfQ=" }, "kcalc": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kcalc-24.08.1.tar.xz", - "hash": "sha256-huu5s2tfTWIJBIhCBphc7MD/0lNmbycxPse66ZsQqW4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kcalc-24.08.2.tar.xz", + "hash": "sha256-DyD/62b4XyqRv3RTaO/pQ8XjKsA8Rem34SSv4OSU/Uk=" }, "kcalutils": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kcalutils-24.08.1.tar.xz", - "hash": "sha256-pRrD1dx1xuWlTtrwZ+DUvfWOeucRelCIpPkocng/sJk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kcalutils-24.08.2.tar.xz", + "hash": "sha256-/4Z0PJJoowu/mYYNG49luhb8QNkmLXWs8HAu+8VfZww=" }, "kcharselect": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kcharselect-24.08.1.tar.xz", - "hash": "sha256-ZdhYIhssUv0QY+pXkkRPdO2trb0iz6baMPTnJXFsl8g=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kcharselect-24.08.2.tar.xz", + "hash": "sha256-iZ6Vb+s8HmLTWixAIEM5k0FuKKcWAOfJfvYn9I5ss4o=" }, "kclock": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kclock-24.08.1.tar.xz", - "hash": "sha256-qZ1bv4ADG2wzyHi9axI9LQLLnIrJ0Gl6PmMyBtTgGYw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kclock-24.08.2.tar.xz", + "hash": "sha256-vE/mn8oWtQcly5W0cRzBshz4xfAjv3TZ1/AltcaW9ig=" }, "kcolorchooser": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kcolorchooser-24.08.1.tar.xz", - "hash": "sha256-2EYvEtVOcAqm7ENcuK7zn8QtrUhC7m6E+27+u+QncDw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kcolorchooser-24.08.2.tar.xz", + "hash": "sha256-pjtX2K5XH49WvHZWjdarDFOCzYdkuA7+ie/OGUNJ08s=" }, "kcron": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kcron-24.08.1.tar.xz", - "hash": "sha256-qSy05C9ocXNLV9rs7T9o9KI37ExHwceKa1wlqv9/jCo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kcron-24.08.2.tar.xz", + "hash": "sha256-hl1G8QYcVnpQ9VmrevH6/Sw/7bOsKJKTZwNVBv8K5tA=" }, "kdebugsettings": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdebugsettings-24.08.1.tar.xz", - "hash": "sha256-ibanaWiHlfgYaLyFsAAhSAdpBkvsgbIc8FwLC3qtkms=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdebugsettings-24.08.2.tar.xz", + "hash": "sha256-bu5AlIpmx9xrQii3TfrS7qfaPf4236Kj3GCwKANeyOg=" }, "kdeconnect-kde": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdeconnect-kde-24.08.1.tar.xz", - "hash": "sha256-+de1XVKujQdDKSKv2ErxnNNz3we0Xrl9OBvNLbTV0eY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdeconnect-kde-24.08.2.tar.xz", + "hash": "sha256-1xeNlrRF72YJI/MFqQ/GrszK5AScyZo57mwXrAv1HGk=" }, "kde-dev-scripts": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kde-dev-scripts-24.08.1.tar.xz", - "hash": "sha256-kOmjzmiB9cRlunkmDWaeZtsBvwHezfqZXD8wP+RxaHQ=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kde-dev-scripts-24.08.2.tar.xz", + "hash": "sha256-B0IgBO4xUkQ/z/LUncul58uavGKNbwLhZaSAHMROc7o=" }, "kde-dev-utils": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kde-dev-utils-24.08.1.tar.xz", - "hash": "sha256-zDkPbsPxy8oBJbBy3coI859+fWsVYeuKwdHOjCx1Hak=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kde-dev-utils-24.08.2.tar.xz", + "hash": "sha256-MY5Gn1LAaoasGo8DRZhSJLUTZk0Ra/77k/TejdDdg8g=" }, "kdeedu-data": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdeedu-data-24.08.1.tar.xz", - "hash": "sha256-8RR38NoL8kLcMJ4LxGGkP6AdlHQ6MEm9M2r1jdlZtOI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdeedu-data-24.08.2.tar.xz", + "hash": "sha256-XNf2MDYGKALxk147hXRMYSALKi3CL01JQD+czh+qj1o=" }, "kdegraphics-mobipocket": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdegraphics-mobipocket-24.08.1.tar.xz", - "hash": "sha256-DZQoX812kENYZwDDMrgqlylZ76Y+H3SozqIhZY/+0DI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdegraphics-mobipocket-24.08.2.tar.xz", + "hash": "sha256-Vr/d8kznRVE9bfLClfEZ3mhwmB68z40GoQZoIu1/OZU=" }, "kdegraphics-thumbnailers": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdegraphics-thumbnailers-24.08.1.tar.xz", - "hash": "sha256-cILM8eT4+mQ74znmTLD/0axenq5hSGllw7flfr+p3XQ=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdegraphics-thumbnailers-24.08.2.tar.xz", + "hash": "sha256-1SBgDqNVa6IRH/TlzRWHSJpUy05t0aXmJriZwpKeGgs=" }, "kde-inotify-survey": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kde-inotify-survey-24.08.1.tar.xz", - "hash": "sha256-pDRnqWVvACqyspGnR/Z6U9bTFT2dLhgJvECDU26loIg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kde-inotify-survey-24.08.2.tar.xz", + "hash": "sha256-w470km+siTY+Gn22H/Ofi/dzbtQJoFj+wOUt1rCEoLM=" }, "kdenetwork-filesharing": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdenetwork-filesharing-24.08.1.tar.xz", - "hash": "sha256-Db0oYRg5RQ55rr2aybfbxFuCuMHNMgbV02DVRfc/cMM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdenetwork-filesharing-24.08.2.tar.xz", + "hash": "sha256-elaWVNVNgwbH7GIA4JKxoD+LGnPPS3ylQ1RKx7jUTGU=" }, "kdenlive": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdenlive-24.08.1.tar.xz", - "hash": "sha256-VbQq9UUwTsJr8gtOnnnonpHWFIH7u5Ol33x06G+64UI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdenlive-24.08.2.tar.xz", + "hash": "sha256-FVZonukudpc1tZG79ntBhnGBD+7tCepWXpyKAL2/j7c=" }, "kdepim-addons": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdepim-addons-24.08.1.tar.xz", - "hash": "sha256-RlftIyEsDu5T5IyHnxc25V9XFYaT+H+sUA5df5Td8t0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdepim-addons-24.08.2.tar.xz", + "hash": "sha256-zkUIDKMo/ysCDPjh17CSSg19xIMBEbyUgUHB4lavqRI=" }, "kdepim-runtime": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdepim-runtime-24.08.1.tar.xz", - "hash": "sha256-KZHdMBhHtvdQB2nBJ8d3lVW4LwmuCFbRqevM4Zh+WSU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdepim-runtime-24.08.2.tar.xz", + "hash": "sha256-JA4T/FBvA1csCMDyl/TPJtMTpGfhc8/kCLLSnsbu8Pk=" }, "kdesdk-kio": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdesdk-kio-24.08.1.tar.xz", - "hash": "sha256-Y/9boahTKccAaUbo/zma++H2TLZmnoWN/hr4/F8RFzI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdesdk-kio-24.08.2.tar.xz", + "hash": "sha256-072EF549k2FZ3t+psVaGvY0/8Y7V/mZg4PON9tDXI6E=" }, "kdesdk-thumbnailers": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdesdk-thumbnailers-24.08.1.tar.xz", - "hash": "sha256-ScTJaB5hQi3rDnA70zLBjRzrIvDI7xo/rUmlMgmq1Eg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdesdk-thumbnailers-24.08.2.tar.xz", + "hash": "sha256-f8rNnHRu2fcwKBZ9jEIhvGc29HQB2ofzvoO1+G1kj9o=" }, "kdevelop": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdevelop-24.08.1.tar.xz", - "hash": "sha256-urE8gll/YOcByuE91aL0BqixGL+padTE+psUeHAJ5Qg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdevelop-24.08.2.tar.xz", + "hash": "sha256-Pfw4jzWYoZPWlVVEb5F/RBgeAt6jgA/w5qC56AgdCgw=" }, "kdev-php": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdev-php-24.08.1.tar.xz", - "hash": "sha256-N4Oq2zSuCSKZq0uEOWvhIXA2hl1nEsxsf5ldQcUv1jE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdev-php-24.08.2.tar.xz", + "hash": "sha256-Yqu92NqkVMjq3DnDC+DdnT6hkD0BPfsoc8x8eL07dcU=" }, "kdev-python": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdev-python-24.08.1.tar.xz", - "hash": "sha256-aQvo1nRZyCg+8CLOPsesBT5V3INKEV6Rous7faISMSA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdev-python-24.08.2.tar.xz", + "hash": "sha256-3i87y9312GpnLHgj50Ac83kmWHWGcQRkERdiDRoUk60=" }, "kdf": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdf-24.08.1.tar.xz", - "hash": "sha256-agXTh2RFk2rOPqLHy67+5r2X6F6gvnCRXH0yHPo2LRo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdf-24.08.2.tar.xz", + "hash": "sha256-/H5SFpxijru+cdtu0PM5WmbLoPKQO4Y4IkWH9IoIYec=" }, "kdialog": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdialog-24.08.1.tar.xz", - "hash": "sha256-N+gAwnAP+R1MYUMnAxaqtIolaXtlIRicQ30Z7uZUYpM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdialog-24.08.2.tar.xz", + "hash": "sha256-FtrMEHqOiqdTfptR3a3X2RtaxHYOVRexplrcmnP6fIA=" }, "kdiamond": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kdiamond-24.08.1.tar.xz", - "hash": "sha256-JDWBGhDyl1vHLFxdPoyWrp3UGxEdRuV49zhx4aC/Ubo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kdiamond-24.08.2.tar.xz", + "hash": "sha256-ijJ/XtNhKu2HB0yidl7u0QWE/TiD9R/9zX4DDuob6qY=" }, "keditbookmarks": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/keditbookmarks-24.08.1.tar.xz", - "hash": "sha256-DM5Tik2QttsXByP9n6mqMjgB0VEm4+kk1jbpe65SJJY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/keditbookmarks-24.08.2.tar.xz", + "hash": "sha256-0sgvXfWAHsbfE40QRg6U7Dg+79O1dZ7LY0QtkuQDwAU=" }, "keysmith": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/keysmith-24.08.1.tar.xz", - "hash": "sha256-z3677BL9Yx7INiHDQePKx3kqnoWfX5kubiNklaIyMCY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/keysmith-24.08.2.tar.xz", + "hash": "sha256-TZCj+9bbc/YtMjiDE9HKIrFxM7UiS+3zGL2ZVMIeIVs=" }, "kfind": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kfind-24.08.1.tar.xz", - "hash": "sha256-6Hf6xQi+xojheSMwxvZW//+8vVn+FhoXSwvS1QHYA7s=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kfind-24.08.2.tar.xz", + "hash": "sha256-kgZyhADD7d4ho7w9sE9/cyVYj9atPHjeOxBeP6P1REU=" }, "kfourinline": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kfourinline-24.08.1.tar.xz", - "hash": "sha256-uN/mXbWUjga/RVsholNmjNLnxGSblHbC+RJ/UxzRMs4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kfourinline-24.08.2.tar.xz", + "hash": "sha256-9e1XGGOG4ZaKa/eVdpzJx4wPVuMAHJqmybHZjXqjTKI=" }, "kgeography": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kgeography-24.08.1.tar.xz", - "hash": "sha256-iZhXtmjxeZPaax5X2OZlYg0KuIWe1uMhCEKgCpXu8tY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kgeography-24.08.2.tar.xz", + "hash": "sha256-8dx1e9iIDufFxOaelDVWry6FR1s7GGnNdOm6agS+pKI=" }, "kget": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kget-24.08.1.tar.xz", - "hash": "sha256-GvgduQsNtTULqxDJZk0OMSOjY10seg71g5OXc6mmiAQ=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kget-24.08.2.tar.xz", + "hash": "sha256-aQw0IeOLNz6CVzCoMKiBOSwXGfB4zsEh1oYgqn7Sc4s=" }, "kgoldrunner": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kgoldrunner-24.08.1.tar.xz", - "hash": "sha256-AL5ilt3iO/2x4FGOcszSeT4zLP8+/7Zir16GOfMX68U=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kgoldrunner-24.08.2.tar.xz", + "hash": "sha256-BZ0vTWG7jDVA2AwCHh//VWwT0+B75yDRZ61kbyE7rEY=" }, "kgpg": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kgpg-24.08.1.tar.xz", - "hash": "sha256-xhNdZ4VNSyHNKlR01f2a26VEfK0ouCTor1zAAlhjZIU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kgpg-24.08.2.tar.xz", + "hash": "sha256-CEtAQ/89tflnXDmSo2tp3bPGjp7G8HVT/Mz+40iY8ww=" }, "kgraphviewer": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kgraphviewer-24.08.1.tar.xz", - "hash": "sha256-NdRqvxblLQZKJA6UaQ4HiXGcnlNi61h+pBXuQB2+w8U=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kgraphviewer-24.08.2.tar.xz", + "hash": "sha256-lMg+REm/0cFOVrEX/0NdF6C64Eg0VAU1kHnv3wps3JM=" }, "khangman": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/khangman-24.08.1.tar.xz", - "hash": "sha256-nEY8khR9xjmOSRlP14n3ptFrkFLvgMighp+ctS7xTK0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/khangman-24.08.2.tar.xz", + "hash": "sha256-m9bXQ3NbrENOON+Q9b6FbQRxg6SUx2tlxKiB70Puu+o=" }, "khealthcertificate": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/khealthcertificate-24.08.1.tar.xz", - "hash": "sha256-VWOHgtRpMqtEO4SchWJWSPVZEkTr12qlvhfvdEQbgTk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/khealthcertificate-24.08.2.tar.xz", + "hash": "sha256-g0Lr8zupMlyFLKyVPS9fB1Mo27E/BNy8507Xyfo7Z70=" }, "khelpcenter": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/khelpcenter-24.08.1.tar.xz", - "hash": "sha256-dg+iWle5QrpTJlpW/7EmSf+fWU3N/Gfa39m8UcEofnw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/khelpcenter-24.08.2.tar.xz", + "hash": "sha256-ZYzPiHsHHWnl6y5k3poLMrJj/7Mf45zKlJvUXpvai4Q=" }, "kidentitymanagement": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kidentitymanagement-24.08.1.tar.xz", - "hash": "sha256-3/wCWTKvAIkIDjZ8xnCLIM5vr6GCOSHaSeQ745mmWtc=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kidentitymanagement-24.08.2.tar.xz", + "hash": "sha256-UKbggnbv1eaNJYLB2j+Mjh3aTMRzrP9IRf7AJ9yj9xU=" }, "kig": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kig-24.08.1.tar.xz", - "hash": "sha256-z4qALboiPIqEN98oyCydZHWElAN+XBD1dFIcs6MBTog=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kig-24.08.2.tar.xz", + "hash": "sha256-oNpiWtSK8ipxfEdXQPRCE8mCLMJJKPUWQ7GvLKdbOqk=" }, "kigo": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kigo-24.08.1.tar.xz", - "hash": "sha256-ftJhAt4OF5GcUOFqYvMlelilVUDpCBgj9+AgQzy1Ky4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kigo-24.08.2.tar.xz", + "hash": "sha256-kxzRX+w1jIC/g1bKoNaTDZI75B3SvNLab4MsM51uPa0=" }, "killbots": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/killbots-24.08.1.tar.xz", - "hash": "sha256-N+t7AZWZ/ZtWkJgM+3wD/Sqb1kZ36EWWGBaY+5ug78c=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/killbots-24.08.2.tar.xz", + "hash": "sha256-k/nu5nE+ieaLElKi2xeLuMpzaZFDPLy/XMHUG9wEot0=" }, "kimagemapeditor": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kimagemapeditor-24.08.1.tar.xz", - "hash": "sha256-h3vdViqMwOUQ/8u7ckxjrxFomeqVYwuh2KlDmKmQs9s=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kimagemapeditor-24.08.2.tar.xz", + "hash": "sha256-r1twJIsYbBxa65hiX2wzJeMqHFKSoI2w8Z6pXExEjOg=" }, "kimap": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kimap-24.08.1.tar.xz", - "hash": "sha256-9hMeZ2TPptVomXlvXztkladQGBV/8Y2I2VX7EXpcfEk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kimap-24.08.2.tar.xz", + "hash": "sha256-q93DHzE4LiESTQ0EgRgoiTQ7c7kxjcEgQ+1euq+edTU=" }, "kio-admin": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kio-admin-24.08.1.tar.xz", - "hash": "sha256-BnJ3NrmK98JN5GFt0kTZVg2ZUXqlAw+0fBtwww9XV6I=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kio-admin-24.08.2.tar.xz", + "hash": "sha256-9+BSkZmhYaaz0ynwN7AUhulZxe6De53rhdDHzx8YcmM=" }, "kio-extras": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kio-extras-24.08.1.tar.xz", - "hash": "sha256-ZAUd2i8Xo5AUJsCptcpltkQp8AtoIOd5bmBQhLDPzto=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kio-extras-24.08.2.tar.xz", + "hash": "sha256-mab1SMeqwYAX6+K3OsmTJ/JYW0GCV7wcfgZc7YK9LMc=" }, "kio-gdrive": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kio-gdrive-24.08.1.tar.xz", - "hash": "sha256-NZLVghzhXHzdD/8/j1ViHkN0UiFDvAG2MqpJ9GAABIM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kio-gdrive-24.08.2.tar.xz", + "hash": "sha256-0/qmsTsjiL729aiu2blyKg9q/oC6s8nmWwSnB0xL2v4=" }, "kio-zeroconf": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kio-zeroconf-24.08.1.tar.xz", - "hash": "sha256-npc22mc/+tT9HN3kjIVMRKtv+UX9xWZa4UatxC2+nt8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kio-zeroconf-24.08.2.tar.xz", + "hash": "sha256-Cv68ADR4ybvVUcSwk5kHx//w7epXkA0hqj1w+AO/6oU=" }, "kirigami-gallery": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kirigami-gallery-24.08.1.tar.xz", - "hash": "sha256-RtnzyDmT+jJ33jpRG9yg1qYKkA6Qkr41ToJxKP6MQcM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kirigami-gallery-24.08.2.tar.xz", + "hash": "sha256-iESLnXKQaz9qUgmeA7ZX0PIBBoEoFo1VDHM2w1uXX0w=" }, "kiriki": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kiriki-24.08.1.tar.xz", - "hash": "sha256-Fd44QysYqiR1tDFkMvX0Woi9MuCRWUN9Aw32MH22y6g=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kiriki-24.08.2.tar.xz", + "hash": "sha256-NROQyN1YPX6+bXhk0lJf778qGV7BTdqzi72pAqTw+5k=" }, "kiten": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kiten-24.08.1.tar.xz", - "hash": "sha256-lbsIvt97/nMKYIICc3GmLVrWoE4vJV0ana8wtuXUDEM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kiten-24.08.2.tar.xz", + "hash": "sha256-T2MDF8rJH7bTX3epmHMKK7+dKmhL5t7VU9mrqFpcEes=" }, "kitinerary": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kitinerary-24.08.1.tar.xz", - "hash": "sha256-aeMQJL74CDbhz16vFUP+mgygfXJD1DSfnaCoJ6EjOTM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kitinerary-24.08.2.tar.xz", + "hash": "sha256-bzyMInh90qk5OC4qQrcczczW8j/KTDHrIIDn2sWFJck=" }, "kjournald": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kjournald-24.08.1.tar.xz", - "hash": "sha256-UVgjC7F6esn9eS7T2uejnmDZTKSjTXLY2GoOuIG3G7Y=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kjournald-24.08.2.tar.xz", + "hash": "sha256-+ynx9UmyxWBuM8Nvt3U7gITn5PmFNkfreddfujHZqlE=" }, "kjumpingcube": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kjumpingcube-24.08.1.tar.xz", - "hash": "sha256-c6gHitp0vTGpzC56uusi6m84OmEyTIepJ+2j1P0n3U0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kjumpingcube-24.08.2.tar.xz", + "hash": "sha256-RCQ3DCAyCjCDZIyAogMXOFNQLr3JvnXvpjTatIugpOw=" }, "kldap": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kldap-24.08.1.tar.xz", - "hash": "sha256-lLUsSNWaKgeEYefTmP3eigdG+DGTkuSdIBdF8C5G0u8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kldap-24.08.2.tar.xz", + "hash": "sha256-gjpCxxdpl9m4/b8xQJFs9KikON5322jH6hAx0Muk/us=" }, "kleopatra": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kleopatra-24.08.1.tar.xz", - "hash": "sha256-juW9kggi5PVMm11ap7dzMdKBOyW0PtipwMExygsby2w=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kleopatra-24.08.2.tar.xz", + "hash": "sha256-hgPbehv8Rsi+1diYh9XbVEk923iUH9qgPBIa1pSyw5U=" }, "klettres": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/klettres-24.08.1.tar.xz", - "hash": "sha256-qqD9gS5frocObmIJ+M6jAmKeQP7CJBtAKefOsxSmlxg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/klettres-24.08.2.tar.xz", + "hash": "sha256-ZdHQfMFj0MAvw6aOSrizZZDYmQ3JoQoHsdIm35qZszE=" }, "klickety": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/klickety-24.08.1.tar.xz", - "hash": "sha256-/nUD35uFODiJC96uo+wTP0gn2qhxZkbLL6/QNpBcDYA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/klickety-24.08.2.tar.xz", + "hash": "sha256-Si36hCgOwRWeDXN0Q6xjhG4eDcYIX5/X+HbaeBM/vhY=" }, "klines": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/klines-24.08.1.tar.xz", - "hash": "sha256-yj8R/4zLzTXdmvpk6tthFm1lcSqhenm++70YsDeGTMs=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/klines-24.08.2.tar.xz", + "hash": "sha256-GMQLh5yv+QKWfHLgtpO7xnFUimOQXXK0RKprUqS539w=" }, "kmag": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmag-24.08.1.tar.xz", - "hash": "sha256-hbe0tq2gRm9plDLUun7VpzPhqczTxu2PG/r8+vTERu4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmag-24.08.2.tar.xz", + "hash": "sha256-FXPLvIrXR6LHHx8bu8we3pxsabkEnpelM/jK/HrN5HY=" }, "kmahjongg": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmahjongg-24.08.1.tar.xz", - "hash": "sha256-2LlkBhMLPEH90LMzCRnXWMtZ/kGigZlM0Gdk5BFL7HA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmahjongg-24.08.2.tar.xz", + "hash": "sha256-vKnxozJamIxLLu1KWUZjWEyUUXHTrfXzRDBdhObt62A=" }, "kmail": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmail-24.08.1.tar.xz", - "hash": "sha256-q1q9BXjxmW2vOp+2dPOUkVRM4z5++zyh//Fe9vVzEHI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmail-24.08.2.tar.xz", + "hash": "sha256-JpaEbLE9yDRdlkidTtGD3kkyj74jOloVVfS5CFHOY4k=" }, "kmail-account-wizard": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmail-account-wizard-24.08.1.tar.xz", - "hash": "sha256-0Sz6miBt3l6gHn6iS6oKpJX6Sz1V+oZMZgZP1Q38cLI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmail-account-wizard-24.08.2.tar.xz", + "hash": "sha256-bvJ85SRmU3euCCqgx/Y3WJT2AaMhwXRej5qmgbp3pDk=" }, "kmailtransport": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmailtransport-24.08.1.tar.xz", - "hash": "sha256-J/MiRRtp1EU2LPcKjnySB36O2LJUjhlJBXpNE3y6MG8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmailtransport-24.08.2.tar.xz", + "hash": "sha256-9f3gtgXNis+XADBqQGe0Bd86okDcyNBpRoX+icNknWM=" }, "kmbox": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmbox-24.08.1.tar.xz", - "hash": "sha256-kyjDkwOMGYvlVHx0Nsoar3zfQUZtzMMsjt+SrDPq8I8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmbox-24.08.2.tar.xz", + "hash": "sha256-dN6qSzL+PAII8RUpgnnEwtI2+nV3QUnBskDLAx23bN0=" }, "kmime": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmime-24.08.1.tar.xz", - "hash": "sha256-7EePJhRLHftvDquOjvsMHwatNJy7T1XP8jPcrPY1pIM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmime-24.08.2.tar.xz", + "hash": "sha256-Ahj+H6XvAxik6O9igR2qCu3vFeu+ANMarlNYW0VspmE=" }, "kmines": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmines-24.08.1.tar.xz", - "hash": "sha256-H40mz5Iiirt5DdfC7eTBmnmov8PKeEZ2h9R1WhnNM9o=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmines-24.08.2.tar.xz", + "hash": "sha256-C6GK0MrBsXTOfiIum0ara4+nlPoUMYTq0KKTBKMm73Q=" }, "kmix": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmix-24.08.1.tar.xz", - "hash": "sha256-IXOVdWDucSwh895FvK3l/YNJgegmLooyU6NBZlYVuBw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmix-24.08.2.tar.xz", + "hash": "sha256-gxQ0bqFj5AQIY5abO49MdL5PrH3WvJsNz70F3Po4i/w=" }, "kmousetool": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmousetool-24.08.1.tar.xz", - "hash": "sha256-GWRrYdkheqaefPmIzDTyWBXRY2T2LyBeYCmXNiVhEGw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmousetool-24.08.2.tar.xz", + "hash": "sha256-/Lr5RH/ua/ADYqbGg3I4ahGiT3Ln5co7mrtwOOXwme8=" }, "kmouth": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmouth-24.08.1.tar.xz", - "hash": "sha256-T0Ta2Fj+LJYpgfHgh8Sppis5OVCywr2KAgotYjlQcf0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmouth-24.08.2.tar.xz", + "hash": "sha256-SyIboErUr/O0YBzss62WSoAGcmfUWCwZXykMzLfC6k4=" }, "kmplot": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kmplot-24.08.1.tar.xz", - "hash": "sha256-eUVVrvF5lzOUQ0ePh1TUq3kdXBxLJkOdRep3BHJMHNk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kmplot-24.08.2.tar.xz", + "hash": "sha256-AhayVF52HOZFrhl86Iypm7W4d4ze01rduLMclM/TzQc=" }, "knavalbattle": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/knavalbattle-24.08.1.tar.xz", - "hash": "sha256-QLLpz37dyroTfNAL00N6q40OlZFab1rO58HtpXaMI58=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/knavalbattle-24.08.2.tar.xz", + "hash": "sha256-RXAoyJACcl3bj1jh/osvt9t1bhJA3hu4/Kh61yuuATY=" }, "knetwalk": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/knetwalk-24.08.1.tar.xz", - "hash": "sha256-TRvvJ4y70n7W1YoDU4TyVDdzzaWx+OTAL/2lTDhJvtg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/knetwalk-24.08.2.tar.xz", + "hash": "sha256-qwuShnEQX3YgnijPXSCa9IcA03osLAAMFx6yOrJrVyk=" }, "knights": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/knights-24.08.1.tar.xz", - "hash": "sha256-k8Ns4f0GTDmWVUXck21Qg8q71OdcIqynW4aXpJ+mF1Q=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/knights-24.08.2.tar.xz", + "hash": "sha256-6AOkE+WULrSTBaISHl9+gjUylRreiqcgO+vtGqqki+U=" }, "koko": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/koko-24.08.1.tar.xz", - "hash": "sha256-PGOOXH09hfpsHxgJT9LBJDdOBEwxx+tlB2fJGsEGVRw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/koko-24.08.2.tar.xz", + "hash": "sha256-9LgcWc2vby6MGsJn6ULUWT695MdQqHFHvZoRQpZtkIo=" }, "kolf": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kolf-24.08.1.tar.xz", - "hash": "sha256-ccoQ9q40xymrFoA2hDARz9IsFtKi4mhAk2yp77Qaw60=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kolf-24.08.2.tar.xz", + "hash": "sha256-7QdOexrxPgWsA2J6cLuPEDpUUByXdXvmri5vZjiEHbo=" }, "kollision": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kollision-24.08.1.tar.xz", - "hash": "sha256-XZ9LgoiftA6kHXhSRUYW5Ky31he8njrYzkFT9SLOlF8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kollision-24.08.2.tar.xz", + "hash": "sha256-QQLAUw38CcYaoQwECPpu94pdAcWW1lYNw1gDf+3TvTM=" }, "kolourpaint": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kolourpaint-24.08.1.tar.xz", - "hash": "sha256-MOEZLGX50WBi+cx4sJNvBvbrzTR8VuYZn+KT19RWl3U=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kolourpaint-24.08.2.tar.xz", + "hash": "sha256-lCdxvhNMCHGWcBVmLeiLSHcGzXU6b86l/+2VPRL50JU=" }, "kompare": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kompare-24.08.1.tar.xz", - "hash": "sha256-wEJKFqgjilcR8Olge9+eJF0e7/f4LT2h8YSS6yvnWLU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kompare-24.08.2.tar.xz", + "hash": "sha256-c3szGmxqba/pKyNYSrX8mTAL91aK8a7zRJNnbeWqk4Q=" }, "kongress": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kongress-24.08.1.tar.xz", - "hash": "sha256-2PY4gA9a3q1SP1ynmv0U892lUH55db6ic+eLuEcoJtg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kongress-24.08.2.tar.xz", + "hash": "sha256-0Dzz9OXJwvb6xneFLYKA2YYontUejC0wkJ7EbWUEjPw=" }, "konqueror": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/konqueror-24.08.1.tar.xz", - "hash": "sha256-lpFvLR8klPKtGkVVDxz7hLDqMNnulK78AhedysW8ah0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/konqueror-24.08.2.tar.xz", + "hash": "sha256-N6LnTlpBiMTkqTlPeTu7cO5LcBiQ6gssP/A6JAo+Bzg=" }, "konquest": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/konquest-24.08.1.tar.xz", - "hash": "sha256-VOiobACwcPJhfRjdhZqfdqGea7Kn04BUtjlIB+fIDbY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/konquest-24.08.2.tar.xz", + "hash": "sha256-KZHlAGcCsjReJa9LY/ESSx2O1eunERRQRo2OuBEBd24=" }, "konsole": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/konsole-24.08.1.tar.xz", - "hash": "sha256-ZSGeT2r6Ceryb9PpE3nQfZOWDS9c5BJWhADotxsN1wg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/konsole-24.08.2.tar.xz", + "hash": "sha256-rnLKTi2RI7m62pnS07ATmP9QgrVJs4V5z5qpTCv/1xk=" }, "kontact": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kontact-24.08.1.tar.xz", - "hash": "sha256-1XMonau/VuJIyPCxYrMtZjbiMhBxoJsXm67Ie7XCG7I=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kontact-24.08.2.tar.xz", + "hash": "sha256-Orw/nc1SbPn96oWc5dfcvIrrEtMvMwQP5INVO8Y5NlA=" }, "kontactinterface": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kontactinterface-24.08.1.tar.xz", - "hash": "sha256-/ju5yF4J/aselLEpYYtDLwY1JadaqpdVthIvpKpD8To=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kontactinterface-24.08.2.tar.xz", + "hash": "sha256-mq2qHgFLoYSCMY6uZ1WcpTwVztY4yFumTNfoW6YZaVc=" }, "kontrast": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kontrast-24.08.1.tar.xz", - "hash": "sha256-0CRFlgNuhhtIyYeIrtOL17mDQQOoXKKIW/aFGgCiyC8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kontrast-24.08.2.tar.xz", + "hash": "sha256-7WCx4in6SisFEcToonoZR5tpJ09psY93ggkize0LUQQ=" }, "konversation": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/konversation-24.08.1.tar.xz", - "hash": "sha256-Y1zbukUfov8mwzFz/+RGdBgLTJDz13ToZBj9hF5bDG0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/konversation-24.08.2.tar.xz", + "hash": "sha256-rCLjp9t+iDT3zQrY45hKuErK2IoE/kOz4WyR50NSbK4=" }, "kopeninghours": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kopeninghours-24.08.1.tar.xz", - "hash": "sha256-9NZDVi8Ohy7kyOCpfzGcuUtpoB2UhJtShReMi7pZpwM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kopeninghours-24.08.2.tar.xz", + "hash": "sha256-Phl+XVjCNZiJgttT1Mm/1BfdbUS+l/2KeRhgfaOOyqY=" }, "korganizer": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/korganizer-24.08.1.tar.xz", - "hash": "sha256-AZ9o2VKqWmYAGI8gs1Fh4etbKQqww52P09lNUxBlTmM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/korganizer-24.08.2.tar.xz", + "hash": "sha256-44SVgn/vjYNkyNT+cFQyBo+Dy5gcv2mGu32BA/c3rjs=" }, "kosmindoormap": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kosmindoormap-24.08.1.tar.xz", - "hash": "sha256-0uz2Kwl/hp2g0VjkoAoIuwYOdKCvnjS3oa8/2swVV1o=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kosmindoormap-24.08.2.tar.xz", + "hash": "sha256-xnbTm2PDgZkjsCcjryRYSBUI8R4LKl21hO5mDJmWRcY=" }, "kpat": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kpat-24.08.1.tar.xz", - "hash": "sha256-wYkifGsBxoQMKEYwFMQNBcUOvjrSc+oVah8RgCRWfMo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kpat-24.08.2.tar.xz", + "hash": "sha256-LZ2oYxXkJLSEBA4ZEUO+CpNupDhUPQeNlud9xSg6BPI=" }, "kpimtextedit": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kpimtextedit-24.08.1.tar.xz", - "hash": "sha256-v5QdJFoGJrOzarAcGHIqpS/My5GgF8f/Owb8+ctz0t0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kpimtextedit-24.08.2.tar.xz", + "hash": "sha256-VVtlkHcxQcTYRdbzoCq7Qjh+rUywD+L+wM4XhbanfIU=" }, "kpkpass": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kpkpass-24.08.1.tar.xz", - "hash": "sha256-iSMVU9aTQ/y+NjaI+km8ngW292lYBP21ISDocSsdgW8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kpkpass-24.08.2.tar.xz", + "hash": "sha256-PwlaqwtPewP6hKSlnKq0UbVF6aPswi3E/ujttZcAy7s=" }, "kpmcore": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kpmcore-24.08.1.tar.xz", - "hash": "sha256-J0VQpdyNYTuo73lH/k5XwPgjOmCVRWM1nycS4FnwmoA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kpmcore-24.08.2.tar.xz", + "hash": "sha256-gdMPMyKssuuHUemAr2yLE/w5lGg/T5AuWIImtwpFZ5U=" }, "kpublictransport": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kpublictransport-24.08.1.tar.xz", - "hash": "sha256-y3MFz/jWBY8Xc7hPfiztgmFMl2hUwTtFX6tJcyrWVqc=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kpublictransport-24.08.2.tar.xz", + "hash": "sha256-qkSjVdz7kC70RIDFSUDfdH3uj3+zYwHa+88F7DCiNOE=" }, "kqtquickcharts": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kqtquickcharts-24.08.1.tar.xz", - "hash": "sha256-EoDXakzOtuGHMbyZs7LAeOufzawKA5PfXnoG80JjzWM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kqtquickcharts-24.08.2.tar.xz", + "hash": "sha256-seLcgMf+J/5VUIxkIaua85DcbjxKvwMVFqGm5GMMzP4=" }, "krdc": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/krdc-24.08.1.tar.xz", - "hash": "sha256-YOVQAFPJW+vq26Y0jWRhGJrVkBkIvP5R+E/7RwIGyDw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/krdc-24.08.2.tar.xz", + "hash": "sha256-D71VooCV08hGSc/b4S3YaN3swjIF9pjtA+gkWFyLxgs=" }, "krecorder": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/krecorder-24.08.1.tar.xz", - "hash": "sha256-Y6SSwryA8N5Yq3bfudtKvPLK/TmwsD/C8tePYfYx64w=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/krecorder-24.08.2.tar.xz", + "hash": "sha256-6lW1IeWyhnbcASri5Zmodmi7PRIEpm1jIKGeK3cqk5o=" }, "kreversi": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kreversi-24.08.1.tar.xz", - "hash": "sha256-hnwq00iukLRC8QQ59c8InhR5cKHgahOtYSt+jORxZe4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kreversi-24.08.2.tar.xz", + "hash": "sha256-CumrjLymqw2bBYRwBpVFDSmKa7azg5XklJ6BDaWojOE=" }, "krfb": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/krfb-24.08.1.tar.xz", - "hash": "sha256-7l9Nqy0sBSrwltWHgkYTUfFQ/KGbbsZtrOh8iZVgl1o=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/krfb-24.08.2.tar.xz", + "hash": "sha256-wlCw4RbGk1f3sZQVqsN9eOIogLqffZhbB2doFSNeoS0=" }, "kross-interpreters": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kross-interpreters-24.08.1.tar.xz", - "hash": "sha256-rPySduwB4DsNCB63ubj8p0kA/42h8MqtSKshJ4eCGlA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kross-interpreters-24.08.2.tar.xz", + "hash": "sha256-k0PPK0U8xZdXgOkMobBOx6fwScCZVMjc2Samu7CTc3Y=" }, "kruler": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kruler-24.08.1.tar.xz", - "hash": "sha256-LVlVGfQdD9UO4pXQF8TbnRFiqwV0K2Sq7JkAVRsqc7I=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kruler-24.08.2.tar.xz", + "hash": "sha256-E742B4bxaTk7R1akC6HxXklEvi/HxKS7T4dEM+VI5lU=" }, "ksanecore": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ksanecore-24.08.1.tar.xz", - "hash": "sha256-qe7k925CmnzbhoyQFVrZsawBNAXYVp7PpXFcISvN/Uo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ksanecore-24.08.2.tar.xz", + "hash": "sha256-+RwD6UWjRgdwZYFLJjeNmTjho5wiyIGFo2YmoFI6R00=" }, "kshisen": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kshisen-24.08.1.tar.xz", - "hash": "sha256-i5U7us2B34vH5nDdApt+syS/Q0Z0dx2GNwiB3/NfwZ0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kshisen-24.08.2.tar.xz", + "hash": "sha256-i+eVjXDXrXmS9iz2zptphVZKSytg0RfpZWpM9LMNdUo=" }, "ksirk": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ksirk-24.08.1.tar.xz", - "hash": "sha256-ixOSCC76lYHA1cuddZB4IlL9t5ZzgWNWrntaDUZY9nk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ksirk-24.08.2.tar.xz", + "hash": "sha256-t6StiVIRpvRJcx4U9P1SsNR5ZkhYvQpYrEM8pPKOSdU=" }, "ksmtp": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ksmtp-24.08.1.tar.xz", - "hash": "sha256-3mc85BCk+FeWxaEs5DihsNoNOnX+99L1amt3k8bf7zM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ksmtp-24.08.2.tar.xz", + "hash": "sha256-qKzU8s5G23niiUG/8AqO0Mv1Mv8hT0ltFyEnYrBNuGM=" }, "ksnakeduel": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ksnakeduel-24.08.1.tar.xz", - "hash": "sha256-Rn7rvYP2MqTyUTSWgMKogWVNqxBnEgmFaIYPeMgv+24=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ksnakeduel-24.08.2.tar.xz", + "hash": "sha256-biJ1mBjUPOf/h67GpwoQniChBBV6/HTYukoJNASQ0CQ=" }, "kspaceduel": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kspaceduel-24.08.1.tar.xz", - "hash": "sha256-uLMh2JxwLWsGU1JQ+bGiklbvWqzJiPun7WENGgQGtwI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kspaceduel-24.08.2.tar.xz", + "hash": "sha256-uF+cjbpgTOEhN5FefkXQjN7K6e2iAd9r2RqKOlb0+G8=" }, "ksquares": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ksquares-24.08.1.tar.xz", - "hash": "sha256-b+A4dxS9/XtcODTo9rlIjxb3Xv4mcrTzEKeL/zBDI54=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ksquares-24.08.2.tar.xz", + "hash": "sha256-whGNtx+TENOcwrQwVm7UC9z0wwF14zEs/bOS0JmWsWk=" }, "ksudoku": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ksudoku-24.08.1.tar.xz", - "hash": "sha256-UOmy4zgs78Cr9xWvKc7pp8ywmAzVMGZnls+JLPRjRq8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ksudoku-24.08.2.tar.xz", + "hash": "sha256-Xoq3Sz9ONmLZcwHoGZwwsIeXNhu5VyEah0tcdvcUkZQ=" }, "ksystemlog": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ksystemlog-24.08.1.tar.xz", - "hash": "sha256-pMnTIhX4PYSRGOgvNxvKazg2u1Dbtrw6/t66MQquqZ4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ksystemlog-24.08.2.tar.xz", + "hash": "sha256-d7jmKc2cwJ/lg+mbuv/q/rN9jtobLGy0CCqUJ/qmqW4=" }, "kteatime": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kteatime-24.08.1.tar.xz", - "hash": "sha256-6C8Jhqc8hRycFZBbxMzrG4rhd1WZvc3dWiBhygggpwg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kteatime-24.08.2.tar.xz", + "hash": "sha256-c3HLUioLNkBHw+L0UFQpJ7fbM78hmGvjKhNuocyO39s=" }, "ktimer": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ktimer-24.08.1.tar.xz", - "hash": "sha256-bUK/vpkN4+5FZwreEWTBhxFart6VCuNV1Txv4J4Ed0c=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ktimer-24.08.2.tar.xz", + "hash": "sha256-y2Y7K86Np7pf2teDp2DKo5RtFtYZ1Ad16Za7D+0UKHY=" }, "ktnef": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ktnef-24.08.1.tar.xz", - "hash": "sha256-wFoDST3jrgwjsr86exDO24ES1gZuh8CTtcslR2tb074=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ktnef-24.08.2.tar.xz", + "hash": "sha256-OI4PkxQTQplH5W380a1CnuI/2E3XkiI+uKSLHBKxhyg=" }, "ktorrent": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ktorrent-24.08.1.tar.xz", - "hash": "sha256-aU98JBF1+vkSVRfOs2knPNq4yR6BxP6rej7D4afkvmE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ktorrent-24.08.2.tar.xz", + "hash": "sha256-DCxxzPYJQ6AQF/a6ADYeYNlgjHrfHUTx6WesFlkW1uI=" }, "ktouch": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ktouch-24.08.1.tar.xz", - "hash": "sha256-jx31T7k+i2+IyGmjvfuxWZYAETFZJcsnUFdN/d3dsg0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ktouch-24.08.2.tar.xz", + "hash": "sha256-vH63wPQAH8UIrikFUCAeWBZoSx6JI+So8FcHkboVhbA=" }, "ktrip": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ktrip-24.08.1.tar.xz", - "hash": "sha256-X997nkQqO3LJ7kSVxz8Dpy66VOuB8ALCDIZmQFe9ipc=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ktrip-24.08.2.tar.xz", + "hash": "sha256-PinHfz/LMzs7KyF60K6igLWFQkCTBABrhUtK2rY3oSI=" }, "ktuberling": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/ktuberling-24.08.1.tar.xz", - "hash": "sha256-W4nzpWKPOsH4KqV++ml3USxMPgOQBFefrQvSp+aLLCE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/ktuberling-24.08.2.tar.xz", + "hash": "sha256-YfpiOs/HC3GhfPTrC53vCT1+Jf2b4yLGzL4/NX3jtEg=" }, "kturtle": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kturtle-24.08.1.tar.xz", - "hash": "sha256-OU93eu1iaOieu2ywMaftW9DjQXWfSfxEBn3vlRSqTbw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kturtle-24.08.2.tar.xz", + "hash": "sha256-YgUCpPW9+QsN6fw2he48KP688UVsIrU4Xx+0bII4rak=" }, "kubrick": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kubrick-24.08.1.tar.xz", - "hash": "sha256-gPuqpzxzlVjiDNkweMz/8RHpotN6WZelw/XeEodS9/8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kubrick-24.08.2.tar.xz", + "hash": "sha256-WL2MdJ6rB+JQtDeMUc9SJmN1B5AZ82e8mRQc57KG/94=" }, "kwalletmanager": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kwalletmanager-24.08.1.tar.xz", - "hash": "sha256-0Aa5uz1OCjx30qc/v+FQ83s8Kj/lJkQgMazPHcG7OqU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kwalletmanager-24.08.2.tar.xz", + "hash": "sha256-+hxNM3xo1jVzJ3YLiZ/VSjHCYGPNdWhoqyuMyZgrgLI=" }, "kwave": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kwave-24.08.1.tar.xz", - "hash": "sha256-VcXNXSH8A19huuZvORao1/0IwhjCeT288T/cMzOxu+U=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kwave-24.08.2.tar.xz", + "hash": "sha256-AQQGXKXm8AQgt737Dr2S9SiQfC6WwpB60GkEAyij3P0=" }, "kweather": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kweather-24.08.1.tar.xz", - "hash": "sha256-efVml7TzyJe2tgLo6Gntq+Ld0Vy8nT2VYSg5AlLS2AI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kweather-24.08.2.tar.xz", + "hash": "sha256-9osHF6CnBwC9oHwGhxH2gYHElKqkvmFUfXgadWby52U=" }, "kweathercore": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kweathercore-24.08.1.tar.xz", - "hash": "sha256-FudSDS/wPNxUnX+xsY+bTuUF+KpZiSZjuWa8rQKshiE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kweathercore-24.08.2.tar.xz", + "hash": "sha256-PjkMyYg1lSNgxkFvve7tdbhzzC2/wMtf3CxyuTtn+xg=" }, "kwordquiz": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/kwordquiz-24.08.1.tar.xz", - "hash": "sha256-RprRKZmzQxyXEjMn1eUXaF+OMdRPjl4OWA74oqPcOmA=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/kwordquiz-24.08.2.tar.xz", + "hash": "sha256-6M7KqBCTNjmfo11lraebVG7x/8du8lFdhWKDXSENh34=" }, "libgravatar": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libgravatar-24.08.1.tar.xz", - "hash": "sha256-jU0QOjWxD8gmQeSMW/pWII+9RKNsbhCqZJ1cDqzpU94=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libgravatar-24.08.2.tar.xz", + "hash": "sha256-W3UVMlJaKfK6VvlXWWxEYqEW6yBYwgCagCYNSo9pXdk=" }, "libkcddb": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkcddb-24.08.1.tar.xz", - "hash": "sha256-pgzebMlDJPF+XkHlCf+t3/y1f7xzQR0tFWfAnkxTB74=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkcddb-24.08.2.tar.xz", + "hash": "sha256-qdZTAB5hG0dk5PqVnxCnMyDkdeIyshvtxle9zwJF9H0=" }, "libkcompactdisc": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkcompactdisc-24.08.1.tar.xz", - "hash": "sha256-RWJLclL8vjD24QX/i8+OhEy1bBzT3iZCXBvawefJLrY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkcompactdisc-24.08.2.tar.xz", + "hash": "sha256-r1CI6BCuv/i+/8WAAVlzXgAybSCEKTFzH4GeQAAnw7Q=" }, "libkdcraw": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkdcraw-24.08.1.tar.xz", - "hash": "sha256-3O2i6790ebojLpEI0c9Y1hPfD6dsmQEG7lnbuoycMvY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkdcraw-24.08.2.tar.xz", + "hash": "sha256-TI/jV/L6+5V+UyDWGlWp10ZmWj7q/CTaKFGA63H7re4=" }, "libkdegames": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkdegames-24.08.1.tar.xz", - "hash": "sha256-SLIlSmzfOHRLbvQP9H5EMLkmM7sgAwMK7Y7f1JdBT8I=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkdegames-24.08.2.tar.xz", + "hash": "sha256-6n2S2qcRm40ww7xeggCZKtILdgkuWJZQHLh4JhdHgEI=" }, "libkdepim": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkdepim-24.08.1.tar.xz", - "hash": "sha256-y3b6t+zhTcA8sJCiymopcsy8NPaobExn7Smhj/Mwn20=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkdepim-24.08.2.tar.xz", + "hash": "sha256-5Gkrx28BiKP9QJ6q4Rl8bqdi5TISSEHfa4smnxsi1F0=" }, "libkeduvocdocument": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkeduvocdocument-24.08.1.tar.xz", - "hash": "sha256-DplQDk46v04XlaOQw3KM6f55m1ZpZdWNTrJQA6EwMpE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkeduvocdocument-24.08.2.tar.xz", + "hash": "sha256-v9e0aKUwlCHIiXCPQ1aDhf3M3vHWUt4VZm/q9Z9ZcqE=" }, "libkexiv2": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkexiv2-24.08.1.tar.xz", - "hash": "sha256-J9i2HgWGnP3uaFGDkZyzFELbeF0LRAOZyLqEYpSnvmc=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkexiv2-24.08.2.tar.xz", + "hash": "sha256-4pJGU23AryjEZwhkFhTsf54hdOAjPq038z6ZqroJgJM=" }, "libkgapi": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkgapi-24.08.1.tar.xz", - "hash": "sha256-wk7cdR9mtsRorB6R3z8sQRSmItk+u6kAuXjprRPbj/M=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkgapi-24.08.2.tar.xz", + "hash": "sha256-2XV586ne5xpt3Ta1JaZ6DTs04QbLi8GF3ubNGs0wYxc=" }, "libkleo": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkleo-24.08.1.tar.xz", - "hash": "sha256-yYJYD4wbzr8aIUYl3J//iEK+YuR+iVF1X/HKflIuLRg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkleo-24.08.2.tar.xz", + "hash": "sha256-Q72tjs6nGpRK7LEB5wANuPtqDFCK/Y6FawRYhyML9g4=" }, "libkmahjongg": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkmahjongg-24.08.1.tar.xz", - "hash": "sha256-L/oISXYIZG33aSnnCRdV7i+NsuwN/IryoyRxKmSjiog=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkmahjongg-24.08.2.tar.xz", + "hash": "sha256-oGOgduXkAcL6X0aXS8HGrAXrysEoeyp15TSAiclkrho=" }, "libkomparediff2": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libkomparediff2-24.08.1.tar.xz", - "hash": "sha256-+6rD4LlVhlwSPF+DBtsZmytcv4pBF83xyZvwu7sI0PI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libkomparediff2-24.08.2.tar.xz", + "hash": "sha256-8dyhIR5u2EIS9l1u5PukZ3DGThlasPAF1u5EHdCy5ow=" }, "libksane": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libksane-24.08.1.tar.xz", - "hash": "sha256-4+cDtO+jNrdKUwn9WJMgUrg8Kh45/x6KkLXPfLm6Mm4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libksane-24.08.2.tar.xz", + "hash": "sha256-6vNORJEOqdRvEUmw6393YkIsw5Vn4qArlm72GLlFMJE=" }, "libksieve": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libksieve-24.08.1.tar.xz", - "hash": "sha256-hYjjTbiC2qAW9GRh5RNcB63kO1zfZZGL5ny4itGnrx0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libksieve-24.08.2.tar.xz", + "hash": "sha256-yapayByDfwMBjI1cNXu3+RSlAATyEG08XaZVeaUOHPA=" }, "libktorrent": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/libktorrent-24.08.1.tar.xz", - "hash": "sha256-cwWY05Pxvaanvg8df4vy7SckYG6SVhDyIgJ3Fkn8WwI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/libktorrent-24.08.2.tar.xz", + "hash": "sha256-gh1IFw8hfnBV7Rh806Qz3w4DhAANEfRI/Dxujv7p6Rc=" }, "lokalize": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/lokalize-24.08.1.tar.xz", - "hash": "sha256-wonzvixrGfX71UwCuR+An/fPNyzty/B48cTxphRx+Fs=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/lokalize-24.08.2.tar.xz", + "hash": "sha256-8iGuejWWdFSjniG4ICaOZmnNACDYTQPgNiYeEsVs/6o=" }, "lskat": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/lskat-24.08.1.tar.xz", - "hash": "sha256-VwyDfV32tL4HmkIOcl+CC/NGBCaUNlpnesu1fdZsY3I=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/lskat-24.08.2.tar.xz", + "hash": "sha256-/JlSqKoouA8D1jBrFKtQXSVYUPT5VjzQLrr9+ge7haM=" }, "mailcommon": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/mailcommon-24.08.1.tar.xz", - "hash": "sha256-LzZeswVktJu4+lT0E/TvSVhw8kSqY3vbbQm28pukM9U=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/mailcommon-24.08.2.tar.xz", + "hash": "sha256-dSHonywH6C+qG16XmU2y9q0uxqiMdRPnGC1ZfhvH0Xc=" }, "mailimporter": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/mailimporter-24.08.1.tar.xz", - "hash": "sha256-XtHepApkb6bCqiHNcFjrXIvFPYrFJqclzvTB4JZ65IM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/mailimporter-24.08.2.tar.xz", + "hash": "sha256-dE63EAkJJOt5r/vyhar1jjS4F+FXArMttrkwQ8HVeGg=" }, "marble": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/marble-24.08.1.tar.xz", - "hash": "sha256-e+fQQNGNXLVfOzntLxb4I5wx1a0STNHSvBJK5px6THw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/marble-24.08.2.tar.xz", + "hash": "sha256-dUGw5kDEuUHrhoMDkHkBjQGAzHIlj5/h1Wusmy9oJzs=" }, "markdownpart": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/markdownpart-24.08.1.tar.xz", - "hash": "sha256-A59jxdlixu7xvRS5PJQ3+17nEESO/JqA3YlGehnkDT0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/markdownpart-24.08.2.tar.xz", + "hash": "sha256-FbM0H3I/lp7tYcFODuxXpdeoqTGskBiwbRGDMRv1ujA=" }, "massif-visualizer": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/massif-visualizer-24.08.1.tar.xz", - "hash": "sha256-zIkB9p7LuXv5EN9wCr9eC0lEykXpEWuMQdRX+GAZQSw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/massif-visualizer-24.08.2.tar.xz", + "hash": "sha256-SkUWECEUN4zfqIdDxjLiBpYgnDdwg3MwqUUnVxpTRME=" }, "mbox-importer": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/mbox-importer-24.08.1.tar.xz", - "hash": "sha256-45RaecU9MmKBnms06GbZBaN1RCKpDRuQq0QOqryWhmU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/mbox-importer-24.08.2.tar.xz", + "hash": "sha256-W+dq6hLl6Xc2KUy+rj3JxMD5QmOqy8/I7NOvglcsj4Y=" }, "merkuro": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/merkuro-24.08.1.tar.xz", - "hash": "sha256-h+cTXd1UzXrO2exfxZPF4oPFwsR6gkF2M2iGN78yBqU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/merkuro-24.08.2.tar.xz", + "hash": "sha256-7zv3e0rFT192IuQ9JGhegl15Hxx2ek4QbdatKm+R8BQ=" }, "messagelib": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/messagelib-24.08.1.tar.xz", - "hash": "sha256-dBSFVm1WwRnZ0atguaBPwoOVw/mDCCSbotUGvahu+5s=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/messagelib-24.08.2.tar.xz", + "hash": "sha256-9yfAX/+3QKCjtRZ0RmoTfCOtYC08oT090HB4B5tLQUk=" }, "mimetreeparser": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/mimetreeparser-24.08.1.tar.xz", - "hash": "sha256-43lifAN816wxbFRXVjJuqHP6w+QwOA4yYjd77gKp7Ew=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/mimetreeparser-24.08.2.tar.xz", + "hash": "sha256-MRJOsi0CL6mCH/tRA+TZpKjrO9Cvx+wQKwdk/+OOYXo=" }, "minuet": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/minuet-24.08.1.tar.xz", - "hash": "sha256-jc00peuH4LYSxrudt3jQ+sx5YYy53I3ePNhyQ5dMDNQ=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/minuet-24.08.2.tar.xz", + "hash": "sha256-OkMJAuinU2FNI+Vzv4AG7Yneq7ArGJGoWge7hOxtsHA=" }, "neochat": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/neochat-24.08.1.tar.xz", - "hash": "sha256-o5TwTPGdVWdDflWAdcn3zlw3v3OUOxPEdzn/VqzeVx0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/neochat-24.08.2.tar.xz", + "hash": "sha256-hz8I817xBVsXZHCYorpaOSTcD7g1BEHTgMNZjYITwbw=" }, "okular": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/okular-24.08.1.tar.xz", - "hash": "sha256-sFdlXBPk+lZtKIcwrrlhmK74qQy2odalX1ZvpaawLok=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/okular-24.08.2.tar.xz", + "hash": "sha256-QInHfVvmCu29RdoNS6MZ45CbFaZAzVHTYbAdla0zyPs=" }, "palapeli": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/palapeli-24.08.1.tar.xz", - "hash": "sha256-7C0TN9iUk6BTA/vx6AAZDiJx7HqUgrRMx3g0yuFrw2g=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/palapeli-24.08.2.tar.xz", + "hash": "sha256-JFhZ1nkH91hFuq7nA7DlafceA+bH9gGV9WphdZoLoy0=" }, "parley": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/parley-24.08.1.tar.xz", - "hash": "sha256-SHHwS3OYssUKxqaoY5VHCxeHWJx0lKPoQAvw11ERib4=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/parley-24.08.2.tar.xz", + "hash": "sha256-nblLobCcIkhdbAS5pc1IRCZZFQEVMtLkx0EdkmTOxPw=" }, "partitionmanager": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/partitionmanager-24.08.1.tar.xz", - "hash": "sha256-MuRN734ePlesgfIHRK/KpYX/Imnq+2GSJC8KsPNtXNw=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/partitionmanager-24.08.2.tar.xz", + "hash": "sha256-oimr4ialV3dXjDgnZ37CIYxpxaYxpxQ28mid5g9tTqo=" }, "picmi": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/picmi-24.08.1.tar.xz", - "hash": "sha256-AcFyuif12DI4NrRy3EOeM7l1IQPd1dI8AStLkzJZSbE=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/picmi-24.08.2.tar.xz", + "hash": "sha256-JY7O2o/YZkuP1vQqXG3r2PUReukVAAESU2+cxolG1gI=" }, "pimcommon": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/pimcommon-24.08.1.tar.xz", - "hash": "sha256-MV7VWJKzxU6lFDrdx+kuwIvfYVcSlkPI/ZVi3DbsWp0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/pimcommon-24.08.2.tar.xz", + "hash": "sha256-NVux0isn6x+3tqbOz45daOKIpSrKSnr9NPcj+Q+UI6Y=" }, "pim-data-exporter": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/pim-data-exporter-24.08.1.tar.xz", - "hash": "sha256-q4J4Eo9vcFe0344eThuG7q1UBnUl/upxgMV4Qg6trcU=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/pim-data-exporter-24.08.2.tar.xz", + "hash": "sha256-Oj5tie3p0AplOKylrJNSZjjK4fLripWL5gq5xQ0hNDY=" }, "pim-sieve-editor": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/pim-sieve-editor-24.08.1.tar.xz", - "hash": "sha256-ojtEVNvQjK7tZpksjRBZ16Z8dEqqQi38p0YpPoiZ0qI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/pim-sieve-editor-24.08.2.tar.xz", + "hash": "sha256-g98WYyHHcj0SI71ibImFnDZciZ6NZRhDtXDOL4VrjxA=" }, "plasmatube": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/plasmatube-24.08.1.tar.xz", - "hash": "sha256-Jmk+Wpwqhitytla0hWTrtquuLolCHNf+ex/9f5j08mQ=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/plasmatube-24.08.2.tar.xz", + "hash": "sha256-b2yaWcQv7t8+TQJ2qtqjwqm68yqGJp/2pOx1sww3kyw=" }, "poxml": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/poxml-24.08.1.tar.xz", - "hash": "sha256-1DCqQqvsG3+k9UcKZbTutT+AtOgJ2yKp0PxcN8XMb7A=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/poxml-24.08.2.tar.xz", + "hash": "sha256-4IVUj6HmzPiM3daefE5oATT1/qiLTrh45FRiqFg6JXw=" }, "qmlkonsole": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/qmlkonsole-24.08.1.tar.xz", - "hash": "sha256-n1WUGOGtT7KJwMvKO5g9yxK1Bkdv0JggNqv9OHI0WAk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/qmlkonsole-24.08.2.tar.xz", + "hash": "sha256-M873T020YW8TsL/oxd5tgjonV14mNo1rMK3iPLZQi3I=" }, "rocs": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/rocs-24.08.1.tar.xz", - "hash": "sha256-4Xs60rEjlBU/dRbQzd2N87JOsrbf71UL1MbxAoovBoo=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/rocs-24.08.2.tar.xz", + "hash": "sha256-0QAwFhLg0/4+0k2u4oxr0Te0C8sq+cdSZCpghH3FGFI=" }, "signon-kwallet-extension": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/signon-kwallet-extension-24.08.1.tar.xz", - "hash": "sha256-thBohLLk4aS3awPOHwZKfRvOQOj7Hk2ICLKaF9fLFK8=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/signon-kwallet-extension-24.08.2.tar.xz", + "hash": "sha256-1Y2CnbVI8myXtBwgqGR3dwDvRMRCSms0EALIRZCYD/w=" }, "skanlite": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/skanlite-24.08.1.tar.xz", - "hash": "sha256-BtJoQKifmrCj5WMYViMS8jdppb7EBxOQG6XWxuW0DxM=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/skanlite-24.08.2.tar.xz", + "hash": "sha256-fNuWQRIYc5UkG3EbU1EPm2DaPeexO6qT8g1XnqLXMaY=" }, "skanpage": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/skanpage-24.08.1.tar.xz", - "hash": "sha256-SI24TNKnodN7ghoyDyOhk/5Hp/tp9F6UuEh/NBlmock=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/skanpage-24.08.2.tar.xz", + "hash": "sha256-dJ1e2txwGYLstcGHg9L/E9cuplKdnZ6OO8EnE6uwKxk=" }, "skladnik": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/skladnik-24.08.1.tar.xz", - "hash": "sha256-o76i2B2B5vWkbp0SEZtDjJlH97nAxXdB7uzBo+ATGOk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/skladnik-24.08.2.tar.xz", + "hash": "sha256-daL1m8awJK7puBf4/oLSZup4Drs64eYEGI+VgPVP1b4=" }, "spectacle": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/spectacle-24.08.1.tar.xz", - "hash": "sha256-6DUYuyPFYpT8eGBkNBN2YOAnPBt5QaFbuglXE1TM1Mg=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/spectacle-24.08.2.tar.xz", + "hash": "sha256-P5D4z+M1mtlPW7ACWpJRgFoJLFiSzSqJGWXCGgmEy98=" }, "step": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/step-24.08.1.tar.xz", - "hash": "sha256-aBdO/5L6WKaq94AwvselXWjvVJNPqlJ/MsoiIbGJPvY=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/step-24.08.2.tar.xz", + "hash": "sha256-6f9AC8kvbJViWIwIB2FQVTMLI2RlzHpEDu1ZbCK/csI=" }, "svgpart": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/svgpart-24.08.1.tar.xz", - "hash": "sha256-OAdmUcGQoZnqU4afgaczR/3pBIdTGQ8vFzy11LUbdXQ=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/svgpart-24.08.2.tar.xz", + "hash": "sha256-ymFR/KYkDFL0MbzJj/5OFkku/uGI16IxLwbbZcC1xhg=" }, "sweeper": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/sweeper-24.08.1.tar.xz", - "hash": "sha256-hpe5ZJU9hKKVcQcCAzB4HZ9LhXeWgNst43bVcdhqdt0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/sweeper-24.08.2.tar.xz", + "hash": "sha256-LSwg7d9nhp58JaWA5PXYgQLexfVT/3B5MF4fANhEVDU=" }, "telly-skout": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/telly-skout-24.08.1.tar.xz", - "hash": "sha256-9biRXD2n9HYtL90FHJ9JXD9DCrDm64ydyclP2qANpPk=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/telly-skout-24.08.2.tar.xz", + "hash": "sha256-y5577kur5lqL/hEXFWnf4qOfBj8SdGUU2XNWrSfGVsY=" }, "tokodon": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/tokodon-24.08.1.tar.xz", - "hash": "sha256-YtuG+0Cow2+IQhoJsN3/7NgmapwlIEuRg3Fd2810Mzs=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/tokodon-24.08.2.tar.xz", + "hash": "sha256-uEHi9gc1YsGohLJAfT2FpiyoQYvcvLk6Fpt/Pabx2SI=" }, "umbrello": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/umbrello-24.08.1.tar.xz", - "hash": "sha256-WiT4p0L4lSsDXfCSMeR58fT93TWSFrgD233+/l74isI=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/umbrello-24.08.2.tar.xz", + "hash": "sha256-HlolgPVSawdxb4spDZTaOT2BiPD+OqCHYySvtn3TPEU=" }, "yakuake": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/yakuake-24.08.1.tar.xz", - "hash": "sha256-sLajoPtOFoaFVA46Go3SpNA89Z3bpv2PwFgFnxVaxhs=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/yakuake-24.08.2.tar.xz", + "hash": "sha256-+wij2zZISxXD0u+ydpRrmr9FqX1X62dqGBcjLUZB8ac=" }, "zanshin": { - "version": "24.08.1", - "url": "mirror://kde/stable/release-service/24.08.1/src/zanshin-24.08.1.tar.xz", - "hash": "sha256-yB7hLZE8irYDA8V8ldeY3FuebePgZ4Mlgy3nCWgprU0=" + "version": "24.08.2", + "url": "mirror://kde/stable/release-service/24.08.2/src/zanshin-24.08.2.tar.xz", + "hash": "sha256-duajViqesjC1O1EZ27/IfSLAPJ2bpiNU2qlvx/lfPqs=" } } \ No newline at end of file From 6bae81c00583ae4aaafc0fcc7eb180e2a06ab1e7 Mon Sep 17 00:00:00 2001 From: rewine Date: Fri, 11 Oct 2024 10:49:07 +0800 Subject: [PATCH 478/491] deepin.dtk6core: fix build on qt 6.8 --- pkgs/desktops/deepin/library/dtk6core/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/desktops/deepin/library/dtk6core/default.nix b/pkgs/desktops/deepin/library/dtk6core/default.nix index 2e8b53dfa7f67..a665236714270 100644 --- a/pkgs/desktops/deepin/library/dtk6core/default.nix +++ b/pkgs/desktops/deepin/library/dtk6core/default.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchFromGitHub, + fetchpatch, cmake, pkg-config, doxygen, @@ -26,6 +27,11 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./fix-pkgconfig-path.patch ./fix-pri-path.patch + (fetchpatch { + name = "fix-build-on-qt-6.8.patch"; + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/dtk6core/-/raw/d2e991f96b2940e8533b7e944bab5a7dd6aa0fb7/qt-6.8.patch"; + hash = "sha256-HZxUrtUmVwnNUwcBoU7ewb+McsRkALQglPBbJU8HTkk="; + }) ]; postPatch = '' From c6c3b7959cedcfbcad1e381c898937e47d89bc83 Mon Sep 17 00:00:00 2001 From: rewine Date: Fri, 11 Oct 2024 10:49:24 +0800 Subject: [PATCH 479/491] deepin.dtk6gui: fix build on qt 6.8 --- pkgs/desktops/deepin/library/dtk6gui/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/desktops/deepin/library/dtk6gui/default.nix b/pkgs/desktops/deepin/library/dtk6gui/default.nix index e6dddb93587f8..99888c90e066f 100644 --- a/pkgs/desktops/deepin/library/dtk6gui/default.nix +++ b/pkgs/desktops/deepin/library/dtk6gui/default.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchFromGitHub, + fetchpatch, cmake, pkg-config, doxygen, @@ -24,6 +25,11 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./fix-pkgconfig-path.patch ./fix-pri-path.patch + (fetchpatch { + name = "fix-build-on-qt-6.8.patch"; + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/dtk6gui/-/raw/b6b8521fd69c28dbca5f6e8d1d8258c904b6caf1/qt-6.8.patch"; + hash = "sha256-Fu5vwvKJGMW94JYoIPvDCeXs8WrAskQlVRX/3FYQFGY="; + }) ]; postPatch = '' From 95b51be4106b11bfb527680002cb08aef7608315 Mon Sep 17 00:00:00 2001 From: rewine Date: Fri, 11 Oct 2024 10:53:05 +0800 Subject: [PATCH 480/491] deepin.dtk6widget: fix build on qt 6.8 --- pkgs/desktops/deepin/library/dtk6widget/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/desktops/deepin/library/dtk6widget/default.nix b/pkgs/desktops/deepin/library/dtk6widget/default.nix index b76a189b271fe..2813dbb949fdf 100644 --- a/pkgs/desktops/deepin/library/dtk6widget/default.nix +++ b/pkgs/desktops/deepin/library/dtk6widget/default.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchFromGitHub, + fetchpatch, cmake, pkg-config, doxygen, @@ -25,6 +26,11 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./fix-pkgconfig-path.patch ./fix-pri-path.patch + (fetchpatch { + name = "fix-build-on-qt-6.8.patch"; + url = "https://gitlab.archlinux.org/archlinux/packaging/packages/dtk6widget/-/raw/c4ac094715daa4ec319dc4d55bbca9d818845f82/qt-6.8.patch"; + hash = "sha256-XEgtAV0mF1+C26wCaukjuv4WNbP4ISGgXt/eav7h9ko="; + }) ]; postPatch = '' From 50b7b688a5cd4e45cd7685c4392dbd986ca480eb Mon Sep 17 00:00:00 2001 From: rewine Date: Fri, 11 Oct 2024 13:52:40 +0800 Subject: [PATCH 481/491] deepin.dtk6declarative: fix build on qt 6.8 --- .../library/dtk6declarative/default.nix | 1 + .../dtk6declarative/fix-build-on-qt-6.8.patch | 135 ++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 pkgs/desktops/deepin/library/dtk6declarative/fix-build-on-qt-6.8.patch diff --git a/pkgs/desktops/deepin/library/dtk6declarative/default.nix b/pkgs/desktops/deepin/library/dtk6declarative/default.nix index ed54eb321cab6..1011faf0f1995 100644 --- a/pkgs/desktops/deepin/library/dtk6declarative/default.nix +++ b/pkgs/desktops/deepin/library/dtk6declarative/default.nix @@ -23,6 +23,7 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./fix-pkgconfig-path.patch ./fix-pri-path.patch + ./fix-build-on-qt-6.8.patch ]; nativeBuildInputs = [ diff --git a/pkgs/desktops/deepin/library/dtk6declarative/fix-build-on-qt-6.8.patch b/pkgs/desktops/deepin/library/dtk6declarative/fix-build-on-qt-6.8.patch new file mode 100644 index 0000000000000..ab09398c0123d --- /dev/null +++ b/pkgs/desktops/deepin/library/dtk6declarative/fix-build-on-qt-6.8.patch @@ -0,0 +1,135 @@ +diff --git a/qt6/src/CMakeLists.txt b/qt6/src/CMakeLists.txt +index 4314b72..a7ecaf1 100644 +--- a/qt6/src/CMakeLists.txt ++++ b/qt6/src/CMakeLists.txt +@@ -25,6 +25,7 @@ dtk_extend_target(${PLUGIN_NAME} EnableCov ${ENABLE_COV}) + qt_add_translations(${LIB_NAME} + TS_FILES ${TS_FILES} + QM_FILES_OUTPUT_VARIABLE QM_FILES ++ IMMEDIATE_CALL + ) + + set_target_properties(${LIB_NAME} PROPERTIES +diff --git a/src/private/dbackdropnode.cpp b/src/private/dbackdropnode.cpp +index 91c398a..1ed0ad8 100644 +--- a/src/private/dbackdropnode.cpp ++++ b/src/private/dbackdropnode.cpp +@@ -320,8 +320,8 @@ public: + renderer->setDevicePixelRatio(base->devicePixelRatio()); + renderer->setDeviceRect(base->deviceRect()); + renderer->setViewportRect(base->viewportRect()); +- renderer->setProjectionMatrix(base->projectionMatrix()); +- renderer->setProjectionMatrixWithNativeNDC(base->projectionMatrixWithNativeNDC()); ++ renderer->setProjectionMatrix(base->projectionMatrix(0)); ++ renderer->setProjectionMatrixWithNativeNDC(base->projectionMatrixWithNativeNDC(0)); + } else { + renderer->setDevicePixelRatio(1.0); + renderer->setDeviceRect(QRect(QPoint(0, 0), pixelSize)); +@@ -336,8 +336,8 @@ public: + } + + if (Q_UNLIKELY(!matrix.isIdentity())) { +- renderer->setProjectionMatrix(renderer->projectionMatrix() * matrix); +- renderer->setProjectionMatrixWithNativeNDC(renderer->projectionMatrixWithNativeNDC() * matrix); ++ renderer->setProjectionMatrix(renderer->projectionMatrix(0) * matrix); ++ renderer->setProjectionMatrixWithNativeNDC(renderer->projectionMatrixWithNativeNDC(0) * matrix); + } + + renderer->setRootNode(rootNode); +diff --git a/src/private/dmaskeffectnode.cpp b/src/private/dmaskeffectnode.cpp +index c4db07d..da1e4ce 100644 +--- a/src/private/dmaskeffectnode.cpp ++++ b/src/private/dmaskeffectnode.cpp +@@ -35,7 +35,7 @@ protected: + class OpaqueTextureMaterialShader : public QSGOpaqueTextureMaterialRhiShader + { + public: +- OpaqueTextureMaterialShader(); ++ OpaqueTextureMaterialShader(int viewCount); + + bool updateUniformData(RenderState &state, QSGMaterial *newMaterial, QSGMaterial *oldMaterial) override; + +@@ -48,7 +48,7 @@ public: + class TextureMaterialShader : public OpaqueTextureMaterialShader + { + public: +- TextureMaterialShader(); ++ TextureMaterialShader(int viewCount); + + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect) override; +@@ -61,7 +61,8 @@ protected: + #endif + }; + +-OpaqueTextureMaterialShader::OpaqueTextureMaterialShader() ++OpaqueTextureMaterialShader::OpaqueTextureMaterialShader(int viewCount) ++ : QSGOpaqueTextureMaterialRhiShader(viewCount) + { + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) + #if QT_CONFIG(opengl) +@@ -236,8 +237,8 @@ bool OpaqueTextureMaterialShader::updateGraphicsPipelineState(RenderState &state + } + #endif + +-TextureMaterialShader::TextureMaterialShader() +- : OpaqueTextureMaterialShader() ++TextureMaterialShader::TextureMaterialShader(int viewCount) ++ : OpaqueTextureMaterialShader(viewCount) + { + #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // TODO qt6 + #if QT_CONFIG(opengl) +@@ -529,7 +530,7 @@ QSGMaterialShader *TextureMaterial::createShader() const + QSGMaterialShader *TextureMaterial::createShader(QSGRendererInterface::RenderMode renderMode) const + { + Q_UNUSED(renderMode) +- return new TextureMaterialShader; ++ return new TextureMaterialShader(viewCount()); + } + #endif + +@@ -553,7 +554,7 @@ QSGMaterialShader *OpaqueTextureMaterial::createShader() const + QSGMaterialShader *OpaqueTextureMaterial::createShader(QSGRendererInterface::RenderMode renderMode) const + { + Q_UNUSED(renderMode) +- return new OpaqueTextureMaterialShader; ++ return new OpaqueTextureMaterialShader(viewCount()); + } + #endif + +diff --git a/src/private/drectanglenode.cpp b/src/private/drectanglenode.cpp +index efeeab6..b961588 100644 +--- a/src/private/drectanglenode.cpp ++++ b/src/private/drectanglenode.cpp +@@ -72,7 +72,8 @@ void CornerColorShader::initialize() + m_idQtOpacity = program->uniformLocation("qt_Opacity"); + } + #else +-CornerColorShader::CornerColorShader() ++CornerColorShader::CornerColorShader(int viewCount) ++ : QSGOpaqueTextureMaterialRhiShader(viewCount) + { + setShaderFileName(QSGMaterialShader::VertexStage, QStringLiteral(":/dtk/declarative/shaders_ng/cornerscolorshader.vert.qsb")); + setShaderFileName(QSGMaterialShader::FragmentStage, QStringLiteral(":/dtk/declarative/shaders_ng/cornerscolorshader.frag.qsb")); +@@ -128,7 +129,7 @@ QSGMaterialShader *CornerColorMaterial::createShader() const + QSGMaterialShader *CornerColorMaterial::createShader(QSGRendererInterface::RenderMode renderMode) const + { + Q_UNUSED(renderMode) +- return new CornerColorShader; ++ return new CornerColorShader(viewCount()); + } + #endif + +diff --git a/src/private/drectanglenode_p.h b/src/private/drectanglenode_p.h +index aee5a7c..7962154 100644 +--- a/src/private/drectanglenode_p.h ++++ b/src/private/drectanglenode_p.h +@@ -37,7 +37,7 @@ private: + class CornerColorShader : public QSGOpaqueTextureMaterialRhiShader + { + public: +- CornerColorShader(); ++ CornerColorShader(int viewCount); + bool updateUniformData(RenderState &state, QSGMaterial *newMaterial, QSGMaterial *oldMaterial); + }; + #endif From f3d37bd80131da45a8b048fb334d033556ce45e2 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 11 Oct 2024 15:47:35 +0300 Subject: [PATCH 482/491] kdePackages: metadata refresh, Frameworks 6.6 -> 6.7 --- pkgs/kde/generated/dependencies.json | 7 +- pkgs/kde/generated/licenses.json | 5 +- pkgs/kde/generated/projects.json | 42 +- pkgs/kde/generated/sources/frameworks.json | 432 ++++++++++----------- 4 files changed, 260 insertions(+), 226 deletions(-) diff --git a/pkgs/kde/generated/dependencies.json b/pkgs/kde/generated/dependencies.json index 4a330afb00f77..9bc6f8d4c125f 100644 --- a/pkgs/kde/generated/dependencies.json +++ b/pkgs/kde/generated/dependencies.json @@ -6081,11 +6081,6 @@ "qtkeychain", "selenium-webdriver-at-spi" ], - "trojita": [ - "akonadi-contacts", - "extra-cmake-modules", - "sonnet" - ], "umbrello": [ "extra-cmake-modules", "karchive", @@ -6234,5 +6229,5 @@ "kwindowsystem" ] }, - "version": "55fdd899" + "version": "10b4e2ea" } \ No newline at end of file diff --git a/pkgs/kde/generated/licenses.json b/pkgs/kde/generated/licenses.json index d5417831555ca..a4327d496d72e 100644 --- a/pkgs/kde/generated/licenses.json +++ b/pkgs/kde/generated/licenses.json @@ -2597,6 +2597,7 @@ "LicenseRef-KDE-Accepted-LGPL" ], "plasma-pa": [ + "BSD-2-Clause", "BSD-3-Clause", "CC0-1.0", "GPL-2.0-only", @@ -2885,13 +2886,15 @@ ], "systemsettings": [ "BSD-2-Clause", + "BSD-3-Clause", "CC0-1.0", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-3.0-only", "LGPL-2.0-only", "LGPL-2.1-or-later", - "LicenseRef-KDE-Accepted-GPL" + "LicenseRef-KDE-Accepted-GPL", + "MIT" ], "telly-skout": [ "BSD-2-Clause", diff --git a/pkgs/kde/generated/projects.json b/pkgs/kde/generated/projects.json index 1074dd343aa4d..44709ad504a0f 100644 --- a/pkgs/kde/generated/projects.json +++ b/pkgs/kde/generated/projects.json @@ -779,6 +779,12 @@ "project_path": "unmaintained/cutepaste", "repo_path": "unmaintained/cutepaste" }, + "cxx-kde-frameworks": { + "description": "Extension Crate for cxx-qt which allows the use of KDE Frameworks in Rust software", + "name": "cxx-kde-frameworks", + "project_path": "playground/libs/cxx-kde-frameworks", + "repo_path": "libraries/cxx-kde-frameworks" + }, "cxx11-cmake-modules": { "description": "CMake modules for detecting C++11 features supported by the compiler", "name": "cxx11-cmake-modules", @@ -2694,7 +2700,7 @@ "repo_path": "system/kio-fuse" }, "kio-gdrive": { - "description": "KIO Slave to access Google Drive", + "description": "KIO Worker to access Google Drive", "name": "kio-gdrive", "project_path": "kde/kdenetwork/kio-gdrive", "repo_path": "network/kio-gdrive" @@ -4811,6 +4817,12 @@ "project_path": "kde/pim/mbox-importer", "repo_path": "pim/mbox-importer" }, + "md4qt": { + "description": "Header-only C++ library for parsing Markdown.", + "name": "md4qt", + "project_path": "playground/libs/md4qt", + "repo_path": "libraries/md4qt" + }, "melon": { "description": "Desktop QML file manager", "name": "melon", @@ -5042,7 +5054,7 @@ "nongurigaeru": { "description": "The missing Foundation library for Qt GUI apps.", "name": "nongurigaeru", - "project_path": "kdereview/nongurigaeru", + "project_path": "playground/libs/nongurigaeru", "repo_path": "libraries/nongurigaeru" }, "nota": { @@ -5465,6 +5477,12 @@ "project_path": "unmaintained/plasma-mediacenter", "repo_path": "unmaintained/plasma-mediacenter" }, + "plasma-meetings": { + "description": "Project to track the bi-weekly Plasma team meetings", + "name": "plasma-meetings", + "project_path": "playground/workspace/plasma-meetings", + "repo_path": "plasma/plasma-meetings" + }, "plasma-mobile": { "description": "Plasma shell for mobile devices", "name": "plasma-mobile", @@ -6740,7 +6758,7 @@ "trojita": { "description": "Fast, lightweight and standard-compliant IMAP e-mail client", "name": "trojita", - "project_path": "extragear/pim/trojita", + "project_path": "playground/pim/trojita", "repo_path": "pim/trojita" }, "tupi": { @@ -6959,6 +6977,12 @@ "project_path": "websites/amarok-kde-org", "repo_path": "websites/amarok-kde-org" }, + "websites-api-kde-org": { + "description": "API Documentation Website", + "name": "websites-api-kde-org", + "project_path": "websites/api-kde-org", + "repo_path": "websites/api-kde-org" + }, "websites-apps-kde-org": { "description": "KDE application catalog \u2014 apps.kde.org", "name": "websites-apps-kde-org", @@ -7109,6 +7133,12 @@ "project_path": "websites/docs-kde-org", "repo_path": "websites/docs-kde-org" }, + "websites-dot-kde-org": { + "description": "KDE Dot News Website", + "name": "websites-dot-kde-org", + "project_path": "websites/dot-kde-org", + "repo_path": "websites/dot-kde-org" + }, "websites-download-kde-org": { "description": "MirrorBrain configuration, templates, etc. \u2014 download.kde.org", "name": "websites-download-kde-org", @@ -7373,6 +7403,12 @@ "project_path": "websites/kdemail-net", "repo_path": "websites/kdemail-net" }, + "websites-kdenlive-org": { + "description": "Website for Kdenlive - Kdenlive.org", + "name": "websites-kdenlive-org", + "project_path": "websites/kdenlive-org", + "repo_path": "websites/kdenlive-org" + }, "websites-kdesrc-build-kde-org": { "description": "Website for kdesrc-build \u2014 kdesrc-build.kde.org", "name": "websites-kdesrc-build-kde-org", diff --git a/pkgs/kde/generated/sources/frameworks.json b/pkgs/kde/generated/sources/frameworks.json index dc6ee319c2438..f5a2219941c73 100644 --- a/pkgs/kde/generated/sources/frameworks.json +++ b/pkgs/kde/generated/sources/frameworks.json @@ -1,362 +1,362 @@ { "attica": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/attica-6.6.0.tar.xz", - "hash": "sha256-4jcOfwoORyEYDDZDQvR7yXTPO0XEXHzp5wxdm6UjC+M=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/attica-6.7.0.tar.xz", + "hash": "sha256-2qXAe0dImeFrQnEOA9BZCTa84PVIACOdYz1IyqO+DX0=" }, "baloo": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/baloo-6.6.0.tar.xz", - "hash": "sha256-ewl1JtHIyQzbgSapQf9OFZ+AD8//b4EmaDc9e5tbtxk=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/baloo-6.7.0.tar.xz", + "hash": "sha256-zowYoh7XrNWRLH0nPKxfbLGttSSgQV1Wxv3eLpZ/Z8w=" }, "bluez-qt": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/bluez-qt-6.6.0.tar.xz", - "hash": "sha256-GiqAW6EmOcF4TS9Un16Y8hD8jRh4xcp3CTbqyCfI6wA=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/bluez-qt-6.7.0.tar.xz", + "hash": "sha256-sGQBBphiE+Gyjyy6E9nMIu49JZdV8nUh8uhhY0M4+Ts=" }, "breeze-icons": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/breeze-icons-6.6.0.tar.xz", - "hash": "sha256-LYzMQn7IZLZBfqvjqv6bH2hXvypP3NDcXABkExSOZtk=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/breeze-icons-6.7.0.tar.xz", + "hash": "sha256-OQN+P8u7emUBFoXEmMrjH/SWpfJJMmnJVbspyUpoi3Q=" }, "extra-cmake-modules": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/extra-cmake-modules-6.6.0.tar.xz", - "hash": "sha256-IG4j4Fuok0rHonXI/dNwQWX1WIeNPb4ymfmRRzmXzLg=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/extra-cmake-modules-6.7.0.tar.xz", + "hash": "sha256-2B3oJpLT0rt3EQMyplyCZiUr7MLD8wfOgUmQzlYHuNw=" }, "frameworkintegration": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/frameworkintegration-6.6.0.tar.xz", - "hash": "sha256-6llMOVegn9y4VxHUvf9tkjwOPrjsSW5WhlhfxWcj06A=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/frameworkintegration-6.7.0.tar.xz", + "hash": "sha256-iQEBhUu7s5N9Mh8qw1sqCo886DNCIpfd2lm9qMjKxp0=" }, "kapidox": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kapidox-6.6.0.tar.xz", - "hash": "sha256-55ydq7bbMXCDid1HqL3UjRamCgLlyytV80fQOm/H4rc=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kapidox-6.7.0.tar.xz", + "hash": "sha256-czjx4xjrLSTLlbVtUwamHQoZLpCXe+rWBRd0HIMF4kA=" }, "karchive": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/karchive-6.6.0.tar.xz", - "hash": "sha256-UenSHLh+IkG8pqaeFJZmHQXQClgRB7/PmFmqnnCsrBs=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/karchive-6.7.0.tar.xz", + "hash": "sha256-60JD5if1HxIkqZr10Kb44wn55du3R496eONOK4VBOYo=" }, "kauth": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kauth-6.6.0.tar.xz", - "hash": "sha256-BPteP/Zy8x9sPy5ApZ2cdEelJRuZ2+X16mf1SkyYHzo=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kauth-6.7.0.tar.xz", + "hash": "sha256-FzZU7uKJGs1BU40xrOi5165ghjvH+u8crOx+IcfrEiM=" }, "kbookmarks": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kbookmarks-6.6.0.tar.xz", - "hash": "sha256-MtC0ynRtsrK9Kk5SgvSsq6CEucoQRJWitFC5riRWt9c=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kbookmarks-6.7.0.tar.xz", + "hash": "sha256-vUGjnfdlFe40598HsmAOHltnsYEsyVnsUVhfLrzFZXM=" }, "kcalendarcore": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcalendarcore-6.6.0.tar.xz", - "hash": "sha256-GrY5BBH4aB4FWcx7PC87Q4TWB6QIaBB3U1/5k2BjYvg=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcalendarcore-6.7.0.tar.xz", + "hash": "sha256-jlKC2NegzgoaG9syEzukEC0GBwEFUT5xLa/nbjJkffs=" }, "kcmutils": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcmutils-6.6.0.tar.xz", - "hash": "sha256-jxufJs57BVzsRqlSHqt1+RCunDlaraiNbYLPOVRZsnA=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcmutils-6.7.0.tar.xz", + "hash": "sha256-QRg4j49iql8ROe14gjtYsAnp6/fzdV6alKtfnrpkTL4=" }, "kcodecs": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcodecs-6.6.0.tar.xz", - "hash": "sha256-2dwuMpSqMmhJkL3gG7iN7bJhCijXwdYqF4o5P6VmEjs=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcodecs-6.7.0.tar.xz", + "hash": "sha256-mrSUBV4Gvc5FVot8R+2yqp7Kqd7AwPsVI2e0MhkhufI=" }, "kcolorscheme": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcolorscheme-6.6.0.tar.xz", - "hash": "sha256-ZXg54f+BQf8JcFvpEuJ2otyY3xIvW8wv3D7RHRAQDNE=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcolorscheme-6.7.0.tar.xz", + "hash": "sha256-G0xuhPHdlrLuYr51X2DaYNYbqA1nCe6zGG2IgucuITA=" }, "kcompletion": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcompletion-6.6.0.tar.xz", - "hash": "sha256-uAZZsx+tQ30Z7JSGQF1J+NsM6nCWKeO0/w6ykszxC0M=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcompletion-6.7.0.tar.xz", + "hash": "sha256-ftWparDSqxe7Uh7Kr0TW7Gt8mj1uCUAzYLpJsk2UVg8=" }, "kconfig": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kconfig-6.6.0.tar.xz", - "hash": "sha256-BwvQGbB+FSAeTHBytxM3x19pF0B0BqGnEH/KG/8oVf4=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kconfig-6.7.0.tar.xz", + "hash": "sha256-vi1d22PlZwO8CX5dmRKzmrxROsUWVN4uDYOhrtLFSxs=" }, "kconfigwidgets": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kconfigwidgets-6.6.0.tar.xz", - "hash": "sha256-g7FBhnYJqOY+PL6HTlGfLT2KU/99zpWLgVfGl9XMWHI=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kconfigwidgets-6.7.0.tar.xz", + "hash": "sha256-wHnGfFeJMLqvriQbtPJSxj/dEl5E8fuVLjm648mFnNE=" }, "kcontacts": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcontacts-6.6.0.tar.xz", - "hash": "sha256-mfBSfUm8az+9yRxLfttnyGk256TIzYgb2dou7fVmbWw=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcontacts-6.7.0.tar.xz", + "hash": "sha256-KS+BBPnzHWLFkomjqCF2bR7FQPT8UT/8O29xl2AtQsU=" }, "kcoreaddons": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcoreaddons-6.6.0.tar.xz", - "hash": "sha256-Wrqav5NOLa9fcIN8usCIYH/ovVBeFyxK9s2qzdolxQs=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcoreaddons-6.7.0.tar.xz", + "hash": "sha256-SFEenasfLoCzxIIruHwumBGG3juJd9kggtNNADsSg8U=" }, "kcrash": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kcrash-6.6.0.tar.xz", - "hash": "sha256-+0rK9nCo4fYberIfzGzxMg0vZkWgNyqUYjxg33sImN4=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kcrash-6.7.0.tar.xz", + "hash": "sha256-HcLGXY72LvmEV/irQjt2ht4+cTdmwG5k1jIqqdsm7qQ=" }, "kdav": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kdav-6.6.0.tar.xz", - "hash": "sha256-gl7Z3l/JTiKPzNSvSM98EBwLvje79jhc+Bggu+r3eOc=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kdav-6.7.0.tar.xz", + "hash": "sha256-ZinyrwBC6x4NwMCLUYCse0ja5rWZnh3Qtniu2Lh0wdc=" }, "kdbusaddons": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kdbusaddons-6.6.0.tar.xz", - "hash": "sha256-UhMV+A0x4ttOQ0Tr8kNqIudUdbcO2r6BV/SvtKLLQq0=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kdbusaddons-6.7.0.tar.xz", + "hash": "sha256-6H0I9tADfY+jPx59FqTjqhfX0LEsaqlvdjI/eDROFRs=" }, "kdeclarative": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kdeclarative-6.6.0.tar.xz", - "hash": "sha256-OooyFeWlrpoufmexeo/qtkEdcp3wNnEC4JTI16X/WLY=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kdeclarative-6.7.0.tar.xz", + "hash": "sha256-8fgE9rrCsilQPP0WXr2K4JNTOIiuFeDmFHTG4yjVNbk=" }, "kded": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kded-6.6.0.tar.xz", - "hash": "sha256-zJY5dfgN4ZBuizmXBXmvIRE4xYKxYw2vKAuimbLT+f4=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kded-6.7.0.tar.xz", + "hash": "sha256-IqobZUO0DglDRhOFFhMcD363inDocpaThFf9E4ZoCi8=" }, "kdesu": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kdesu-6.6.0.tar.xz", - "hash": "sha256-1awSfjshjaenhfpgZJCwUsCdSBvP8CJ7RdQu8OPzSl8=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kdesu-6.7.0.tar.xz", + "hash": "sha256-QQkepFxuIuFBHYnRU4ssi9mL3B841Z3z6cQjqsAiTig=" }, "kdnssd": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kdnssd-6.6.0.tar.xz", - "hash": "sha256-N0PqPxVjWNaUXfaeZ8mMafQ4QTYgxqxyhtBCc0IVf8c=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kdnssd-6.7.0.tar.xz", + "hash": "sha256-6RQEdfxuTuHg/jmiGBajwAP8sQkiIgefQi/QKtKpAqE=" }, "kdoctools": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kdoctools-6.6.0.tar.xz", - "hash": "sha256-FJ4LRCKQ+LydKgyZyOJ6VzWjqDhwqC3gB+SHUp8KrUQ=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kdoctools-6.7.0.tar.xz", + "hash": "sha256-n+U53/7QGDaUD6Twb5U6xO0M1PtfAjL+W2bCI2TBaS8=" }, "kfilemetadata": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kfilemetadata-6.6.0.tar.xz", - "hash": "sha256-IYzLySbh4mdl9yE7iqzn69qnhUZO+tK7YPjmSDYs/qA=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kfilemetadata-6.7.0.tar.xz", + "hash": "sha256-piQqeeZytSPr8bJVTr+DrKep1QZZKbbxUnMemFHQCNA=" }, "kglobalaccel": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kglobalaccel-6.6.0.tar.xz", - "hash": "sha256-SSlepeSgGCIqm0g+fA+458+0t2GpKSCx4TRU/Y+F/oE=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kglobalaccel-6.7.0.tar.xz", + "hash": "sha256-KjW54GxmAdYCs6ReJ4xJ4R5GJ5Oc+s/7H97ggmpvbgs=" }, "kguiaddons": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kguiaddons-6.6.0.tar.xz", - "hash": "sha256-vKo25MBGpK2tvmu7hkkWnBsblqtolT4+oZV9e4fBgzE=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kguiaddons-6.7.0.tar.xz", + "hash": "sha256-rEN8prr1CwF4vIvwtN0ebnDg5O8ax3AllzihxC0DW8w=" }, "kholidays": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kholidays-6.6.0.tar.xz", - "hash": "sha256-cSsr4xiZcCK+KDdBlaSejHyioTApWqtqznuI1+wPKw8=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kholidays-6.7.0.tar.xz", + "hash": "sha256-K1Q9/etqUvQQH9+fFIAt11nQqf/wYOo3Hx87kA3TNas=" }, "ki18n": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/ki18n-6.6.0.tar.xz", - "hash": "sha256-WCtMWLtpgDQSMi09tlb9T1/eFU6sGsibLGvJBcW2Hm4=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/ki18n-6.7.0.tar.xz", + "hash": "sha256-VVtbwZVGw6eRxpck4jjF0XEKlXXPh0ABL4/FRvNUEis=" }, "kiconthemes": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kiconthemes-6.6.0.tar.xz", - "hash": "sha256-LQCxeSnYhkJTlelsTBi/Xo378/HKwtrBmabyrFrzWyI=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kiconthemes-6.7.0.tar.xz", + "hash": "sha256-viW/8fX2Xt1Fsk/5vtpEsEwOItGT5yRYyWpcWRtwuWg=" }, "kidletime": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kidletime-6.6.0.tar.xz", - "hash": "sha256-gkgKbwYDnCt+BKdcafEVGxeE7ce80nCXrGJksaoV9Cc=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kidletime-6.7.0.tar.xz", + "hash": "sha256-YKbHA4e2PmEUcCnOV/FwI3JxQRYwozcqDo1yQLgAaq8=" }, "kimageformats": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kimageformats-6.6.0.tar.xz", - "hash": "sha256-G0zaFPlgiPjeGQyb5/vjUKgKVcPuKo/5ENoNmZLE3a8=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kimageformats-6.7.0.tar.xz", + "hash": "sha256-cihQZIrBZ+TA7mMVcf3knp/RXQBKEn3YBKFPn1ebcx8=" }, "kio": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kio-6.6.0.tar.xz", - "hash": "sha256-l3+fB26vJJ7N2WFyQzQybD86Hn2M/MbKE3DzkMdqJ2Y=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kio-6.7.0.tar.xz", + "hash": "sha256-3yNQGaB6zVeZIPbGVQUOAtrPhHxwb0uCeedVvkb52ZA=" }, "kirigami": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kirigami-6.6.0.tar.xz", - "hash": "sha256-mAnM5wPfqK/ixk4Zb5DANYUOLkMqm9kM4ypAhlNop/4=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kirigami-6.7.0.tar.xz", + "hash": "sha256-TWRaA3TTO5Rl554+FxcIguLL2hUm9FvFtrF22t2nfXY=" }, "kitemmodels": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kitemmodels-6.6.0.tar.xz", - "hash": "sha256-/gZ3vW6vK8zTUOe4DuusOCkI/COIr2cWFxrXdBfueAI=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kitemmodels-6.7.0.tar.xz", + "hash": "sha256-CqAgUyO68tUZ67j5bOftVSSoFkp0QNkF+XdBi/vm00k=" }, "kitemviews": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kitemviews-6.6.0.tar.xz", - "hash": "sha256-p6QwwMN7Z4F3SrfuCEX5vgkBQkpe1R0V5bWzUNDL7m4=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kitemviews-6.7.0.tar.xz", + "hash": "sha256-XmNRYpk8nx4V86EQnKMifQ0s5Xz3BwYVZRtlz3kNsEk=" }, "kjobwidgets": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kjobwidgets-6.6.0.tar.xz", - "hash": "sha256-PI7M2J1BGLbs1hkQb5OpsVbfWJlGW4INS2XZaYE9tRU=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kjobwidgets-6.7.0.tar.xz", + "hash": "sha256-Ftfnq1QjXW+h6yE9PWNxguIvy9vLe0sUAyQwoCoviIo=" }, "knewstuff": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/knewstuff-6.6.0.tar.xz", - "hash": "sha256-P5J1ZLRUwfwa7sBRdLj552MDtNmkWXnXayGIolvUcCU=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/knewstuff-6.7.0.tar.xz", + "hash": "sha256-pBhGItQwtk7HzEx3ET32fIhvNZzInMYxP7zHF2TSP6c=" }, "knotifications": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/knotifications-6.6.0.tar.xz", - "hash": "sha256-KBU9zjjrSI0iiUKi7Rl+V3ORB9sQAkSK1WvdW+EL9g0=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/knotifications-6.7.0.tar.xz", + "hash": "sha256-npcvAV2bMbMoO/hCoy0nAJYiTRJ8E6bnlFD08EUt5ec=" }, "knotifyconfig": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/knotifyconfig-6.6.0.tar.xz", - "hash": "sha256-4DL8jr03XNQG3+8wOOvUnXwdHefHm3ytTMzwAoUAbx8=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/knotifyconfig-6.7.0.tar.xz", + "hash": "sha256-Qifaehj5uoOzS/VLbT/BaNwHJryhSdL4lYW7VKsTgpU=" }, "kpackage": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kpackage-6.6.0.tar.xz", - "hash": "sha256-EtdyQVhtwSuqOqLGW86+oxYEIWuRt22aqqvzcGc+ntI=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kpackage-6.7.0.tar.xz", + "hash": "sha256-kWwR9ZcnYNmlA5ZD+8Vc3p0R7BjyeNPWN5Mzb/pEKGU=" }, "kparts": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kparts-6.6.0.tar.xz", - "hash": "sha256-1JTe92o6TC4ovJ1PiJ1tTZtkRRX/+2EWn0Kc57m7Isc=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kparts-6.7.0.tar.xz", + "hash": "sha256-CxswUFDWH8vvpwJrCW3GtHcJ10NcabGKtWp+LqV9dZ4=" }, "kpeople": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kpeople-6.6.0.tar.xz", - "hash": "sha256-oPEAoyUZCFnHdU9qlMONB85g+J8w4NWN35lkHx8W4rA=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kpeople-6.7.0.tar.xz", + "hash": "sha256-02JGusUPW/QG9oP+YcksteYjpR3p/+0RBGZeXxNe+Ig=" }, "kplotting": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kplotting-6.6.0.tar.xz", - "hash": "sha256-knXdmc7bT9U6AJReRO1pS1onraQWBLKlSyvMW04qP3k=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kplotting-6.7.0.tar.xz", + "hash": "sha256-Ew7twjTw/tryxBXeiVyXlFT2TDsEkEMyfUPNUJ4jhrM=" }, "kpty": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kpty-6.6.0.tar.xz", - "hash": "sha256-Y6HeuVKEyP8vt3QEqBGD3XfZZFjQURC0aHQrOg91XmE=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kpty-6.7.0.tar.xz", + "hash": "sha256-QswbH3DuC9rNJoEoV9MQR9IY4fWFrDX+kWWQhQGplGo=" }, "kquickcharts": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kquickcharts-6.6.0.tar.xz", - "hash": "sha256-2EQQCNYldjv3sgqLFoXQnNaUFsbORgN0PpPBb8U5ekc=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kquickcharts-6.7.0.tar.xz", + "hash": "sha256-ZkBH57YiwLhl10ZoFxeUVfs4UcuxWo8sOLirnPhQmKQ=" }, "krunner": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/krunner-6.6.0.tar.xz", - "hash": "sha256-F9QgG+fOcSBx0p6VKP6v3CviA5GDShEMNYTMFCyfSxE=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/krunner-6.7.0.tar.xz", + "hash": "sha256-GH/+kYDpjoP7rFvTZE7GZxuh6AZspgE6mLTx10Oc/zo=" }, "kservice": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kservice-6.6.0.tar.xz", - "hash": "sha256-ug1jI+/srwVWVbttndBy5/iJ0jlpyk/FVWW9qJmRAfQ=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kservice-6.7.0.tar.xz", + "hash": "sha256-OdJULjj7NDTFQFyS1bReDVumUNJlMJrfk8eHp0HVf6E=" }, "kstatusnotifieritem": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kstatusnotifieritem-6.6.0.tar.xz", - "hash": "sha256-8lIr0d4LAhYPeKrgFQxIqe0pkYaIT7mdCm+4BUnkCd0=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kstatusnotifieritem-6.7.0.tar.xz", + "hash": "sha256-gOriaTzbXaZptO1qgii93DmBasoP3pKPIx5IlIJ9HeA=" }, "ksvg": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/ksvg-6.6.0.tar.xz", - "hash": "sha256-/VdIZraHmAns/ST52Sx85RqtuRUn5R0ffGfeyGR9isY=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/ksvg-6.7.0.tar.xz", + "hash": "sha256-u998eGyVlwfNnGfASmflGhXbzdbv96tSsDwJVE5m8YQ=" }, "ktexteditor": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/ktexteditor-6.6.0.tar.xz", - "hash": "sha256-mZGnj9XPaSlk2EIQuupHLs5WQ02ST55nVhuFf4tIx3c=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/ktexteditor-6.7.0.tar.xz", + "hash": "sha256-7Xb3IyQiWpJuAMLJcNSNfxGldulC5I0JLpg3vaedaZE=" }, "ktexttemplate": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/ktexttemplate-6.6.0.tar.xz", - "hash": "sha256-I2EadyTZzLU0y6ItyIiFdIzy7JA309zK1cxUo9S9uVQ=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/ktexttemplate-6.7.0.tar.xz", + "hash": "sha256-1rdfGT9NjYF883SHKldCdInGFzYSHHKmnE3X7mLh4jM=" }, "ktextwidgets": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/ktextwidgets-6.6.0.tar.xz", - "hash": "sha256-gF3/Mgt1piMW/lCqM+7bNVweLbNtALWMOfw2zmv9iYg=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/ktextwidgets-6.7.0.tar.xz", + "hash": "sha256-I7txRQ459DfAa9mvSOeJMlPDGtEGSbCQHQqOwe4YrgE=" }, "kunitconversion": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kunitconversion-6.6.0.tar.xz", - "hash": "sha256-qHTwk6PmTwjR034RQuF9eKESthPs5c+h90fdHSZ4n5E=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kunitconversion-6.7.0.tar.xz", + "hash": "sha256-swNgHGI81m7bZqZv1y6VdBW43TPnAwW+gTb6a0OxpAo=" }, "kuserfeedback": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kuserfeedback-6.6.0.tar.xz", - "hash": "sha256-O7QiUWee3WQ8zcy8m6vK55C51Rud+u9t7ZtKw0rS31U=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kuserfeedback-6.7.0.tar.xz", + "hash": "sha256-Te+NDW7yJ4B7YGbLdizsNSRSoY4OKLVq7M6O8861J2E=" }, "kwallet": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kwallet-6.6.0.tar.xz", - "hash": "sha256-sxnMTPecwXluckb2G7xWu6Bwql7JlLMOEbH6poXOfVQ=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kwallet-6.7.0.tar.xz", + "hash": "sha256-/7MZzg3+6pU4nhovSDPRCZuJTIHx33q1Dc+3luqH/6I=" }, "kwidgetsaddons": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kwidgetsaddons-6.6.0.tar.xz", - "hash": "sha256-E3zFSdYvm8mhR9goHWFvRBX8WsNUHUjmbFy3mOcRH8M=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kwidgetsaddons-6.7.0.tar.xz", + "hash": "sha256-vTY0KJOGPmEQxfEkX4rgs6M4J19OrxJLFVhdL+SSMpo=" }, "kwindowsystem": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kwindowsystem-6.6.0.tar.xz", - "hash": "sha256-LHcevxopd3QwXfz3lCPbBoTaBmLqy5nldAsA8//jMuU=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kwindowsystem-6.7.0.tar.xz", + "hash": "sha256-YsDwtKlQeTnYSu7aVbvUMAuIwE43lT5RibE5ADMQqPQ=" }, "kxmlgui": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/kxmlgui-6.6.0.tar.xz", - "hash": "sha256-ZH/HUQ0zud6Rlv0sj29qEU3RhVnuIaq3z0f2h7iuBFI=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/kxmlgui-6.7.0.tar.xz", + "hash": "sha256-pFHBbXClkd4TlzB5EV81kF48QjAvXIyK4+x112oG/KE=" }, "modemmanager-qt": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/modemmanager-qt-6.6.0.tar.xz", - "hash": "sha256-6M/4coyD42OKqF0vg3ynXhxQMlYy9LZOXkGF0M1rBxs=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/modemmanager-qt-6.7.0.tar.xz", + "hash": "sha256-/EXc2K2iQ7r3kACZBi8xK2d79pT4jzZ0bVNK/pB7+PM=" }, "networkmanager-qt": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/networkmanager-qt-6.6.0.tar.xz", - "hash": "sha256-Bjktcebgl1jLG0M9Ox3GZ8tZ3XqWs1EPIytcrf8zLkA=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/networkmanager-qt-6.7.0.tar.xz", + "hash": "sha256-VjIxZEWHkYyVC8vl/aC/ajXpehL2sOm/nqpM4xQdMSI=" }, "prison": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/prison-6.6.0.tar.xz", - "hash": "sha256-2LrzMlLPK7Qx+ASMRZoKDEtyzmp8L15zJa0t98p0ulw=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/prison-6.7.0.tar.xz", + "hash": "sha256-CgU6gL6uIyzvXaP2UlsU7mSbJ1zqZN4MD/rUHD8uwmA=" }, "purpose": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/purpose-6.6.0.tar.xz", - "hash": "sha256-0Cxww9Ei7aRznocW8FybtzcHUdBnMNjiPRz0Jm0AwtI=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/purpose-6.7.0.tar.xz", + "hash": "sha256-T4u/GQIscN8dw0Wkq9gWd6UFouj+9kMxEof+jpIS1Wo=" }, "qqc2-desktop-style": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/qqc2-desktop-style-6.6.0.tar.xz", - "hash": "sha256-qCNhp7IGuUp4Tum5GSdu9zP7aUcQoVBa+acdtwgy62I=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/qqc2-desktop-style-6.7.0.tar.xz", + "hash": "sha256-tmAtIbqJGmNGGCeqRROUau8NjgFB9KgxqvssTS4/syk=" }, "solid": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/solid-6.6.0.tar.xz", - "hash": "sha256-iPZ/NpxyCqoNNH7gknNoQzVQXE+Pr192hNGstyKUVfE=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/solid-6.7.0.tar.xz", + "hash": "sha256-NnPxd3bDDZUj/kC4845ivhA3YQBQ94LBNtoawEsg5uc=" }, "sonnet": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/sonnet-6.6.0.tar.xz", - "hash": "sha256-L4pe8tUmSjGvaG76j+MTcoN+3FMX8xAzld04nDcjcxY=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/sonnet-6.7.0.tar.xz", + "hash": "sha256-L5cNSQ7/1mjmTdk//vNEqA235jEwuyPfT6DWsUFQ5Yg=" }, "syndication": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/syndication-6.6.0.tar.xz", - "hash": "sha256-Yn5LMQuHIei0JuxUkvQDandW2Ykz0xhzg1K/3Qp4oNA=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/syndication-6.7.0.tar.xz", + "hash": "sha256-wqSFIp2KQwhY1/Rz/osTNzfZPTOnduRu7fp3u54wuiQ=" }, "syntax-highlighting": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/syntax-highlighting-6.6.0.tar.xz", - "hash": "sha256-v5RtJgbvKTlJpRp0RvFQlU4veBk/9UYbSr0ZiTm58bY=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/syntax-highlighting-6.7.0.tar.xz", + "hash": "sha256-bvUnqUF0C53f4FPrCOrX4RwSooOqiKXd8aGFIM2dLKc=" }, "threadweaver": { - "version": "6.6.0", - "url": "mirror://kde/stable/frameworks/6.6/threadweaver-6.6.0.tar.xz", - "hash": "sha256-GVVUiKvwWp1aFkHxZaZ9NH4jq30UxvlGT/z42yNwMXo=" + "version": "6.7.0", + "url": "mirror://kde/stable/frameworks/6.7/threadweaver-6.7.0.tar.xz", + "hash": "sha256-GsP8gFHzGsT3bf1dFX5cN10YO8B2IVKkThgxz1gWqVY=" } } \ No newline at end of file From 4b854ad30d50c17388862d48133b2ef33dc121aa Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 11 Oct 2024 18:25:15 +0300 Subject: [PATCH 483/491] kdePackages.fcitx5-qt: 5.1.6 -> 5.1.7 Fixes build with Qt 6.8 --- pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix index d6e76af14d66c..4e8eaa7887824 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix @@ -14,13 +14,13 @@ let in stdenv.mkDerivation rec { pname = "fcitx5-qt${majorVersion}"; - version = "5.1.6"; + version = "5.1.7"; src = fetchFromGitHub { owner = "fcitx"; repo = "fcitx5-qt"; rev = version; - hash = "sha256-ptAJNc7zhXQ+nFfjmVQd5nZvN5lyk0jV6AHBKQkUGOM="; + hash = "sha256-C/LRpC6w/2cb/+xAwsmOVEvWmHMtJKD1pAwMoeLVIYY="; }; postPatch = '' From f3bc624b0b0db4e8066efc35978f0d4dff9cba81 Mon Sep 17 00:00:00 2001 From: rewine Date: Fri, 11 Oct 2024 14:44:00 +0800 Subject: [PATCH 484/491] lxqt.libqtxdg_3_12: don't apply patches for libqtxdg 4.0 --- pkgs/desktops/lxqt/libqtxdg/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix index 58c17ba8d31a2..13fd763f7eb1f 100644 --- a/pkgs/desktops/lxqt/libqtxdg/default.nix +++ b/pkgs/desktops/lxqt/libqtxdg/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { }."${version}"; }; - patches = [ ./qt68.patch ]; + patches = lib.optionals (lib.versionAtLeast version "4") [ ./qt68.patch ]; nativeBuildInputs = [ cmake From e4e66931b0b9ec1bdb2a415fc59623cf9e0d9fc6 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 12 Oct 2024 15:42:16 +0200 Subject: [PATCH 485/491] obs-studio: fix build --- pkgs/applications/video/obs-studio/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index 05f3268430289..520bcb3bb8ccd 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -85,6 +85,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-yRSw4VWDwMwysDB3Hw/tsmTjEQUhipvrVRQcZkbtuoI="; includes = [ "*/CompilerConfig.cmake" ]; }) + + (fetchpatch { + name = "qt-6.8.patch"; + url = "https://github.com/obsproject/obs-websocket/commit/d9befb9e0a4898695eef5ccbc91a4fac02027854.patch"; + extraPrefix = "plugins/obs-websocket/"; + stripLen = 1; + hash = "sha256-7SDBRr9G40b9DfbgdaYJxTeiDSLUfVixtMtM3cLTVZs="; + }) ]; nativeBuildInputs = [ From 3bf9c88c1d8200f17c69bddb0b7dc047e6dfc6fe Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 12 Oct 2024 16:41:54 +0200 Subject: [PATCH 486/491] linux_testing: enable Rust by default for aarch64-linux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first assumption[1] we had was that the `aarch64-unknown-none` target was missing from rustc and that this was the cause for the regression. However, it turns out that the relevant code from `rustc` wasn't used anyways because the Makefile does `--sysroot /dev/null`[2] which prevents rustc from using its own libcore. So luckily we don't have to patch the Rust bootstrap to get aarch64-linux back working[3]. In fact, the Rust part seems broken for both 6.10 and 6.11[4], but I decided to not bother since none of those are longterm versions. So all that's left here is to enable Rust for aarch64-linux because it clearly works[5]. [1] https://github.com/NixOS/nixpkgs/pull/315121#issuecomment-2135805876 [2] https://lore.kernel.org/all/20231031201752.1189213-1-mmaurer@google.com/ [3] Of course I only realized this _after_ I spent some time hacking a rustc patch together 🙃 [4] This broke with error[E0463]: can't find crate for `core` | = note: the `aarch64-unknown-none` target may not be installed = help: consider downloading the target with `rustup target add aarch64-unknown-none` = help: consider building the standard library from source with `cargo build -Zbuild-std` [5] While the build is fine, the VM tests are still panicking, but that's also the case for `kernel-generic` because of a 9p regression: switch_root: can't execute '/nix/store/zv87gw0yxfsslq0mcc35a99k54da9a4z-nixos-system-machine-test/init': Exec format error [ 1.734997] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 [ 1.736002] CPU: 0 UID: 0 PID: 1 Comm: switch_root Not tainted 6.12.0-rc1 #1-NixOS [...] Reported as https://lore.kernel.org/all/D4LHHUNLG79Y.12PI0X6BEHRHW@mbosch.me/T/#u --- pkgs/os-specific/linux/kernel/common-config.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 9d024b539d83d..91b57676abca3 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -33,10 +33,8 @@ let kernelSupportsRust = lib.versionAtLeast version "6.7"; # Currently only enabling Rust by default on kernel 6.12+, - # which actually has features that use Rust that we want, - # and only on x86_64, because of a nixpkgs rustc issue: - # https://github.com/NixOS/nixpkgs/pull/315121#issuecomment-2135805876 - defaultRust = lib.versionAtLeast version "6.12" && stdenv.hostPlatform.isx86_64; + # which actually has features that use Rust that we want. + defaultRust = lib.versionAtLeast version "6.12" && (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch64); withRust = (forceRust || defaultRust) && kernelSupportsRust; options = { From bda6c82a8162ebbf3c25e028992a4b8a9c323065 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 12 Oct 2024 16:43:31 +0200 Subject: [PATCH 487/491] linux_testing: disable NFS_LOCALIO on aarch64-linux This breaks the build like this: /nix/store/f3k0rdhcd2cx57phx755c2xixgifw5m5-binutils-2.42/bin/ld: Unexpected GOT/PLT entries detected! /nix/store/f3k0rdhcd2cx57phx755c2xixgifw5m5-binutils-2.42/bin/ld: Unexpected run-time procedure linkages detected! /nix/store/f3k0rdhcd2cx57phx755c2xixgifw5m5-binutils-2.42/bin/ld: fs/nfs/localio.o: in function `nfs_local_iocb_alloc': /build/source/build/../fs/nfs/localio.c:290:(.text+0x324): undefined reference to `nfs_to' [...] Reported as https://lore.kernel.org/all/D4OUJRP8YWRM.ATQ7KASTYX5H@mbosch.me/ --- pkgs/os-specific/linux/kernel/common-config.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 91b57676abca3..e60513b57095a 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -639,7 +639,10 @@ let NFS_V4_1 = yes; # NFSv4.1 client support NFS_V4_2 = yes; NFS_V4_SECURITY_LABEL = yes; - NFS_LOCALIO = whenAtLeast "6.12" yes; + + # Fails with + # `fs/nfs/localio.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `nfs_to' which may bind externally can not be used when making a shared object; recompile with -fPIC` + NFS_LOCALIO = lib.mkIf (!stdenv.hostPlatform.isAarch64) (whenAtLeast "6.12" yes); CIFS_XATTR = yes; CIFS_POSIX = option yes; From d3e6c8fc751a9be31e0f68400c835ac1534aaabb Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 6 Oct 2024 16:48:44 +0200 Subject: [PATCH 488/491] linux: implement `rustAvailable` condition * It doesn't matter if `rustc` is available, but if rustc can compile to the hostPlatform. So use a custom condition instead of `availableOn`. * Explicitly exclude the combination of GCC and riscv which is known to be broken[1]. [1] https://lore.kernel.org/lkml/31885EDD-EF6D-4EF1-94CA-276BA7A340B7@kernel.org/T/ Co-authored-by: Alyssa Ross --- pkgs/os-specific/linux/kernel/common-config.nix | 3 ++- pkgs/os-specific/linux/kernel/generic.nix | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index e60513b57095a..523bcb63d1e64 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -11,6 +11,7 @@ # Configuration { lib, stdenv, version +, rustAvailable , features ? {} }: @@ -34,7 +35,7 @@ let # Currently only enabling Rust by default on kernel 6.12+, # which actually has features that use Rust that we want. - defaultRust = lib.versionAtLeast version "6.12" && (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch64); + defaultRust = lib.versionAtLeast version "6.12" && rustAvailable; withRust = (forceRust || defaultRust) && kernelSupportsRust; options = { diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index fdfc782352266..49c9594f8f7f0 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -108,6 +108,11 @@ let commonStructuredConfig = import ./common-config.nix { inherit lib stdenv version; + rustAvailable = + lib.any (lib.meta.platformMatch stdenv.hostPlatform) rustc.targetPlatforms + && lib.all (p: !lib.meta.platformMatch stdenv.hostPlatform p) rustc.badTargetPlatforms + # Known to be broken: https://lore.kernel.org/lkml/31885EDD-EF6D-4EF1-94CA-276BA7A340B7@kernel.org/T/ + && !(stdenv.hostPlatform.isRiscV && stdenv.cc.isGNU); features = kernelFeatures; # Ensure we know of all extra patches, etc. }; From 695636a77c980f03c4f134591666396c0f369e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 13 Oct 2024 09:12:01 +0200 Subject: [PATCH 489/491] scummvm: fixup build by avoiding warning Probably after freetype update. https://hydra.nixos.org/build/274116362/nixlog/9/tail --- pkgs/games/scummvm/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix index 6c6fc7fac0aed..1125c62c87d86 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/games/scummvm/default.nix @@ -42,6 +42,8 @@ stdenv.mkDerivation rec { --replace aarch64-apple-darwin-ranlib ${cctools}/bin/ranlib ''; + NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; + meta = with lib; { description = "Program to run certain classic graphical point-and-click adventure games (such as Monkey Island)"; mainProgram = "scummvm"; From 79663cf113edf0e41165c12cf36ddb45f2329c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 13 Oct 2024 09:15:58 +0200 Subject: [PATCH 490/491] opencascade-occt: fixup build by avoiding warning Probably after freetype update. https://hydra.nixos.org/build/273837263/nixlog/13/tail --- pkgs/development/libraries/opencascade-occt/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/opencascade-occt/default.nix b/pkgs/development/libraries/opencascade-occt/default.nix index e9f3e0794d33f..5b84417830f36 100644 --- a/pkgs/development/libraries/opencascade-occt/default.nix +++ b/pkgs/development/libraries/opencascade-occt/default.nix @@ -39,6 +39,8 @@ stdenv.mkDerivation rec { libXi ] ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.Cocoa; + NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; + meta = with lib; { description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation"; homepage = "https://www.opencascade.org/"; From fe944df56f8389da5528ab9325060adab44fb5e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 13 Oct 2024 09:25:19 +0200 Subject: [PATCH 491/491] certbot: fixup build by upstream patch https://hydra.nixos.org/build/274131353/nixlog/9/tail --- pkgs/development/python-modules/certbot/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/certbot/default.nix b/pkgs/development/python-modules/certbot/default.nix index ea1873e2c589d..8709b0507e445 100644 --- a/pkgs/development/python-modules/certbot/default.nix +++ b/pkgs/development/python-modules/certbot/default.nix @@ -4,6 +4,7 @@ python, runCommand, fetchFromGitHub, + fetchpatch, configargparse, acme, configobj, @@ -33,7 +34,16 @@ buildPythonPackage rec { hash = "sha256-Qee7lUjgliG5fmUWWPm3MzpGJHUF/DXZ08UA6kkWjjk="; }; - sourceRoot = "${src.name}/${pname}"; + patches = [ + (fetchpatch { + name = "CSR_support_in_pyOpenSSL_is_deprecated.patch"; + url = "https://github.com/certbot/certbot/commit/f005045d87b25f1922774685646e57765aa202ad.patch"; + includes = [ "pytest.ini" ]; + hash = "sha256-YcQbZb7DLU+AXxNyqJRYZIC18DuT6X8kGbfdYtUrHiA="; + }) + ]; + + postPatch = "cd ${pname}"; # using sourceRoot would interfere with patches nativeBuildInputs = [ setuptools ];