From dd358e2111ff9c24a8b30aa3ba9b5daf397b9797 Mon Sep 17 00:00:00 2001 From: Andrew Childs Date: Fri, 17 Dec 2021 21:38:07 +0900 Subject: [PATCH 001/280] readline: default to readline81 instead of readline6 --- pkgs/development/libraries/pipewire/default.nix | 4 ++-- pkgs/shells/bash/5.1.nix | 6 +++--- pkgs/top-level/aliases.nix | 2 +- pkgs/top-level/all-packages.nix | 7 ++----- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index d37e0a050866..10fc0e365dd2 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -24,7 +24,7 @@ , vulkan-loader , webrtc-audio-processing , ncurses -, readline81 # meson can't find <7 as those versions don't have a .pc file +, readline # meson can't find <7 as those versions don't have a .pc file , lilv , makeFontsConf , callPackage @@ -123,7 +123,7 @@ let libsndfile lilv ncurses - readline81 + readline udev vulkan-headers vulkan-loader diff --git a/pkgs/shells/bash/5.1.nix b/pkgs/shells/bash/5.1.nix index a30c9a4a5072..db0754d6edee 100644 --- a/pkgs/shells/bash/5.1.nix +++ b/pkgs/shells/bash/5.1.nix @@ -7,7 +7,7 @@ # patch for cygwin requires readline support , interactive ? stdenv.isCygwin -, readline81 ? null +, readline ? null , withDocs ? false , texinfo ? null , forFHSEnv ? false @@ -15,7 +15,7 @@ with lib; -assert interactive -> readline81 != null; +assert interactive -> readline != null; assert withDocs -> texinfo != null; assert stdenv.hostPlatform.isDarwin -> binutils != null; let @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { ++ optional withDocs texinfo ++ optional stdenv.hostPlatform.isDarwin binutils; - buildInputs = optional interactive readline81; + buildInputs = optional interactive readline; enableParallelBuilding = true; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 53fe9ead208d..b826787f7407 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1009,7 +1009,7 @@ mapAliases ({ rdmd = throw "'rdmd' has been renamed to/replaced by 'dtools'"; # Converted to throw 2022-02-22 readline5 = throw "readline-5 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20 readline62 = throw "readline-6.2 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20 - readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version or 'readline81' for most recent version"; # Added 2021-04-22 + readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2021-04-22 redkite = throw "redkite was archived by upstream"; # Added 2021-04-12 redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25 renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2"; # Added 2022-01-12 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cde6e38861d1..325a8989669e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16044,7 +16044,6 @@ with pkgs; gdb = callPackage ../development/tools/misc/gdb { guile = null; - readline = readline81; }; java-language-server = callPackage ../development/tools/java/java-language-server { }; @@ -18785,9 +18784,7 @@ with pkgs; python = python3; }; - libqalculate = callPackage ../development/libraries/libqalculate { - readline = readline81; - }; + libqalculate = callPackage ../development/libraries/libqalculate { }; libqt5pas = libsForQt5.callPackage ../development/compilers/fpc/libqt5pas.nix { }; @@ -19981,7 +19978,7 @@ with pkgs; raylib = callPackage ../development/libraries/raylib { }; - readline = readline6; + readline = readline81; readline6 = readline63; readline63 = callPackage ../development/libraries/readline/6.3.nix { }; From 75734fa56d725f1e074eac624d7edc4d58afa943 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 8 Aug 2022 23:20:29 +0200 Subject: [PATCH 002/280] python310Packages.pyhamcrest: 2.0.3 -> 2.0.4 --- .../python-modules/pyhamcrest/default.nix | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/pyhamcrest/default.nix b/pkgs/development/python-modules/pyhamcrest/default.nix index ffe11cc140b3..8abf3b8ea44b 100644 --- a/pkgs/development/python-modules/pyhamcrest/default.nix +++ b/pkgs/development/python-modules/pyhamcrest/default.nix @@ -1,19 +1,20 @@ { lib , buildPythonPackage , fetchFromGitHub -, hatchling , hatch-vcs +, hatchling , numpy -, pythonOlder , pytest-xdist , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "pyhamcrest"; version = "2.0.4"; format = "pyproject"; - disabled = pythonOlder "3.6"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "hamcrest"; @@ -22,11 +23,9 @@ buildPythonPackage rec { hash = "sha256-CIkttiijbJCR0zdmwM5JvFogQKYuHUXHJhdyWonHcGk="; }; - SETUPTOOLS_SCM_PRETEND_VERSION = version; - nativeBuildInputs = [ - hatchling hatch-vcs + hatchling ]; checkInputs = [ @@ -35,12 +34,19 @@ buildPythonPackage rec { pytestCheckHook ]; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'dynamic = ["version"]' 'version = "${version}"' + ''; + + pythonImportsCheck = [ + "hamcrest" + ]; + meta = with lib; { - homepage = "https://github.com/hamcrest/PyHamcrest"; description = "Hamcrest framework for matcher objects"; + homepage = "https://github.com/hamcrest/PyHamcrest"; license = licenses.bsd3; - maintainers = with maintainers; [ - alunduil - ]; + maintainers = with maintainers; [ alunduil ]; }; } From a37017ffd60c740c28ca3f524679173f7b80b3d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20Houl=C3=A9?= Date: Tue, 4 Oct 2022 12:09:52 +0200 Subject: [PATCH 003/280] makeRustPlatform: inherit cargo in import-cargo-lock The main purpose of `makeRustPlatform` is to enable users to override the `rustc` and `cargo` versions used by the `rustPlatform` derivations. In all attributes of the result of `makeRustPlatform`, `rustc` and/or `cargo` are overriden, except in `importCargoLock`. I think this is an oversight / bug, and passing the received cargo derivation is the right behaviour. If `importCargoLock` always using the global cargo package even in `makeRustPlatform` is the intended behaviour, I think it should be documented at least in a comment. --- pkgs/development/compilers/rust/make-rust-platform.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index b859d01dc085..f210f8063cbd 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -18,7 +18,7 @@ rec { fetchCargoTarball importCargoLock rustc; }; - importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix {}; + importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix { inherit cargo; }; rustcSrc = callPackage ./rust-src.nix { inherit runCommand rustc; From d87d9845153bbcf11686ef9e719fcaaa3167f950 Mon Sep 17 00:00:00 2001 From: Alex Wied Date: Wed, 24 Aug 2022 21:55:57 -0400 Subject: [PATCH 004/280] python3Packages.azure-core: Fix sandboxed build on Darwin --- pkgs/development/python-modules/azure-core/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix index 5237130f59f8..ae0f259e113e 100644 --- a/pkgs/development/python-modules/azure-core/default.nix +++ b/pkgs/development/python-modules/azure-core/default.nix @@ -21,6 +21,8 @@ buildPythonPackage rec { pname = "azure-core"; disabled = pythonOlder "3.6"; + __darwinAllowLocalNetworking = true; + src = fetchPypi { inherit pname version; extension = "zip"; From 84394f885dc6939ffcca62716614850923e96559 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 26 Oct 2022 23:19:24 +0200 Subject: [PATCH 005/280] =?UTF-8?q?polkit:=20121=20=E2=86=92=20122?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.freedesktop.org/polkit/polkit/-/compare/121...122 Changelog-Reviewed-By: Jan Tojnar --- pkgs/development/libraries/polkit/default.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index b035df88e66d..69247b82ed22 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -37,7 +37,7 @@ let in stdenv.mkDerivation rec { pname = "polkit"; - version = "121"; + version = "122"; outputs = [ "bin" "dev" "out" ]; # small man pages in $bin @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { owner = "polkit"; repo = "polkit"; rev = version; - sha256 = "Lj7KSGILc6CBsNqPO0G0PNt6ClikbRG45E8FZbb46yY="; + sha256 = "fLY8i8h4McAnwVt8dLOqbyHM7v3SkbWqATz69NkUudU="; }; patches = [ @@ -57,14 +57,6 @@ stdenv.mkDerivation rec { url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/7ba07551dfcd4ef9a87b8f0d9eb8b91fabcb41b3.patch"; sha256 = "ebbLILncq1hAZTBMsLm+vDGw6j0iQ0crGyhzyLZQgKA="; }) - # Make netgroup support optional (musl does not have it) - # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/10 - # NOTE: Remove after the next release - (fetchpatch { - name = "make-innetgr-optional.patch"; - url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/b57deee8178190a7ecc75290fa13cf7daabc2c66.patch"; - sha256 = "8te6gatT9Fp+fIT05fQBym5mEwHeHfaUNUNEMfSbtLc="; - }) ]; depsBuildBuild = [ @@ -119,7 +111,7 @@ stdenv.mkDerivation rec { mesonFlags = [ "--datadir=${system}/share" "--sysconfdir=/etc" - "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system" + "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" "-Dpolkitd_user=polkituser" #TODO? config.ids.uids.polkituser "-Dos_type=redhat" # only affects PAM includes "-Dtests=${lib.boolToString doCheck}" From b2355813d8952f2e35a142d31f580a81e66008af Mon Sep 17 00:00:00 2001 From: Infinidoge Date: Sat, 29 Oct 2022 18:02:34 -0400 Subject: [PATCH 006/280] python3Packages.xxhash: 3.0.0 -> 3.1.0 --- pkgs/development/python-modules/xxhash/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix index ff4eeff35459..658784387354 100644 --- a/pkgs/development/python-modules/xxhash/default.nix +++ b/pkgs/development/python-modules/xxhash/default.nix @@ -5,12 +5,12 @@ }: buildPythonPackage rec { - version = "3.0.0"; + version = "3.1.0"; pname = "xxhash"; src = fetchPypi { inherit pname version; - sha256 = "sha256-MLLZeq8R+xIgI/a0TruXxpVengDXRhqWQVygMLXOucc="; + sha256 = "sha256-rCGx4h3G/f7ppXtT9Hd1OdU6hPLhVGo/gC8Vn5lmvcE="; }; nativeBuildInputs = [ From df7b6e6accaceadc1ba5a25e8fde78bbad3acebe Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Mon, 31 Oct 2022 07:54:25 +0000 Subject: [PATCH 007/280] gnumake: 4.3 -> 4.4 Notable changes (have a chance to break some projects): * WARNING: Backward-incompatibility! Previously each target in a explicit grouped target rule was considered individually: if the targets needed by the build were not out of date the recipe was not run even if other targets in the group were out of date. Now if any of the grouped targets are needed by the build, then if any of the grouped targets are out of date the recipe is run and all targets in the group are considered updated. * WARNING: Backward-incompatibility! Previously only simple (one-letter) options were added to the MAKEFLAGS variable that was visible while parsing makefiles. Now, all options are available in MAKEFLAGS. If you want to check MAKEFLAGS for a one-letter option, expanding "$(firstword -$(MAKEFLAGS))" is a reliable way to return the set of one-letter options which can be examined via findstring, etc. * WARNING: Backward-incompatibility! Previously makefile variables marked as export were not exported to commands started by the $(shell ...) function. Now, all exported variables are exported to $(shell ...). If this leads to recursion during expansion, then for backward-compatibility the value from the original environment is used. To detect this change search for 'shell-export' in the .FEATURES variable. Notable features: * New feature: The --shuffle command line option This option reorders goals and prerequisites to simulate non-determinism that may be seen using parallel build. Shuffle mode allows a form of "fuzz testing" of parallel builds to verify that all prerequisites are correctly described in the makefile. Changes: https://lists.gnu.org/archive/html/bug-make/2022-10/msg00247.html --- pkgs/development/tools/build-managers/gnumake/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix index 7a6b78ec084b..add4fd0d3573 100644 --- a/pkgs/development/tools/build-managers/gnumake/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/default.nix @@ -14,11 +14,11 @@ in stdenv.mkDerivation rec { pname = "gnumake"; - version = "4.3"; + version = "4.4"; src = fetchurl { url = "mirror://gnu/make/make-${version}.tar.gz"; - sha256 = "06cfqzpqsvdnsxbysl5p2fgdgxgl9y4p7scpnrfa8z2zgkjdspz0"; + sha256 = "sha256-WB9NToctp0s5Qch0IViYp9NYAvA3Mr3M7h1KeXkQXRg="; }; # to update apply these patches with `git am *.patch` to https://git.savannah.gnu.org/git/make.git From c2068e0fff4d10a63ea46ee2db5917de8b9f7095 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 12 Nov 2022 19:06:39 +0100 Subject: [PATCH 008/280] python310Packages.responses: 0.21.0 -> 0.22.0 --- .../python-modules/responses/default.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix index 21e3dd38cdb8..15a538cbf3b7 100644 --- a/pkgs/development/python-modules/responses/default.nix +++ b/pkgs/development/python-modules/responses/default.nix @@ -1,16 +1,20 @@ { lib , buildPythonPackage , fetchFromGitHub -, pytest-localserver +, pytest-asyncio +, pytest-httpserver , pytestCheckHook , pythonOlder , requests +, toml +, types-toml +, typing-extensions , urllib3 }: buildPythonPackage rec { pname = "responses"; - version = "0.21.0"; + version = "0.22.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,16 +25,22 @@ buildPythonPackage rec { owner = "getsentry"; repo = pname; rev = version; - hash = "sha256-qYohrXrQkUBPo7yC+ZOwidDaCg/2nteXKAOCUvR4k2Q="; + hash = "sha256-VOIpowxPvYmufnj9MM/vMtZQDIOxorAhMCNK0fX/j1U="; }; propagatedBuildInputs = [ requests + toml + types-toml urllib3 + ] ++ lib.optionals (pythonOlder "3.8") [ + typing-extensions ]; + checkInputs = [ - pytest-localserver + pytest-asyncio + pytest-httpserver pytestCheckHook ]; From 2ee326500f882cb1373e8d8c99ef0828712148f4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 14 Nov 2022 08:46:29 +0000 Subject: [PATCH 009/280] bluez: 5.65 -> 5.66 --- pkgs/os-specific/linux/bluez/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index ff8fbb460b27..08376b18bf35 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -22,11 +22,11 @@ ]; in stdenv.mkDerivation rec { pname = "bluez"; - version = "5.65"; + version = "5.66"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${pname}-${version}.tar.xz"; - sha256 = "sha256-JWWk1INUtXbmrZLiW1TtZoCCllgciruAWHBR+Zk9ltQ="; + sha256 = "sha256-Of6mS1kMlJKYSgwnqJ/CA+HNx0hmCG77j0aYZ3qytXQ="; }; buildInputs = [ From 7dc198a889cd79c9b274aabfb3cb76f01ab2bfed Mon Sep 17 00:00:00 2001 From: Albert Peschar Date: Sun, 20 Nov 2022 13:09:40 +0000 Subject: [PATCH 010/280] pythonPackages.executing: 0.8.2 -> 1.2.0 --- pkgs/development/python-modules/executing/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/executing/default.nix b/pkgs/development/python-modules/executing/default.nix index 1a6664df6712..749561769e61 100644 --- a/pkgs/development/python-modules/executing/default.nix +++ b/pkgs/development/python-modules/executing/default.nix @@ -3,18 +3,20 @@ , buildPythonPackage , fetchFromGitHub , setuptools-scm +, pytestCheckHook +, littleutils }: buildPythonPackage rec { pname = "executing"; - version = "0.8.2"; + version = "1.2.0"; format = "setuptools"; src = fetchFromGitHub { owner = "alexmojaki"; repo = pname; rev = "v${version}"; - sha256 = "sha256-CDZQ9DONn7M+2/GtmM2G6nQPpI9dOd0ca+2F1PGRwO4="; + sha256 = "sha256-3M3uSJ5xQ5Ciy8Lz21u9zjju/7SBSFHobCqSiJ6AP8M="; }; nativeBuildInputs = [ @@ -25,10 +27,10 @@ buildPythonPackage rec { export SETUPTOOLS_SCM_PRETEND_VERSION="${version}" ''; - # Tests appear to run fine (Ran 22 tests in 4.076s) with setuptoolsCheckPhase - # but crash with pytestCheckHook checkInputs = [ + pytestCheckHook asttokens + littleutils ]; pythonImportsCheck = [ From c38900f57f7a76526ab88b4fc52eebca3536d357 Mon Sep 17 00:00:00 2001 From: Albert Peschar Date: Sun, 20 Nov 2022 18:50:43 +0000 Subject: [PATCH 011/280] Add dependency on `rich` --- pkgs/development/python-modules/executing/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/executing/default.nix b/pkgs/development/python-modules/executing/default.nix index 749561769e61..956cf6b37c57 100644 --- a/pkgs/development/python-modules/executing/default.nix +++ b/pkgs/development/python-modules/executing/default.nix @@ -5,6 +5,8 @@ , setuptools-scm , pytestCheckHook , littleutils +, pythonAtLeast +, rich }: buildPythonPackage rec { @@ -31,6 +33,8 @@ buildPythonPackage rec { pytestCheckHook asttokens littleutils + ] ++ lib.optionals (pythonAtLeast "3.11") [ + rich ]; pythonImportsCheck = [ From a19c5eab67f981ee3b0d1c06590aeb0fc997eaf4 Mon Sep 17 00:00:00 2001 From: Albert Peschar Date: Sun, 20 Nov 2022 18:50:53 +0000 Subject: [PATCH 012/280] Upgrade to pyproject --- pkgs/development/python-modules/executing/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/executing/default.nix b/pkgs/development/python-modules/executing/default.nix index 956cf6b37c57..0c7cbf276318 100644 --- a/pkgs/development/python-modules/executing/default.nix +++ b/pkgs/development/python-modules/executing/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "executing"; version = "1.2.0"; - format = "setuptools"; + format = "pyproject"; src = fetchFromGitHub { owner = "alexmojaki"; From 4fc97dce3cfe544151c49e072180863d586084d4 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Sat, 20 Aug 2022 13:01:12 -0700 Subject: [PATCH 013/280] python310Packages.cffi: patch closures to work on M1 machines Trusts the libffi library inside of nixpkgs on Apple devices. When Apple's fork of libffi is not detected, cffi assumes that libffi uses a strategy for creating closures (i.e. callbacks) that is in certain cases susceptible to a security exploit. Based on some analysis I did: https://groups.google.com/g/python-cffi/c/xU0Usa8dvhk I believe that libffi already contains the code from Apple's fork that is deemed safe to trust in cffi. It uses a more sophisticated strategy for creating trampolines to support closures that works on Apple Silicon, while the simple approach that cffi falls back on does not, so this patch enables code that uses closures on M1 Macs again. Notably, pyOpenSSL is impacted and will be fixed by this, reported in https://github.com/pyca/pyopenssl/issues/873 Note that libffi closures still will not work on signed apps without the com.apple.security.cs.allow-unsigned-executable-memory entitlement while https://github.com/libffi/libffi/pull/621 is still open (which I haven't tested but is my best guess from reading). I am hopeful that all of these changes will be upstreamed back into cffi and libffi, and that this comment provides enough breadcrumbs for future maintainers to track and clean this up. --- .../cffi/darwin-use-libffi-closures.diff | 21 +++++++++ .../python-modules/cffi/default.nix | 29 +++++++++--- .../python2-modules/cffi/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python2-packages.nix | 2 + 4 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/python-modules/cffi/darwin-use-libffi-closures.diff create mode 100644 pkgs/development/python2-modules/cffi/default.nix diff --git a/pkgs/development/python-modules/cffi/darwin-use-libffi-closures.diff b/pkgs/development/python-modules/cffi/darwin-use-libffi-closures.diff new file mode 100644 index 000000000000..c48c8090dd46 --- /dev/null +++ b/pkgs/development/python-modules/cffi/darwin-use-libffi-closures.diff @@ -0,0 +1,21 @@ +diff -r bac92fcfe4d7 c/_cffi_backend.c +--- a/c/_cffi_backend.c Mon Jul 18 15:58:34 2022 +0200 ++++ b/c/_cffi_backend.c Sat Aug 20 12:38:31 2022 -0700 +@@ -96,7 +96,7 @@ + # define CFFI_CHECK_FFI_PREP_CIF_VAR 0 + # define CFFI_CHECK_FFI_PREP_CIF_VAR_MAYBE 0 + +-#elif defined(__APPLE__) && defined(FFI_AVAILABLE_APPLE) ++#elif defined(__APPLE__) + + # define CFFI_CHECK_FFI_CLOSURE_ALLOC __builtin_available(macos 10.15, ios 13, watchos 6, tvos 13, *) + # define CFFI_CHECK_FFI_CLOSURE_ALLOC_MAYBE 1 +@@ -6413,7 +6413,7 @@ + else + #endif + { +-#if defined(__APPLE__) && defined(FFI_AVAILABLE_APPLE) && !FFI_LEGACY_CLOSURE_API ++#if defined(__APPLE__) && !FFI_LEGACY_CLOSURE_API + PyErr_Format(PyExc_SystemError, "ffi_prep_closure_loc() is missing"); + goto error; + #else diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix index 66b315f14ab0..aa1df2e51673 100644 --- a/pkgs/development/python-modules/cffi/default.nix +++ b/pkgs/development/python-modules/cffi/default.nix @@ -1,5 +1,12 @@ -{ lib, stdenv, buildPythonPackage, isPyPy, fetchPypi, pytestCheckHook, - libffi, pkg-config, pycparser +{ lib +, stdenv +, buildPythonPackage +, isPyPy +, fetchPypi +, pytestCheckHook +, libffi +, pkg-config +, pycparser }: if isPyPy then null else buildPythonPackage rec { @@ -11,6 +18,20 @@ if isPyPy then null else buildPythonPackage rec { sha256 = "sha256-1AC/uaN7E1ElPLQCZxzqfom97MKU6AFqcH9tHYrJNPk="; }; + patches = [ + # + # Trusts the libffi library inside of nixpkgs on Apple devices. + # + # Based on some analysis I did: + # + # https://groups.google.com/g/python-cffi/c/xU0Usa8dvhk + # + # I believe that libffi already contains the code from Apple's fork that is + # deemed safe to trust in cffi. + # + ./darwin-use-libffi-closures.diff + ]; + buildInputs = [ libffi ]; nativeBuildInputs = [ pkg-config ]; @@ -29,9 +50,7 @@ if isPyPy then null else buildPythonPackage rec { NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument -Wno-unreachable-code -Wno-c++11-narrowing"; - # Lots of tests fail on aarch64-darwin due to "Cannot allocate write+execute memory": - # * https://cffi.readthedocs.io/en/latest/using.html#callbacks - doCheck = !stdenv.hostPlatform.isMusl && !(stdenv.isDarwin && stdenv.isAarch64); + doCheck = !stdenv.hostPlatform.isMusl; checkInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python2-modules/cffi/default.nix b/pkgs/development/python2-modules/cffi/default.nix new file mode 100644 index 000000000000..adeda6e90d22 --- /dev/null +++ b/pkgs/development/python2-modules/cffi/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, cffi }: + +if cffi == null then null else cffi.overridePythonAttrs { + disabledTests = lib.optionals stdenv.isDarwin [ + # cannot load library 'c' + "test_FILE" + "test_FILE_object" + "test_FILE_only_for_FILE_arg" + "test_load_and_call_function" + "test_load_library" + + # cannot load library 'dl' + "test_dlopen_handle" + + # cannot load library 'm' + "test_dir_on_dlopen_lib" + "test_dlclose" + "test_dlopen" + "test_dlopen_constant" + "test_dlopen_flags" + "test_function_typedef" + "test_line_continuation_in_defines" + "test_missing_function" + "test_remove_comments" + "test_remove_line_continuation_comments" + "test_simple" + "test_sin" + "test_sinf" + "test_stdcall_only_on_windows" + "test_wraps_from_stdlib" + + # MemoryError + "test_callback_as_function_argument" + "test_callback_crash" + "test_callback_decorator" + "test_callback_large_struct" + "test_callback_returning_void" + "test_cast_functionptr_and_int" + "test_function_pointer" + "test_functionptr_intptr_return" + "test_functionptr_simple" + "test_functionptr_void_return" + "test_functionptr_voidptr_return" + ]; +} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 773f8d860f0a..3d970d8bc4b2 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -15,6 +15,8 @@ with self; with super; { certifi = callPackage ../development/python2-modules/certifi { }; + cffi = callPackage ../development/python2-modules/cffi { inherit cffi; }; + chardet = callPackage ../development/python2-modules/chardet { }; cheetah = callPackage ../development/python2-modules/cheetah { }; From 607fe05ebb2c40d53f2456c26ee593b4dfaefcec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 21 Nov 2022 12:54:38 +0000 Subject: [PATCH 014/280] ell: 0.53 -> 0.54 --- pkgs/os-specific/linux/ell/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix index 2fce9d6f0d7b..1e188fbe6074 100644 --- a/pkgs/os-specific/linux/ell/default.nix +++ b/pkgs/os-specific/linux/ell/default.nix @@ -7,14 +7,14 @@ stdenv.mkDerivation rec { pname = "ell"; - version = "0.53"; + version = "0.54"; outputs = [ "out" "dev" ]; src = fetchgit { url = "https://git.kernel.org/pub/scm/libs/ell/ell.git"; rev = version; - sha256 = "sha256-txtXPWmLfZLBsK3s94W5LyA81mTHStpP3nkq6KW33Mk="; + sha256 = "sha256-Oi+S4DWXuTUL36Xh3iWIZj9rdN2qUDHmZiFSH1csW+8="; }; nativeBuildInputs = [ From f4c278ca0e7969356df58d84a949f78dbe84c505 Mon Sep 17 00:00:00 2001 From: Victor Engmark Date: Sun, 30 Oct 2022 16:10:56 +1300 Subject: [PATCH 015/280] jekyll-favicon: Add to full Jekyll setup --- .../misc/jekyll/basic/Gemfile.lock | 2 +- pkgs/applications/misc/jekyll/full/Gemfile | 1 + .../misc/jekyll/full/Gemfile.lock | 8 ++++++- pkgs/applications/misc/jekyll/full/gemset.nix | 21 +++++++++++++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock index 19cc2a7faef7..5fc41261bbf7 100644 --- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock @@ -101,4 +101,4 @@ DEPENDENCIES jemoji BUNDLED WITH - 2.3.25 + 2.3.9 diff --git a/pkgs/applications/misc/jekyll/full/Gemfile b/pkgs/applications/misc/jekyll/full/Gemfile index 2e72350f7e5e..5e7e2d9032a3 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile +++ b/pkgs/applications/misc/jekyll/full/Gemfile @@ -11,6 +11,7 @@ gem "jemoji" # Optional dependencies: gem "jekyll-coffeescript" #gem "jekyll-docs" +gem "jekyll-favicon" gem "jekyll-feed", "~> 0.9" gem "jekyll-gist" gem "jekyll-paginate" diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock index 8d9fbb696d7e..6b1cc609e080 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock @@ -58,6 +58,10 @@ GEM jekyll-coffeescript (2.0.0) coffee-script (~> 2.2) coffee-script-source (~> 1.12) + jekyll-favicon (1.1.0) + jekyll (>= 3.0, < 5.0) + mini_magick (~> 4.11) + rexml (~> 3.2, >= 3.2.5) jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) @@ -100,6 +104,7 @@ GEM mime-types (3.4.1) mime-types-data (~> 3.2015) mime-types-data (3.2022.0105) + mini_magick (4.11.0) mini_portile2 (2.8.0) minitest (5.16.3) nokogiri (1.13.9) @@ -146,6 +151,7 @@ DEPENDENCIES jekyll jekyll-avatar jekyll-coffeescript + jekyll-favicon jekyll-feed (~> 0.9) jekyll-gist jekyll-mentions @@ -163,4 +169,4 @@ DEPENDENCIES yajl-ruby (~> 1.4) BUNDLED WITH - 2.3.25 + 2.3.9 diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix index 334750398ff7..3607b507cd9d 100644 --- a/pkgs/applications/misc/jekyll/full/gemset.nix +++ b/pkgs/applications/misc/jekyll/full/gemset.nix @@ -264,6 +264,17 @@ }; version = "2.0.0"; }; + jekyll-favicon = { + dependencies = ["jekyll" "mini_magick" "rexml"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dyksm4i11n0qshd7wh6dvk8d0fc70dd32ir2dxs6igxq0gd6hi1"; + type = "gem"; + }; + version = "1.1.0"; + }; jekyll-feed = { dependencies = ["jekyll"]; groups = ["default"]; @@ -526,6 +537,16 @@ }; version = "3.2022.0105"; }; + mini_magick = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1aj604x11d9pksbljh0l38f70b558rhdgji1s9i763hiagvvx2hs"; + type = "gem"; + }; + version = "4.11.0"; + }; mini_portile2 = { groups = ["default"]; platforms = []; From 6165976b7d94161eac338816a7cf9e554251bfe9 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Tue, 8 Nov 2022 19:44:07 +0100 Subject: [PATCH 016/280] meson: 0.63.1 -> 0.64.1 --- .../tools/build-managers/meson/default.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 9fef483ff0e1..5f4fa56bd1e1 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -9,11 +9,11 @@ python3.pkgs.buildPythonApplication rec { pname = "meson"; - version = "0.63.1"; + version = "0.64.1"; src = python3.pkgs.fetchPypi { inherit pname version; - sha256 = "Bv4TKXIT1v8BIcXVqrJaVu+Tj/7FdBTtYIb9onLLZek="; + sha256 = "sha256-Oo4DDCM094IIX4FicGLMbUpnce3zHgVf/jdPnmsImrk="; }; patches = [ @@ -52,15 +52,6 @@ python3.pkgs.buildPythonApplication rec { # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774 ./boost-Do-not-add-system-paths-on-nix.patch - # Prevent Meson from passing -O0 in buildtype=plain. - # Nixpkgs enables fortifications which do not work without optimizations. - # https://github.com/mesonbuild/meson/pull/10593 - (fetchpatch { - url = "https://github.com/mesonbuild/meson/commit/f9bfeb2add70973113ab4a98454a5c5d7e3a26ae.patch"; - revert = true; - sha256 = "VKXUwdS+zMp1y+5GrV2inESUpUUp+OL3aI4wOXHxOeo="; - }) - # Fix passing multiple --define-variable arguments to pkg-config. # https://github.com/mesonbuild/meson/pull/10670 (fetchpatch { From 68b44c86c202e2e7c88573da9832fa981167db7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 10 Nov 2022 17:19:25 +0100 Subject: [PATCH 017/280] glibc: bump the minimum kernel version I don't think anyone sane is really using kernel < 3.10 nowadays. (At least in a use case with glibc from nixpkgs.) As another suspect with old kernels, Ubuntu seems to start at 3.13 now. --- .../libraries/glibc/allow-kernel-2.6.32.patch | 39 ------------------- pkgs/development/libraries/glibc/common.nix | 32 +-------------- 2 files changed, 1 insertion(+), 70 deletions(-) delete mode 100644 pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch diff --git a/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch b/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch deleted file mode 100644 index ce18b874c427..000000000000 --- a/pkgs/development/libraries/glibc/allow-kernel-2.6.32.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure -index cace758c01..38fe7fe0b0 100644 ---- a/sysdeps/unix/sysv/linux/configure -+++ b/sysdeps/unix/sysv/linux/configure -@@ -69,7 +69,7 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kernel header at least $minimum_kernel" >&5 - $as_echo_n "checking for kernel header at least $minimum_kernel... " >&6; } - decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; --abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; -+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include -diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac -index 13abda0a51..6abc12eaed 100644 ---- a/sysdeps/unix/sysv/linux/configure.ac -+++ b/sysdeps/unix/sysv/linux/configure.ac -@@ -50,7 +50,7 @@ fi - AC_MSG_CHECKING(for kernel header at least $minimum_kernel) - changequote(,)dnl - decnum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/(\1 * 65536 + \2 * 256 + \3)/'`; --abinum=`echo "$minimum_kernel.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; -+abinum=`echo "2.6.32.0.0.0" | sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1,\2,\3/'`; - changequote([,])dnl - AC_TRY_COMPILE([#include - #if LINUX_VERSION_CODE < $decnum -diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h -index 823cd8224d..482caaeeec 100644 ---- a/sysdeps/unix/sysv/linux/dl-osinfo.h -+++ b/sysdeps/unix/sysv/linux/dl-osinfo.h -@@ -39,7 +39,7 @@ - GLRO(dl_osversion) = version; \ - \ - /* Now we can test with the required version. */ \ -- if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION) \ -+ if (__LINUX_KERNEL_VERSION > 0 && version < __LINUX_KERNEL_VERSION && version != 0x020620) \ - /* Not sufficent. */ \ - FATAL ("FATAL: kernel too old\n"); \ - } \ diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 83cde0774949..3267f9203f1b 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -86,36 +86,6 @@ stdenv.mkDerivation ({ patch extends the search path by "/run/current-system/sw/bin". */ ./fix_path_attribute_in_getconf.patch - /* Allow running with RHEL 6 -like kernels. The patch adds an exception - for glibc to accept 2.6.32 and to tag the ELFs as 2.6.32-compatible - (otherwise the loader would refuse libc). - Note that glibc will fully work only on their heavily patched kernels - and we lose early mismatch detection on 2.6.32. - - On major glibc updates we should check that the patched kernel supports - all the required features. ATM it's verified up to glibc-2.26-131. - # HOWTO: check glibc sources for changes in kernel requirements - git log -p glibc-2.25.. sysdeps/unix/sysv/linux/x86_64/kernel-features.h sysdeps/unix/sysv/linux/kernel-features.h - # get kernel sources (update the URL) - mkdir tmp && cd tmp - curl http://vault.centos.org/6.9/os/Source/SPackages/kernel-2.6.32-696.el6.src.rpm | rpm2cpio - | cpio -idmv - tar xf linux-*.bz2 - # check syscall presence, for example - less linux-*?/arch/x86/kernel/syscall_table_32.S - */ - ./allow-kernel-2.6.32.patch - - /* Provide a fallback for missing prlimit64 syscall on RHEL 6 -like - kernels. - - This patch is maintained by @veprbl. If it gives you trouble, feel - free to ping me, I'd be happy to help. - */ - (fetchurl { - url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-reinstate-prlimit64-fallback.patch?id=eab07e78b691ae7866267fc04d31c7c3ad6b0eeb"; - sha256 = "091bk3kyrx1gc380gryrxjzgcmh1ajcj8s2rjhp2d2yzd5mpd5ps"; - }) - ./fix-x64-abi.patch /* https://github.com/NixOS/nixpkgs/pull/137601 */ @@ -172,7 +142,7 @@ stdenv.mkDerivation ({ # Enable Intel Control-flow Enforcement Technology (CET) support "--enable-cet" ] ++ lib.optionals withLinuxHeaders [ - "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26 + "--enable-kernel=3.10.0" # RHEL 7 and derivatives, seems oldest still supported kernel ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ (lib.flip lib.withFeature "fp" (stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) From 742d9d0fd80200b80bbf6842aa817b329f44d62e Mon Sep 17 00:00:00 2001 From: Lorenz Leutgeb Date: Mon, 7 Nov 2022 15:53:46 +0100 Subject: [PATCH 018/280] gradle: 7.5 -> 7.6, 6.9.2 -> 6.9.3 --- .../tools/build-managers/gradle/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index 0ad6d5a2acfe..7e34249f2075 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -127,16 +127,16 @@ rec { # https://docs.gradle.org/current/userguide/compatibility.html gradle_7 = gen { - version = "7.5"; - nativeVersion = "0.22-milestone-23"; - sha256 = "1hjifd98dif0qy6vkqp56v9z7id5cf2bfkdd71ld8nsqqlig51yb"; + version = "7.6"; + nativeVersion = "0.22-milestone-24"; + sha256 = "0jwycvzv8a5v2bhg5d8zccr2csr3sf9y5mrr9d2ap44p09a8r9kv"; defaultJava = jdk17; }; gradle_6 = gen { - version = "6.9.2"; + version = "6.9.3"; nativeVersion = "0.22-milestone-20"; - sha256 = "13qyk3f6namw27ynh6nxljxpk9r3l12vxl3f0qpglprdf3c6ydcb"; + sha256 = "0p83zgszmrwa26a4q8nvzva2af5lfzy6xvcs57y9588smsw51wyw"; defaultJava = jdk11; }; From fbe881688593179cd89eaa3dd4e519807bc2bf34 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Nov 2022 09:26:39 +0000 Subject: [PATCH 019/280] hwdata: 0.363 -> 0.364 --- 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 c121ef6f6f53..8fb826833704 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.363"; + version = "0.364"; src = fetchFromGitHub { owner = "vcrhonek"; repo = "hwdata"; rev = "v${version}"; - sha256 = "sha256-A6GNrHc/t2SVyAyJWmzQTa+pD9wGESsz7DNruW2kH4s="; + sha256 = "sha256-9fGYoyj7vN3j72H+6jv/R0MaWPZ+4UNQhCSWnZRZZS4="; }; postPatch = '' From cd3cadc00a2bad1a6b614ffa85ac75251d65e003 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 27 Nov 2022 08:37:14 +0000 Subject: [PATCH 020/280] xz: 5.2.7 -> 5.2.8 Changes: https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD --- pkgs/tools/compression/xz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 1f898dbdef4b..3b7600661067 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "xz"; - version = "5.2.7"; + version = "5.2.8"; src = fetchurl { url = "https://tukaani.org/xz/xz-${version}.tar.bz2"; - sha256 = "tl8dDCcI5XcW9N0iFpiac4R6xv20Fo/86xVXZ+Irg0s="; + sha256 = "H4pD2fzzJdBJox/kUU3IxEptAM6IYNSMQhLR40nSo+0="; }; strictDeps = true; From cd726c9a915c16b2d616a60f79eb77d126aa0ada Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Sun, 27 Nov 2022 00:46:23 -0800 Subject: [PATCH 021/280] python311Packages.cchardet: fix for python 3.11 The .cpp file released with this package to PyPI was built using an older version of Cython that is incompatible with Python 3.11. This package is not actively maintained, so it's unclear when the fix for this will be merged and released. In the meantime, we can include a newer version of Cython locally, which will be used instead to regenerate the .cpp file. --- pkgs/development/python-modules/cchardet/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix index 587d0d1f6c12..1ec1ee57c1a7 100644 --- a/pkgs/development/python-modules/cchardet/default.nix +++ b/pkgs/development/python-modules/cchardet/default.nix @@ -2,19 +2,24 @@ , stdenv , buildPythonPackage , fetchPypi -, python +, cython , nose }: buildPythonPackage rec { pname = "cchardet"; version = "2.1.7"; + format = "setuptools"; src = fetchPypi { inherit pname version; sha256 = "c428b6336545053c2589f6caf24ea32276c6664cb86db817e03a94c60afa0eaf"; }; + nativeBuildInputs = [ + cython # pending https://github.com/PyYoshi/cChardet/pull/78 being released to PyPI + ]; + pythonImportsCheck = [ "cchardet" ]; From 8cef4f301163223f0712546c137ed1dccfc8d498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 18 Nov 2022 06:59:46 +0100 Subject: [PATCH 022/280] Revert "Revert "python310Packages.h11: 0.13.0 -> 0.14.0"" This reverts commit acad0b3a098c9a3a5c6785356b034a496094373f. --- pkgs/development/python-modules/h11/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/h11/default.nix b/pkgs/development/python-modules/h11/default.nix index 98dd8eef6cbd..5e58310106ac 100644 --- a/pkgs/development/python-modules/h11/default.nix +++ b/pkgs/development/python-modules/h11/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "h11"; - version = "0.13.0"; + version = "0.14.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-cIE8ETUIeiSKTTjMDhoBgf+rIYgUGpPq9WeUDDlX/wY="; + sha256 = "sha256-jxn7vpnnJCD/NcALJ6NMuZN+kCqLgQ4siDAMbwo7aZ0="; }; checkInputs = [ pytestCheckHook ]; From 30eeef2e792e7287727f9cc6a66e7bf4b17b287f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 18 Nov 2022 07:02:28 +0100 Subject: [PATCH 023/280] python310Packages.h11: add last regression from httpcore and wsproto to passthru.tests --- pkgs/development/python-modules/h11/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/h11/default.nix b/pkgs/development/python-modules/h11/default.nix index 5e58310106ac..bb61c5310354 100644 --- a/pkgs/development/python-modules/h11/default.nix +++ b/pkgs/development/python-modules/h11/default.nix @@ -3,6 +3,8 @@ , fetchPypi , pytestCheckHook , pythonOlder +, httpcore +, wsproto }: buildPythonPackage rec { @@ -20,6 +22,10 @@ buildPythonPackage rec { # Some of the tests use localhost networking. __darwinAllowLocalNetworking = true; + passthru.tests = { + inherit httpcore wsproto; + }; + meta = with lib; { description = "Pure-Python, bring-your-own-I/O implementation of HTTP/1.1"; homepage = "https://github.com/python-hyper/h11"; From f59a206a68f393388f8ba1feeae3d00af3f35fda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sun, 27 Nov 2022 23:04:24 +0100 Subject: [PATCH 024/280] python310Packages.httpcore: 0.15.0 -> 0.16.2 --- .../python-modules/httpcore/default.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix index 5016ece96f2f..61a3b8d73235 100644 --- a/pkgs/development/python-modules/httpcore/default.nix +++ b/pkgs/development/python-modules/httpcore/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "httpcore"; - version = "0.15.0"; + version = "0.16.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -26,14 +26,9 @@ buildPythonPackage rec { owner = "encode"; repo = pname; rev = version; - hash = "sha256-FF3Yzac9nkVcA5bHVOz2ymvOelSfJ0K6oU8UWpBDcmo="; + hash = "sha256-bwGZ/B0jlvc1BmXVTo7gMP6PJIQuCHclkHjKQCgMsyU="; }; - postPatch = '' - substituteInPlace setup.py \ - --replace "h11>=0.11,<0.13" "h11>=0.11,<0.14" - ''; - propagatedBuildInputs = [ anyio certifi @@ -63,6 +58,12 @@ buildPythonPackage rec { "httpcore" ]; + preCheck = '' + # remove upstreams pytest flags which cause: + # httpcore.ConnectError: TLS/SSL connection has been closed (EOF) (_ssl.c:997) + rm setup.cfg + ''; + pytestFlagsArray = [ "--asyncio-mode=strict" ]; From 193aa6faf4c9f881d58df7baa4447958bf61c4ac Mon Sep 17 00:00:00 2001 From: Jonathan Lorimer Date: Fri, 11 Nov 2022 11:41:57 -0500 Subject: [PATCH 025/280] Add declarative role config to postgres.service remove trailing whitespace switch docs to markdown use mdDoc remove trailing whitespace get rid of double space add tests and update options to use submodule remove whitespace remove whitespace use mdDoc remove whitespace make default a no-op make ALTER ROLE a single sql statement document null case --- .../modules/services/databases/postgresql.nix | 178 +++++++++++++++++- nixos/tests/postgresql.nix | 91 ++++++++- 2 files changed, 261 insertions(+), 8 deletions(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 2919022496a3..910c149b8f59 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -147,6 +147,7 @@ in Name of the user to ensure. ''; }; + ensurePermissions = mkOption { type = types.attrsOf types.str; default = {}; @@ -168,6 +169,154 @@ in } ''; }; + + ensureClauses = mkOption { + description = lib.mdDoc '' + An attrset of clauses to grant to the user. Under the hood this uses the + [ALTER USER syntax](https://www.postgresql.org/docs/current/sql-alteruser.html) for each attrName where + the attrValue is true in the attrSet: + `ALTER USER user.name WITH attrName` + ''; + example = literalExpression '' + { + superuser = true; + createrole = true; + createdb = true; + } + ''; + default = {}; + defaultText = lib.literalMD '' + If not set then the user created will have the default permissions assigned by postgres + ''; + type = types.submodule { + options = let + defaultText = lib.literalMD '' + `null`: do not set. For newly created roles, use PostgreSQL's default. For existing roles, do not touch this clause. + ''; + in { + superuser = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, superuser permissions. From the postgres docs: + + A database superuser bypasses all permission checks, + except the right to log in. This is a dangerous privilege + and should not be used carelessly; it is best to do most + of your work as a role that is not a superuser. To create + a new database superuser, use CREATE ROLE name SUPERUSER. + You must do this as a role that is already a superuser. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + createrole = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, createrole permissions. From the postgres docs: + + A role must be explicitly given permission to create more + roles (except for superusers, since those bypass all + permission checks). To create such a role, use CREATE + ROLE name CREATEROLE. A role with CREATEROLE privilege + can alter and drop other roles, too, as well as grant or + revoke membership in them. However, to create, alter, + drop, or change membership of a superuser role, superuser + status is required; CREATEROLE is insufficient for that. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + createdb = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, createdb permissions. From the postgres docs: + + A role must be explicitly given permission to create + databases (except for superusers, since those bypass all + permission checks). To create such a role, use CREATE + ROLE name CREATEDB. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + "inherit" = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user created inherit permissions. From the postgres docs: + + A role is given permission to inherit the privileges of + roles it is a member of, by default. However, to create a + role without the permission, use CREATE ROLE name + NOINHERIT. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + login = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, login permissions. From the postgres docs: + + Only roles that have the LOGIN attribute can be used as + the initial role name for a database connection. A role + with the LOGIN attribute can be considered the same as a + “database user”. To create a role with login privilege, + use either: + + CREATE ROLE name LOGIN; CREATE USER name; + + (CREATE USER is equivalent to CREATE ROLE except that + CREATE USER includes LOGIN by default, while CREATE ROLE + does not.) + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + replication = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: + + A role must explicitly be given permission to initiate + streaming replication (except for superusers, since those + bypass all permission checks). A role used for streaming + replication must have LOGIN permission as well. To create + such a role, use CREATE ROLE name REPLICATION LOGIN. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + bypassrls = mkOption { + type = types.nullOr types.bool; + description = lib.mdDoc '' + Grants the user, created by the ensureUser attr, replication permissions. From the postgres docs: + + A role must be explicitly given permission to bypass + every row-level security (RLS) policy (except for + superusers, since those bypass all permission checks). To + create such a role, use CREATE ROLE name BYPASSRLS as a + superuser. + + More information on postgres roles can be found [here](https://www.postgresql.org/docs/current/role-attributes.html) + ''; + default = null; + inherit defaultText; + }; + }; + }; + }; }; }); default = []; @@ -380,12 +529,29 @@ in $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${database}"' '') cfg.ensureDatabases} '' + '' - ${concatMapStrings (user: '' - $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' - ${concatStringsSep "\n" (mapAttrsToList (database: permission: '' - $PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"' - '') user.ensurePermissions)} - '') cfg.ensureUsers} + ${ + concatMapStrings + (user: + let + userPermissions = concatStringsSep "\n" + (mapAttrsToList + (database: permission: ''$PSQL -tAc 'GRANT ${permission} ON ${database} TO "${user.name}"' '') + user.ensurePermissions + ); + + filteredClauses = filterAttrs (name: value: value != null) user.ensureClauses; + + clauseSqlStatements = attrValues (mapAttrs (n: v: if v then n else "no${n}") filteredClauses); + + userClauses = ''$PSQL -tAc 'ALTER ROLE "${user.name}" ${concatStringsSep " " clauseSqlStatements}' ''; + in '' + $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc 'CREATE USER "${user.name}"' + ${userPermissions} + ${userClauses} + '' + ) + cfg.ensureUsers + } ''; serviceConfig = mkMerge [ diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 2b487c20a625..6a58c88b53cf 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -130,8 +130,95 @@ let ''; }; + + mk-ensure-clauses-test = postgresql-name: postgresql-package: makeTest { + name = postgresql-name; + meta = with pkgs.lib.maintainers; { + maintainers = [ zagy ]; + }; + + machine = {...}: + { + services.postgresql = { + enable = true; + package = postgresql-package; + ensureUsers = [ + { + name = "all-clauses"; + ensureClauses = { + superuser = true; + createdb = true; + createrole = true; + "inherit" = true; + login = true; + replication = true; + bypassrls = true; + }; + } + { + name = "default-clauses"; + } + ]; + }; + }; + + testScript = let + getClausesQuery = user: pkgs.lib.concatStringsSep " " + [ + "SELECT row_to_json(row)" + "FROM (" + "SELECT" + "rolsuper," + "rolinherit," + "rolcreaterole," + "rolcreatedb," + "rolcanlogin," + "rolreplication," + "rolbypassrls" + "FROM pg_roles" + "WHERE rolname = '${user}'" + ") row;" + ]; + in '' + import json + machine.start() + machine.wait_for_unit("postgresql") + + with subtest("All user permissions are set according to the ensureClauses attr"): + clauses = json.loads( + machine.succeed( + "sudo -u postgres psql -tc \"${getClausesQuery "all-clauses"}\"" + ) + ) + print(clauses) + assert clauses['rolsuper'], 'expected user with clauses to have superuser clause' + assert clauses['rolinherit'], 'expected user with clauses to have inherit clause' + assert clauses['rolcreaterole'], 'expected user with clauses to have create role clause' + assert clauses['rolcreatedb'], 'expected user with clauses to have create db clause' + assert clauses['rolcanlogin'], 'expected user with clauses to have login clause' + assert clauses['rolreplication'], 'expected user with clauses to have replication clause' + assert clauses['rolbypassrls'], 'expected user with clauses to have bypassrls clause' + + with subtest("All user permissions default when ensureClauses is not provided"): + clauses = json.loads( + machine.succeed( + "sudo -u postgres psql -tc \"${getClausesQuery "default-clauses"}\"" + ) + ) + assert not clauses['rolsuper'], 'expected user with no clauses set to have default superuser clause' + assert clauses['rolinherit'], 'expected user with no clauses set to have default inherit clause' + assert not clauses['rolcreaterole'], 'expected user with no clauses set to have default create role clause' + assert not clauses['rolcreatedb'], 'expected user with no clauses set to have default create db clause' + assert clauses['rolcanlogin'], 'expected user with no clauses set to have default login clause' + assert not clauses['rolreplication'], 'expected user with no clauses set to have default replication clause' + assert not clauses['rolbypassrls'], 'expected user with no clauses set to have default bypassrls clause' + + machine.shutdown() + ''; + }; in - (mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // { + (mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // + (mapAttrs' (name: package: { inherit name; value=mk-ensure-clauses-test name package;}) postgresql-versions) // + { postgresql_11-backup-all = make-postgresql-test "postgresql_11-backup-all" postgresql-versions.postgresql_11 true; } - From 7aa96eae81e63aa2ddc2f0adb97775e89619ecdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 28 Nov 2022 11:28:05 +0100 Subject: [PATCH 026/280] python310Packages.pycryptodome: 3.15.0 -> 3.16.0 --- pkgs/development/python-modules/pycryptodome/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix index 29ef48bde165..41d7dc1d1514 100644 --- a/pkgs/development/python-modules/pycryptodome/default.nix +++ b/pkgs/development/python-modules/pycryptodome/default.nix @@ -2,7 +2,6 @@ , buildPythonPackage , callPackage , fetchFromGitHub -, cffi , gmp }: @@ -11,14 +10,14 @@ let in buildPythonPackage rec { pname = "pycryptodome"; - version = "3.15.0"; + version = "3.16.0"; format = "setuptools"; src = fetchFromGitHub { owner = "Legrandin"; repo = "pycryptodome"; rev = "v${version}"; - hash = "sha256-SPRoAfwP1MFlVzZsVWmXDWUY5Yje7eg7d+9zJhZNXrw="; + hash = "sha256-8EAgeAU3HQiPrMKOtoVQQLbgq47cbveU2eQYp15XS/U="; }; postPatch = '' From c181a522727e44254c3831d05d77413b65040dd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 28 Nov 2022 13:20:45 +0100 Subject: [PATCH 027/280] python310Packages.pycryptodome-test-vectors: 1.0.8 -> 1.0.10 --- pkgs/development/python-modules/pycryptodome/vectors.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pycryptodome/vectors.nix b/pkgs/development/python-modules/pycryptodome/vectors.nix index f6a2b715ad91..89df4507867e 100644 --- a/pkgs/development/python-modules/pycryptodome/vectors.nix +++ b/pkgs/development/python-modules/pycryptodome/vectors.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "pycryptodome-test-vectors"; - version = "1.0.8"; + version = "1.0.10"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-3BTh7as4CikvVfUx2xBZlUOaq/dAQNNFHpuRxWg/5N0="; + hash = "sha256-oqgHWAw0Xrc22eAuY6+Q/H90tL9Acz6V0EJp060hH2Q="; extension = "zip"; }; From 4e502a1c4d207610b0964b92bb41e574ed62e9c9 Mon Sep 17 00:00:00 2001 From: Jonathan Lorimer <32466011+JonathanLorimer@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:21:18 -0500 Subject: [PATCH 028/280] Update nixos/modules/services/databases/postgresql.nix Co-authored-by: Robert Hensing --- nixos/modules/services/databases/postgresql.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 910c149b8f59..154967840533 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -186,7 +186,7 @@ in ''; default = {}; defaultText = lib.literalMD '' - If not set then the user created will have the default permissions assigned by postgres + The default, `null`, means that the user created will have the default permissions assigned by PostgreSQL. Subsequent server starts will not set or unset the clause, so imperative changes are preserved. ''; type = types.submodule { options = let From 425f61070ad33d4867ce671ea444db2bf678d765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 28 Nov 2022 03:32:49 +0100 Subject: [PATCH 029/280] intel-graphics-compiler: 1.0.11061 -> 1.0.12812.4, adopt --- .../intel-graphics-compiler/default.nix | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix index 0eab971fb977..5a085d3340d8 100644 --- a/pkgs/development/compilers/intel-graphics-compiler/default.nix +++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix @@ -6,7 +6,6 @@ , bison , flex , llvmPackages_11 -, lld_11 , opencl-clang , python3 , spirv-tools @@ -20,38 +19,36 @@ let vc_intrinsics_src = fetchFromGitHub { owner = "intel"; repo = "vc-intrinsics"; - rev = "v0.3.0"; - sha256 = "sha256-1Rm4TCERTOcPGWJF+yNoKeB9x3jfqnh7Vlv+0Xpmjbk="; + rev = "v0.6.0"; + sha256 = "sha256-seVqRtdQ4ciWhsXzneS7pG1aaFtw28SPu9XDkBtr5nc="; }; + llvmPkgs = llvmPackages_11 // { - inherit spirv-llvm-translator; - }; - inherit (llvmPkgs) llvm; - inherit (if buildWithPatches then opencl-clang else llvmPkgs) clang libclang spirv-llvm-translator; - inherit (lib) getVersion optional optionals versionOlder versions; + spirv-llvm-translator = spirv-llvm-translator.override { llvm = llvm; }; + } // lib.optionalAttrs buildWithPatches opencl-clang; + + inherit (llvmPackages_11) lld llvm; + inherit (llvmPkgs) clang libclang spirv-llvm-translator; in stdenv.mkDerivation rec { pname = "intel-graphics-compiler"; - version = "1.0.11061"; + version = "1.0.12260.1"; src = fetchFromGitHub { owner = "intel"; repo = "intel-graphics-compiler"; rev = "igc-${version}"; - sha256 = "sha256-qS/+GTqHtp3T6ggPKrCDsrTb7XvVOUaNbMzGU51jTu4="; + sha256 = "sha256-fNBgJGIpHC+rnKsV1Kq1ubz/4l0+ltUHaUpaWsYTgmg="; }; - nativeBuildInputs = [ clang cmake bison flex python3 ]; + nativeBuildInputs = [ cmake bison flex python3 ]; - buildInputs = [ spirv-headers spirv-tools clang opencl-clang spirv-llvm-translator llvm lld_11 ]; + buildInputs = [ spirv-headers spirv-tools spirv-llvm-translator llvm lld ]; strictDeps = true; - # checkInputs = [ lit pythonPackages.nose ]; - - # FIXME: How do we run the test suite? - # https://github.com/intel/intel-graphics-compiler/issues/98 + # testing is done via intel-compute-runtime doCheck = false; postPatch = '' @@ -74,10 +71,10 @@ stdenv.mkDerivation rec { prebuilds = runCommandLocal "igc-cclang-prebuilds" { } '' mkdir $out ln -s ${clang}/bin/clang $out/ - ln -s clang $out/clang-${versions.major (getVersion clang)} + ln -s clang $out/clang-${lib.versions.major (lib.getVersion clang)} ln -s ${opencl-clang}/lib/* $out/ - ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c.h $out/ - ln -s ${lib.getLib libclang}/lib/clang/${getVersion clang}/include/opencl-c-base.h $out/ + ln -s ${lib.getLib libclang}/lib/clang/${lib.getVersion clang}/include/opencl-c.h $out/ + ln -s ${lib.getLib libclang}/lib/clang/${lib.getVersion clang}/include/opencl-c-base.h $out/ ''; cmakeFlags = [ @@ -86,15 +83,14 @@ stdenv.mkDerivation rec { "-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds" "-DCCLANG_BUILD_PREBUILDS=ON" "-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}" - "-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}" + "-DIGC_PREFERRED_LLVM_VERSION=${lib.getVersion llvm}" ]; meta = with lib; { homepage = "https://github.com/intel/intel-graphics-compiler"; description = "LLVM-based compiler for OpenCL targeting Intel Gen graphics hardware"; license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ gloaming ]; - broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/intel-graphics-compiler.x86_64-darwin + platforms = platforms.linux; + maintainers = with maintainers; [ SuperSandro2000 ]; }; } From 2669b04d02b04dfb2e6fa18277b45b14cea23500 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 28 Nov 2022 05:21:17 +0100 Subject: [PATCH 030/280] spirv-llvm-translator: update llvm 11 variant to recommend version from intel-graphic-compiler version 1.0.12260.1, reduce platform to unix --- .../compilers/spirv-llvm-translator/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix index 2100c7d9070a..9a075ad5a510 100644 --- a/pkgs/development/compilers/spirv-llvm-translator/default.nix +++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -22,11 +22,11 @@ let hash = "sha256-BhNAApgZ/w/92XjpoDY6ZEIhSTwgJ4D3/EfNvPmNM2o="; } else if llvmMajor == "11" then { version = "unstable-2022-05-04"; - rev = "99420daab98998a7e36858befac9c5ed109d4920"; # 265 commits ahead of v11.0.0 - hash = "sha256-/vUyL6Wh8hykoGz1QmT1F7lfGDEmG4U3iqmqrJxizOg="; + rev = "a31ffaeef77e23d500b3ea3d35e0c42ff5648ad9"; # 266 commits ahead of v11.0.0 + hash = "sha256-rkYMFVfS3xG8ozs7zhiSBjIxvxEetetctE+fLS3hXoU="; } else throw "Incompatible LLVM version."; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "SPIRV-LLVM-Translator"; inherit (branch) version; @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator"; description = "A tool and a library for bi-directional translation between SPIR-V and LLVM IR"; license = licenses.ncsa; - platforms = platforms.all; + platforms = platforms.unix; maintainers = with maintainers; [ gloaming ]; }; } From 25896f50fd028fc1b88c4ffe0d22191e3077e462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 28 Nov 2022 05:22:45 +0100 Subject: [PATCH 031/280] opencl-clang: simplify, cleanup, adopt --- .../libraries/opencl-clang/default.nix | 44 ++++++++----------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/pkgs/development/libraries/opencl-clang/default.nix b/pkgs/development/libraries/opencl-clang/default.nix index f4897331c938..58307198f727 100644 --- a/pkgs/development/libraries/opencl-clang/default.nix +++ b/pkgs/development/libraries/opencl-clang/default.nix @@ -4,10 +4,8 @@ , fetchpatch , cmake , git - , llvmPackages_11 , spirv-llvm-translator - , buildWithPatches ? true }: @@ -16,32 +14,25 @@ let inherit spirv-llvm-translator; }; - inherit (lib) getVersion; - - addPatches = component: pkg: - with builtins; with lib; - let path = "${passthru.patchesOut}/${component}"; - in pkg.overrideAttrs (super: { - postPatch = (if super ? postPatch then super.postPatch + "\n" else "") + '' - for p in ${path}/* - do - patch -p1 -i "$p" - done - ''; - }); + addPatches = component: pkg: pkg.overrideAttrs (oldAttrs: { + postPatch = oldAttrs.postPatch or "" + '' + for p in ${passthru.patchesOut}/${component}/*; do + patch -p1 -i "$p" + done + ''; + }); passthru = rec { - spirv-llvm-translator = llvmPkgs.spirv-llvm-translator; + spirv-llvm-translator = llvmPkgs.spirv-llvm-translator.override { llvm = llvmPackages_11.llvm; }; llvm = addPatches "llvm" llvmPkgs.llvm; libclang = addPatches "clang" llvmPkgs.libclang; clang-unwrapped = libclang.out; - clang = llvmPkgs.clang.override { cc = clang-unwrapped; }; - patchesOut = stdenv.mkDerivation rec { + patchesOut = stdenv.mkDerivation { pname = "opencl-clang-patches"; inherit (library) version src patches; # Clang patches assume the root is the llvm root dir @@ -62,14 +53,13 @@ let }; library = let - inherit (llvmPkgs) llvm; + inherit (llvmPackages_11) llvm; inherit (if buildWithPatches then passthru else llvmPkgs) libclang spirv-llvm-translator; in - stdenv.mkDerivation rec { + stdenv.mkDerivation { pname = "opencl-clang"; version = "unstable-2022-03-16"; - inherit passthru; src = fetchFromGitHub { owner = "intel"; @@ -79,8 +69,8 @@ let }; patches = [ - # Build script tries to find Clang OpenCL headers under ${llvm} - # Work around it by specifying that directory manually. + # Build script tries to find Clang OpenCL headers under ${llvm} + # Work around it by specifying that directory manually. ./opencl-headers-dir.patch ]; @@ -96,19 +86,21 @@ let buildInputs = [ libclang llvm spirv-llvm-translator ]; cmakeFlags = [ - "-DPREFERRED_LLVM_VERSION=${getVersion llvm}" - "-DOPENCL_HEADERS_DIR=${libclang.lib}/lib/clang/${getVersion libclang}/include/" + "-DPREFERRED_LLVM_VERSION=${lib.getVersion llvm}" + "-DOPENCL_HEADERS_DIR=${libclang.lib}/lib/clang/${lib.getVersion libclang}/include/" "-DLLVMSPIRV_INCLUDED_IN_LLVM=OFF" "-DSPIRV_TRANSLATOR_DIR=${spirv-llvm-translator}" ]; + inherit passthru; + meta = with lib; { homepage = "https://github.com/intel/opencl-clang/"; description = "A clang wrapper library with an OpenCL-oriented API and the ability to compile OpenCL C kernels to SPIR-V modules"; license = licenses.ncsa; platforms = platforms.all; - maintainers = with maintainers; [ gloaming ]; + maintainers = with maintainers; [ SuperSandro2000 ]; }; }; in From 7bf27e562a7847831d45e2f1045b6d9cc44cd998 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 02:24:37 +0100 Subject: [PATCH 032/280] python3Packages.rig: drop Broken, unsupported, unmaintained. Constrained to EOL python versions. --- .../python-modules/rig/default.nix | 29 ------------------- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 -- 3 files changed, 1 insertion(+), 31 deletions(-) delete mode 100644 pkgs/development/python-modules/rig/default.nix diff --git a/pkgs/development/python-modules/rig/default.nix b/pkgs/development/python-modules/rig/default.nix deleted file mode 100644 index bc43aac3551a..000000000000 --- a/pkgs/development/python-modules/rig/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi -, isPy35, isPy27 -, numpy, pytz, six, enum-compat, sentinel -}: - -buildPythonPackage rec { - pname = "rig"; - version = "2.4.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "5a3896dbde3f291c5dd34769e7329ef5d5e4da34fee53479bd13dc5e5d540b8a"; - }; - - propagatedBuildInputs = [ numpy pytz six sentinel enum-compat ]; - - # This is the list of officially supported versions. Other versions may work - # as well. - disabled = !(isPy27 || isPy35); - - # Test Phase is only supported in development sources. - doCheck = false; - - meta = with lib; { - description = "A collection of tools for developing SpiNNaker applications"; - homepage = "https://github.com/project-rig/rig"; - license = licenses.gpl2; - }; -} diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 157a0cd4815d..14dcac6cbe27 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -186,6 +186,7 @@ mapAliases ({ repeated_test = repeated-test; # added 2022-11-15 requests_oauthlib = requests-oauthlib; # added 2022-02-12 requests_toolbelt = requests-toolbelt; # added 2017-09-26 + rig = throw "rig has been removed because it was pinned to python 2.7 and 3.5, failed to build and is otherwise unmaintained"; # added 2022-11-28 roboschool = throw "roboschool is deprecated in favor of PyBullet and has been removed"; # added 2022-01-15 ROPGadget = ropgadget; # added 2021-07-06 rotate-backups = throw "rotate-backups was removed in favor of the top-level rotate-backups"; # added 2021-07-01 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index de974a06fedd..45f99ffc0357 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9794,8 +9794,6 @@ self: super: with self; { rich-rst = callPackage ../development/python-modules/rich-rst { }; - rig = callPackage ../development/python-modules/rig { }; - ring-doorbell = callPackage ../development/python-modules/ring-doorbell { }; ripe-atlas-cousteau = callPackage ../development/python-modules/ripe-atlas-cousteau { }; From df2d130ee0f9f32ac43a36c40535b731d8b4bf03 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 02:26:00 +0100 Subject: [PATCH 033/280] python3Packages.dataclasses: drop Only required on python36, which was dropped a while ago. --- .../science/engineering/strictdoc/default.nix | 4 ---- .../python-modules/apache-airflow/default.nix | 5 +---- .../python-modules/bellows/default.nix | 3 --- .../python-modules/betterproto/default.nix | 5 +---- .../python-modules/bpython/default.nix | 5 +---- .../python-modules/dataclasses/default.nix | 21 ------------------- .../python-modules/eyed3/default.nix | 8 +++---- .../python-modules/gruut/default.nix | 4 ---- .../python-modules/ircrobots/default.nix | 5 +---- .../python-modules/labelbox/default.nix | 4 +--- .../python-modules/pathy/default.nix | 5 +---- .../python-modules/pixcat/default.nix | 3 +-- .../python-modules/poetry/default.nix | 1 - .../python-modules/pudb/default.nix | 5 +---- .../python-modules/reqif/default.nix | 4 ---- .../python-modules/rich/default.nix | 5 +---- .../python-modules/screeninfo/default.nix | 7 +------ .../python-modules/simple-di/default.nix | 3 --- .../spacy-transformers/default.nix | 5 +---- .../python-modules/thinc/default.nix | 2 -- .../python-modules/werkzeug/default.nix | 3 --- .../tools/database/sqlfluff/default.nix | 2 -- pkgs/top-level/python-packages.nix | 2 -- 23 files changed, 15 insertions(+), 96 deletions(-) delete mode 100644 pkgs/development/python-modules/dataclasses/default.nix diff --git a/pkgs/applications/science/engineering/strictdoc/default.nix b/pkgs/applications/science/engineering/strictdoc/default.nix index 3fc61b845156..ce834f7d576b 100644 --- a/pkgs/applications/science/engineering/strictdoc/default.nix +++ b/pkgs/applications/science/engineering/strictdoc/default.nix @@ -3,14 +3,12 @@ , buildPythonApplication , fetchFromGitHub , python3 -, pythonOlder , html5lib , invoke , openpyxl , poetry-core , tidylib , beautifulsoup4 -, dataclasses , datauri , docutils , jinja2 @@ -73,8 +71,6 @@ buildPythonApplication rec { textx xlrd XlsxWriter - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix index d3911f370160..a916ac01144b 100644 --- a/pkgs/development/python-modules/apache-airflow/default.nix +++ b/pkgs/development/python-modules/apache-airflow/default.nix @@ -16,7 +16,6 @@ , cron-descriptor , croniter , cryptography -, dataclasses , deprecated , dill , flask @@ -137,7 +136,7 @@ buildPythonPackage rec { inherit version; src = airflow-src; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; propagatedBuildInputs = [ alembic @@ -203,8 +202,6 @@ buildPythonPackage rec { typing-extensions unicodecsv werkzeug - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ lib.optionals (pythonOlder "3.9") [ importlib-metadata ] ++ providerDependencies; diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix index dde3a12480ca..54f5a1b0f16c 100644 --- a/pkgs/development/python-modules/bellows/default.nix +++ b/pkgs/development/python-modules/bellows/default.nix @@ -3,7 +3,6 @@ , fetchFromGitHub , click , click-log -, dataclasses , pure-pcapy3 , pyserial-asyncio , voluptuous @@ -34,8 +33,6 @@ buildPythonPackage rec { pyserial-asyncio voluptuous zigpy - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/betterproto/default.nix b/pkgs/development/python-modules/betterproto/default.nix index b49204ee8c44..e8b49dd839ae 100644 --- a/pkgs/development/python-modules/betterproto/default.nix +++ b/pkgs/development/python-modules/betterproto/default.nix @@ -5,7 +5,6 @@ , poetry-core , grpclib , python-dateutil -, dataclasses , black , jinja2 , isort @@ -21,7 +20,7 @@ buildPythonPackage rec { pname = "betterproto"; version = "2.0.0b5"; format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "danielgtaylor"; @@ -35,8 +34,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ grpclib python-dateutil - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; passthru.optional-dependencies.compiler = [ diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix index f919d5cabe29..56c30df15eec 100644 --- a/pkgs/development/python-modules/bpython/default.nix +++ b/pkgs/development/python-modules/bpython/default.nix @@ -3,7 +3,6 @@ , fetchPypi , curtsies , cwcwidth -, dataclasses , greenlet , jedi , pygments @@ -23,7 +22,7 @@ buildPythonPackage rec { version = "0.23"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -42,8 +41,6 @@ buildPythonPackage rec { typing-extensions urwid watchdog - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; postInstall = '' diff --git a/pkgs/development/python-modules/dataclasses/default.nix b/pkgs/development/python-modules/dataclasses/default.nix deleted file mode 100644 index c276e9d000b2..000000000000 --- a/pkgs/development/python-modules/dataclasses/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, isPy36 }: - -buildPythonPackage rec { - pname = "dataclasses"; - version = "0.8"; - - # backport only works on Python 3.6, and is in the standard library in Python 3.7 - disabled = !isPy36; - - src = fetchPypi { - inherit pname version; - sha256 = "8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97"; - }; - - meta = with lib; { - description = "An implementation of PEP 557: Data Classes"; - homepage = "https://github.com/ericvsmith/dataclasses"; - license = licenses.asl20; - maintainers = with maintainers; [ catern ]; - }; -} diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix index 7adbba522e9b..2b5cc5afba75 100644 --- a/pkgs/development/python-modules/eyed3/default.nix +++ b/pkgs/development/python-modules/eyed3/default.nix @@ -1,13 +1,11 @@ { lib , buildPythonPackage , fetchPypi -, pythonOlder , python , isPyPy , six , filetype , deprecation -, dataclasses }: buildPythonPackage rec { @@ -25,8 +23,10 @@ buildPythonPackage rec { doCheck = false; propagatedBuildInputs = [ - six filetype deprecation - ] ++ lib.optional (pythonOlder "3.7") dataclasses; + deprecation + filetype + six + ]; postInstall = '' for prog in "$out/bin/"*; do diff --git a/pkgs/development/python-modules/gruut/default.nix b/pkgs/development/python-modules/gruut/default.nix index f36c9daa12d8..f9c042582335 100644 --- a/pkgs/development/python-modules/gruut/default.nix +++ b/pkgs/development/python-modules/gruut/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , callPackage -, pythonOlder , fetchFromGitHub , babel , gruut-ipa @@ -9,7 +8,6 @@ , jsonlines , num2words , python-crfsuite -, dataclasses , python , networkx , glibcLocales @@ -61,8 +59,6 @@ buildPythonPackage rec { python-crfsuite dateparser networkx - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ (map (lang: callPackage ./language-pack.nix { inherit lang version format src; }) langPkgs); diff --git a/pkgs/development/python-modules/ircrobots/default.nix b/pkgs/development/python-modules/ircrobots/default.nix index e16ac2449a7d..8351ff3d86be 100644 --- a/pkgs/development/python-modules/ircrobots/default.nix +++ b/pkgs/development/python-modules/ircrobots/default.nix @@ -5,7 +5,6 @@ , anyio , asyncio-rlock , asyncio-throttle -, dataclasses , ircstates , async_stagger , async-timeout @@ -15,7 +14,7 @@ buildPythonPackage rec { pname = "ircrobots"; version = "0.4.6"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "jesopo"; @@ -38,8 +37,6 @@ buildPythonPackage rec { ircstates async_stagger async-timeout - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkPhase = '' diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix index 9b0b241c5ed1..08a1fa5ca5ea 100644 --- a/pkgs/development/python-modules/labelbox/default.nix +++ b/pkgs/development/python-modules/labelbox/default.nix @@ -2,7 +2,6 @@ , backoff , backports-datetime-fromisoformat , buildPythonPackage -, dataclasses , fetchFromGitHub , google-api-core , jinja2 @@ -20,7 +19,7 @@ buildPythonPackage rec { pname = "labelbox"; version = "3.24.1"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "Labelbox"; @@ -32,7 +31,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ backoff backports-datetime-fromisoformat - dataclasses google-api-core jinja2 ndjson diff --git a/pkgs/development/python-modules/pathy/default.nix b/pkgs/development/python-modules/pathy/default.nix index 30cdd782df2e..d937c0a43128 100644 --- a/pkgs/development/python-modules/pathy/default.nix +++ b/pkgs/development/python-modules/pathy/default.nix @@ -1,6 +1,5 @@ { lib , buildPythonPackage -, dataclasses , fetchPypi , fetchpatch , google-cloud-storage @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "0.6.1"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -27,8 +26,6 @@ buildPythonPackage rec { smart-open typer google-cloud-storage - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/pixcat/default.nix b/pkgs/development/python-modules/pixcat/default.nix index 026685cd6341..90fdae5dcf03 100644 --- a/pkgs/development/python-modules/pixcat/default.nix +++ b/pkgs/development/python-modules/pixcat/default.nix @@ -5,7 +5,6 @@ , docopt , pillow , requests -, dataclasses , pythonOlder }: @@ -13,7 +12,7 @@ buildPythonPackage rec { pname = "pixcat"; version = "0.1.4"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix index 8f62c3e6eb16..2e81f7e55312 100644 --- a/pkgs/development/python-modules/poetry/default.nix +++ b/pkgs/development/python-modules/poetry/default.nix @@ -5,7 +5,6 @@ , cachy , cleo , crashtest -, dataclasses , deepdiff , dulwich , fetchFromGitHub diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix index c135b0b5ccf2..9976d6024917 100644 --- a/pkgs/development/python-modules/pudb/default.nix +++ b/pkgs/development/python-modules/pudb/default.nix @@ -1,6 +1,5 @@ { lib , buildPythonPackage -, dataclasses , fetchPypi , jedi , pygments @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "2022.1.2"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; @@ -28,8 +27,6 @@ buildPythonPackage rec { pygments urwid urwid-readline - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/reqif/default.nix b/pkgs/development/python-modules/reqif/default.nix index ace3052e5a9c..1e5ecc718d9d 100644 --- a/pkgs/development/python-modules/reqif/default.nix +++ b/pkgs/development/python-modules/reqif/default.nix @@ -1,13 +1,11 @@ { lib , buildPythonPackage , python -, pythonOlder , fetchFromGitHub , poetry-core , beautifulsoup4 , lxml , jinja2 -, dataclasses , pytestCheckHook }: @@ -39,8 +37,6 @@ buildPythonPackage rec { beautifulsoup4 lxml jinja2 - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix index 4f87364cfe20..5d9c1f45c3b3 100644 --- a/pkgs/development/python-modules/rich/default.nix +++ b/pkgs/development/python-modules/rich/default.nix @@ -3,7 +3,6 @@ , fetchFromGitHub , pythonOlder , CommonMark -, dataclasses , poetry-core , pygments , typing-extensions @@ -20,7 +19,7 @@ buildPythonPackage rec { pname = "rich"; version = "12.6.0"; format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "Textualize"; @@ -34,8 +33,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ CommonMark pygments - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ lib.optionals (pythonOlder "3.9") [ typing-extensions ]; diff --git a/pkgs/development/python-modules/screeninfo/default.nix b/pkgs/development/python-modules/screeninfo/default.nix index 574d3159494a..6789c6b76c45 100644 --- a/pkgs/development/python-modules/screeninfo/default.nix +++ b/pkgs/development/python-modules/screeninfo/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , buildPythonPackage -, dataclasses , fetchFromGitHub , libX11 , libXinerama @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "0.8.1"; format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "rr-"; @@ -29,10 +28,6 @@ buildPythonPackage rec { poetry-core ]; - propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [ - dataclasses - ]; - postPatch = '' substituteInPlace screeninfo/enumerators/xinerama.py \ --replace 'load_library("X11")' 'ctypes.cdll.LoadLibrary("${libX11}/lib/libX11.so")' \ diff --git a/pkgs/development/python-modules/simple-di/default.nix b/pkgs/development/python-modules/simple-di/default.nix index 150eb52f8d4e..79437c4a0b34 100644 --- a/pkgs/development/python-modules/simple-di/default.nix +++ b/pkgs/development/python-modules/simple-di/default.nix @@ -4,7 +4,6 @@ , fetchPypi , setuptools , typing-extensions -, dataclasses }: buildPythonPackage rec { @@ -23,8 +22,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ setuptools typing-extensions - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix index 914e2cb5153e..14969a61b102 100644 --- a/pkgs/development/python-modules/spacy-transformers/default.nix +++ b/pkgs/development/python-modules/spacy-transformers/default.nix @@ -2,7 +2,6 @@ , callPackage , fetchPypi , buildPythonPackage -, dataclasses , torch , pythonOlder , spacy @@ -16,7 +15,7 @@ buildPythonPackage rec { version = "1.1.8"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -29,8 +28,6 @@ buildPythonPackage rec { spacy-alignments srsly transformers - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; postPatch = '' diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index 334411fe26c9..2ef4fe86c2fe 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -11,7 +11,6 @@ , CoreVideo , cymem , cython -, dataclasses , fetchPypi , hypothesis , mock @@ -67,7 +66,6 @@ buildPythonPackage rec { typing-extensions ] ++ lib.optionals (pythonOlder "3.7") [ contextvars - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix index 8d3e0769786b..5562fd13b979 100644 --- a/pkgs/development/python-modules/werkzeug/default.nix +++ b/pkgs/development/python-modules/werkzeug/default.nix @@ -4,7 +4,6 @@ , pythonOlder , fetchPypi , watchdog -, dataclasses , ephemeral-port-reserve , pytest-timeout , pytest-xprocess @@ -32,8 +31,6 @@ buildPythonPackage rec { ] ++ lib.optionals (!stdenv.isDarwin) [ # watchdog requires macos-sdk 10.13+ watchdog - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ]; checkInputs = [ diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix index 340c471c2727..7015050e2d6f 100644 --- a/pkgs/development/tools/database/sqlfluff/default.nix +++ b/pkgs/development/tools/database/sqlfluff/default.nix @@ -31,8 +31,6 @@ python3.pkgs.buildPythonApplication rec { toml tqdm typing-extensions - ] ++ lib.optionals (pythonOlder "3.7") [ - dataclasses ] ++ lib.optionals (pythonOlder "3.8") [ backports.cached-property importlib_metadata diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 45f99ffc0357..58ed1ce99999 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2173,8 +2173,6 @@ self: super: with self; { databricks-sql-connector = callPackage ../development/python-modules/databricks-sql-connector { }; - dataclasses = callPackage ../development/python-modules/dataclasses { }; - dataclasses-json = callPackage ../development/python-modules/dataclasses-json { }; dataclasses-serialization = callPackage ../development/python-modules/dataclasses-serialization { }; From 380af694c2803f7bbdb695651646f2fb15371560 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 29 Nov 2022 01:07:17 +0100 Subject: [PATCH 034/280] python3Packages.contextvars: drop Only required on python36, which was dropped a while ago. --- .../python-modules/aiocontextvars/default.nix | 3 --- .../python-modules/contextvars/default.nix | 21 ------------------- .../python-modules/sniffio/default.nix | 4 +--- .../python-modules/thinc/default.nix | 5 +---- .../python-modules/trio/default.nix | 5 ++--- .../python-modules/twisted/default.nix | 2 -- pkgs/top-level/python-packages.nix | 2 -- 7 files changed, 4 insertions(+), 38 deletions(-) delete mode 100644 pkgs/development/python-modules/contextvars/default.nix diff --git a/pkgs/development/python-modules/aiocontextvars/default.nix b/pkgs/development/python-modules/aiocontextvars/default.nix index dc70baab9e5c..0ae4349afb4f 100644 --- a/pkgs/development/python-modules/aiocontextvars/default.nix +++ b/pkgs/development/python-modules/aiocontextvars/default.nix @@ -4,10 +4,8 @@ , pytest-runner , pytest , pytest-asyncio -, contextvars , sqlalchemy , isPy27 -, pythonOlder }: buildPythonPackage rec { @@ -33,7 +31,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ sqlalchemy - ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ]; checkPhase = '' pytest diff --git a/pkgs/development/python-modules/contextvars/default.nix b/pkgs/development/python-modules/contextvars/default.nix deleted file mode 100644 index 1eda85a6ffe2..000000000000 --- a/pkgs/development/python-modules/contextvars/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, isPy36, immutables }: - -buildPythonPackage rec { - pname = "contextvars"; - version = "2.4"; - disabled = !isPy36; - - src = fetchPypi { - inherit pname version; - sha256 = "f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"; - }; - - propagatedBuildInputs = [ immutables ]; - - meta = { - description = "A backport of the Python 3.7 contextvars module for Python 3.6"; - homepage = "https://github.com/MagicStack/contextvars"; - license = with lib.licenses; [ asl20 ]; - maintainers = with lib.maintainers; [ catern ]; - }; -} diff --git a/pkgs/development/python-modules/sniffio/default.nix b/pkgs/development/python-modules/sniffio/default.nix index 86e37168c899..bc2cd66b0a33 100644 --- a/pkgs/development/python-modules/sniffio/default.nix +++ b/pkgs/development/python-modules/sniffio/default.nix @@ -1,4 +1,4 @@ -{ buildPythonPackage, lib, fetchPypi, glibcLocales, isPy3k, contextvars +{ buildPythonPackage, lib, fetchPypi, glibcLocales, isPy3k , pythonOlder, pytest, curio }: @@ -15,8 +15,6 @@ buildPythonPackage rec { buildInputs = [ glibcLocales ]; - propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [ contextvars ]; - checkInputs = [ pytest curio ]; checkPhase = '' diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix index 2ef4fe86c2fe..1a43bcbbc4ed 100644 --- a/pkgs/development/python-modules/thinc/default.nix +++ b/pkgs/development/python-modules/thinc/default.nix @@ -5,7 +5,6 @@ , buildPythonPackage , catalogue , confection -, contextvars , CoreFoundation , CoreGraphics , CoreVideo @@ -33,7 +32,7 @@ buildPythonPackage rec { version = "8.1.1"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -64,8 +63,6 @@ buildPythonPackage rec { wasabi ] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions - ] ++ lib.optionals (pythonOlder "3.7") [ - contextvars ]; checkInputs = [ diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix index dde139103454..7bbfb6f2ca9c 100644 --- a/pkgs/development/python-modules/trio/default.nix +++ b/pkgs/development/python-modules/trio/default.nix @@ -4,7 +4,6 @@ , async_generator , idna , outcome -, contextvars , pytestCheckHook , pyopenssl , trustme @@ -19,7 +18,7 @@ buildPythonPackage rec { pname = "trio"; version = "0.21.0"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; @@ -33,7 +32,7 @@ buildPythonPackage rec { idna outcome sniffio - ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ]; + ]; # tests are failing on Darwin doCheck = !stdenv.isDarwin; diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix index 9b0f39e050e2..f77dcc001089 100644 --- a/pkgs/development/python-modules/twisted/default.nix +++ b/pkgs/development/python-modules/twisted/default.nix @@ -10,7 +10,6 @@ , automat , bcrypt , constantly -, contextvars , cryptography , git , glibcLocales @@ -139,7 +138,6 @@ buildPythonPackage rec { optional-dependencies = rec { conch = [ appdirs bcrypt cryptography pyasn1 ]; conch_nacl = conch ++ [ pynacl ]; - contextvars = lib.optionals (pythonOlder "3.7") [ contextvars ]; http2 = [ h2 priority ]; serial = [ pyserial ]; tls = [ idna pyopenssl service-identity ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 58ed1ce99999..1d4279cc6646 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1956,8 +1956,6 @@ self: super: with self; { contextlib2 = callPackage ../development/python-modules/contextlib2 { }; - contextvars = callPackage ../development/python-modules/contextvars { }; - contexttimer = callPackage ../development/python-modules/contexttimer { }; convertdate = callPackage ../development/python-modules/convertdate { }; From 8d9ba3f121793977416e06a90ee95f86cb760e98 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 02:38:10 +0100 Subject: [PATCH 035/280] python3Packages.mailman-fix: drop isPy36 reference Python 3.6 was dropped a while ago. --- pkgs/development/python-modules/mailcap-fix/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mailcap-fix/default.nix b/pkgs/development/python-modules/mailcap-fix/default.nix index da735d9d048d..3d644bec3a93 100644 --- a/pkgs/development/python-modules/mailcap-fix/default.nix +++ b/pkgs/development/python-modules/mailcap-fix/default.nix @@ -1,13 +1,12 @@ { lib , buildPythonPackage , fetchPypi -, isPy36 }: buildPythonPackage rec { pname = "mailcap-fix"; version = "1.0.1"; - disabled = isPy36; # this fix is merged into python 3.6 + format = "setuptools"; src = fetchPypi { inherit pname version; From 5143e438e27194d929859d4e248f4dd227f3cd38 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 02:39:03 +0100 Subject: [PATCH 036/280] python3Packages.clickclick: drop isPy36 reference Python 3.6 was dropped a while ago. --- pkgs/development/python-modules/clickclick/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/clickclick/default.nix b/pkgs/development/python-modules/clickclick/default.nix index 8aeb73bb25b2..00bf8aba4709 100644 --- a/pkgs/development/python-modules/clickclick/default.nix +++ b/pkgs/development/python-modules/clickclick/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchFromGitHub, isPy36, flake8, click, pyyaml, six, pytestCheckHook, pytest-cov }: +{ lib, buildPythonPackage, fetchFromGitHub, flake8, click, pyyaml, six, pytestCheckHook, pytest-cov }: buildPythonPackage rec { pname = "clickclick"; @@ -17,8 +17,6 @@ buildPythonPackage rec { # test_cli asserts on exact quoting style of output disabledTests = [ "test_cli" - ] ++ lib.optionals isPy36 [ - "test_choice_default" ]; meta = with lib; { From b5a4d7760ddcf0ea8cf25c0c4fbd067763c15377 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 02:13:21 +0100 Subject: [PATCH 037/280] cpython: drop leftover 3.5/3.6 logic and patches --- .../3.5/force_bytecode_determinism.patch | 17 -- .../python/cpython/3.5/ld_library_path.patch | 51 ---- .../python/cpython/3.5/no-ldconfig.patch | 164 ------------ .../python/cpython/3.5/profile-task.patch | 21 -- .../3.5/python-3.x-distutils-C++.patch | 237 ------------------ .../3.5/use-correct-tcl-tk-on-darwin.patch | 48 ---- .../python/cpython/3.6/find_library.patch | 105 -------- ...finding-headers-when-cross-compiling.patch | 54 ---- .../python/cpython/3.6/no-ldconfig.patch | 163 ------------ .../3.6/use-correct-tcl-tk-on-darwin.patch | 48 ---- .../cpython/{3.6 => 3.7}/profile-task.patch | 0 .../interpreters/python/cpython/default.nix | 31 +-- .../interpreters/python/default.nix | 2 - .../python/python-packages-base.nix | 4 +- 14 files changed, 7 insertions(+), 938 deletions(-) delete mode 100644 pkgs/development/interpreters/python/cpython/3.5/force_bytecode_determinism.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.5/profile-task.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.5/python-3.x-distutils-C++.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.6/find_library.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.6/fix-finding-headers-when-cross-compiling.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch delete mode 100644 pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch rename pkgs/development/interpreters/python/cpython/{3.6 => 3.7}/profile-task.patch (100%) diff --git a/pkgs/development/interpreters/python/cpython/3.5/force_bytecode_determinism.patch b/pkgs/development/interpreters/python/cpython/3.5/force_bytecode_determinism.patch deleted file mode 100644 index c263cdbff4db..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/force_bytecode_determinism.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/Lib/py_compile.py -+++ b/Lib/py_compile.py -@@ -139,3 +139,4 @@ - source_stats = loader.path_stats(file) -+ source_mtime = 1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'] - bytecode = importlib._bootstrap_external._code_to_bytecode( -- code, source_stats['mtime'], source_stats['size']) -+ code, source_mtime, source_stats['size']) ---- a/Lib/importlib/_bootstrap_external.py -+++ b/Lib/importlib/_bootstrap_external.py -@@ -485,5 +485,5 @@ - if source_stats is not None: - try: -- source_mtime = int(source_stats['mtime']) -+ source_mtime = 1 - except KeyError: - pass diff --git a/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch b/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch deleted file mode 100644 index 013c2d266eff..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 918201682127ed8a270a4bd1a448b490019e4ada Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk -Date: Thu, 14 Sep 2017 10:00:31 +0200 -Subject: [PATCH] ctypes.util: support LD_LIBRARY_PATH - -Backports support for LD_LIBRARY_PATH from 3.6 ---- - Lib/ctypes/util.py | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index e9957d7951..9926f6c881 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -219,8 +219,32 @@ elif os.name == "posix": - def _findSoname_ldconfig(name): - return None - -+ def _findLib_ld(name): -+ # See issue #9998 for why this is needed -+ expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name) -+ cmd = ['ld', '-t'] -+ libpath = os.environ.get('LD_LIBRARY_PATH') -+ if libpath: -+ for d in libpath.split(':'): -+ cmd.extend(['-L', d]) -+ cmd.extend(['-o', os.devnull, '-l%s' % name]) -+ result = None -+ try: -+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, -+ stderr=subprocess.PIPE, -+ universal_newlines=True) -+ out, _ = p.communicate() -+ res = re.search(expr, os.fsdecode(out)) -+ if res: -+ result = res.group(0) -+ except Exception as e: -+ pass # result will be None -+ return result -+ - def find_library(name): -- return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) -+ # See issue #9998 -+ return _findSoname_ldconfig(name) or \ -+ _get_soname(_findLib_gcc(name) or _findLib_ld(name)) - - ################################################################ - # test code --- -2.14.1 - diff --git a/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch deleted file mode 100644 index 9718b1d8dceb..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/no-ldconfig.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 590c46bb04f79ab611b2f8fd682dd7e43a01f268 Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk -Date: Mon, 28 Aug 2017 09:24:06 +0200 -Subject: [PATCH] Don't use ldconfig and speed up uuid load - ---- - Lib/ctypes/util.py | 70 ++---------------------------------------------------- - Lib/uuid.py | 49 -------------------------------------- - 2 files changed, 2 insertions(+), 117 deletions(-) - -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 7684eab81d..e9957d7951 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -95,46 +95,7 @@ elif os.name == "posix": - import re, tempfile - - def _findLib_gcc(name): -- # Run GCC's linker with the -t (aka --trace) option and examine the -- # library name it prints out. The GCC command will fail because we -- # haven't supplied a proper program with main(), but that does not -- # matter. -- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) -- -- c_compiler = shutil.which('gcc') -- if not c_compiler: -- c_compiler = shutil.which('cc') -- if not c_compiler: -- # No C compiler available, give up -- return None -- -- temp = tempfile.NamedTemporaryFile() -- try: -- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] -- -- env = dict(os.environ) -- env['LC_ALL'] = 'C' -- env['LANG'] = 'C' -- try: -- proc = subprocess.Popen(args, -- stdout=subprocess.PIPE, -- stderr=subprocess.STDOUT, -- env=env) -- except OSError: # E.g. bad executable -- return None -- with proc: -- trace = proc.stdout.read() -- finally: -- try: -- temp.close() -- except FileNotFoundError: -- # Raised if the file was already removed, which is the normal -- # behaviour of GCC if linking fails -- pass -- res = re.search(expr, trace) -- if not res: -- return None -- return os.fsdecode(res.group(0)) -+ return None - - - if sys.platform == "sunos5": -@@ -256,34 +217,7 @@ elif os.name == "posix": - else: - - def _findSoname_ldconfig(name): -- import struct -- if struct.calcsize('l') == 4: -- machine = os.uname().machine + '-32' -- else: -- machine = os.uname().machine + '-64' -- mach_map = { -- 'x86_64-64': 'libc6,x86-64', -- 'ppc64-64': 'libc6,64bit', -- 'sparc64-64': 'libc6,64bit', -- 's390x-64': 'libc6,64bit', -- 'ia64-64': 'libc6,IA-64', -- } -- abi_type = mach_map.get(machine, 'libc6') -- -- # XXX assuming GLIBC's ldconfig (with option -p) -- regex = os.fsencode( -- '\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type)) -- try: -- with subprocess.Popen(['/sbin/ldconfig', '-p'], -- stdin=subprocess.DEVNULL, -- stderr=subprocess.DEVNULL, -- stdout=subprocess.PIPE, -- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: -- res = re.search(regex, p.stdout.read()) -- if res: -- return os.fsdecode(res.group(1)) -- except OSError: -- pass -+ return None - - def find_library(name): - return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) -diff --git a/Lib/uuid.py b/Lib/uuid.py -index e96e7e034c..31160ace95 100644 ---- a/Lib/uuid.py -+++ b/Lib/uuid.py -@@ -455,58 +455,9 @@ def _netbios_getnode(): - continue - return int.from_bytes(bytes, 'big') - --# Thanks to Thomas Heller for ctypes and for his help with its use here. - --# If ctypes is available, use it to find system routines for UUID generation. --# XXX This makes the module non-thread-safe! - _uuid_generate_time = _UuidCreate = None --try: -- import ctypes, ctypes.util -- import sys - -- # The uuid_generate_* routines are provided by libuuid on at least -- # Linux and FreeBSD, and provided by libc on Mac OS X. -- _libnames = ['uuid'] -- if not sys.platform.startswith('win'): -- _libnames.append('c') -- for libname in _libnames: -- try: -- lib = ctypes.CDLL(ctypes.util.find_library(libname)) -- except Exception: -- continue -- if hasattr(lib, 'uuid_generate_time'): -- _uuid_generate_time = lib.uuid_generate_time -- break -- del _libnames -- -- # The uuid_generate_* functions are broken on MacOS X 10.5, as noted -- # in issue #8621 the function generates the same sequence of values -- # in the parent process and all children created using fork (unless -- # those children use exec as well). -- # -- # Assume that the uuid_generate functions are broken from 10.5 onward, -- # the test can be adjusted when a later version is fixed. -- if sys.platform == 'darwin': -- import os -- if int(os.uname().release.split('.')[0]) >= 9: -- _uuid_generate_time = None -- -- # On Windows prior to 2000, UuidCreate gives a UUID containing the -- # hardware address. On Windows 2000 and later, UuidCreate makes a -- # random UUID and UuidCreateSequential gives a UUID containing the -- # hardware address. These routines are provided by the RPC runtime. -- # NOTE: at least on Tim's WinXP Pro SP2 desktop box, while the last -- # 6 bytes returned by UuidCreateSequential are fixed, they don't appear -- # to bear any relationship to the MAC address of any network device -- # on the box. -- try: -- lib = ctypes.windll.rpcrt4 -- except: -- lib = None -- _UuidCreate = getattr(lib, 'UuidCreateSequential', -- getattr(lib, 'UuidCreate', None)) --except: -- pass - - def _unixdll_getnode(): - """Get the hardware address on Unix using ctypes.""" --- -2.14.1 - diff --git a/pkgs/development/interpreters/python/cpython/3.5/profile-task.patch b/pkgs/development/interpreters/python/cpython/3.5/profile-task.patch deleted file mode 100644 index 39d5587379ca..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/profile-task.patch +++ /dev/null @@ -1,21 +0,0 @@ -Backport from CPython 3.8 of a good list of tests to run for PGO. - -Upstream commit: - https://github.com/python/cpython/commit/4e16a4a31 - -Upstream discussion: - https://bugs.python.org/issue36044 - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 00fdd21ce..713dc1e53 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -259,7 +259,7 @@ TCLTK_LIBS= - # The task to run while instrumented when building the profile-opt target. - # We exclude unittests with -x that take a rediculious amount of time to - # run in the instrumented training build or do not provide much value. --PROFILE_TASK=-m test.regrtest --pgo -x test_asyncore test_gdb test_multiprocessing_fork test_multiprocessing_forkserver test_multiprocessing_main_handling test_multiprocessing_spawn test_subprocess -+PROFILE_TASK=-m test.regrtest --pgo test_array test_base64 test_binascii test_binop test_bisect test_bytes test_bz2 test_cmath test_codecs test_collections test_complex test_dataclasses test_datetime test_decimal test_difflib test_embed test_float test_fstring test_functools test_generators test_hashlib test_heapq test_int test_itertools test_json test_long test_lzma test_math test_memoryview test_operator test_ordered_dict test_pickle test_pprint test_re test_set test_sqlite test_statistics test_struct test_tabnanny test_time test_unicode test_xml_etree test_xml_etree_c - - # report files for gcov / lcov coverage report - COVERAGE_INFO= $(abs_builddir)/coverage.info diff --git a/pkgs/development/interpreters/python/cpython/3.5/python-3.x-distutils-C++.patch b/pkgs/development/interpreters/python/cpython/3.5/python-3.x-distutils-C++.patch deleted file mode 100644 index 01356020b394..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/python-3.x-distutils-C++.patch +++ /dev/null @@ -1,237 +0,0 @@ -Source: https://bugs.python.org/file47046/python-3.x-distutils-C++.patch ---- a/Lib/distutils/cygwinccompiler.py -+++ b/Lib/distutils/cygwinccompiler.py -@@ -125,8 +125,10 @@ - # dllwrap 2.10.90 is buggy - if self.ld_version >= "2.10.90": - self.linker_dll = "gcc" -+ self.linker_dll_cxx = "g++" - else: - self.linker_dll = "dllwrap" -+ self.linker_dll_cxx = "dllwrap" - - # ld_version >= "2.13" support -shared so use it instead of - # -mdll -static -@@ -140,9 +142,13 @@ - self.set_executables(compiler='gcc -mcygwin -O -Wall', - compiler_so='gcc -mcygwin -mdll -O -Wall', - compiler_cxx='g++ -mcygwin -O -Wall', -+ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall', - linker_exe='gcc -mcygwin', - linker_so=('%s -mcygwin %s' % -- (self.linker_dll, shared_option))) -+ (self.linker_dll, shared_option)), -+ linker_exe_cxx='g++ -mcygwin', -+ linker_so_cxx=('%s -mcygwin %s' % -+ (self.linker_dll_cxx, shared_option))) - - # cygwin and mingw32 need different sets of libraries - if self.gcc_version == "2.91.57": -@@ -166,8 +172,12 @@ - raise CompileError(msg) - else: # for other files use the C-compiler - try: -- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] + -- extra_postargs) -+ if self.detect_language(src) == 'c++': -+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] + -+ extra_postargs) -+ else: -+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] + -+ extra_postargs) - except DistutilsExecError as msg: - raise CompileError(msg) - -@@ -302,9 +312,14 @@ - self.set_executables(compiler='gcc -O -Wall', - compiler_so='gcc -mdll -O -Wall', - compiler_cxx='g++ -O -Wall', -+ compiler_so_cxx='g++ -mdll -O -Wall', - linker_exe='gcc', - linker_so='%s %s %s' - % (self.linker_dll, shared_option, -+ entry_point), -+ linker_exe_cxx='g++', -+ linker_so_cxx='%s %s %s' -+ % (self.linker_dll_cxx, shared_option, - entry_point)) - # Maybe we should also append -mthreads, but then the finished - # dlls need another dll (mingwm10.dll see Mingw32 docs) ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -184,9 +184,11 @@ - _osx_support.customize_compiler(_config_vars) - _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True' - -- (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \ -- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS', -- 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS') -+ (cc, cxx, cflags, ccshared, ldshared, ldcxxshared, shlib_suffix, ar, ar_flags) = \ -+ get_config_vars('CC', 'CXX', 'CFLAGS', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED', -+ 'SHLIB_SUFFIX', 'AR', 'ARFLAGS') -+ -+ cxxflags = cflags - - if 'CC' in os.environ: - newcc = os.environ['CC'] -@@ -201,19 +204,27 @@ - cxx = os.environ['CXX'] - if 'LDSHARED' in os.environ: - ldshared = os.environ['LDSHARED'] -+ if 'LDCXXSHARED' in os.environ: -+ ldcxxshared = os.environ['LDCXXSHARED'] - if 'CPP' in os.environ: - cpp = os.environ['CPP'] - else: - cpp = cc + " -E" # not always - if 'LDFLAGS' in os.environ: - ldshared = ldshared + ' ' + os.environ['LDFLAGS'] -+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS'] - if 'CFLAGS' in os.environ: -- cflags = opt + ' ' + os.environ['CFLAGS'] -+ cflags = os.environ['CFLAGS'] - ldshared = ldshared + ' ' + os.environ['CFLAGS'] -+ if 'CXXFLAGS' in os.environ: -+ cxxflags = os.environ['CXXFLAGS'] -+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS'] - if 'CPPFLAGS' in os.environ: - cpp = cpp + ' ' + os.environ['CPPFLAGS'] - cflags = cflags + ' ' + os.environ['CPPFLAGS'] -+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS'] - ldshared = ldshared + ' ' + os.environ['CPPFLAGS'] -+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS'] - if 'AR' in os.environ: - ar = os.environ['AR'] - if 'ARFLAGS' in os.environ: -@@ -222,13 +233,17 @@ - archiver = ar + ' ' + ar_flags - - cc_cmd = cc + ' ' + cflags -+ cxx_cmd = cxx + ' ' + cxxflags - compiler.set_executables( - preprocessor=cpp, - compiler=cc_cmd, - compiler_so=cc_cmd + ' ' + ccshared, -- compiler_cxx=cxx, -+ compiler_cxx=cxx_cmd, -+ compiler_so_cxx=cxx_cmd + ' ' + ccshared, - linker_so=ldshared, - linker_exe=cc, -+ linker_so_cxx=ldcxxshared, -+ linker_exe_cxx=cxx, - archiver=archiver) - - compiler.shared_lib_extension = shlib_suffix ---- a/Lib/distutils/unixccompiler.py -+++ b/Lib/distutils/unixccompiler.py -@@ -52,14 +52,17 @@ - # are pretty generic; they will probably have to be set by an outsider - # (eg. using information discovered by the sysconfig about building - # Python extensions). -- executables = {'preprocessor' : None, -- 'compiler' : ["cc"], -- 'compiler_so' : ["cc"], -- 'compiler_cxx' : ["cc"], -- 'linker_so' : ["cc", "-shared"], -- 'linker_exe' : ["cc"], -- 'archiver' : ["ar", "-cr"], -- 'ranlib' : None, -+ executables = {'preprocessor' : None, -+ 'compiler' : ["cc"], -+ 'compiler_so' : ["cc"], -+ 'compiler_cxx' : ["c++"], -+ 'compiler_so_cxx' : ["c++"], -+ 'linker_so' : ["cc", "-shared"], -+ 'linker_exe' : ["cc"], -+ 'linker_so_cxx' : ["c++", "-shared"], -+ 'linker_exe_cxx' : ["c++"], -+ 'archiver' : ["ar", "-cr"], -+ 'ranlib' : None, - } - - if sys.platform[:6] == "darwin": -@@ -108,12 +111,19 @@ - - def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): - compiler_so = self.compiler_so -+ compiler_so_cxx = self.compiler_so_cxx - if sys.platform == 'darwin': - compiler_so = _osx_support.compiler_fixup(compiler_so, - cc_args + extra_postargs) -+ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx, -+ cc_args + extra_postargs) - try: -- self.spawn(compiler_so + cc_args + [src, '-o', obj] + -- extra_postargs) -+ if self.detect_language(src) == 'c++': -+ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] + -+ extra_postargs) -+ else: -+ self.spawn(compiler_so + cc_args + [src, '-o', obj] + -+ extra_postargs) - except DistutilsExecError as msg: - raise CompileError(msg) - -@@ -171,22 +181,16 @@ - ld_args.extend(extra_postargs) - self.mkpath(os.path.dirname(output_filename)) - try: -- if target_desc == CCompiler.EXECUTABLE: -- linker = self.linker_exe[:] -+ if target_lang == "c++": -+ if target_desc == CCompiler.EXECUTABLE: -+ linker = self.linker_exe_cxx[:] -+ else: -+ linker = self.linker_so_cxx[:] - else: -- linker = self.linker_so[:] -- if target_lang == "c++" and self.compiler_cxx: -- # skip over environment variable settings if /usr/bin/env -- # is used to set up the linker's environment. -- # This is needed on OSX. Note: this assumes that the -- # normal and C++ compiler have the same environment -- # settings. -- i = 0 -- if os.path.basename(linker[0]) == "env": -- i = 1 -- while '=' in linker[i]: -- i += 1 -- linker[i] = self.compiler_cxx[i] -+ if target_desc == CCompiler.EXECUTABLE: -+ linker = self.linker_exe[:] -+ else: -+ linker = self.linker_so[:] - - if sys.platform == 'darwin': - linker = _osx_support.compiler_fixup(linker, ld_args) ---- a/Lib/_osx_support.py -+++ b/Lib/_osx_support.py -@@ -14,13 +14,13 @@ - # configuration variables that may contain universal build flags, - # like "-arch" or "-isdkroot", that may need customization for - # the user environment --_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS', -- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX', -- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS', -- 'PY_CORE_CFLAGS') -+_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS', -+ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED', -+ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS', -+ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS') - - # configuration variables that may contain compiler calls --_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX') -+_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX') - - # prefix added to original configuration variable names - _INITPRE = '_OSX_SUPPORT_INITIAL_' ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -538,7 +538,7 @@ - *\ -s*|s*) quiet="-q";; \ - *) quiet="";; \ - esac; \ -- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ -+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CFLAGS='$(PY_CFLAGS)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build diff --git a/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch deleted file mode 100644 index b73f62b97ec5..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.5/use-correct-tcl-tk-on-darwin.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/setup.py b/setup.py -index 2779658..902d0eb 100644 ---- a/setup.py -+++ b/setup.py -@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext): - # Rather than complicate the code below, detecting and building - # AquaTk is a separate method. Only one Tkinter will be built on - # Darwin - either AquaTk, if it is found, or X11 based Tk. -- if (host_platform == 'darwin' and -- self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -- return - - # Assume we haven't found any of the libraries or include files - # The versions with dots are used on Unix, and the versions without -@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext): - if dir not in include_dirs: - include_dirs.append(dir) - -- # Check for various platform-specific directories -- if host_platform == 'sunos5': -- include_dirs.append('/usr/openwin/include') -- added_lib_dirs.append('/usr/openwin/lib') -- elif os.path.exists('/usr/X11R6/include'): -- include_dirs.append('/usr/X11R6/include') -- added_lib_dirs.append('/usr/X11R6/lib64') -- added_lib_dirs.append('/usr/X11R6/lib') -- elif os.path.exists('/usr/X11R5/include'): -- include_dirs.append('/usr/X11R5/include') -- added_lib_dirs.append('/usr/X11R5/lib') -- else: -- # Assume default location for X11 -- include_dirs.append('/usr/X11/include') -- added_lib_dirs.append('/usr/X11/lib') -- - # If Cygwin, then verify that X is installed before proceeding - if host_platform == 'cygwin': - x11_inc = find_file('X11/Xlib.h', [], include_dirs) -@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext): - if host_platform in ['aix3', 'aix4']: - libs.append('ld') - -- # Finally, link with the X11 libraries (not appropriate on cygwin) -- if host_platform != "cygwin": -- libs.append('X11') -- - ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], - define_macros=[('WITH_APPINIT', 1)] + defs, - include_dirs = include_dirs, diff --git a/pkgs/development/interpreters/python/cpython/3.6/find_library.patch b/pkgs/development/interpreters/python/cpython/3.6/find_library.patch deleted file mode 100644 index 97fb66662d03..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.6/find_library.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 9b5a023a5dc3127da15253f7acad71019395ebe1 Mon Sep 17 00:00:00 2001 -From: Pablo Galindo -Date: Thu, 8 Oct 2020 19:50:37 +0100 -Subject: [PATCH] [3.7] bpo-41976: Fix the fallback to gcc of - ctypes.util.find_library when using gcc>9 (GH-22598). (GH-22601) - -(cherry picked from commit 27ac19cca2c639caaf6fedf3632fe6beb265f24f) - -Co-authored-by: Pablo Galindo ---- - Lib/ctypes/test/test_find.py | 12 ++++++- - Lib/ctypes/util.py | 32 +++++++++++++++---- - .../2020-10-08-18-22-28.bpo-41976.Svm0wb.rst | 3 ++ - 3 files changed, 39 insertions(+), 8 deletions(-) - create mode 100644 Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst - -diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py -index b99fdcba7b28f..92ac1840ad7d4 100644 ---- a/Lib/ctypes/test/test_find.py -+++ b/Lib/ctypes/test/test_find.py -@@ -1,4 +1,5 @@ - import unittest -+import unittest.mock - import os.path - import sys - import test.support -@@ -72,7 +73,7 @@ def test_shell_injection(self): - - @unittest.skipUnless(sys.platform.startswith('linux'), - 'Test only valid for Linux') --class LibPathFindTest(unittest.TestCase): -+class FindLibraryLinux(unittest.TestCase): - def test_find_on_libpath(self): - import subprocess - import tempfile -@@ -111,6 +112,15 @@ def test_find_on_libpath(self): - # LD_LIBRARY_PATH) - self.assertEqual(find_library(libname), 'lib%s.so' % libname) - -+ def test_find_library_with_gcc(self): -+ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None): -+ self.assertNotEqual(find_library('c'), None) -+ -+ def test_find_library_with_ld(self): -+ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \ -+ unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None): -+ self.assertNotEqual(find_library('c'), None) -+ - - if __name__ == "__main__": - unittest.main() -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 97973bce001d9..0c2510e1619c8 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -93,6 +93,12 @@ def find_library(name): - # Andreas Degert's find functions, using gcc, /sbin/ldconfig, objdump - import re, tempfile - -+ def _is_elf(filename): -+ "Return True if the given file is an ELF file" -+ elf_header = b'\x7fELF' -+ with open(filename, 'br') as thefile: -+ return thefile.read(4) == elf_header -+ - def _findLib_gcc(name): - # Run GCC's linker with the -t (aka --trace) option and examine the - # library name it prints out. The GCC command will fail because we -@@ -299,17 +312,22 @@ def _findLib_ld(name): - stderr=subprocess.PIPE, - universal_newlines=True) - out, _ = p.communicate() -- res = re.search(expr, os.fsdecode(out)) -- if res: -- result = res.group(0) -- except Exception as e: -+ res = re.findall(expr, os.fsdecode(out)) -+ for file in res: -+ # Check if the given file is an elf file: gcc can report -+ # some files that are linker scripts and not actual -+ # shared objects. See bpo-41976 for more details -+ if not _is_elf(file): -+ continue -+ return os.fsdecode(file) -+ except Exception: - pass # result will be None - return result - - def find_library(name): - # See issue #9998 - return _findSoname_ldconfig(name) or \ -- _get_soname(_findLib_gcc(name) or _findLib_ld(name)) -+ _get_soname(_findLib_gcc(name)) or _get_soname(_findLib_ld(name)) - - ################################################################ - # test code -diff --git a/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst b/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst -new file mode 100644 -index 0000000000000..c8b3fc771845e ---- /dev/null -+++ b/Misc/NEWS.d/next/Library/2020-10-08-18-22-28.bpo-41976.Svm0wb.rst -@@ -0,0 +1,3 @@ -+Fixed a bug that was causing :func:`ctypes.util.find_library` to return -+``None`` when triying to locate a library in an environment when gcc>=9 is -+available and ``ldconfig`` is not. Patch by Pablo Galindo diff --git a/pkgs/development/interpreters/python/cpython/3.6/fix-finding-headers-when-cross-compiling.patch b/pkgs/development/interpreters/python/cpython/3.6/fix-finding-headers-when-cross-compiling.patch deleted file mode 100644 index d324d10b39fc..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.6/fix-finding-headers-when-cross-compiling.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 45dfbbb4f5b67ab83e4365564ea569334e979f8e Mon Sep 17 00:00:00 2001 -From: Ben Wolsieffer -Date: Fri, 25 Sep 2020 16:49:16 -0400 -Subject: [PATCH] Fix finding headers when cross compiling - -When cross-compiling third-party extensions, get_python_inc() may be called to -return the path to Python's headers. However, it uses the sys.prefix or -sys.exec_prefix of the build Python, which returns incorrect paths when -cross-compiling (paths pointing to build system headers). - -To fix this, we use the INCLUDEPY and CONFINCLUDEPY conf variables, which can -be configured to point at host Python by setting _PYTHON_SYSCONFIGDATA_NAME. -The existing behavior is maintained on non-POSIX platforms or if a prefix is -manually specified. ---- - Lib/distutils/sysconfig.py | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 2bcd1dd288..567375e488 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -84,8 +84,6 @@ def get_python_inc(plat_specific=0, prefix=None): - If 'prefix' is supplied, use it instead of sys.base_prefix or - sys.base_exec_prefix -- i.e., ignore 'plat_specific'. - """ -- if prefix is None: -- prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - if os.name == "posix": - if python_build: - # Assume the executable is in the build directory. The -@@ -98,9 +96,17 @@ def get_python_inc(plat_specific=0, prefix=None): - else: - incdir = os.path.join(get_config_var('srcdir'), 'Include') - return os.path.normpath(incdir) -- python_dir = 'python' + get_python_version() + build_flags -- return os.path.join(prefix, "include", python_dir) -+ if prefix is None: -+ if plat_specific: -+ return get_config_var('CONFINCLUDEPY') -+ else: -+ return get_config_var('INCLUDEPY') -+ else: -+ python_dir = 'python' + get_python_version() + build_flags -+ return os.path.join(prefix, "include", python_dir) - elif os.name == "nt": -+ if prefix is None: -+ prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - return os.path.join(prefix, "include") - else: - raise DistutilsPlatformError( --- -2.28.0 - diff --git a/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch deleted file mode 100644 index 0f829860a5b7..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.6/no-ldconfig.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 105621b99cc30615c79b5aa3d12d6732e14b0d59 Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk -Date: Mon, 28 Aug 2017 09:24:06 +0200 -Subject: [PATCH] Don't use ldconfig and speed up uuid load - ---- - Lib/ctypes/util.py | 70 ++---------------------------------------------------- - Lib/uuid.py | 48 ------------------------------------- - 2 files changed, 2 insertions(+), 116 deletions(-) - -diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py -index 339ae8aa8a..2944985c30 100644 ---- a/Lib/ctypes/util.py -+++ b/Lib/ctypes/util.py -@@ -85,46 +85,7 @@ elif os.name == "posix": - import re, tempfile - - def _findLib_gcc(name): -- # Run GCC's linker with the -t (aka --trace) option and examine the -- # library name it prints out. The GCC command will fail because we -- # haven't supplied a proper program with main(), but that does not -- # matter. -- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) -- -- c_compiler = shutil.which('gcc') -- if not c_compiler: -- c_compiler = shutil.which('cc') -- if not c_compiler: -- # No C compiler available, give up -- return None -- -- temp = tempfile.NamedTemporaryFile() -- try: -- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] -- -- env = dict(os.environ) -- env['LC_ALL'] = 'C' -- env['LANG'] = 'C' -- try: -- proc = subprocess.Popen(args, -- stdout=subprocess.PIPE, -- stderr=subprocess.STDOUT, -- env=env) -- except OSError: # E.g. bad executable -- return None -- with proc: -- trace = proc.stdout.read() -- finally: -- try: -- temp.close() -- except FileNotFoundError: -- # Raised if the file was already removed, which is the normal -- # behaviour of GCC if linking fails -- pass -- res = re.search(expr, trace) -- if not res: -- return None -- return os.fsdecode(res.group(0)) -+ return None - - - if sys.platform == "sunos5": -@@ -246,34 +207,7 @@ elif os.name == "posix": - else: - - def _findSoname_ldconfig(name): -- import struct -- if struct.calcsize('l') == 4: -- machine = os.uname().machine + '-32' -- else: -- machine = os.uname().machine + '-64' -- mach_map = { -- 'x86_64-64': 'libc6,x86-64', -- 'ppc64-64': 'libc6,64bit', -- 'sparc64-64': 'libc6,64bit', -- 's390x-64': 'libc6,64bit', -- 'ia64-64': 'libc6,IA-64', -- } -- abi_type = mach_map.get(machine, 'libc6') -- -- # XXX assuming GLIBC's ldconfig (with option -p) -- regex = r'\s+(lib%s\.[^\s]+)\s+\(%s' -- regex = os.fsencode(regex % (re.escape(name), abi_type)) -- try: -- with subprocess.Popen(['/sbin/ldconfig', '-p'], -- stdin=subprocess.DEVNULL, -- stderr=subprocess.DEVNULL, -- stdout=subprocess.PIPE, -- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: -- res = re.search(regex, p.stdout.read()) -- if res: -- return os.fsdecode(res.group(1)) -- except OSError: -- pass -+ return None - - def _findLib_ld(name): - # See issue #9998 for why this is needed -diff --git a/Lib/uuid.py b/Lib/uuid.py -index 200c800b34..31160ace95 100644 ---- a/Lib/uuid.py -+++ b/Lib/uuid.py -@@ -455,57 +455,9 @@ def _netbios_getnode(): - continue - return int.from_bytes(bytes, 'big') - --# Thanks to Thomas Heller for ctypes and for his help with its use here. - --# If ctypes is available, use it to find system routines for UUID generation. --# XXX This makes the module non-thread-safe! - _uuid_generate_time = _UuidCreate = None --try: -- import ctypes, ctypes.util -- import sys - -- # The uuid_generate_* routines are provided by libuuid on at least -- # Linux and FreeBSD, and provided by libc on Mac OS X. -- _libnames = ['uuid'] -- if not sys.platform.startswith('win'): -- _libnames.append('c') -- for libname in _libnames: -- try: -- lib = ctypes.CDLL(ctypes.util.find_library(libname)) -- except Exception: -- continue -- if hasattr(lib, 'uuid_generate_time'): -- _uuid_generate_time = lib.uuid_generate_time -- break -- del _libnames -- -- # The uuid_generate_* functions are broken on MacOS X 10.5, as noted -- # in issue #8621 the function generates the same sequence of values -- # in the parent process and all children created using fork (unless -- # those children use exec as well). -- # -- # Assume that the uuid_generate functions are broken from 10.5 onward, -- # the test can be adjusted when a later version is fixed. -- if sys.platform == 'darwin': -- if int(os.uname().release.split('.')[0]) >= 9: -- _uuid_generate_time = None -- -- # On Windows prior to 2000, UuidCreate gives a UUID containing the -- # hardware address. On Windows 2000 and later, UuidCreate makes a -- # random UUID and UuidCreateSequential gives a UUID containing the -- # hardware address. These routines are provided by the RPC runtime. -- # NOTE: at least on Tim's WinXP Pro SP2 desktop box, while the last -- # 6 bytes returned by UuidCreateSequential are fixed, they don't appear -- # to bear any relationship to the MAC address of any network device -- # on the box. -- try: -- lib = ctypes.windll.rpcrt4 -- except: -- lib = None -- _UuidCreate = getattr(lib, 'UuidCreateSequential', -- getattr(lib, 'UuidCreate', None)) --except: -- pass - - def _unixdll_getnode(): - """Get the hardware address on Unix using ctypes.""" --- -2.14.1 - diff --git a/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch b/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch deleted file mode 100644 index b73f62b97ec5..000000000000 --- a/pkgs/development/interpreters/python/cpython/3.6/use-correct-tcl-tk-on-darwin.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/setup.py b/setup.py -index 2779658..902d0eb 100644 ---- a/setup.py -+++ b/setup.py -@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext): - # Rather than complicate the code below, detecting and building - # AquaTk is a separate method. Only one Tkinter will be built on - # Darwin - either AquaTk, if it is found, or X11 based Tk. -- if (host_platform == 'darwin' and -- self.detect_tkinter_darwin(inc_dirs, lib_dirs)): -- return - - # Assume we haven't found any of the libraries or include files - # The versions with dots are used on Unix, and the versions without -@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext): - if dir not in include_dirs: - include_dirs.append(dir) - -- # Check for various platform-specific directories -- if host_platform == 'sunos5': -- include_dirs.append('/usr/openwin/include') -- added_lib_dirs.append('/usr/openwin/lib') -- elif os.path.exists('/usr/X11R6/include'): -- include_dirs.append('/usr/X11R6/include') -- added_lib_dirs.append('/usr/X11R6/lib64') -- added_lib_dirs.append('/usr/X11R6/lib') -- elif os.path.exists('/usr/X11R5/include'): -- include_dirs.append('/usr/X11R5/include') -- added_lib_dirs.append('/usr/X11R5/lib') -- else: -- # Assume default location for X11 -- include_dirs.append('/usr/X11/include') -- added_lib_dirs.append('/usr/X11/lib') -- - # If Cygwin, then verify that X is installed before proceeding - if host_platform == 'cygwin': - x11_inc = find_file('X11/Xlib.h', [], include_dirs) -@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext): - if host_platform in ['aix3', 'aix4']: - libs.append('ld') - -- # Finally, link with the X11 libraries (not appropriate on cygwin) -- if host_platform != "cygwin": -- libs.append('X11') -- - ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], - define_macros=[('WITH_APPINIT', 1)] + defs, - include_dirs = include_dirs, diff --git a/pkgs/development/interpreters/python/cpython/3.6/profile-task.patch b/pkgs/development/interpreters/python/cpython/3.7/profile-task.patch similarity index 100% rename from pkgs/development/interpreters/python/cpython/3.6/profile-task.patch rename to pkgs/development/interpreters/python/cpython/3.7/profile-task.patch diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 8fbcd7027ae9..2a19c363aa4b 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -180,7 +180,7 @@ let if isDarwin then "darwin" else "${multiarchCpu}-${parsed.kernel.name}-${pythonAbiName}"; - abiFlags = optionalString (isPy36 || isPy37) "m"; + abiFlags = optionalString isPy37 "m"; # https://github.com/python/cpython/blob/e488e300f5c01289c10906c2e53a8e43d6de32d8/configure.ac#L78 pythonSysconfigdataName = "_sysconfigdata_${abiFlags}_${parsed.kernel.name}_${multiarch}"; @@ -228,13 +228,7 @@ in with passthru; stdenv.mkDerivation { ] ++ optionals mimetypesSupport [ # Make the mimetypes module refer to the right file ./mimetypes.patch - ] ++ optionals (isPy35 || isPy36) [ - # Determinism: Write null timestamps when compiling python files. - ./3.5/force_bytecode_determinism.patch - ] ++ optionals isPy35 [ - # Backports support for LD_LIBRARY_PATH from 3.6 - ./3.5/ld_library_path.patch - ] ++ optionals (isPy35 || isPy36 || isPy37) [ + ] ++ optionals isPy37 [ # Backport a fix for discovering `rpmbuild` command when doing `python setup.py bdist_rpm` to 3.5, 3.6, 3.7. # See: https://bugs.python.org/issue11122 ./3.7/fix-hardcoded-path-checking-for-rpmbuild.patch @@ -250,12 +244,7 @@ in with passthru; stdenv.mkDerivation { ./3.11/darwin-libutil.patch ] ++ optionals (pythonOlder "3.8") [ # Backport from CPython 3.8 of a good list of tests to run for PGO. - ( - if isPy36 || isPy37 then - ./3.6/profile-task.patch - else - ./3.5/profile-task.patch - ) + ./3.7/profile-task.patch ] ++ optionals (pythonAtLeast "3.9" && pythonOlder "3.11" && stdenv.isDarwin) [ # Stop checking for TCL/TK in global macOS locations ./3.9/darwin-tcl-tk.patch @@ -265,9 +254,7 @@ in with passthru; stdenv.mkDerivation { # only works for GCC and Apple Clang. This makes distutils to call C++ # compiler when needed. ( - if isPy35 then - ./3.5/python-3.x-distutils-C++.patch - else if pythonAtLeast "3.7" && pythonOlder "3.11" then + if pythonAtLeast "3.7" && pythonOlder "3.11" then ./3.7/python-3.x-distutils-C++.patch else if pythonAtLeast "3.11" then ./3.11/python-3.x-distutils-C++.patch @@ -281,15 +268,7 @@ in with passthru; stdenv.mkDerivation { # LDSHARED now uses $CC instead of gcc. Fixes cross-compilation of extension modules. ./3.8/0001-On-all-posix-systems-not-just-Darwin-set-LDSHARED-if.patch # Use sysconfigdata to find headers. Fixes cross-compilation of extension modules. - ( - if isPy36 then - ./3.6/fix-finding-headers-when-cross-compiling.patch - else - ./3.7/fix-finding-headers-when-cross-compiling.patch - ) - ] ++ optionals (isPy36) [ - # Backport a fix for ctypes.util.find_library. - ./3.6/find_library.patch + ./3.7/fix-finding-headers-when-cross-compiling.patch ]; postPatch = '' diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 903dae38ac12..31e7272cdcc0 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -84,8 +84,6 @@ }); in rec { isPy27 = pythonVersion == "2.7"; - isPy35 = pythonVersion == "3.5"; - isPy36 = pythonVersion == "3.6"; isPy37 = pythonVersion == "3.7"; isPy38 = pythonVersion == "3.8"; isPy39 = pythonVersion == "3.9"; diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index a63ece3c2369..81ad194a25c7 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -8,7 +8,7 @@ self: let inherit (self) callPackage; - inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; + inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; namePrefix = python.libPrefix + "-"; @@ -87,7 +87,7 @@ let in { inherit lib pkgs stdenv; - inherit (python.passthru) isPy27 isPy35 isPy36 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; + inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; inherit buildPythonPackage buildPythonApplication; inherit fetchPypi; inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf; From b56650507918e7f217060fe7f348770b346f98ca Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 14:02:48 +0100 Subject: [PATCH 038/280] python3Packages.easysnmp: drop Leaf package that doesn't build on supported python versions. --- .../python-modules/easysnmp/default.nix | 55 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 57 deletions(-) delete mode 100644 pkgs/development/python-modules/easysnmp/default.nix diff --git a/pkgs/development/python-modules/easysnmp/default.nix b/pkgs/development/python-modules/easysnmp/default.nix deleted file mode 100644 index c55bf52a6643..000000000000 --- a/pkgs/development/python-modules/easysnmp/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ lib -, buildPythonPackage -, pythonAtLeast -, fetchFromGitHub -, net-snmp -, openssl -, pytest -, pytest-cov -, pytest-flake8 -, pytest-sugar -, termcolor -}: - -buildPythonPackage rec { - pname = "easysnmp"; - version = "0.2.5"; - - # See https://github.com/kamakazikamikaze/easysnmp/issues/108 - disabled = pythonAtLeast "3.7"; - - src = fetchFromGitHub { - owner = "kamakazikamikaze"; - repo = pname; - rev = version; - sha256 = "1si9iyxqj6z22jzn6m93lwpinsqn20lix2py3jm3g3fmwawkd735"; - }; - - checkInputs = [ - pytest - pytest-cov - pytest-flake8 - pytest-sugar - termcolor - ]; - - buildInputs = [ - net-snmp - openssl - ]; - - buildPhase = '' - python setup.py build bdist_wheel --basedir=${lib.getBin net-snmp}/bin - ''; - - # Unable to get tests to pass, even running by hand. The pytest tests have - # become stale. - doCheck = false; - - meta = with lib; { - description = "A blazingly fast and Pythonic SNMP library based on the official Net-SNMP bindings"; - homepage = "https://easysnmp.readthedocs.io/en/latest/"; - license = licenses.bsd3; - maintainers = with maintainers; [ WhittlesJr ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1d4279cc6646..643b99011b8c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2832,8 +2832,6 @@ self: super: with self; { EasyProcess = callPackage ../development/python-modules/easyprocess { }; - easysnmp = callPackage ../development/python-modules/easysnmp { }; - easy-thumbnails = callPackage ../development/python-modules/easy-thumbnails { }; easywatch = callPackage ../development/python-modules/easywatch { }; From d6940e54e9f8aa3fce41ce2fae2cd0d731c57e4d Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 14:46:56 +0100 Subject: [PATCH 039/280] python3Packages.backports_abc: drop Backport of collections.abc additions from one EOL version to another. --- .../python-modules/backports_abc/default.nix | 23 ------------------- pkgs/servers/calibre-web/default.nix | 3 ++- pkgs/top-level/python-packages.nix | 2 -- 3 files changed, 2 insertions(+), 26 deletions(-) delete mode 100644 pkgs/development/python-modules/backports_abc/default.nix diff --git a/pkgs/development/python-modules/backports_abc/default.nix b/pkgs/development/python-modules/backports_abc/default.nix deleted file mode 100644 index 684626c0780f..000000000000 --- a/pkgs/development/python-modules/backports_abc/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib -, buildPythonPackage -, fetchPypi -, unittestCheckHook -}: - -buildPythonPackage rec { - pname = "backports_abc"; - version = "0.5"; - - src = fetchPypi { - inherit pname version; - sha256 = "033be54514a03e255df75c5aee8f9e672f663f93abb723444caec8fe43437bde"; - }; - - checkInputs = [ unittestCheckHook ]; - - meta = { - homepage = "https://github.com/cython/backports_abc"; - license = lib.licenses.psfl; - description = "A backport of recent additions to the 'collections.abc' module"; - }; -} diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix index 6047eae3c962..14c4822f3fb4 100644 --- a/pkgs/servers/calibre-web/default.nix +++ b/pkgs/servers/calibre-web/default.nix @@ -18,7 +18,6 @@ python3.pkgs.buildPythonApplication rec { propagatedBuildInputs = with python3.pkgs; [ APScheduler advocate - backports_abc chardet flask-babel flask-login @@ -54,6 +53,8 @@ python3.pkgs.buildPythonApplication rec { mv cps.py src/calibreweb/__init__.py mv cps src/calibreweb + sed -i "/backports_abc/d" setup.cfg + substituteInPlace setup.cfg \ --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \ --replace "chardet>=3.0.0,<4.1.0" "chardet>=3.0.0,<6" \ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 643b99011b8c..c195b70de664 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1098,8 +1098,6 @@ self: super: with self; { backports-cached-property = callPackage ../development/python-modules/backports-cached-property { }; - backports_abc = callPackage ../development/python-modules/backports_abc { }; - backports_csv = callPackage ../development/python-modules/backports_csv { }; backports-datetime-fromisoformat = callPackage ../development/python-modules/backports-datetime-fromisoformat { }; From ec0029965cb9274eb69d5bb1f67a253db48b28d7 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 15:10:49 +0100 Subject: [PATCH 040/280] python3Packages.backports-datetime-fromisoformat: 1.0.0 -> 2.0.0 https://github.com/movermeyer/backports.datetime_fromisoformat/releases/tag/v2.0.0 --- .../default.nix | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix b/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix index 7db161b86110..40014adb9088 100644 --- a/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix +++ b/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix @@ -1,21 +1,34 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytz +, unittestCheckHook +}: buildPythonPackage rec { pname = "backports-datetime-fromisoformat"; - version = "1.0.0"; + version = "2.0.0"; + format = "setuptools"; - src = fetchPypi { - inherit pname version; - sha256 = "0p0gyhfqq6gssf3prsy0pcfq5w0wx2w3pcjqbwx3imvc92ls4xwm"; + src = fetchFromGitHub { + owner = "movermeyer"; + repo = "backports.datetime_fromisoformat"; + rev = "refs/tags/v${version}"; + hash = "sha256-aHF3E/fLN+j/T4W9lvuVSMy6iRSEn+ARWmL01rY+ixs="; }; - # no tests in pypi package - doCheck = false; + checkInputs = [ + pytz + unittestCheckHook + ]; - pythonImportsCheck = [ "backports.datetime_fromisoformat" ]; + pythonImportsCheck = [ + "backports.datetime_fromisoformat" + ]; meta = with lib; { - description = "Backport of Python 3.7's datetime.fromisoformat"; + changelog = "https://github.com/movermeyer/backports.datetime_fromisoformat/releases/tag/v${version}"; + description = "Backport of Python 3.11's datetime.fromisoformat"; homepage = "https://github.com/movermeyer/backports.datetime_fromisoformat"; license = licenses.mit; maintainers = with maintainers; [ SuperSandro2000 ]; From f9d1ea261f276f956003cd29d59c7fe3781086c5 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 15:17:40 +0100 Subject: [PATCH 041/280] python3Packages.backports-entry-points-selectable: 1.1.1 -> 1.2.0 https://github.com/jaraco/backports.entry_points_selectable/blob/v1.2.0/CHANGES.rst --- .../default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix index 84618e8da1d8..9ff04e0e5038 100644 --- a/pkgs/development/python-modules/backports-entry-points-selectable/default.nix +++ b/pkgs/development/python-modules/backports-entry-points-selectable/default.nix @@ -1,16 +1,27 @@ -{ lib, buildPythonPackage, fetchPypi, pythonOlder, setuptools-scm, importlib-metadata }: +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools-scm +, importlib-metadata +}: buildPythonPackage rec { pname = "backports-entry-points-selectable"; - version = "1.1.1"; + version = "1.2.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; src = fetchPypi { pname = "backports.entry_points_selectable"; inherit version; - sha256 = "914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386"; + hash = "sha256-Rwb1kXllfKfB0yWlQ+4TcPj0YzH0MrysYvqyQv3wr6U="; }; - nativeBuildInputs = [ setuptools-scm ]; + nativeBuildInputs = [ + setuptools-scm + ]; propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [ importlib-metadata @@ -24,6 +35,7 @@ buildPythonPackage rec { pythonNamespaces = [ "backports" ]; meta = with lib; { + changelog = "https://github.com/jaraco/backports.entry_points_selectable/blob/v${version}/CHANGES.rst"; description = "Compatibility shim providing selectable entry points for older implementations"; homepage = "https://github.com/jaraco/backports.entry_points_selectable"; license = licenses.mit; From 243defc46a1fa7c5e908867b2e2a6638839a8f2e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 15:34:27 +0100 Subject: [PATCH 042/280] python3Packages.backports_ssl_match_hostname: drop Backport from one EOL release to another. --- .../virtualization/docker/compose_1.nix | 4 ++-- .../backports_ssl_match_hostname/default.nix | 18 ------------------ pkgs/top-level/python-packages.nix | 2 -- 3 files changed, 2 insertions(+), 22 deletions(-) delete mode 100644 pkgs/development/python-modules/backports_ssl_match_hostname/default.nix diff --git a/pkgs/applications/virtualization/docker/compose_1.nix b/pkgs/applications/virtualization/docker/compose_1.nix index 1299d6f69ec7..425363e2b73b 100644 --- a/pkgs/applications/virtualization/docker/compose_1.nix +++ b/pkgs/applications/virtualization/docker/compose_1.nix @@ -1,7 +1,7 @@ { lib, buildPythonApplication, fetchPypi, pythonOlder , installShellFiles , mock, pytest, nose -, pyyaml, backports_ssl_match_hostname, colorama, docopt +, pyyaml, colorama, docopt , dockerpty, docker, jsonschema, requests , six, texttable, websocket-client, cached-property , enum34, functools32, paramiko, distro, python-dotenv @@ -24,7 +24,7 @@ buildPythonApplication rec { pyyaml colorama dockerpty docker jsonschema requests six texttable websocket-client docopt cached-property paramiko distro python-dotenv - ] ++ lib.optional (pythonOlder "3.7") backports_ssl_match_hostname + ] ++ lib.optional (pythonOlder "3.4") enum34 ++ lib.optional (pythonOlder "3.2") functools32; diff --git a/pkgs/development/python-modules/backports_ssl_match_hostname/default.nix b/pkgs/development/python-modules/backports_ssl_match_hostname/default.nix deleted file mode 100644 index a7403e16123a..000000000000 --- a/pkgs/development/python-modules/backports_ssl_match_hostname/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, buildPythonPackage, fetchPypi, pythonAtLeast }: - -buildPythonPackage rec { - pname = "backports.ssl_match_hostname"; - version = "3.7.0.1"; - disabled = pythonAtLeast "3.7"; - - src = fetchPypi { - inherit pname version; - sha256 = "bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2"; - }; - - meta = with lib; { - description = "The Secure Sockets layer is only actually *secure*"; - homepage = "https://bitbucket.org/brandon/backports.ssl_match_hostname"; - license = licenses.psfl; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c195b70de664..454b83aa1a94 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1110,8 +1110,6 @@ self: super: with self; { backports-shutil-which = callPackage ../development/python-modules/backports-shutil-which { }; - backports_ssl_match_hostname = callPackage ../development/python-modules/backports_ssl_match_hostname { }; - backports_tempfile = callPackage ../development/python-modules/backports_tempfile { }; backports_unittest-mock = callPackage ../development/python-modules/backports_unittest-mock { }; From df500fa527cc384f2f1802e700ecee5616e539d8 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 29 Nov 2022 01:08:31 +0100 Subject: [PATCH 043/280] python3Packages.aiocontextvars: use pytestCheckHook and specify format. --- .../python-modules/aiocontextvars/default.nix | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/aiocontextvars/default.nix b/pkgs/development/python-modules/aiocontextvars/default.nix index 0ae4349afb4f..f673e86bbacc 100644 --- a/pkgs/development/python-modules/aiocontextvars/default.nix +++ b/pkgs/development/python-modules/aiocontextvars/default.nix @@ -2,7 +2,7 @@ , buildPythonPackage , fetchFromGitHub , pytest-runner -, pytest +, pytestCheckHook , pytest-asyncio , sqlalchemy , isPy27 @@ -11,6 +11,7 @@ buildPythonPackage rec { pname = "aiocontextvars"; version = "0.2.2"; + format = "setuptools"; disabled = isPy27; src = fetchFromGitHub { @@ -24,17 +25,14 @@ buildPythonPackage rec { pytest-runner ]; - checkInputs = [ - pytest - pytest-asyncio - ]; - propagatedBuildInputs = [ sqlalchemy + ]; - checkPhase = '' - pytest - ''; + checkInputs = [ + pytestCheckHook + pytest-asyncio + ]; meta = with lib; { description = "Asyncio support for PEP-567 contextvars backport"; From 19e6e26e8a43a830e123449f376d1604f163d262 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 29 Nov 2022 01:18:18 +0100 Subject: [PATCH 044/280] python3Packages.sniffio: Use pytestCheckHook and set format. Reformat. --- .../python-modules/sniffio/default.nix | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/sniffio/default.nix b/pkgs/development/python-modules/sniffio/default.nix index bc2cd66b0a33..0a8dc4aef4e5 100644 --- a/pkgs/development/python-modules/sniffio/default.nix +++ b/pkgs/development/python-modules/sniffio/default.nix @@ -1,25 +1,33 @@ -{ buildPythonPackage, lib, fetchPypi, glibcLocales, isPy3k -, pythonOlder, pytest, curio +{ buildPythonPackage +, lib +, fetchPypi +, glibcLocales +, isPy3k +, pythonOlder +, pytestCheckHook +, curio }: buildPythonPackage rec { pname = "sniffio"; version = "1.3.0"; + format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "sha256-5gMFxeXTFPU4klm38iqqM9j33uSXYxGSNK83VcVbkQE="; + hash = "sha256-5gMFxeXTFPU4klm38iqqM9j33uSXYxGSNK83VcVbkQE="; }; disabled = !isPy3k; - buildInputs = [ glibcLocales ]; + buildInputs = [ + glibcLocales + ]; - checkInputs = [ pytest curio ]; - - checkPhase = '' - pytest - ''; + checkInputs = [ + curio + pytestCheckHook + ]; meta = with lib; { homepage = "https://github.com/python-trio/sniffio"; From adae7334e4a639804ae5735ce6e1dee5eae1c951 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 15:56:53 +0100 Subject: [PATCH 045/280] python312: init at 3.12.0a2 https://blog.python.org/2022/10/python-3120-alpha-1-released.html https://blog.python.org/2022/11/python-3120-alpha-2-released.html --- .../python/cpython/3.12/no-ldconfig.patch | 107 ++++++++++++++++++ .../interpreters/python/cpython/default.nix | 9 +- .../interpreters/python/default.nix | 14 +++ pkgs/top-level/all-packages.nix | 3 +- 4 files changed, 126 insertions(+), 7 deletions(-) create mode 100644 pkgs/development/interpreters/python/cpython/3.12/no-ldconfig.patch diff --git a/pkgs/development/interpreters/python/cpython/3.12/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.12/no-ldconfig.patch new file mode 100644 index 000000000000..ca6a76d0ffd9 --- /dev/null +++ b/pkgs/development/interpreters/python/cpython/3.12/no-ldconfig.patch @@ -0,0 +1,107 @@ +From 5330b6af9f832af59aa5c61d9ef6971053a8e709 Mon Sep 17 00:00:00 2001 +From: Jonathan Ringer +Date: Mon, 9 Nov 2020 10:24:35 -0800 +Subject: [PATCH] CPython: Don't use ldconfig + +--- + Lib/ctypes/util.py | 77 ++-------------------------------------------- + 1 file changed, 2 insertions(+), 75 deletions(-) + +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index 0c2510e161..7fb98af308 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -100,53 +100,7 @@ def _is_elf(filename): + return thefile.read(4) == elf_header + + def _findLib_gcc(name): +- # Run GCC's linker with the -t (aka --trace) option and examine the +- # library name it prints out. The GCC command will fail because we +- # haven't supplied a proper program with main(), but that does not +- # matter. +- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)) +- +- c_compiler = shutil.which('gcc') +- if not c_compiler: +- c_compiler = shutil.which('cc') +- if not c_compiler: +- # No C compiler available, give up +- return None +- +- temp = tempfile.NamedTemporaryFile() +- try: +- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name] +- +- env = dict(os.environ) +- env['LC_ALL'] = 'C' +- env['LANG'] = 'C' +- try: +- proc = subprocess.Popen(args, +- stdout=subprocess.PIPE, +- stderr=subprocess.STDOUT, +- env=env) +- except OSError: # E.g. bad executable +- return None +- with proc: +- trace = proc.stdout.read() +- finally: +- try: +- temp.close() +- except FileNotFoundError: +- # Raised if the file was already removed, which is the normal +- # behaviour of GCC if linking fails +- pass +- res = re.findall(expr, trace) +- if not res: +- return None +- +- for file in res: +- # Check if the given file is an elf file: gcc can report +- # some files that are linker scripts and not actual +- # shared objects. See bpo-41976 for more details +- if not _is_elf(file): +- continue +- return os.fsdecode(file) ++ return None + + + if sys.platform == "sunos5": +@@ -268,34 +222,7 @@ def find_library(name, is64 = False): + else: + + def _findSoname_ldconfig(name): +- import struct +- if struct.calcsize('l') == 4: +- machine = os.uname().machine + '-32' +- else: +- machine = os.uname().machine + '-64' +- mach_map = { +- 'x86_64-64': 'libc6,x86-64', +- 'ppc64-64': 'libc6,64bit', +- 'sparc64-64': 'libc6,64bit', +- 's390x-64': 'libc6,64bit', +- 'ia64-64': 'libc6,IA-64', +- } +- abi_type = mach_map.get(machine, 'libc6') +- +- # XXX assuming GLIBC's ldconfig (with option -p) +- regex = r'\s+(lib%s\.[^\s]+)\s+\(%s' +- regex = os.fsencode(regex % (re.escape(name), abi_type)) +- try: +- with subprocess.Popen(['/sbin/ldconfig', '-p'], +- stdin=subprocess.DEVNULL, +- stderr=subprocess.DEVNULL, +- stdout=subprocess.PIPE, +- env={'LC_ALL': 'C', 'LANG': 'C'}) as p: +- res = re.search(regex, p.stdout.read()) +- if res: +- return os.fsdecode(res.group(1)) +- except OSError: +- pass ++ return None + + def _findLib_ld(name): + # See issue #9998 for why this is needed +-- +2.33.1 + diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 2a19c363aa4b..1c5564290cf5 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -121,7 +121,7 @@ let ]; buildInputs = filter (p: p != null) ([ - zlib bzip2 expat xz libffi gdbm sqlite readline ncurses openssl' ] + zlib bzip2 expat xz libffi libxcrypt gdbm sqlite readline ncurses openssl' ] ++ optionals x11Support [ tcl tk libX11 xorgproto ] ++ optionals (bluezSupport && stdenv.isLinux) [ bluez ] ++ optionals stdenv.isDarwin [ configd ]) @@ -264,7 +264,7 @@ in with passthru; stdenv.mkDerivation { sha256 = "1h18lnpx539h5lfxyk379dxwr8m2raigcjixkf133l4xy3f4bzi2"; } ) - ] ++ [ + ] ++ optionals (pythonOlder "3.12") [ # LDSHARED now uses $CC instead of gcc. Fixes cross-compilation of extension modules. ./3.8/0001-On-all-posix-systems-not-just-Darwin-set-LDSHARED-if.patch # Use sysconfigdata to find headers. Fixes cross-compilation of extension modules. @@ -333,14 +333,11 @@ in with passthru; stdenv.mkDerivation { # Never even try to use lchmod on linux, # don't rely on detecting glibc-isms. "ac_cv_func_lchmod=no" - ] ++ optionals (libxcrypt != null) [ - "CFLAGS=-I${libxcrypt}/include" - "LIBS=-L${libxcrypt}/lib" ] ++ optionals tzdataSupport [ "--with-tzpath=${tzdata}/share/zoneinfo" ] ++ optional static "LDFLAGS=-static"; - preConfigure = '' + preConfigure = optionalString (pythonOlder "3.12") '' for i in /usr /sw /opt /pkg; do # improve purity substituteInPlace ./setup.py --replace $i /no-such-path done diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 31e7272cdcc0..92a3f248dcd9 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -89,6 +89,7 @@ isPy39 = pythonVersion == "3.9"; isPy310 = pythonVersion == "3.10"; isPy311 = pythonVersion == "3.11"; + isPy312 = pythonVersion == "3.12"; isPy2 = lib.strings.substring 0 1 pythonVersion == "2"; isPy3 = lib.strings.substring 0 1 pythonVersion == "3"; isPy3k = isPy3; @@ -201,6 +202,19 @@ in { inherit passthruFun; }; + python312 = callPackage ./cpython { + self = __splicedPackages.python312; + sourceVersion = { + major = "3"; + minor = "12"; + patch = "0"; + suffix = "a2"; + }; + sha256 = "sha256-Hq/BOE5TLKxkMmMqdzUO9QShFMQjXB9vKoX4F/Wxkmo="; + inherit (darwin) configd; + inherit passthruFun; + }; + # Minimal versions of Python (built without optional dependencies) python3Minimal = (callPackage ./cpython ({ self = __splicedPackages.python3Minimal; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ef8c67911340..1f2199f51f31 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15918,7 +15918,7 @@ with pkgs; }; pythonInterpreters = callPackage ./../development/interpreters/python { }; - inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python3Minimal pypy27 pypy39 pypy38 pypy37 rustpython; + inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python312 python3Minimal pypy27 pypy39 pypy38 pypy37 rustpython; # List of extensions with overrides to apply to all Python package sets. pythonPackagesExtensions = [ ]; @@ -15929,6 +15929,7 @@ with pkgs; python39Packages = recurseIntoAttrs python39.pkgs; python310Packages = recurseIntoAttrs python310.pkgs; python311Packages = python311.pkgs; + python312Packages = python312.pkgs; pypyPackages = pypy.pkgs; pypy2Packages = pypy2.pkgs; pypy27Packages = pypy27.pkgs; From 9897662ca42b8b4ea690ff296d0fbae5e371c0f4 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 28 Nov 2022 17:37:02 +0100 Subject: [PATCH 046/280] python3Packages.pytest-freezegun: don't rely on distutils --- .../python-modules/pytest-freezegun/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/python-modules/pytest-freezegun/default.nix b/pkgs/development/python-modules/pytest-freezegun/default.nix index 3ba67867a1aa..56752fe48220 100644 --- a/pkgs/development/python-modules/pytest-freezegun/default.nix +++ b/pkgs/development/python-modules/pytest-freezegun/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub +, fetchpatch , freezegun , pytest , pytestCheckHook @@ -17,6 +18,15 @@ buildPythonPackage rec { sha256 = "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"; }; + patches = [ + (fetchpatch { + # https://github.com/ktosiek/pytest-freezegun/pull/38 + name = "pytest-freezegun-drop-distutils.patch"; + url = "https://github.com/ktosiek/pytest-freezegun/commit/03d7107a877e8f07617f931a379f567d89060085.patch"; + hash = "sha256-/7GTQdidVbE2LT5hwxjEc2dr+aWr6TX1131U4KMQhns="; + }) + ]; + buildInputs = [ pytest ]; propagatedBuildInputs = [ From 6f6f5f908b5bdf1ecb241dbb677e0658767eab4c Mon Sep 17 00:00:00 2001 From: Hraban Luyat Date: Tue, 29 Nov 2022 15:07:59 -0500 Subject: [PATCH 047/280] sbcl: 2.2.10 -> 2.2.11 --- pkgs/development/compilers/sbcl/2.x.nix | 4 ++++ pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/sbcl/2.x.nix b/pkgs/development/compilers/sbcl/2.x.nix index 85b3881e3a15..aa27e76d659e 100644 --- a/pkgs/development/compilers/sbcl/2.x.nix +++ b/pkgs/development/compilers/sbcl/2.x.nix @@ -57,6 +57,10 @@ let "2.2.10" = { sha256 = "sha256-jMPDqHYSI63vFEqIcwsmdQg6Oyb6FV1wz5GruTXpCDM="; }; + + "2.2.11" = { + sha256 = "sha256-NgfWgBZzGICEXO1dXVXGBUzEnxkSGhUCfmxWB66Elt8="; + }; }; in with versionMap.${version}; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7899edd08b9b..f4d846801723 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15311,7 +15311,8 @@ with pkgs; sbcl_2_2_6 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.6"; }; sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; }; sbcl_2_2_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.10"; }; - sbcl = sbcl_2_2_10; + sbcl_2_2_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.11"; }; + sbcl = sbcl_2_2_11; roswell = callPackage ../development/tools/roswell { }; From 9472190421345df29e79b45c55b9bc5abb39f7bb Mon Sep 17 00:00:00 2001 From: ajs124 Date: Tue, 29 Nov 2022 23:23:11 +0100 Subject: [PATCH 048/280] tzdata: 2022f -> 2022g https://mm.icann.org/pipermail/tz-announce/2022-November/000076.html --- pkgs/data/misc/tzdata/default.nix | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 1453b3899ef7..81f23c9a828f 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -1,17 +1,17 @@ -{ lib, stdenv, fetchurl, fetchpatch, buildPackages }: +{ lib, stdenv, fetchurl, buildPackages }: stdenv.mkDerivation rec { pname = "tzdata"; - version = "2022f"; + version = "2022g"; srcs = [ (fetchurl { url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz"; - hash = "sha256-mZDXH2ddISVnuTH+iq4cq3An+J/vuKedgIppM6Z68AA="; + hash = "sha256-RJHbgoGulKhNk55Ce92D3DifJnZNJ9mlxS14LBZ2RHg="; }) (fetchurl { url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz"; - hash = "sha256-5FQ+kPhPkfqCgJ6piTAFL9vBOIDIpiPuOk6qQvimTBU="; + hash = "sha256-lhC7C5ZW/0BMNhpB8yhtpTBktUadhPAMnLIxTIYU2nQ="; }) ]; @@ -19,17 +19,6 @@ stdenv.mkDerivation rec { patches = lib.optionals stdenv.hostPlatform.isWindows [ ./0001-Add-exe-extension-for-MS-Windows-binaries.patch - ] ++ [ - (fetchpatch { - name = "fix-get-random-on-osx-1.patch"; - url = "https://github.com/eggert/tz/commit/5db8b3ba4816ccb8f4ffeb84f05b99e87d3b1be6.patch"; - hash = "sha256-FevGjiSahYwEjRUTvRY0Y6/jUO4YHiTlAAPixzEy5hw="; - }) - (fetchpatch { - name = "fix-get-random-on-osx-2.patch"; - url = "https://github.com/eggert/tz/commit/841183210311b1d4ffb4084bfde8fa8bdf3e6757.patch"; - hash = "sha256-1tUTZBMT7V463P7eygpFS6/k5gTeeXumk5+V4gdKpEI="; - }) ]; outputs = [ "out" "bin" "man" "dev" ]; From bc946d95e2c39e1b6fd5a2d4361d8a1e812c1d87 Mon Sep 17 00:00:00 2001 From: Yureka Date: Wed, 30 Nov 2022 09:17:29 +0100 Subject: [PATCH 049/280] pkgsMusl.cmocka: fix build on aarch64 (#203307) --- pkgs/development/libraries/cmocka/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/cmocka/default.nix b/pkgs/development/libraries/cmocka/default.nix index 9bfbc410c007..ed78f4f9ec84 100644 --- a/pkgs/development/libraries/cmocka/default.nix +++ b/pkgs/development/libraries/cmocka/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, cmake }: +{ fetchurl, fetchpatch, lib, stdenv, cmake }: stdenv.mkDerivation rec { pname = "cmocka"; @@ -10,6 +10,14 @@ stdenv.mkDerivation rec { sha256 = "1dm8pdvkyfa8dsbz9bpq7wwgixjij4sii9bbn5sgvqjm5ljdik7h"; }; + patches = [ + (fetchpatch { + name = "musl-uintptr.patch"; + url = "https://git.alpinelinux.org/aports/plain/main/cmocka/musl_uintptr.patch?id=6a15dd0d0ba9cc354a621fb359ca5e315ff2eabd"; + sha256 = "sha256-fhb2Tax30kRTGuaKvzSzglSd/ntxiNeGFJt5I8poa24="; + }) + ]; + nativeBuildInputs = [ cmake ]; meta = with lib; { From 74965741696bf79fd67501a55b1b60683c2b5d62 Mon Sep 17 00:00:00 2001 From: Claudio Bley Date: Mon, 28 Nov 2022 08:51:36 +0100 Subject: [PATCH 050/280] llvmPackages_14: Use GCC 11 on aarch64-linux The libcxx library needs a C++20 capable compiler toolchain since version 14, but aarch64-linux uses GCC 9 by default. However, building libcxxabi fails when using GCC 10, see [llvm/llvm-project#56828]. So let's use GCC 11 instead. [llvm/llvm-project#56828]: https://github.com/llvm/llvm-project/issues/56828 --- pkgs/top-level/all-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f275f8e29348..8f73b34237c8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14763,6 +14763,8 @@ with pkgs; buildLlvmTools = buildPackages.llvmPackages_14.tools; targetLlvmLibraries = targetPackages.llvmPackages_14.libraries or llvmPackages_14.libraries; targetLlvm = targetPackages.llvmPackages_14.llvm or llvmPackages_14.llvm; + } // lib.optionalAttrs (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux && buildPackages.stdenv.cc.isGNU) { + stdenv = gcc11Stdenv; })); llvmPackages_latest = llvmPackages_14; From 38c793c1de415b72ded0798b048fd5c9a713a92a Mon Sep 17 00:00:00 2001 From: Claudio Bley Date: Mon, 28 Nov 2022 08:56:11 +0100 Subject: [PATCH 051/280] llvmPackages_14: Add -lgcc to NIX_LDFLAGS to lld, lldb, llvm, compiler-rt and clang This is required to workaround #201254. --- pkgs/development/compilers/llvm/14/clang/default.nix | 3 +++ pkgs/development/compilers/llvm/14/compiler-rt/default.nix | 3 +++ pkgs/development/compilers/llvm/14/lld/default.nix | 3 +++ pkgs/development/compilers/llvm/14/lldb/default.nix | 3 +++ pkgs/development/compilers/llvm/14/llvm/default.nix | 3 +++ 5 files changed, 15 insertions(+) diff --git a/pkgs/development/compilers/llvm/14/clang/default.nix b/pkgs/development/compilers/llvm/14/clang/default.nix index 339ea9e49c5b..48e909ebd453 100644 --- a/pkgs/development/compilers/llvm/14/clang/default.nix +++ b/pkgs/development/compilers/llvm/14/clang/default.nix @@ -26,6 +26,9 @@ let buildInputs = [ libxml2 libllvm ]; + # workaround https://github.com/NixOS/nixpkgs/issues/201254 + NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; + cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++14" "-DCLANGD_BUILD_XPC=OFF" diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix index 4351c56ef530..994d6eaaad6a 100644 --- a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix @@ -35,6 +35,9 @@ stdenv.mkDerivation { "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" ]; + # workaround https://github.com/NixOS/nixpkgs/issues/201254 + NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; + cmakeFlags = [ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" diff --git a/pkgs/development/compilers/llvm/14/lld/default.nix b/pkgs/development/compilers/llvm/14/lld/default.nix index 2e0d893c7feb..8938c5de93f5 100644 --- a/pkgs/development/compilers/llvm/14/lld/default.nix +++ b/pkgs/development/compilers/llvm/14/lld/default.nix @@ -34,6 +34,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ libllvm libxml2 ]; + # workaround https://github.com/NixOS/nixpkgs/issues/201254 + NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; + cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" ]; diff --git a/pkgs/development/compilers/llvm/14/lldb/default.nix b/pkgs/development/compilers/llvm/14/lldb/default.nix index 2493dcde0c84..28d3a2bd3ff4 100644 --- a/pkgs/development/compilers/llvm/14/lldb/default.nix +++ b/pkgs/development/compilers/llvm/14/lldb/default.nix @@ -86,6 +86,9 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ]; + # workaround https://github.com/NixOS/nixpkgs/issues/201254 + NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; + cmakeFlags = [ "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}" "-DLLVM_ENABLE_RTTI=OFF" diff --git a/pkgs/development/compilers/llvm/14/llvm/default.nix b/pkgs/development/compilers/llvm/14/llvm/default.nix index 673cd31460e8..4cc6c80dd4aa 100644 --- a/pkgs/development/compilers/llvm/14/llvm/default.nix +++ b/pkgs/development/compilers/llvm/14/llvm/default.nix @@ -129,6 +129,9 @@ in stdenv.mkDerivation (rec { # E.g. mesa.drivers use the build-id as a cache key (see #93946): LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1"; + # workaround https://github.com/NixOS/nixpkgs/issues/201254 + NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; + cmakeFlags = with stdenv; let # These flags influence llvm-config's BuildVariables.inc in addition to the # general build. We need to make sure these are also passed via From 3bef3f8c4dfc05dc7efdb0727d4f08fd1b970da5 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 1 Dec 2022 08:31:11 +0000 Subject: [PATCH 052/280] pkgsCross.mingwW64.windows.mingw_w64: backport parallel build fixes Without the change build frequently fails on `gnumake-4.4` as: x86_64-w64-mingw32-dlltool: cannot delete libmsvcr120d_defs02133.o: No such file or directory x86_64-w64-mingw32-dlltool: cannot delete libmsvcr120d_defs02134.o: No such file or directory Pull upstream patches that fix temporary file collisions and add missing dll dependencies. --- .../os-specific/windows/mingw-w64/default.nix | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix index 316907f5f679..221bcd8e89f2 100644 --- a/pkgs/os-specific/windows/mingw-w64/default.nix +++ b/pkgs/os-specific/windows/mingw-w64/default.nix @@ -1,4 +1,10 @@ -{ lib, stdenv, windows, fetchurl }: +{ lib +, stdenv +, windows +, fetchurl +, fetchpatch +, autoreconfHook +}: let version = "10.0.0"; @@ -11,6 +17,20 @@ in stdenv.mkDerivation { hash = "sha256-umtDCu1yxjo3aFMfaj/8Kw/eLFejslFFDc9ImolPCJQ="; }; + patches = [ + # Upstream patches to fix build parallelism + (fetchpatch { + name = "crt-suff-make-4.4.patch"; + url = "https://github.com/mirror/mingw-w64/commit/953bcd32ae470c4647e94de8548dda5a8f07d82d.patch"; + hash = "sha256-lrS4ZDa/Uwsj5DXajOUv+knZXan0JVU70KHHdIjJ07Y="; + }) + (fetchpatch { + name = "dll-dep-make-4.4.patch"; + url = "https://github.com/mirror/mingw-w64/commit/e1b0c1420bbd52ef505c71737c57393ac1397b0a.patch"; + hash = "sha256-/56Cmmy0UYTaDKIWG7CgXsThvCHK6lSbekbBOoOJSIQ="; + }) + ]; + outputs = [ "out" "dev" ]; configureFlags = [ @@ -20,6 +40,7 @@ in stdenv.mkDerivation { enableParallelBuilding = true; + nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ windows.mingw_w64_headers ]; hardeningDisable = [ "stackprotector" "fortify" ]; From fcd6daeffeea3a01fd87a1a98c73dae967a386c2 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 2 Dec 2022 02:37:13 +0100 Subject: [PATCH 053/280] cups: unpin 2.2.6 on darwin (#200206) --- pkgs/misc/cups/default.nix | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index c844dbffee40..30e0ce44ca4a 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -26,34 +26,15 @@ with lib; stdenv.mkDerivation rec { pname = "cups"; - # After 2.2.6, CUPS requires headers only available in macOS 10.12+ - version = if stdenv.isDarwin then "2.2.6" else "2.4.2"; + version = "2.4.2"; - src = fetchurl (if stdenv.isDarwin then { - url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz"; - sha256 = "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20"; - } else { + src = fetchurl { url = "https://github.com/OpenPrinting/cups/releases/download/v${version}/cups-${version}-source.tar.gz"; sha256 = "sha256-8DzLQLCH0eMJQKQOAUHcu6Jj85l0wg658lIQZsnGyQg="; - }); + }; outputs = [ "out" "lib" "dev" "man" ]; - patches = lib.optionals (version == "2.2.6") [ - ./0001-TargetConditionals.patch - (fetchpatch { - name = "CVE-2022-26691.patch"; - url = "https://github.com/OpenPrinting/cups/commit/de4f8c196106033e4c372dce3e91b9d42b0b9444.patch"; - sha256 = "sha256-IKOtV7bCS6PstwK6YqnYRYTeH562jWwkley86p+6Of8="; - excludes = [ "CHANGES.md" ]; - }) - (fetchpatch { - name = "CVE-2022-26691-fix-comment.patch"; - url = "https://github.com/OpenPrinting/cups/commit/411b6136f450a583ee08c3880fa09dbe837eb3f1.patch"; - sha256 = "sha256-dVopmr34c9N5H2ZZz52rXVnHQBuDTNo8M40x9455+jQ="; - }) - ]; - postPatch = '' substituteInPlace cups/testfile.c \ --replace 'cupsFileFind("cat", "/bin' 'cupsFileFind("cat", "${coreutils}/bin' @@ -83,8 +64,7 @@ stdenv.mkDerivation rec { ] ++ optional (libusb1 != null) "--enable-libusb" ++ optional (gnutls != null) "--enable-ssl" ++ optional (avahi != null) "--enable-avahi" - ++ optional (libpaper != null) "--enable-libpaper" - ++ optional stdenv.isDarwin "--disable-launchd"; + ++ optional (libpaper != null) "--enable-libpaper"; # AR has to be an absolute path preConfigure = '' @@ -108,6 +88,7 @@ stdenv.mkDerivation rec { installFlags = [ # Don't try to write in /var at build time. "CACHEDIR=$(TMPDIR)/dummy" + "LAUNCHD_DIR=$(TMPDIR)/dummy" "LOGDIR=$(TMPDIR)/dummy" "REQUESTS=$(TMPDIR)/dummy" "STATEDIR=$(TMPDIR)/dummy" From 6fc43b5182977d995c0be4747c2068aa26b6860a Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Thu, 1 Dec 2022 18:15:44 -0800 Subject: [PATCH 054/280] python{27,310}Packages.ciso8601: remove unittest2, break on Python 2 (#203984) --- .../python-modules/ciso8601/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/ciso8601/default.nix b/pkgs/development/python-modules/ciso8601/default.nix index 79afe8500072..0c9a08d33a4f 100644 --- a/pkgs/development/python-modules/ciso8601/default.nix +++ b/pkgs/development/python-modules/ciso8601/default.nix @@ -1,14 +1,15 @@ { lib , buildPythonPackage , fetchFromGitHub +, setuptools +, pytestCheckHook , pytz -, unittest2 -, isPy27 }: buildPythonPackage rec { pname = "ciso8601"; version = "2.2.0"; + format = "pyproject"; src = fetchFromGitHub { owner = "closeio"; @@ -17,10 +18,17 @@ buildPythonPackage rec { sha256 = "sha256-TqB1tQDgCkXu+QuzP6yBEH/xHxhhD/kGR2S0I8Osc5E="; }; + nativeBuildInputs = [ + setuptools + ]; + checkInputs = [ + pytestCheckHook pytz - ] ++ lib.optionals (isPy27) [ - unittest2 + ]; + + pytestFlagsArray = [ + "tests/tests.py" ]; pythonImportsCheck = [ "ciso8601" ]; From c0ae4817572173a4b4c45899d5d6e5a9c7c01d73 Mon Sep 17 00:00:00 2001 From: Vincent Haupert Date: Thu, 1 Dec 2022 11:32:45 +0100 Subject: [PATCH 055/280] linux: enable AMD SME, SEV, SEV-SE, SEV-SNP on x86_64 Enables the following kernel config options for AMD CPUs on x86_64: - `CRYPTO_DEV_CCP`: Enables offloading of crypto operations to AMD's Cryptographic Coprocessor (CCP). Also required by `KVM_AMD_SEV`. - `AMD_MEM_ENCRYPT`: Enables support for Secure Memory Encryption (SME). Please note that `AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT` is not enabled; yet, you you can enable memory encryption by passing `mem_encrypt=on` as a kernal command line option. - `KVM_AMD_SEV`: Enables launching Encrypted VMs (SEV) and Secure VMs with Encrypted State (SEV-ES). - `SEV_GUEST`: Enables support for AMD Secure Encrypted Virtualization with Secure Nested Paging (SEV-SNP). Built as module. Enabling these options is in line with other distros, e.g., Debian, Fedora or Arch Linux. --- pkgs/os-specific/linux/kernel/common-config.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 606a505885d9..f4921958b282 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -521,6 +521,15 @@ let X86_SGX = whenAtLeast "5.11" yes; # Allow KVM guests to load SGX enclaves X86_SGX_KVM = whenAtLeast "5.13" yes; + + # AMD Cryptographic Coprocessor (CCP) + CRYPTO_DEV_CCP = yes; + # AMD SME + AMD_MEM_ENCRYPT = yes; + # AMD SEV and AMD SEV-SE + KVM_AMD_SEV = whenAtLeast "4.16" yes; + # AMD SEV-SNP + SEV_GUEST = whenAtLeast "5.19" module; }; microcode = { From f7cbf3f7caf71cbc189f770fea80d7221baa84c7 Mon Sep 17 00:00:00 2001 From: Victor Engmark Date: Tue, 29 Nov 2022 18:52:27 +1300 Subject: [PATCH 056/280] =?UTF-8?q?build-support:=20Quote=20expansions=20i?= =?UTF-8?q?nside=20`${=E2=80=A6}`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As per ShellCheck: > SC2295 (info): Expansions inside ${..} need to be quoted separately, > otherwise they match as patterns. --- pkgs/build-support/wrapper-common/utils.bash | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/build-support/wrapper-common/utils.bash b/pkgs/build-support/wrapper-common/utils.bash index 0afccadf3384..44b44818c8ed 100644 --- a/pkgs/build-support/wrapper-common/utils.bash +++ b/pkgs/build-support/wrapper-common/utils.bash @@ -104,13 +104,13 @@ badPath() { # directory (including the build directory). test \ "$p" != "/dev/null" -a \ - "${p#${NIX_STORE}}" = "$p" -a \ - "${p#${NIX_BUILD_TOP}}" = "$p" -a \ - "${p#/tmp}" = "$p" -a \ - "${p#${TMP:-/tmp}}" = "$p" -a \ - "${p#${TMPDIR:-/tmp}}" = "$p" -a \ - "${p#${TEMP:-/tmp}}" = "$p" -a \ - "${p#${TEMPDIR:-/tmp}}" = "$p" + "${p#"${NIX_STORE}"}" = "$p" -a \ + "${p#"${NIX_BUILD_TOP}"}" = "$p" -a \ + "${p#/tmp}" = "$p" -a \ + "${p#"${TMP:-/tmp}"}" = "$p" -a \ + "${p#"${TMPDIR:-/tmp}"}" = "$p" -a \ + "${p#"${TEMP:-/tmp}"}" = "$p" -a \ + "${p#"${TEMPDIR:-/tmp}"}" = "$p" } expandResponseParams() { From dc05d07a6afa70dd6878ebec7509fe58404b0fd5 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Thu, 1 Dec 2022 12:36:49 -0800 Subject: [PATCH 057/280] python310Packages.pyopenssl: unbreak on aarch64-darwin This also reenables tests on Darwin. If the tests end up being flaky again, let's disable them individually (if we can't fix them). --- .../python-modules/pyopenssl/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index 2a81ebf40efe..082ebdfae6fd 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , fetchPypi +, fetchpatch , openssl , cryptography , pytestCheckHook @@ -21,15 +22,19 @@ buildPythonPackage rec { sha256 = "sha256-eoO3snLdWVIi1nL1zimqAw8fuDdjDvIp9i5y45XOiWg="; }; + patches = [ + (fetchpatch { + name = "fix-flaky-darwin-handshake-tests.patch"; + url = "https://github.com/pyca/pyopenssl/commit/8a75898356806784caf742e8277ef03de830ce11.patch"; + hash = "sha256-UVsZ8Nq1jUTZhOUAilRgdtqMYp4AN7qvWHqc6RleqRI="; + }) + ]; + postPatch = '' # remove cryptography pin sed "/cryptography/ s/,<[0-9]*//g" setup.py ''; - # Seems to fail unpredictably on Darwin. See https://hydra.nixos.org/build/49877419/nixlog/1 - # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail. - doCheck = !stdenv.isDarwin; - nativeBuildInputs = [ openssl ]; propagatedBuildInputs = [ cryptography ]; @@ -79,7 +84,5 @@ buildPythonPackage rec { homepage = "https://github.com/pyca/pyopenssl"; license = licenses.asl20; maintainers = with maintainers; [ SuperSandro2000 ]; - # https://github.com/pyca/pyopenssl/issues/873 - broken = stdenv.isDarwin && stdenv.isAarch64; }; } From 146620355f7861545722b1e6b112f4d1acc6b249 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Fri, 2 Dec 2022 18:15:01 +0000 Subject: [PATCH 058/280] nixosTests.postgresql: Fix attribute name shadowing --- nixos/tests/postgresql.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 6b57e69acde9..7e0a82c38828 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -217,8 +217,10 @@ let ''; }; in - (mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // - (mapAttrs' (name: package: { inherit name; value=mk-ensure-clauses-test name package;}) postgresql-versions) // - { + concatMapAttrs (name: package: { + ${name} = make-postgresql-test name package false; + ${name + "-clauses"} = mk-ensure-clauses-test name package; + }) postgresql-versions + // { postgresql_11-backup-all = make-postgresql-test "postgresql_11-backup-all" postgresql-versions.postgresql_11 true; } From ce512b678cac6d100b48e6dab90cae5626df08d2 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 8 Feb 2022 09:54:48 +0800 Subject: [PATCH 059/280] x265: disable asm on riscv --- pkgs/development/libraries/x265/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index b4a7777b8911..7e81d8ff6115 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -34,6 +34,8 @@ let (mkFlag ppaSupport "ENABLE_PPA") (mkFlag vtuneSupport "ENABLE_VTUNE") (mkFlag werrorSupport "WARNINGS_AS_ERRORS") + # Potentially riscv cross could be fixed by providing the correct CMAKE_SYSTEM_PROCESSOR flag + (mkFlag (!(isCross && stdenv.hostPlatform.isRiscV)) "ENABLE_ASSEMBLY") ]; cmakeStaticLibFlags = [ From 72231c917775e59330199b46915d74cb2722e502 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 2 Dec 2022 22:50:55 +0100 Subject: [PATCH 060/280] cpython: Restore libxcrypt CFLAGS and LIBS in configureFlags --- pkgs/development/interpreters/python/cpython/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 1c5564290cf5..fb6bffd2594f 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -308,6 +308,9 @@ in with passthru; stdenv.mkDerivation { "--enable-loadable-sqlite-extensions" ] ++ optionals (openssl' != null) [ "--with-openssl=${openssl'.dev}" + ] ++ optionals (libxcrypt != null) [ + "CFLAGS=-I${libxcrypt}/include" + "LIBS=-L${libxcrypt}/lib" ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "ac_cv_buggy_getaddrinfo=no" # Assume little-endian IEEE 754 floating point when cross compiling From 7328b78fb58b8bb26d29b9421d2fa6b55bcf2199 Mon Sep 17 00:00:00 2001 From: Ethin Probst Date: Mon, 25 Jul 2022 16:58:46 -0500 Subject: [PATCH 061/280] libhwy: 0.15.0 -> 1.0.2 --- pkgs/development/libraries/libhwy/default.nix | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/libhwy/default.nix b/pkgs/development/libraries/libhwy/default.nix index 43b2e93d8270..66f273ba3f28 100644 --- a/pkgs/development/libraries/libhwy/default.nix +++ b/pkgs/development/libraries/libhwy/default.nix @@ -1,33 +1,23 @@ -{ lib, stdenv, cmake, ninja, gtest, fetchpatch, fetchFromGitHub }: +{ lib, stdenv, cmake, ninja, gtest, fetchFromGitHub }: stdenv.mkDerivation rec { pname = "libhwy"; - version = "0.15.0"; + version = "1.0.2"; src = fetchFromGitHub { owner = "google"; repo = "highway"; rev = version; - sha256 = "sha256-v2HyyHtBydr7QiI83DW1yRv2kWjUOGxFT6mmdrN9XPo="; + hash = "sha256-CHzDLzOnu/QfejWiRKE9I5UUyRxoEooNtYVe8FQwu7c="; }; - patches = [ - # Remove on next release - # https://github.com/google/highway/issues/460 - (fetchpatch { - name = "hwy-add-missing-includes.patch"; - url = "https://github.com/google/highway/commit/8ccab40c2f931aca6004d175eec342cc60f6baec.patch"; - sha256 = "sha256-wlp5gIvK2+OlKtsZwxq/pXTbESkUtimHXaYDjcBzmQ0="; - }) - ]; - nativeBuildInputs = [ cmake ninja ]; # Required for case-insensitive filesystems ("BUILD" exists) dontUseCmakeBuildDir = true; cmakeFlags = let - libExt = stdenv.hostPlatform.extensions.library; + libExt = stdenv.hostPlatform.extensions.sharedLibrary; in [ "-GNinja" "-DCMAKE_INSTALL_LIBDIR=lib" @@ -37,6 +27,8 @@ stdenv.mkDerivation rec { "-DGTEST_INCLUDE_DIR=${lib.getDev gtest}/include" "-DGTEST_LIBRARY=${lib.getLib gtest}/lib/libgtest${libExt}" "-DGTEST_MAIN_LIBRARY=${lib.getLib gtest}/lib/libgtest_main${libExt}" + ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + "-DHWY_CMAKE_ARM7=ON" ]; # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408 From a31e0568a71360bf0407585935ebbb5a654227dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20=F0=9F=A6=9D=20Delenk?= Date: Thu, 1 Dec 2022 17:15:17 +0100 Subject: [PATCH 062/280] libjxl: 0.6.1 -> 0.7.0 --- pkgs/development/libraries/libjxl/default.nix | 45 +++---------------- 1 file changed, 6 insertions(+), 39 deletions(-) diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix index 567d985fd3d4..dcfd43702e4a 100644 --- a/pkgs/development/libraries/libjxl/default.nix +++ b/pkgs/development/libraries/libjxl/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { pname = "libjxl"; - version = "0.6.1"; + version = "0.7.0"; outputs = [ "out" "dev" ]; @@ -29,47 +29,11 @@ stdenv.mkDerivation rec { owner = "libjxl"; repo = "libjxl"; rev = "v${version}"; - sha256 = "sha256-fTK5hyU9PZ6nigMsfzVugwviihgAXfEcLF+l+n5h+54="; + sha256 = "sha256-9DBLQ/gMyy2ZUm7PCWYJ7XOzkgQM0cAewJZzMNo8UPs="; # There are various submodules in `third_party/`. fetchSubmodules = true; }; - patches = [ - # present in master, see https://github.com/libjxl/libjxl/pull/1403 - (fetchpatch { - name = "prefixless-pkg-config.patch"; - url = "https://github.com/libjxl/libjxl/commit/0b906564bfbfd8507d61c5d6a447f545f893227c.patch"; - sha256 = "1g5c6lrsmgxb9j64pjy8lbdgbvw834m5jyfivy9ppmd8iiv0kkq4"; - }) - - # present in master, remove after 0.7? - (fetchpatch { - name = "fix-link-lld-macho.patch"; - url = "https://github.com/libjxl/libjxl/commit/88fe3fff3dc70c72405f57c69feffd9823930034.patch"; - sha256 = "1419fyiq4srpj72cynwyvqy8ldi7vn9asvkp5fsbmiqkyhb15jpk"; - }) - - # "robust statistics" have been removed in upstream mainline as they are - # conidered to cause "interoperability problems". sure enough the tests - # fail with precision issues on aarch64. - (fetchpatch { - name = "remove-robust-and-descriptive-statistics.patch"; - url = "https://github.com/libjxl/libjxl/commit/204f87a5e4d684544b13900109abf040dc0b402b.patch"; - sha256 = "sha256-DoAaYWLmQ+R9GZbHMTYGe0gBL9ZesgtB+2WhmbARna8="; - }) - - # fix build with asciidoc wrapped in shell script - (fetchpatch { - url = "https://github.com/libjxl/libjxl/commit/b8ec58c58c6281987f42ebec892f513824c0cc0e.patch"; - hash = "sha256-g8U+YVhLfgSHJ+PWJgvVOI66+FElJSC8IgSRodNnsMw="; - }) - (fetchpatch { - url = "https://github.com/libjxl/libjxl/commit/ca8e276aacf63a752346a6a44ba673b0af993237.patch"; - excludes = [ "AUTHORS" ]; - hash = "sha256-9VXy1LdJ0JhYbCGPNMySpnGLBxUrr8BYzE+oU3LnUGw="; - }) - ]; - nativeBuildInputs = [ cmake gtest @@ -136,10 +100,13 @@ stdenv.mkDerivation rec { # * the `gimp` one, which allows GIMP to load jpeg-xl files # "-DJPEGXL_ENABLE_PLUGINS=ON" ] ++ lib.optionals stdenv.hostPlatform.isStatic [ - "-DJPEGXL_STATIC=ON" + "-DJPEGXL_STATIC=ON" + ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ + "-DJPEGXL_FORCE_NEON=ON" ]; LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic"; + CXXFLAGS = lib.optionalString stdenv.hostPlatform.isAarch32 "-mfp16-format=ieee"; doCheck = !stdenv.hostPlatform.isi686; From 1d0b9702fccd3cad33384c73f5dc8a37608c54e1 Mon Sep 17 00:00:00 2001 From: Zane van Iperen Date: Fri, 2 Dec 2022 19:15:18 +1000 Subject: [PATCH 063/280] bintools-wrapper: add dlltool, dllwrap, windmc, and windres --- pkgs/build-support/bintools-wrapper/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index b54983986dbe..121b50fe0f52 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -167,7 +167,8 @@ stdenv.mkDerivation { # Create symlinks for rest of the binaries. + '' - for binary in objdump objcopy size strings as ar nm gprof dwp c++filt addr2line ranlib readelf elfedit; do + for binary in objdump objcopy size strings as ar nm gprof dwp c++filt addr2line \ + ranlib readelf elfedit dlltool dllwrap windmc windres; do if [ -e $ldPath/${targetPrefix}''${binary} ]; then ln -s $ldPath/${targetPrefix}''${binary} $out/bin/${targetPrefix}''${binary} fi From fa9f9f8361dcc87cbc496d76ff0cd6a40083c58f Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Fri, 2 Dec 2022 17:05:27 -0700 Subject: [PATCH 064/280] mesa: Actually build more Vulkan drivers on aarch64-linux If `auto` exists, the entire list of Vulkan drivers is replaced so our additions aren't honored: Co-authored-by: K900 --- pkgs/development/libraries/mesa/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index bcc34905a23f..113f3be326a3 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -8,7 +8,7 @@ , vulkan-loader, glslang , galliumDrivers ? ["auto"] # upstream Mesa defaults to only enabling swrast (aka lavapipe) on aarch64 for some reason, so force building the others -, vulkanDrivers ? [ "auto" ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ "broadcom" "freedreno" "panfrost" ] +, vulkanDrivers ? if (stdenv.isLinux && stdenv.isAarch64) then [ "swrast" "broadcom" "freedreno" "panfrost" ] else [ "auto" ] , eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" ] , vulkanLayers ? lib.optionals (!stdenv.isDarwin) [ "device-select" "overlay" ] # No Vulkan support on Darwin , OpenGL, Xplugin From 6fcc794d278e31e8e93a9607e102770520566e01 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 3 Dec 2022 14:00:18 +0000 Subject: [PATCH 065/280] gv: add explicit libXext build depend A preparation to remove xlibsWrapper from Xaw3d's propagatedbuildInputs. --- pkgs/applications/misc/gv/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix index d5aa1ac88179..ca12e3bc77a9 100644 --- a/pkgs/applications/misc/gv/default.nix +++ b/pkgs/applications/misc/gv/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, Xaw3d, ghostscriptX, perl, pkg-config, libiconv }: +{ lib, stdenv, fetchurl, libXext, Xaw3d, ghostscriptX, perl, pkg-config, libiconv }: stdenv.mkDerivation rec { pname = "gv"; @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ + libXext Xaw3d ghostscriptX perl From 90c066a6db7cc3e52a9df19fc4308dee6e434928 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 3 Dec 2022 13:25:00 +0000 Subject: [PATCH 066/280] Xaw3d: use xorg.* packages directly instead of xlibsWrapper indirection Validated as no change in `out` output with `diffoscope`. --- pkgs/development/libraries/Xaw3d/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix index 3ec220ca80de..f358a59ad62d 100644 --- a/pkgs/development/libraries/Xaw3d/default.nix +++ b/pkgs/development/libraries/Xaw3d/default.nix @@ -6,10 +6,12 @@ , bison , flex , pkg-config -, xlibsWrapper +, libXext , libXmu , libXpm , libXp +, libXt +, xorgproto }: stdenv.mkDerivation rec { @@ -22,8 +24,8 @@ stdenv.mkDerivation rec { }; dontUseImakeConfigure = true; nativeBuildInputs = [ pkg-config bison flex imake gccmakedep ]; - buildInputs = [ libXpm libXp ]; - propagatedBuildInputs = [ xlibsWrapper libXmu ]; + buildInputs = [ libXext libXpm libXp ]; + propagatedBuildInputs = [ libXmu libXt xorgproto ]; meta = with lib; { description = "3D widget set based on the Athena Widget set"; From cfe4a8d8702a18389e95c81d89c15adf87bc1b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 3 Dec 2022 15:45:00 +0100 Subject: [PATCH 067/280] mpfr: apply patch from upstream https://gitlab.inria.fr/mpfr/mpfr/-/issues/1 https://hydra.nixos.org/build/200151047 https://hydra.nixos.org/build/200136667 https://hydra.nixos.org/build/200412284 --- pkgs/development/libraries/mpfr/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index 76d2c9e0ece9..45a443ffb139 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -11,7 +11,7 @@ # files. stdenv.mkDerivation rec { - version = "4.1.1"; + version = "4.1.1_p1"; pname = "mpfr"; src = fetchurl { @@ -22,6 +22,13 @@ stdenv.mkDerivation rec { hash = "sha256-/9GVvVZ9uv/DuYsj/QCq0FN2gMmJYXHkT+P/eeKKwz0="; }; + patches = [ + (fetchurl { # https://gitlab.inria.fr/mpfr/mpfr/-/issues/1 + url = "https://www.mpfr.org/mpfr-4.1.1/patch01"; + hash = "sha256-gKPCcJviGsqsEqnMmYiNY6APp3+3VXbyBf6LoZhP9Eo="; + }) + ]; + outputs = [ "out" "dev" "doc" "info" ]; strictDeps = true; From 4ff395c061a479ff8a7d2b1b920e0918f874e2be Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 3 Dec 2022 16:12:10 +0000 Subject: [PATCH 068/280] xz: 5.2.8 -> 5.2.9 Changes: https://git.tukaani.org/?p=xz.git;a=blob_plain;f=NEWS --- pkgs/tools/compression/xz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 3b7600661067..abc19356c950 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { pname = "xz"; - version = "5.2.8"; + version = "5.2.9"; src = fetchurl { url = "https://tukaani.org/xz/xz-${version}.tar.bz2"; - sha256 = "H4pD2fzzJdBJox/kUU3IxEptAM6IYNSMQhLR40nSo+0="; + sha256 = "sZRQf7o6Rip1PFUxSczaoWgze8t97v3dBnuph8g9/OY="; }; strictDeps = true; From 35cff8f5b844144fc83f73d4156e0112cf1e97c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 3 Dec 2022 18:29:08 +0100 Subject: [PATCH 069/280] mpfr: revert the `version` change It broke src URLs. We normally don't change `version` when patching. --- pkgs/development/libraries/mpfr/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index 45a443ffb139..7d9e94c6f909 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -11,7 +11,7 @@ # files. stdenv.mkDerivation rec { - version = "4.1.1_p1"; + version = "4.1.1"; pname = "mpfr"; src = fetchurl { From 8337de24f57e006b2c58a799e02b694fcb3b6f4f Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 2 Dec 2022 10:20:58 +0000 Subject: [PATCH 070/280] pipewire: 0.3.60 -> 0.3.61 Fixes musl build. --- .../libraries/pipewire/default.nix | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index 3f0baf2a24d0..5b6573cb4313 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -68,7 +68,7 @@ let self = stdenv.mkDerivation rec { pname = "pipewire"; - version = "0.3.60"; + version = "0.3.61"; outputs = [ "out" @@ -86,7 +86,7 @@ let owner = "pipewire"; repo = "pipewire"; rev = version; - sha256 = "sha256-HDE2QAV2jnEJCqgiGx4TVP4ceeKAqwd4P3OYw6auNAM="; + sha256 = "H1212aCsMENSmxhJiKF/RnpWK1bEz4HX2a1PJW6CC2U="; }; patches = [ @@ -102,26 +102,6 @@ let ./0090-pipewire-config-template-paths.patch # Place SPA data files in lib output to avoid dependency cycles ./0095-spa-data-dir.patch - - # Following are backported patches as recommended by upstream. - # FIXME: remove in 0.3.61 - # fix tdesktop with pw-pulse - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b720da771efa950cf380101bed42d5d5ee177908.diff"; - hash = "sha256-p/BvatnbEJAMLQUUOECKAK7FppaNp9ei3FHjAw2spM8="; - }) - - # fix a crash when quickly switching Bluetooth profiles - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/bf3516ba0496b644b3944b114253f23964178897.diff"; - hash = "sha256-LqasplS/azCPekslJQPTd9MZkUcRqA0ks94FtwyY3GA="; - }) - - # fix no sound in VMs (Pipewire on the guest) - (fetchpatch { - url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/b46d8a8c921a8da6883610ad4b68da95bf59b59e.diff"; - hash = "sha256-2VHBwXbzUAGP/fG4xxoFLHSb9oXQK1BPuNv3zAV8cEg="; - }) ]; nativeBuildInputs = [ From 36e072c88bbe8d92b999fde31e581080229c0b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 3 Dec 2022 04:36:03 +0100 Subject: [PATCH 071/280] python310Packages.skia-pathops: 0.7.2 -> 0.7.4 --- pkgs/development/python-modules/skia-pathops/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/skia-pathops/default.nix b/pkgs/development/python-modules/skia-pathops/default.nix index 4da35b98f4a4..49afcf810935 100644 --- a/pkgs/development/python-modules/skia-pathops/default.nix +++ b/pkgs/development/python-modules/skia-pathops/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "skia-pathops"; - version = "0.7.2"; + version = "0.7.4"; src = fetchPypi { pname = "skia-pathops"; inherit version; extension = "zip"; - sha256 = "sha256-Gdhcmv77oVr5KxPIiJlk935jgvWPQsYEC0AZ6yjLppA="; + sha256 = "sha256-Ci/e6Ht62wGMv6bpXvnkKZ7WOwCAvidnejD/77ypE1A="; }; postPatch = '' From a77f49d19b77fb9ea290c098886d4c823920d960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sun, 4 Dec 2022 11:34:24 +0100 Subject: [PATCH 072/280] python310Packages.cryptography: 38.0.3 -> 38.0.4 --- pkgs/development/python-modules/cryptography/default.nix | 6 +++--- pkgs/development/python-modules/cryptography/vectors.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index 0bbc30cd23c2..d5e4af33f601 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -27,19 +27,19 @@ let in buildPythonPackage rec { pname = "cryptography"; - version = "38.0.3"; # Also update the hash in vectors.nix + version = "38.0.4"; # Also update the hash in vectors.nix disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-v75u4ZYVsHqYsdIofWpgc/c0c1tJ7kWxEyTYXvxNXL0="; + hash = "sha256-F1wagYuHyayAu3N39VILfzGz7yoABOJCAxm+re22cpA="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; sourceRoot = "${pname}-${version}/${cargoRoot}"; name = "${pname}-${version}"; - hash = "sha256-lzHLW1N4hZj+nn08NZiPVM/X+SEcIsuZDjEOy0OOkSc="; + hash = "sha256-BN0kOblUwgHj5QBf52RY2Jx0nBn03lwoN1O5PEohbwY="; }; cargoRoot = "src/rust"; diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix index f4573a79d102..4de95b000263 100644 --- a/pkgs/development/python-modules/cryptography/vectors.nix +++ b/pkgs/development/python-modules/cryptography/vectors.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "cryptography_vectors"; inherit version; - hash = "sha256-HNr9QvU0jXfk5+R5Gu/R9isWvVUqAnSvyTRlM/4y6SU="; + hash = "sha256-bsYmlb7F34ECiN3OrpmK5pHNuKFigI1svJYNPeuafbE="; }; # No tests included From 4a94d77712e5d0e758e1df019542f97efe2999ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 4 Dec 2022 16:01:01 +0100 Subject: [PATCH 073/280] buildGo{module,package}: do not build with verbose flags This creates a lot of noise that can hide actual compile errors. --- pkgs/build-support/go/module.nix | 2 +- pkgs/build-support/go/package.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix index 84d9023209d3..647f2a2f7adc 100644 --- a/pkgs/build-support/go/module.nix +++ b/pkgs/build-support/go/module.nix @@ -209,7 +209,7 @@ let flags+=($buildFlags "''${buildFlagsArray[@]}") flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) flags+=(''${ldflags:+-ldflags="$ldflags"}) - flags+=("-v" "-p" "$NIX_BUILD_CORES") + flags+=("-p" "$NIX_BUILD_CORES") if [ "$cmd" = "test" ]; then flags+=(-vet=off) diff --git a/pkgs/build-support/go/package.nix b/pkgs/build-support/go/package.nix index 957a65572b85..ba1ab37a0c0e 100644 --- a/pkgs/build-support/go/package.nix +++ b/pkgs/build-support/go/package.nix @@ -168,7 +168,7 @@ let flags+=($buildFlags "''${buildFlagsArray[@]}") flags+=(''${tags:+-tags=${lib.concatStringsSep "," tags}}) flags+=(''${ldflags:+-ldflags="$ldflags"}) - flags+=("-v" "-p" "$NIX_BUILD_CORES") + flags+=("-p" "$NIX_BUILD_CORES") if [ "$cmd" = "test" ]; then flags+=(-vet=off) From ea1011899346928c5882fdb8d6cb1db771dbc1f2 Mon Sep 17 00:00:00 2001 From: Cole Mickens Date: Sun, 4 Dec 2022 09:24:44 -0800 Subject: [PATCH 074/280] wayland-protocols: 1.30 -> 1.31 (#204057) Release announcement: https://lists.freedesktop.org/archives/wayland-devel/2022-November/042524.html --- 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 d9257b7dec6f..1d4b62788935 100644 --- a/pkgs/development/libraries/wayland/protocols.nix +++ b/pkgs/development/libraries/wayland/protocols.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "wayland-protocols"; - version = "1.30"; + version = "1.31"; doCheck = stdenv.hostPlatform == stdenv.buildPlatform; src = fetchurl { url = "https://gitlab.freedesktop.org/wayland/${pname}/-/releases/${version}/downloads/${pname}-${version}.tar.xz"; - hash = "sha256-PBSY+2X9K4CwN21+h88hXmrpV7LM26XaRaRIcYgxvGA="; + hash = "sha256-oH+nIu2HZ27AINhncUvJovJMRk2nORLzlwbu71IZ4jg="; }; postPatch = lib.optionalString doCheck '' From c571595dca9379edfeb0ad9d1316efce34b86e37 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 4 Dec 2022 22:14:15 +0000 Subject: [PATCH 075/280] re2: 2022-06-01 -> 2022-12-01 --- pkgs/development/libraries/re2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix index 857da102bb8c..dafc91e6dcfa 100644 --- a/pkgs/development/libraries/re2/default.nix +++ b/pkgs/development/libraries/re2/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "re2"; - version = "2022-06-01"; + version = "2022-12-01"; src = fetchFromGitHub { owner = "google"; repo = "re2"; rev = version; - hash = "sha256-UontAjOXpnPcOgoFHjf+1WSbCR7h58/U7nn4meT200Y="; + hash = "sha256-RmPXfavSKVnnl/RJ5aTjc/GbkPz+EXiFg1n5e4s6wjw="; }; outputs = [ "out" "dev" ]; From ca4458830d84d9f425ed5e6420bc4695f3de3705 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Sun, 4 Dec 2022 18:51:00 -0800 Subject: [PATCH 076/280] rav1e: 0.5.1 -> 0.6.1 --- pkgs/tools/video/rav1e/default.nix | 23 ++++++++++++++++++----- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix index ed6a8f542343..8a2d6f744422 100644 --- a/pkgs/tools/video/rav1e/default.nix +++ b/pkgs/tools/video/rav1e/default.nix @@ -1,20 +1,33 @@ -{ lib, rust, stdenv, rustPlatform, fetchCrate, nasm, cargo-c, libiconv }: +{ lib +, rust +, stdenv +, rustPlatform +, fetchCrate +, nasm +, cargo-c +, libiconv +, Security +}: let rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform; in rustPlatform.buildRustPackage rec { pname = "rav1e"; - version = "0.5.1"; + version = "0.6.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-v2i/dMWos+nB3cRDOkROSOPb1ONRosbmp9RDZI2DLeI="; + sha256 = "sha256-70O9/QRADaEYVvZjEfuBOxPF8lCZ138L2fbFWpj3VUw="; }; - cargoSha256 = "sha256-V9QbztkFj3t5yBV+yySysDy3Q6IUY4gNzBL8h23aEg4="; + cargoHash = "sha256-iHOmItooNsGq6iTIb9M5IPXMwYh2nQ03qfjomkgCdgw="; nativeBuildInputs = [ nasm cargo-c ]; - buildInputs = lib.optionals stdenv.isDarwin [ libiconv ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + libiconv + Security + ]; checkType = "debug"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1647fe4f8abf..ae955b4009ef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5348,7 +5348,9 @@ with pkgs; rainloop-community rainloop-standard; - rav1e = callPackage ../tools/video/rav1e { }; + rav1e = callPackage ../tools/video/rav1e { + inherit (darwin.apple_sdk.frameworks) Security; + }; raven-reader = callPackage ../applications/networking/newsreaders/raven-reader { }; From d6e3bd1943332b6db5d45075ccae413de7f14511 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 4 Dec 2022 00:28:24 +0000 Subject: [PATCH 077/280] =?UTF-8?q?networkmanager:=201.40.2=20=E2=86=92=20?= =?UTF-8?q?1.40.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/compare/1.40.2...1.40.6 Changelog-Reviewed-By: Jan Tojnar --- pkgs/tools/networking/networkmanager/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index 3a2b2ef175e9..03c205f2d647 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -58,11 +58,11 @@ let in stdenv.mkDerivation rec { pname = "networkmanager"; - version = "1.40.2"; + version = "1.40.6"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; - sha256 = "sha256-sSbnWiNJNsmcR7JZxVEg692b92rE79MMmBHlagSBwnM="; + sha256 = "sha256-LwJbLVr33lk7v0fBfk2YorlgjqkKgmD7CAgL6XQ5U04="; }; outputs = [ "out" "dev" "devdoc" "man" "doc" ]; From 26c6895e1005b3e4f6dfe0d16afbd1f12d0a054c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 4 Dec 2022 00:28:17 +0000 Subject: [PATCH 078/280] =?UTF-8?q?mobile-broadband-provider-info:=2020220?= =?UTF-8?q?725=20=E2=86=92=2020221107?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/mobile-broadband-provider-info/-/compare/20220725...20221107 Changelog-Reviewed-By: Jan Tojnar --- pkgs/data/misc/mobile-broadband-provider-info/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix index 85f45ec516df..104ec58f718f 100644 --- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix +++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mobile-broadband-provider-info"; - version = "20220725"; + version = "20221107"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-SEWuAcKH8t+wIrxi1ZoUiHP/xKZz9RAgViZXQm1jKs0="; + sha256 = "sha256-2TOSVmw0epbu2V2oxmpdoN2U9BFc+zowX/JoLGTP2BA="; }; nativeBuildInputs = [ From c4f9092cfe802af5bb0748070785a835e1e0ecac Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 4 Dec 2022 00:27:46 +0000 Subject: [PATCH 079/280] =?UTF-8?q?gtk3:=203.24.34=20=E2=86=92=203.24.35?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/gtk/-/compare/3.24.34...3.24.35 Changelog-Reviewed-By: Jan Tojnar --- pkgs/development/libraries/gtk/3.x.nix | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index c06aa9469937..282486dc88d5 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -2,6 +2,7 @@ , stdenv , substituteAll , fetchurl +, fetchpatch2 , pkg-config , gettext , docbook-xsl-nons @@ -60,7 +61,7 @@ in stdenv.mkDerivation rec { pname = "gtk+3"; - version = "3.24.34"; + version = "3.24.35"; outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc"; outputBin = "dev"; @@ -72,12 +73,22 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz"; - sha256 = "sha256-28afkN3IIbjRRB8AN03B2kMjour6kHjmHtvl7u+oUuw="; + sha256 = "sha256-7BD+bXEu8LPGO1+TJjnJ0a6Z/OlPUA9vBpZWKf72C9E="; }; patches = [ ./patches/3.0-immodules.cache.patch ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch + + # Add accidentally non-dist’d build file. + # https://gitlab.gnome.org/GNOME/gtk/-/commit/b2ad8d2abafbd94c7e58e5e1b98c92e6b6fa6d9a + (fetchpatch2 { + url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/66a199806ceb3daa5e2c7d3a5b45a86007cec46a.patch"; + includes = [ + "gdk/wayland/cursor/meson.build" + ]; + sha256 = "cOOcSB3yphff2+7l7YpFbGSswWjV8lJ2tk+Vjgl1ras="; + }) ] ++ lib.optionals stdenv.isDarwin [ # X11 module requires which is not installed on Darwin # let’s drop that dependency in similar way to how other parts of the library do it From 87e2db4486d96d34eeb365ad5ca9f62837842899 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 5 Dec 2022 17:58:21 +0000 Subject: [PATCH 080/280] =?UTF-8?q?tracker:=203.4.1=20=E2=86=92=203.4.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/tracker/-/compare/3.4.1...3.4.2 Changelog-Reviewed-By: Jan Tojnar --- pkgs/development/libraries/tracker/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index 364306667624..e5ea8b17f6aa 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation rec { pname = "tracker"; - version = "3.4.1"; + version = "3.4.2"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "6p1BqfucK0KtgPwsgjJ7XHE9WUyWmwnhpJvmP7dPT64="; + sha256 = "Tm3xQqT3BIePypjrtaIkdQ5epUaqKqq6pyanNUC9FzE="; }; postPatch = '' From 423e7b38f562a97a7c094fa0abe05f9b1ce2dc6b Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 4 Dec 2022 00:28:29 +0000 Subject: [PATCH 081/280] =?UTF-8?q?pango:=201.50.11=20=E2=86=92=201.50.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/pango/-/compare/1.50.11...1.50.12 Changelog-Reviewed-By: Jan Tojnar --- pkgs/development/libraries/pango/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 3beeaa67321e..e6d9a6d7b89d 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation rec { pname = "pango"; - version = "1.50.11"; + version = "1.50.12"; outputs = [ "bin" "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "iAD4Etie5hOIGIcDID86eHiWPCL4aVqvH6ChoUKNF64="; + sha256 = "yu+W0nu+eSpr6ScnxzRo2DKxPaV8gHHvebnfae4Fj+M="; }; depsBuildBuild = [ From 2edad4b9c2f0e197c0d016566efdcff3f147edea Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 4 Dec 2022 00:25:43 +0000 Subject: [PATCH 082/280] =?UTF-8?q?glib:=202.74.1=20=E2=86=92=202.74.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://gitlab.gnome.org/GNOME/glib/-/compare/2.74.1...2.74.3 Changelog-Reviewed-By: Jan Tojnar --- pkgs/development/libraries/glib/default.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 2e06967dc8bc..cc78aae15a9e 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -56,11 +56,11 @@ in stdenv.mkDerivation (finalAttrs: { pname = "glib"; - version = "2.74.1"; + version = "2.74.3"; src = fetchurl { url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz"; - sha256 = "CrmBYY0dtHhF5WQXsNfBI/gaNCeyuck/Wkb/W7uWSWQ="; + sha256 = "6bxB7NlpDZvGqXDMc4ARm4KOW2pLFsOTxjiz3CuHy8s="; }; patches = lib.optionals stdenv.isDarwin [ @@ -118,14 +118,6 @@ stdenv.mkDerivation (finalAttrs: { # Disable flaky test. # https://gitlab.gnome.org/GNOME/glib/-/issues/820 ./skip-timer-test.patch - - # Fix infinite loop (e.g. in gnome-keyring) - # https://github.com/NixOS/nixpkgs/pull/197754#issuecomment-1312805358 - # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3039 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/glib/-/commit/2a36bb4b7e46f9ac043561c61f9a790786a5440c.patch"; - sha256 = "b77Hxt6WiLxIGqgAj9ZubzPWrWmorcUOEe/dp01BcXA="; - }) ]; outputs = [ "bin" "out" "dev" "devdoc" ]; From 8d2372e44a4d77f6595300d981e7b13ca49f3ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 5 Dec 2022 23:00:14 +0100 Subject: [PATCH 083/280] spirv-llvm-translator: bump to intel-graphics-compiler recommended version --- pkgs/development/compilers/spirv-llvm-translator/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix index 9a075ad5a510..971b3e8399df 100644 --- a/pkgs/development/compilers/spirv-llvm-translator/default.nix +++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix @@ -22,8 +22,8 @@ let hash = "sha256-BhNAApgZ/w/92XjpoDY6ZEIhSTwgJ4D3/EfNvPmNM2o="; } else if llvmMajor == "11" then { version = "unstable-2022-05-04"; - rev = "a31ffaeef77e23d500b3ea3d35e0c42ff5648ad9"; # 266 commits ahead of v11.0.0 - hash = "sha256-rkYMFVfS3xG8ozs7zhiSBjIxvxEetetctE+fLS3hXoU="; + rev = "4ef524240833abfeee1c5b9fff6b1bd53f4806b3"; # 267 commits ahead of v11.0.0 + hash = "sha256-NoIoa20+2sH41rEnr8lsMhtfesrtdPINiXtUnxYVm8s="; } else throw "Incompatible LLVM version."; in stdenv.mkDerivation { From 19b27fb2bfe64a9a73c40e0fac2383f87e77bed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 5 Dec 2022 23:08:23 +0100 Subject: [PATCH 084/280] intel-graphics-compiler: 1.0.12260.1 -> 1.0.12504.5 --- .../compilers/intel-graphics-compiler/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix index 5a085d3340d8..0570450b32bf 100644 --- a/pkgs/development/compilers/intel-graphics-compiler/default.nix +++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix @@ -19,8 +19,8 @@ let vc_intrinsics_src = fetchFromGitHub { owner = "intel"; repo = "vc-intrinsics"; - rev = "v0.6.0"; - sha256 = "sha256-seVqRtdQ4ciWhsXzneS7pG1aaFtw28SPu9XDkBtr5nc="; + rev = "v0.7.1"; + sha256 = "sha256-bpi4hLpov1CbFy4jr9Eytc5O4ismYw0J+KgXyZtQYks="; }; llvmPkgs = llvmPackages_11 // { @@ -33,13 +33,13 @@ in stdenv.mkDerivation rec { pname = "intel-graphics-compiler"; - version = "1.0.12260.1"; + version = "1.0.12504.5"; src = fetchFromGitHub { owner = "intel"; repo = "intel-graphics-compiler"; rev = "igc-${version}"; - sha256 = "sha256-fNBgJGIpHC+rnKsV1Kq1ubz/4l0+ltUHaUpaWsYTgmg="; + sha256 = "sha256-Ok+cXMTBABrHHM4Vc2yzlou48YHoQnaB3We8mGZhSwI="; }; nativeBuildInputs = [ cmake bison flex python3 ]; @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { doCheck = false; postPatch = '' - substituteInPlace ./external/SPIRV-Tools/CMakeLists.txt \ + substituteInPlace external/SPIRV-Tools/CMakeLists.txt \ --replace '$'''{SPIRV-Tools_DIR}../../..' \ '${spirv-tools}' \ --replace 'SPIRV-Headers_INCLUDE_DIR "/usr/include"' \ @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { 'set_target_properties(SPIRV-Tools-shared' \ --replace 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools' \ 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools-shared' - substituteInPlace ./IGC/AdaptorOCL/igc-opencl.pc.in \ + substituteInPlace IGC/AdaptorOCL/igc-opencl.pc.in \ --replace '/@CMAKE_INSTALL_INCLUDEDIR@' "/include" \ --replace '/@CMAKE_INSTALL_LIBDIR@' "/lib" ''; From 4bdc54de0e39ea43932d32e4bae1aea281f8b698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Tue, 6 Dec 2022 00:05:18 +0100 Subject: [PATCH 085/280] python310Packages.tzdata: 2022.6 -> 2022.7 --- pkgs/development/python-modules/tzdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tzdata/default.nix b/pkgs/development/python-modules/tzdata/default.nix index 2e3cdafc8a12..e908a10b43cb 100644 --- a/pkgs/development/python-modules/tzdata/default.nix +++ b/pkgs/development/python-modules/tzdata/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "tzdata"; - version = "2022.6"; + version = "2022.7"; format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-kfEdtFAzhZKMFVmMmFc+OvB+cikYG+5Tdb0w8Wld3K4="; + hash = "sha256-/l+Gbt3YuW6fy6l4+OUDyQmxnqfv2hHlLjlJS606e/o="; }; nativeBuildInputs = [ From 88c217435303a3375fb5e818bbb36b86f1f8fe54 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 6 Dec 2022 09:09:54 +0100 Subject: [PATCH 086/280] python310Packages.exceptiongroup: add changelog to meta --- pkgs/development/python-modules/exceptiongroup/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix index 96ce96e27f08..569f1be48803 100644 --- a/pkgs/development/python-modules/exceptiongroup/default.nix +++ b/pkgs/development/python-modules/exceptiongroup/default.nix @@ -33,6 +33,7 @@ buildPythonPackage rec { meta = with lib; { description = "Backport of PEP 654 (exception groups)"; homepage = "https://github.com/agronholm/exceptiongroup"; + changelog = "https://github.com/agronholm/exceptiongroup/blob/${version}/CHANGES.rst"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; From 9dd5cd844102bd7e826a47fcd565e6671ca93a58 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 6 Dec 2022 11:11:18 +0100 Subject: [PATCH 087/280] python310Packages.exceptiongroup: 1.0.1 -> 1.0.4 Changelog: https://github.com/agronholm/exceptiongroup/blob/1.0.4/CHANGES.rst --- pkgs/development/python-modules/exceptiongroup/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix index 569f1be48803..ede22b9b64e6 100644 --- a/pkgs/development/python-modules/exceptiongroup/default.nix +++ b/pkgs/development/python-modules/exceptiongroup/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "exceptiongroup"; - version = "1.0.1"; + version = "1.0.4"; format = "flit"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-c4Zvf4Qu3myx2qQsSvB44gNeX3YH8OLHYsxRuzG757I="; + hash = "sha256-vRSWe3nNm9tU2XMjIW+P31M+J435N6oqkAiefW4G5ew="; }; nativeBuildInputs = [ From 7df3e9ec5b1e10032dbb57d0a455e10e146bfad6 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Tue, 6 Dec 2022 09:42:02 -0400 Subject: [PATCH 088/280] nixos/doc/manual: add chapter on VA-API --- .../manual/configuration/gpu-accel.chapter.md | 34 +++++++++++++++ .../configuration/gpu-accel.chapter.xml | 42 +++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/nixos/doc/manual/configuration/gpu-accel.chapter.md b/nixos/doc/manual/configuration/gpu-accel.chapter.md index 835cbad55485..aa41e25e56f3 100644 --- a/nixos/doc/manual/configuration/gpu-accel.chapter.md +++ b/nixos/doc/manual/configuration/gpu-accel.chapter.md @@ -159,6 +159,40 @@ environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; ``` +## VA-API {#sec-gpu-accel-va-api} + +[VA-API (Video Acceleration API)](https://www.intel.com/content/www/us/en/developer/articles/technical/linuxmedia-vaapi.html) +is an open-source library and API specification, which provides access to +graphics hardware acceleration capabilities for video processing. + +VA-API drivers are loaded by `libva`. The version in nixpkgs is built to search +the opengl driver path, so drivers can be installed in +[](#opt-hardware.opengl.extraPackages). + +VA-API can be tested using: + +```ShellSession +$ nix-shell -p libva-utils --run vainfo +``` + +### Intel {#sec-gpu-accel-va-api-intel} + +Modern Intel GPUs use the iHD driver, which can be installed with: + +```nix +hardware.opengl.extraPackages = [ + intel-media-driver +]; +``` + +Older Intel GPUs use the i965 driver, which can be installed with: + +```nix +hardware.opengl.extraPackages = [ + vaapiIntel +]; +``` + ## Common issues {#sec-gpu-accel-common-issues} ### User permissions {#sec-gpu-accel-common-issues-permissions} diff --git a/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml b/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml index cc559a1933d9..90d2c17e12ef 100644 --- a/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml +++ b/nixos/doc/manual/from_md/configuration/gpu-accel.chapter.xml @@ -177,6 +177,48 @@ environment.variables.AMD_VULKAN_ICD = "RADV"; # Or environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; + + + +
+ VA-API + + VA-API + (Video Acceleration API) is an open-source library and API + specification, which provides access to graphics hardware + acceleration capabilities for video processing. + + + VA-API drivers are loaded by libva. The version + in nixpkgs is built to search the opengl driver path, so drivers + can be installed in + . + + + VA-API can be tested using: + + +$ nix-shell -p libva-utils --run vainfo + +
+ Intel + + Modern Intel GPUs use the iHD driver, which can be installed + with: + + +hardware.opengl.extraPackages = [ + intel-media-driver +]; + + + Older Intel GPUs use the i965 driver, which can be installed + with: + + +hardware.opengl.extraPackages = [ + vaapiIntel +];
From ec7567ba190d60a090952066bec4d3d53d003380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 6 Dec 2022 15:40:54 +0100 Subject: [PATCH 089/280] glibc: 2.35-163 -> 2.35-224 --- .../libraries/glibc/2.35-make-4.4.patch | 66 ------------------ .../libraries/glibc/2.35-master.patch.gz | Bin 230755 -> 310704 bytes pkgs/development/libraries/glibc/common.nix | 5 +- 3 files changed, 1 insertion(+), 70 deletions(-) delete mode 100644 pkgs/development/libraries/glibc/2.35-make-4.4.patch diff --git a/pkgs/development/libraries/glibc/2.35-make-4.4.patch b/pkgs/development/libraries/glibc/2.35-make-4.4.patch deleted file mode 100644 index 346c141d3b36..000000000000 --- a/pkgs/development/libraries/glibc/2.35-make-4.4.patch +++ /dev/null @@ -1,66 +0,0 @@ -https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2d7ed98add14f75041499ac189696c9bd3d757fe ---- a/Makeconfig -+++ b/Makeconfig -@@ -43,6 +43,22 @@ else - $(error objdir must be defined by the build-directory Makefile) - endif - -+# Did we request 'make -s' run? "yes" or "no". -+# Starting from make-4.4 MAKEFLAGS now contains long -+# options like '--shuffle'. To detect presence of 's' -+# we pick first word with short options. Long options -+# are guaranteed to come after whitespace. We use '-' -+# prefix to always have a word before long options -+# even if no short options were passed. -+# Typical MAKEFLAGS values to watch for: -+# "rs --shuffle=42" (silent) -+# " --shuffle" (not silent) -+ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) -+silent-make := no -+else -+silent-make := yes -+endif -+ - # Root of the sysdeps tree. - sysdep_dir := $(..)sysdeps - export sysdep_dir := $(sysdep_dir) -@@ -917,7 +933,7 @@ endif - # umpteen zillion filenames along with it (we use `...' instead) - # but we don't want this echoing done when the user has said - # he doesn't want to see commands echoed by using -s. --ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s -+ifeq ($(silent-make),yes) # if -s - +cmdecho := echo >/dev/null - else # not -s - +cmdecho := echo ---- a/Makerules -+++ b/Makerules -@@ -794,7 +794,7 @@ endif - # Maximize efficiency by minimizing the number of rules. - .SUFFIXES: # Clear the suffix list. We don't use suffix rules. - # Don't define any builtin rules. --MAKEFLAGS := $(MAKEFLAGS)r -+MAKEFLAGS := $(MAKEFLAGS) -r - - # Generic rule for making directories. - %/: -@@ -811,7 +811,7 @@ MAKEFLAGS := $(MAKEFLAGS)r - .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) - - # Use the verbose option of ar and tar when not running silently. --ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s -+ifeq ($(silent-make),no) # if not -s - verbose := v - else # -s - verbose := ---- a/elf/rtld-Rules -+++ b/elf/rtld-Rules -@@ -52,7 +52,7 @@ $(objpfx)rtld-libc.a: $(foreach dir,$(rtld-subdirs),\ - mv -f $@T $@ - - # Use the verbose option of ar and tar when not running silently. --ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s -+ifeq ($(silent-make),no) # if not -s - verbose := v - else # -s - verbose := diff --git a/pkgs/development/libraries/glibc/2.35-master.patch.gz b/pkgs/development/libraries/glibc/2.35-master.patch.gz index 24939e1c089955171268931619fce9160f5d03f1..7b8423c5b61b81d7b8d59ef9584a05dbb854f8c9 100644 GIT binary patch delta 84939 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

m`?Q>e$u&ob%yCHes$*TlC_2k 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 Q;(A7%;w#e|e~K^w0JNWa-T(jq delta 4360 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 dBt>TN9I$;Bw&ByQGj{)(OP=S Date: Tue, 6 Dec 2022 15:59:43 +0100 Subject: [PATCH 090/280] cacert: Distrust TrustCor root certificates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mozilla set "Distrust After" for the three TrustCor Root CAs¹, so new certificates issued would not be trusted after 2022/11/30, while older enduser certificates would continue working until they expire. This is a fine-grained policy option available to consumers of the NSS library, such as Firefox or Thunderbird. For Linux systems we generally export the Mozilla trust store into our own CA bundle that ultimately lacks that metadata, because there is no standardized way to parse it in the first place. That means that as long as Mozilla keeps the certificate in their CA program, even with time-based "Distrust" configured, we would keep trusting it fully². That is completely unreasonable and that is why we reject these CAs here for all users of nixpkgs. The TrustCor CAs were primarily used to sign certificates for dynamic hosts for domains provided through no-ip.com, so we expect the fallout from this to be minimal. [1] https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/oxX69KFvsm4/m/yLohoVqtCgAJ [2] https://utcc.utoronto.ca/~cks/space/blog/linux/CARootStoreTrustProblem --- pkgs/data/misc/cacert/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix index a4739edea12f..521d7433b17d 100644 --- a/pkgs/data/misc/cacert/default.nix +++ b/pkgs/data/misc/cacert/default.nix @@ -17,7 +17,17 @@ }: let - blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist); + blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" (blacklist ++ [ + # Mozilla does not trust new certificates issued by these CAs after 2022/11/30¹ + # in their products, but unfortunately we don't have such a fine-grained + # solution for most system packages², so we decided to eject these. + # + # [1] https://groups.google.com/a/mozilla.org/g/dev-security-policy/c/oxX69KFvsm4/m/yLohoVqtCgAJ + # [2] https://utcc.utoronto.ca/~cks/space/blog/linux/CARootStoreTrustProblem + "TrustCor ECA-1" + "TrustCor RootCert CA-1" + "TrustCor RootCert CA-2" + ])); extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings); srcVersion = "3.83"; From 5b349b72d51af3fa7592b6cfe421d55fa25ad616 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 7 Dec 2022 06:10:04 +1000 Subject: [PATCH 091/280] go_1_19: 1.19.3 -> 1.19.4 https://github.com/golang/go/releases/tag/go1.19.4 --- pkgs/development/compilers/go/1.19.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/go/1.19.nix b/pkgs/development/compilers/go/1.19.nix index a406b21458dc..28cced9451a7 100644 --- a/pkgs/development/compilers/go/1.19.nix +++ b/pkgs/development/compilers/go/1.19.nix @@ -45,11 +45,11 @@ let in stdenv.mkDerivation rec { pname = "go"; - version = "1.19.3"; + version = "1.19.4"; src = fetchurl { url = "https://go.dev/dl/go${version}.src.tar.gz"; - sha256 = "sha256-GKwmPjkhC89o2F9DcOl/sXNBZplaH2P7OLT24H2Q0hI="; + sha256 = "sha256-7adNtKxJSACj5m7nhOSVv7ubjlNd+SSosBsagCi382g="; }; strictDeps = true; From 5770a027990d6da936fe0ae577735f9bf446e052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sun, 4 Dec 2022 23:05:42 +0100 Subject: [PATCH 092/280] qrencode: move SDL2 to tests to easily disable dependency on xorg --- pkgs/development/libraries/qrencode/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/qrencode/default.nix b/pkgs/development/libraries/qrencode/default.nix index 57ccfd382f7b..b8f01bcff5a1 100644 --- a/pkgs/development/libraries/qrencode/default.nix +++ b/pkgs/development/libraries/qrencode/default.nix @@ -12,12 +12,16 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL2 libpng ] ++ lib.optionals stdenv.isDarwin [ libiconv libobjc ]; + + buildInputs = [ libpng ] + ++ lib.optionals stdenv.isDarwin [ libiconv libobjc ]; configureFlags = [ "--with-tests" ]; + checkInputs = [ SDL2 ]; + doCheck = true; checkPhase = '' @@ -33,13 +37,11 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://fukuchi.org/works/qrencode/"; description = "C library for encoding data in a QR Code symbol"; - longDescription = '' Libqrencode is a C library for encoding data in a QR Code symbol, a kind of 2D symbology that can be scanned by handy terminals such as a mobile phone with CCD. ''; - license = licenses.lgpl21Plus; maintainers = with maintainers; [ adolfogc yana ]; platforms = platforms.all; From 714cd4a0a5564fa1b23f71e7da574c28f43ef65f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sun, 4 Dec 2022 23:05:31 +0100 Subject: [PATCH 093/280] nixos/no-x-libs: add qrencode --- nixos/modules/config/no-x-libs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index 18ea1f52a976..eeb61289c44b 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -44,6 +44,7 @@ with lib; networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; }; networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; }; qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; }; + qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; }); zbar = super.zbar.override { enableVideo = false; withXorg = false; }; })); }; From bfbfcb70c4bfc167491b6c3fc989693da4716673 Mon Sep 17 00:00:00 2001 From: Maxine Aubrey Date: Wed, 7 Dec 2022 00:57:16 +0100 Subject: [PATCH 094/280] tracker: drop sqlite compat patch --- pkgs/development/libraries/tracker/default.nix | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index fe498d590eac..e5ea8b17f6aa 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchurl -, fetchpatch , gettext , meson , ninja @@ -39,14 +38,6 @@ stdenv.mkDerivation rec { sha256 = "Tm3xQqT3BIePypjrtaIkdQ5epUaqKqq6pyanNUC9FzE="; }; - patches = [ - # Backport compatibility fix for newer SQLite. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/552.patch"; - sha256 = "1pmhhj47dbn654vb6a0kh5h6hw71lvaqxr141r60zrv5zx7m3sh9"; - }) - ]; - postPatch = '' patchShebangs utils/data-generators/cc/generate ''; From 0fe2967175d0060b8f2fce8eda7c58d566e64fb2 Mon Sep 17 00:00:00 2001 From: wackbyte Date: Tue, 6 Dec 2022 19:11:38 -0500 Subject: [PATCH 095/280] lutris: 0.5.11 -> 0.5.12 --- pkgs/applications/misc/lutris/default.nix | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index f60c478c6824..f8836f2802c3 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -22,16 +22,16 @@ , flake8 # python dependencies +, certifi , dbus-python , distro , evdev , lxml , pillow , pygobject3 +, pypresence , pyyaml , requests -, keyring -, python-magic # commands that lutris needs , xrandr @@ -84,13 +84,13 @@ let in buildPythonApplication rec { pname = "lutris-original"; - version = "0.5.11"; + version = "0.5.12"; src = fetchFromGitHub { owner = "lutris"; repo = "lutris"; rev = "refs/tags/v${version}"; - sha256 = "sha256-D2qMKYmi5TC8jEAECcz2V0rUrmp5kjXJ5qyW6C4re3w="; + sha256 = "sha256-rsiXm7L/M85ot6NrTyy//lMRFlLPJYve9y6Erg9Ugxg="; }; nativeBuildInputs = [ wrapGAppsHook ]; @@ -104,20 +104,20 @@ buildPythonApplication rec { libnotify pango webkitgtk - python-magic ] ++ gstDeps; + # See `install_requires` in https://github.com/lutris/lutris/blob/master/setup.py propagatedBuildInputs = [ - evdev - distro - lxml - pyyaml - pygobject3 - requests - pillow + certifi dbus-python - keyring - python-magic + distro + evdev + lxml + pillow + pygobject3 + pypresence + pyyaml + requests ]; postPatch = '' From 1328f79d819c57eae0b392b6c1860e70cebf28f7 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 7 Dec 2022 02:34:52 +0100 Subject: [PATCH 096/280] python312: 3.12.0a2 -> 3.12.0a3 https://docs.python.org/3.12/whatsnew/changelog.html#python-3-12-0-alpha3 https://pythoninsider.blogspot.com/2022/12/python-3111-3109-3916-3816-3716-and.html Fixes: CVE-2022-45061 --- 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 92a3f248dcd9..d63eb31e8351 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -208,9 +208,9 @@ in { major = "3"; minor = "12"; patch = "0"; - suffix = "a2"; + suffix = "a3"; }; - sha256 = "sha256-Hq/BOE5TLKxkMmMqdzUO9QShFMQjXB9vKoX4F/Wxkmo="; + sha256 = "sha256-G2SzB14KkkGXTlgOCbCckRehxOK+aYA5IB7x2Kc0U9E="; inherit (darwin) configd; inherit passthruFun; }; From 2fce48831cbaa39699bb81e1efee772c75dff14e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 7 Dec 2022 01:34:30 +0100 Subject: [PATCH 097/280] python39: 3.9.15 -> 3.9.16 https://docs.python.org/release/3.9.16/whatsnew/changelog.html https://pythoninsider.blogspot.com/2022/12/python-3111-3109-3916-3816-3716-and.html Fixes: CVE-2022-37454, CVE-2022-42919, CVE-2022-45061, CVE-2015-20107 --- 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 92a3f248dcd9..4838f8b8b92c 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -120,10 +120,10 @@ sourceVersion = { major = "3"; minor = "9"; - patch = "15"; + patch = "16"; suffix = ""; }; - sha256 = "sha256-Etr/aAlSjZ9hVCFpUEI8njDw5HM2y1fGqgtDh91etLI="; + sha256 = "sha256-It3cCZJG3SdgZlVh6K23OU6gzEOnJoTGSA+TgPd4ZDk="; }; python310 = { sourceVersion = { From e824b21ba79789daf8cb8bc3e84f42b1f62078fb Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 7 Dec 2022 01:37:02 +0100 Subject: [PATCH 098/280] python310: 3.10.8 -> 3.10.9 https://docs.python.org/release/3.10.9/whatsnew/changelog.html https://pythoninsider.blogspot.com/2022/12/python-3111-3109-3916-3816-3716-and.html Fixes: CVE-2022-37454, CVE-2022-45061, CVE-2022-42919 --- 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 4838f8b8b92c..68ae7bf8dcd8 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -129,10 +129,10 @@ sourceVersion = { major = "3"; minor = "10"; - patch = "8"; + patch = "9"; suffix = ""; }; - sha256 = "sha256-ajDs3lnEcEgBPrWmWMm13sJ3ID0nk2Z/V433Zx9/A/M="; + sha256 = "sha256-WuA+MIJgFkuro5kh/bTb+ObQPYI1qTnUWCsz8LXkaoM="; }; }; From de0f03b56d15ac17959bc1ee4cf8496db339cd01 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Thu, 1 Dec 2022 11:09:23 -0800 Subject: [PATCH 099/280] python{27,310}Packages.unittest2: move to python2-modules --- .../python-modules/testtools/default.nix | 1 - .../unittest2/collections-compat.patch | 19 ------------------- .../unittest2/default.nix | 7 +------ pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 -- pkgs/top-level/python2-packages.nix | 2 ++ 6 files changed, 4 insertions(+), 28 deletions(-) delete mode 100644 pkgs/development/python-modules/unittest2/collections-compat.patch rename pkgs/development/{python-modules => python2-modules}/unittest2/default.nix (84%) diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix index 430d0374ef20..e20bd74a6aa0 100644 --- a/pkgs/development/python-modules/testtools/default.nix +++ b/pkgs/development/python-modules/testtools/default.nix @@ -5,7 +5,6 @@ , pbr , python-mimeparse , extras -, unittest2 , traceback2 , testscenarios }: diff --git a/pkgs/development/python-modules/unittest2/collections-compat.patch b/pkgs/development/python-modules/unittest2/collections-compat.patch deleted file mode 100644 index 350c9d716783..000000000000 --- a/pkgs/development/python-modules/unittest2/collections-compat.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/unittest2/compatibility.py b/unittest2/compatibility.py -index 9e5f1a5..473957c 100644 ---- a/unittest2/compatibility.py -+++ b/unittest2/compatibility.py -@@ -1,4 +1,5 @@ - import collections -+import collections.abc - import os - import sys - -@@ -140,7 +141,7 @@ except ImportError: - ### ChainMap (helper for configparser and string.Template) - ######################################################################## - --class ChainMap(collections.MutableMapping): -+class ChainMap(collections.abc.MutableMapping): - ''' A ChainMap groups multiple dicts (or other mappings) together - to create a single, updateable view. - diff --git a/pkgs/development/python-modules/unittest2/default.nix b/pkgs/development/python2-modules/unittest2/default.nix similarity index 84% rename from pkgs/development/python-modules/unittest2/default.nix rename to pkgs/development/python2-modules/unittest2/default.nix index 786b8996f83b..3eeaeaba1fd2 100644 --- a/pkgs/development/python-modules/unittest2/default.nix +++ b/pkgs/development/python2-modules/unittest2/default.nix @@ -3,7 +3,6 @@ , fetchPypi , six , traceback2 -, pythonAtLeast }: buildPythonPackage rec { @@ -12,13 +11,9 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212"; + hash = "sha256-IogqDkGMKE4fcYqCKzsCKUTVPS2QjhaQsxmp0+ssBXk="; }; - patches = lib.optionals (pythonAtLeast "3.7") [ - ./collections-compat.patch - ]; - propagatedBuildInputs = [ six traceback2 ]; # 1.0.0 and up create a circle dependency with traceback2/pbr diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 67baa9c7d5a5..ed90d54f263b 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -216,6 +216,7 @@ mapAliases ({ tvnamer = throw "tvnamer was moved to pkgs.tvnamer"; # added 2021-07-05 types-cryptography = throw "types-cryptography has been removed because it is obsolete since cryptography version 3.4.4."; # added 2022-05-30 types-paramiko = throw "types-paramiko has been removed because it was unused."; # added 2022-05-30 + unittest2 = throw "unittest2 has been removed as it's a backport of unittest that's unmaintained and not needed beyond Python 3.4."; # added 2022-12-01 Wand = wand; # added 2022-11-13 WazeRouteCalculator = wazeroutecalculator; # added 2021-09-29 weakrefmethod = throw "weakrefmethod was removed since it's not needed in Python >= 3.4"; # added 2022-12-01 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c206e2754001..a4d9a8737072 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11589,8 +11589,6 @@ self: super: with self; { units = callPackage ../development/python-modules/units { }; - unittest2 = callPackage ../development/python-modules/unittest2 { }; - unittest-data-provider = callPackage ../development/python-modules/unittest-data-provider { }; unittest-xml-reporting = callPackage ../development/python-modules/unittest-xml-reporting { }; diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 3d970d8bc4b2..6cc20feb86e4 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -143,6 +143,8 @@ with self; with super; { typing = callPackage ../development/python2-modules/typing { }; + unittest2 = callPackage ../development/python2-modules/unittest2 { }; + zeek = disabled super.zeek; zipp = callPackage ../development/python2-modules/zipp { }; From 73dea7fb5646122d8db3357dd03286696bd74c4a Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Fri, 2 Dec 2022 16:11:51 -0800 Subject: [PATCH 100/280] python27Packages.unittest: remove completely --- .../python2-modules/contextlib2/default.nix | 4 +- .../python2-modules/s3transfer/default.nix | 2 - .../python2-modules/unittest2/default.nix | 37 ------------------- pkgs/top-level/python2-packages.nix | 2 - 4 files changed, 2 insertions(+), 43 deletions(-) delete mode 100644 pkgs/development/python2-modules/unittest2/default.nix diff --git a/pkgs/development/python2-modules/contextlib2/default.nix b/pkgs/development/python2-modules/contextlib2/default.nix index 38d9fb696e28..063039448fea 100644 --- a/pkgs/development/python2-modules/contextlib2/default.nix +++ b/pkgs/development/python2-modules/contextlib2/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchPypi -, unittest2 }: buildPythonPackage rec { @@ -13,7 +12,8 @@ buildPythonPackage rec { sha256 = "01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"; }; - checkInputs = [ unittest2 ]; + # requires unittest2, which has been removed + doCheck = false; meta = { description = "Backports and enhancements for the contextlib module"; diff --git a/pkgs/development/python2-modules/s3transfer/default.nix b/pkgs/development/python2-modules/s3transfer/default.nix index 8cfd324f00a5..4fd0fe346add 100644 --- a/pkgs/development/python2-modules/s3transfer/default.nix +++ b/pkgs/development/python2-modules/s3transfer/default.nix @@ -7,7 +7,6 @@ , nose , coverage , wheel -, unittest2 , botocore , futures ? null }: @@ -32,7 +31,6 @@ buildPythonPackage rec { nose coverage wheel - unittest2 ]; checkPhase = '' diff --git a/pkgs/development/python2-modules/unittest2/default.nix b/pkgs/development/python2-modules/unittest2/default.nix deleted file mode 100644 index 3eeaeaba1fd2..000000000000 --- a/pkgs/development/python2-modules/unittest2/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib -, buildPythonPackage -, fetchPypi -, six -, traceback2 -}: - -buildPythonPackage rec { - version = "1.1.0"; - pname = "unittest2"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-IogqDkGMKE4fcYqCKzsCKUTVPS2QjhaQsxmp0+ssBXk="; - }; - - propagatedBuildInputs = [ six traceback2 ]; - - # 1.0.0 and up create a circle dependency with traceback2/pbr - doCheck = false; - - postPatch = '' - # argparse is needed for python < 2.7, which we do not support anymore. - substituteInPlace setup.py --replace "argparse" "" - - # fixes a transient error when collecting tests, see https://bugs.launchpad.net/python-neutronclient/+bug/1508547 - sed -i '510i\ return None, False' unittest2/loader.py - # https://github.com/pypa/packaging/pull/36 - sed -i 's/version=VERSION/version=str(VERSION)/' setup.py - ''; - - meta = with lib; { - description = "A backport of the new features added to the unittest testing framework"; - homepage = "https://pypi.org/project/unittest2/"; - license = licenses.bsd0; - }; -} diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix index 6cc20feb86e4..3d970d8bc4b2 100644 --- a/pkgs/top-level/python2-packages.nix +++ b/pkgs/top-level/python2-packages.nix @@ -143,8 +143,6 @@ with self; with super; { typing = callPackage ../development/python2-modules/typing { }; - unittest2 = callPackage ../development/python2-modules/unittest2 { }; - zeek = disabled super.zeek; zipp = callPackage ../development/python2-modules/zipp { }; From dc6d81e816845eb74f842aa0df2439ff93a44f68 Mon Sep 17 00:00:00 2001 From: Masanori Ogino <167209+omasanori@users.noreply.github.com> Date: Thu, 8 Dec 2022 14:53:07 +0900 Subject: [PATCH 101/280] kakoune-unwrapped: 2021.11.08 -> 2022.10.31 --- pkgs/applications/editors/kakoune/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix index 26788ddb0677..3366efb697a8 100644 --- a/pkgs/applications/editors/kakoune/default.nix +++ b/pkgs/applications/editors/kakoune/default.nix @@ -4,12 +4,12 @@ with lib; stdenv.mkDerivation rec { pname = "kakoune-unwrapped"; - version = "2021.11.08"; + version = "2022.10.31"; src = fetchFromGitHub { repo = "kakoune"; owner = "mawww"; rev = "v${version}"; - sha256 = "sha256-lMGMt0H1G8EN/7zSVSvU1yU4BYPnSF1vWmozLdrRTQk="; + sha256 = "sha256-vmzGaGl0KSjseSD/s6DXxvMUTmAle+Iv/ZP9llaFnXk="; }; makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ef2108e841f..2aef127c7dea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8258,7 +8258,11 @@ with pkgs; wrapKakoune = kakoune: attrs: callPackage ../applications/editors/kakoune/wrapper.nix (attrs // { inherit kakoune; }); kakounePlugins = recurseIntoAttrs (callPackage ../applications/editors/kakoune/plugins { }); - kakoune-unwrapped = callPackage ../applications/editors/kakoune { }; + kakoune-unwrapped = callPackage ../applications/editors/kakoune { + # See comments on https://github.com/NixOS/nixpkgs/pull/198836 + # Remove below when stdenv for linux-aarch64 become recent enough. + stdenv = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then gcc11Stdenv else stdenv; + }; kakoune = wrapKakoune kakoune-unwrapped { plugins = [ ]; # override with the list of desired plugins }; From a83523455409340c51e5b4a458651f26230bf3ba Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 8 Dec 2022 06:23:27 +0000 Subject: [PATCH 102/280] duckdb: 0.6.0 -> 0.6.1 --- pkgs/development/libraries/duckdb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix index 654c58ba694d..8d95bedf0223 100644 --- a/pkgs/development/libraries/duckdb/default.nix +++ b/pkgs/development/libraries/duckdb/default.nix @@ -17,13 +17,13 @@ let in stdenv.mkDerivation rec { pname = "duckdb"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-XCEX2VCynbMUP5xsxWq8PlHnfrBfES5c2fuu2jhM+tI="; + sha256 = "sha256-no4fcukEpzKmh2i41sdXGDljGhEDkzk3rYBATqlq6Gw="; }; patches = [ ./version.patch ]; From 5dffcba8fe7bd664d0da16dbe2a155a674ab9088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 8 Dec 2022 14:34:53 +0100 Subject: [PATCH 103/280] glibc: revert one patch from those added in parent commit For now. It causes issues in python3Packages.twisted testsuite, so maybe it's buggy. The tests might be buggy instead, but so far we've had no report of the issues that are to be fixed by the patch. https://github.com/NixOS/nixpkgs/pull/201805#issuecomment-1342735635 --- pkgs/development/libraries/glibc/common.nix | 3 + .../libraries/glibc/revert-mktime.patch | 73 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 pkgs/development/libraries/glibc/revert-mktime.patch diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 88b101ced703..61c0c92d5280 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -72,6 +72,9 @@ stdenv.mkDerivation ({ */ ./2.35-master.patch.gz + /* Revert this patch contained in the previous bundle. For now, until we know more. */ + ./revert-mktime.patch + /* Allow NixOS and Nix to handle the locale-archive. */ ./nix-locale-archive.patch diff --git a/pkgs/development/libraries/glibc/revert-mktime.patch b/pkgs/development/libraries/glibc/revert-mktime.patch new file mode 100644 index 000000000000..d691213e8657 --- /dev/null +++ b/pkgs/development/libraries/glibc/revert-mktime.patch @@ -0,0 +1,73 @@ +commit f6d4c1ac648c4ff8baad94500df0bb13108a4f79 +Author: Paul Eggert +Date: Thu Sep 8 20:08:32 2022 -0500 + + REVERT: mktime: improve heuristic for ca-1986 Indiana DST + + This patch syncs mktime.c from Gnulib, fixing a + problem reported by Mark Krenz , + and it should fix BZ#29035 too. + * time/mktime.c (__mktime_internal): Be more generous about + accepting arguments with the wrong value of tm_isdst, by falling + back to a one-hour DST difference if we find no nearby DST that is + unusual. This fixes a problem where "1986-04-28 00:00 EDT" was + rejected when TZ="America/Indianapolis" because the nearest DST + timestamp occurred in 1970, a temporal distance too great for the + old heuristic. This also also narrows the search a bit, which + is a minor performance win. + + (cherry picked from commit 83859e1115269cf56d21669361d4ddbe2687831c) + +diff --git b/time/mktime.c a/time/mktime.c +index e9a6006710..494c89bf54 100644 +--- b/time/mktime.c ++++ a/time/mktime.c +@@ -429,13 +429,8 @@ __mktime_internal (struct tm *tp, + time with the right value, and use its UTC offset. + + Heuristic: probe the adjacent timestamps in both directions, +- looking for the desired isdst. If none is found within a +- reasonable duration bound, assume a one-hour DST difference. +- This should work for all real time zone histories in the tz +- database. */ +- +- /* +1 if we wanted standard time but got DST, -1 if the reverse. */ +- int dst_difference = (isdst == 0) - (tm.tm_isdst == 0); ++ looking for the desired isdst. This should work for all real ++ time zone histories in the tz database. */ + + /* Distance between probes when looking for a DST boundary. In + tzdata2003a, the shortest period of DST is 601200 seconds +@@ -446,14 +441,12 @@ __mktime_internal (struct tm *tp, + periods when probing. */ + int stride = 601200; + +- /* In TZDB 2021e, the longest period of DST (or of non-DST), in +- which the DST (or adjacent DST) difference is not one hour, +- is 457243209 seconds: e.g., America/Cambridge_Bay with leap +- seconds, starting 1965-10-31 00:00 in a switch from +- double-daylight time (-05) to standard time (-07), and +- continuing to 1980-04-27 02:00 in a switch from standard time +- (-07) to daylight time (-06). */ +- int duration_max = 457243209; ++ /* The longest period of DST in tzdata2003a is 536454000 seconds ++ (e.g., America/Jujuy starting 1946-10-01 01:00). The longest ++ period of non-DST is much longer, but it makes no real sense ++ to search for more than a year of non-DST, so use the DST ++ max. */ ++ int duration_max = 536454000; + + /* Search in both directions, so the maximum distance is half + the duration; add the stride to avoid off-by-1 problems. */ +@@ -490,11 +483,6 @@ __mktime_internal (struct tm *tp, + } + } + +- /* No unusual DST offset was found nearby. Assume one-hour DST. */ +- t += 60 * 60 * dst_difference; +- if (mktime_min <= t && t <= mktime_max && convert_time (convert, t, &tm)) +- goto offset_found; +- + __set_errno (EOVERFLOW); + return -1; + } From 8d7cc9cac9ecdf95f554c5ea7ca15118baa06c39 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 8 Dec 2022 12:38:48 +0100 Subject: [PATCH 104/280] python3Packages.certifi: use system ca-bundle We update that one more reliably and it allows ties in with module based configuration applied through `security.pki`. Also allow overwriting the CA bundle used through `NIX_SSL_CERT_FILE` as is common throughout nixpkgs. Fixes: CVE-2022-23491 --- .../python-modules/certifi/default.nix | 18 +++++ .../python-modules/certifi/env.patch | 76 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 pkgs/development/python-modules/certifi/env.patch diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix index ecf7ed49aa5c..065b32ddc629 100644 --- a/pkgs/development/python-modules/certifi/default.nix +++ b/pkgs/development/python-modules/certifi/default.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, cacert , pythonOlder , fetchFromGitHub , pytestCheckHook @@ -18,10 +19,27 @@ buildPythonPackage rec { hash = "sha256-B6LO6AfG9cfpyNI7hj3VjmGTFsrrIkDYO4gPMkZY74w="; }; + patches = [ + # Add support for NIX_SSL_CERT_FILE + ./env.patch + ]; + + postPatch = '' + # Use our system-wide ca-bundle instead of the bundled one + rm -v "certifi/cacert.pem" + ln -snvf "${cacert}/etc/ssl/certs/ca-bundle.crt" "certifi/cacert.pem" + ''; + checkInputs = [ pytestCheckHook ]; + preCheck = '' + # NIX_SSL_CERT_FILE is set to /no-cert-file.crt during build, which + # breaks the tests + unset NIX_SSL_CERT_FILE + ''; + pythonImportsCheck = [ "certifi" ]; diff --git a/pkgs/development/python-modules/certifi/env.patch b/pkgs/development/python-modules/certifi/env.patch new file mode 100644 index 000000000000..8d32394521a6 --- /dev/null +++ b/pkgs/development/python-modules/certifi/env.patch @@ -0,0 +1,76 @@ +diff --git a/certifi/core.py b/certifi/core.py +index de02898..3ec9147 100644 +--- a/certifi/core.py ++++ b/certifi/core.py +@@ -4,6 +4,7 @@ certifi.py + + This module returns the installation location of cacert.pem or its contents. + """ ++import os + import sys + + +@@ -12,7 +13,7 @@ if sys.version_info >= (3, 11): + from importlib.resources import as_file, files + + _CACERT_CTX = None +- _CACERT_PATH = None ++ _CACERT_PATH = os.environ.get("NIX_SSL_CERT_FILE", None) + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the file +@@ -39,14 +40,16 @@ if sys.version_info >= (3, 11): + return _CACERT_PATH + + def contents() -> str: +- return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") ++ if _CACERT_PATH is not None: ++ return open(_CACERT_PATH, encoding="utf-8").read() ++ return files("certifi").joinpath("cacert.pem").read_text(encoding="utf-8") + + elif sys.version_info >= (3, 7): + + from importlib.resources import path as get_path, read_text + + _CACERT_CTX = None +- _CACERT_PATH = None ++ _CACERT_PATH = os.environ.get("NIX_SSL_CERT_FILE", None) + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the +@@ -74,7 +77,9 @@ elif sys.version_info >= (3, 7): + return _CACERT_PATH + + def contents() -> str: +- return read_text("certifi", "cacert.pem", encoding="ascii") ++ if _CACERT_PATH is not None: ++ return open(_CACERT_PATH, encoding="utf-8").read() ++ return read_text("certifi", "cacert.pem", encoding="utf-8") + + else: + import os +@@ -84,6 +89,8 @@ else: + Package = Union[types.ModuleType, str] + Resource = Union[str, "os.PathLike"] + ++ _CACERT_PATH = os.environ.get("NIX_SSL_CERT_FILE", None) ++ + # This fallback will work for Python versions prior to 3.7 that lack the + # importlib.resources module but relies on the existing `where` function + # so won't address issues with environments like PyOxidizer that don't set +@@ -102,7 +109,14 @@ else: + def where() -> str: + f = os.path.dirname(__file__) + ++ if _CACERT_PATH is not None: ++ return _CACERT_PATH ++ + return os.path.join(f, "cacert.pem") + + def contents() -> str: +- return read_text("certifi", "cacert.pem", encoding="ascii") ++ if _CACERT_PATH is not None: ++ with open(_CACERT_PATH, encoding="utf-8") as data: ++ return data.read() ++ ++ return read_text("certifi", "cacert.pem", encoding="utf-8") From b40cf0d095cc95c6f4c9ff927f1a869c3548946d Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 8 Dec 2022 12:40:07 +0100 Subject: [PATCH 105/280] python3Packages.certifi: 2022.09.24 -> 2022.12.07 Diff: https://github.com/certifi/python-certifi/compare/2022.09.24...2022.12.07 --- pkgs/development/python-modules/certifi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix index 065b32ddc629..0aa2a321b832 100644 --- a/pkgs/development/python-modules/certifi/default.nix +++ b/pkgs/development/python-modules/certifi/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "certifi"; - version = "2022.09.24"; + version = "2022.12.07"; disabled = pythonOlder "3.6"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = pname; repo = "python-certifi"; rev = version; - hash = "sha256-B6LO6AfG9cfpyNI7hj3VjmGTFsrrIkDYO4gPMkZY74w="; + hash = "sha256-r6TJ6YGL0cygz+F6g6wiqBfBa/QKhynZ92C6lHTZ2rI="; }; patches = [ From 8456141e25c6b2cc293ed6b147c2a0a2d01c2d0a Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 8 Dec 2022 12:42:27 +0100 Subject: [PATCH 106/280] python3Packages.requests: rely on patched certifi The where() function in certifi has been patched to allow more consumers of the certifi package to use the system ca-bundle. --- ...-Nix-default-CA-bundles-over-certifi.patch | 60 ------------------- .../python-modules/requests/default.nix | 5 -- 2 files changed, 65 deletions(-) delete mode 100644 pkgs/development/python-modules/requests/0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch diff --git a/pkgs/development/python-modules/requests/0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch b/pkgs/development/python-modules/requests/0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch deleted file mode 100644 index de6a4b5c1b57..000000000000 --- a/pkgs/development/python-modules/requests/0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch +++ /dev/null @@ -1,60 +0,0 @@ -From b36083efafec5a3c1c5864cd0b62367ddf3856ae Mon Sep 17 00:00:00 2001 -From: Keshav Kini -Date: Sun, 16 May 2021 20:35:24 -0700 -Subject: [PATCH] Prefer NixOS/Nix default CA bundles over certifi - -Normally, requests gets its default CA bundle from the certifi -package. On NixOS and when using Nix on non-NixOS platforms, we would -rather default to using our own certificate bundles controlled by the -Nix/NixOS user. - -This commit overrides requests.certs.where(), which previously was -just aliased to certifi.where(), so that now it does the following: - -- When run by Nix on non-NixOS, the environment variable - $NIX_SSL_CERT_FILE will point to the CA bundle we're using, so we - use that. - -- When running on NixOS, the CA bundle we're using has the static path - /etc/ssl/certs/ca-certificates.crt , so we use that. - -- Otherwise, we fall back to the original behavior of using certifi's - CA bundle. Higher in the call stack, users of requests can also - explicitly specify a CA bundle to use, which overrides all this - logic. ---- - requests/certs.py | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/requests/certs.py b/requests/certs.py -index d1a378d7..faf462b7 100644 ---- a/requests/certs.py -+++ b/requests/certs.py -@@ -12,7 +12,23 @@ If you are packaging Requests, e.g., for a Linux distribution or a managed - environment, you can change the definition of where() to return a separately - packaged CA bundle. - """ --from certifi import where -+ -+import os -+ -+import certifi -+ -+ -+def where(): -+ nix_ssl_cert_file = os.getenv("NIX_SSL_CERT_FILE") -+ if nix_ssl_cert_file and os.path.exists(nix_ssl_cert_file): -+ return nix_ssl_cert_file -+ -+ nixos_ca_bundle = "/etc/ssl/certs/ca-certificates.crt" -+ if os.path.exists(nixos_ca_bundle): -+ return nixos_ca_bundle -+ -+ return certifi.where() -+ - - if __name__ == '__main__': - print(where()) --- -2.31.1 - diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix index 5eab25fa3e15..d7230c532eb2 100644 --- a/pkgs/development/python-modules/requests/default.nix +++ b/pkgs/development/python-modules/requests/default.nix @@ -27,11 +27,6 @@ buildPythonPackage rec { hash = "sha256-fFWZsQL+3apmHIJsVqtP7ii/0X9avKHrvj5/GdfJeYM="; }; - patches = [ - # Use the default NixOS CA bundle from the certifi package - ./0001-Prefer-NixOS-Nix-default-CA-bundles-over-certifi.patch - ]; - propagatedBuildInputs = [ brotlicffi certifi From 2fd67cb36dc6992e1e7871c33ff6cc96636fc201 Mon Sep 17 00:00:00 2001 From: Robin Townsend Date: Thu, 8 Dec 2022 13:12:30 -0500 Subject: [PATCH 107/280] minecraft-server: 1.19.2 -> 1.19.3 https://www.minecraft.net/en-us/article/minecraft-java-edition-1-19-3 --- pkgs/games/minecraft-servers/versions.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/games/minecraft-servers/versions.json b/pkgs/games/minecraft-servers/versions.json index 8dce87bb301d..b0c4ca19a3e8 100644 --- a/pkgs/games/minecraft-servers/versions.json +++ b/pkgs/games/minecraft-servers/versions.json @@ -1,8 +1,8 @@ { "1.19": { - "url": "https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar", - "sha1": "f69c284232d7c7580bd89a5a4931c3581eae1378", - "version": "1.19.2", + "url": "https://piston-data.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar", + "sha1": "c9df48efed58511cdd0213c56b9013a7b5c9ac1f", + "version": "1.19.3", "javaVersion": 17 }, "1.18": { From 89f245f012266326999ecd7000638c8adbd857ba Mon Sep 17 00:00:00 2001 From: Maxine Aubrey Date: Thu, 8 Dec 2022 22:36:43 +0100 Subject: [PATCH 108/280] iwd: 1.30 -> 2.0 --- pkgs/os-specific/linux/iwd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index b62b6946e425..b3895c286c56 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -12,12 +12,12 @@ stdenv.mkDerivation rec { pname = "iwd"; - version = "1.30"; + version = "2.0"; src = fetchgit { url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git"; rev = version; - sha256 = "sha256-9uyYXxnxRqWvzrw3QXCOT/ZubQ8/nrB+b60jKn1hAJk="; + sha256 = "sha256-9eQ2fW3ha69ngugYonbYdqrpERqt8aM0Ed4HM0CrmUU="; }; outputs = [ "out" "man" "doc" ] From 942dcd238b49ecd3020e75d0a193e9eedf45a0ab Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Wed, 28 Jul 2021 14:10:02 -0700 Subject: [PATCH 109/280] nixos/activation/bootspec: init bootspec support (RFC-0125) --- .github/CODEOWNERS | 1 + nixos/modules/system/activation/bootspec.nix | 50 +++++++++++++++++++ nixos/modules/system/activation/top-level.nix | 10 ++++ 3 files changed, 61 insertions(+) create mode 100644 nixos/modules/system/activation/bootspec.nix diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 41d539dd5f1d..582e1cfc5491 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -78,6 +78,7 @@ /nixos/doc/manual/man-nixos-option.xml @nbp /nixos/modules/installer/tools/nixos-option.sh @nbp /nixos/modules/system @dasJ +/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h # NixOS integration test driver /nixos/lib/test-driver @tfc diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix new file mode 100644 index 000000000000..c38f675cea27 --- /dev/null +++ b/nixos/modules/system/activation/bootspec.nix @@ -0,0 +1,50 @@ +# Note that these schemas are defined by RFC-0125. +# This document is considered a stable API, and is depended upon by external tooling. +# Changes to the structure of the document, or the semantics of the values should go through an RFC. +# +# See: https://github.com/NixOS/rfcs/pull/125 +{ config, pkgs, lib, children }: +let + schemas = { + v1 = rec { + filename = "boot.v1.json"; + json = + pkgs.writeText filename + (builtins.toJSON + { + schemaVersion = 1; + + kernel = "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; + kernelParams = config.boot.kernelParams; + initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; + initrdSecrets = "${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets"; + label = "NixOS ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})"; + + specialisation = lib.mapAttrs + (childName: childToplevel: { + bootspec = "${childToplevel}/${filename}"; + }) + children; + }); + + generator = '' + ${pkgs.jq}/bin/jq ' + .toplevel = $toplevel | + .init = $init + ' \ + --sort-keys \ + --arg toplevel "$out" \ + --arg init "$out/init" \ + < ${json} \ + > $out/${filename} + ''; + }; + }; +in +{ + # This will be run as a part of the `systemBuilder` in ./top-level.nix. This + # means `$out` points to the output of `config.system.build.toplevel` and can + # be used for a variety of things (though, for now, it's only used to report + # the path of the `toplevel` itself and the `init` executable). + writer = schemas.v1.generator; +} diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 55ff98db5382..9237c1c2f6e5 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -9,6 +9,14 @@ let "${config.system.boot.loader.kernelFile}"; initrdPath = "${config.system.build.initialRamdisk}/" + "${config.system.boot.loader.initrdFile}"; + + bootSpec = import ./bootspec.nix { + inherit + config + pkgs + lib + children; + }; in '' mkdir $out @@ -79,6 +87,8 @@ let echo -n "${toString config.system.extraDependencies}" > $out/extra-dependencies + ${bootSpec.writer} + ${config.system.extraSystemBuilderCmds} ''; From 83d06ce16d3c0f8aa7fec4d6f8cf069c3b16205a Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 5 Aug 2021 12:33:13 -0700 Subject: [PATCH 110/280] nixos/boot/external: init This allows supporting external bootloader backends. --- .../bootloader-external.section.xml | 41 +++++++++++++++++++ nixos/modules/module-list.nix | 1 + .../system/boot/loader/external/external.md | 26 ++++++++++++ .../system/boot/loader/external/external.nix | 38 +++++++++++++++++ .../system/boot/loader/external/external.xml | 41 +++++++++++++++++++ 5 files changed, 147 insertions(+) create mode 100644 nixos/doc/manual/from_md/configuration/bootloader-external.section.xml create mode 100644 nixos/modules/system/boot/loader/external/external.md create mode 100644 nixos/modules/system/boot/loader/external/external.nix create mode 100644 nixos/modules/system/boot/loader/external/external.xml diff --git a/nixos/doc/manual/from_md/configuration/bootloader-external.section.xml b/nixos/doc/manual/from_md/configuration/bootloader-external.section.xml new file mode 100644 index 000000000000..9b7ed6ccdac3 --- /dev/null +++ b/nixos/doc/manual/from_md/configuration/bootloader-external.section.xml @@ -0,0 +1,41 @@ +

+ External Bootloader Backends + + NixOS has support for several bootloader backends by default: + systemd-boot, grub, uboot, etc. The built-in bootloader backend + support is generic and supports most use cases. Some users may + prefer to create advanced workflows around managing the bootloader + and bootable entries. + + + You can replace the built-in bootloader support with your own + tooling using the external bootloader option. + + + Imagine you have created a new packaged called FooBoot. FooBoot + provides a program at + ${pkgs.fooboot}/bin/fooboot-install which takes + the system closure’s path as its only argument and configures the + system’s bootloader. + + + You can enable FooBoot like this: + + +{ pkgs, ... }: { + boot.loader.external = { + enable = true; + installHook = "${pkgs.fooboot}/bin/fooboot-install"; + }; +} + +
+ Developing Custom Bootloader Backends + + Bootloaders should use + RFC-0125’s + Bootspec format and synthesis tools to identify the key properties + for bootable system generations. + +
+
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 24dd30e15750..b2723f8df9a7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1256,6 +1256,7 @@ ./system/boot/loader/grub/grub.nix ./system/boot/loader/grub/ipxe.nix ./system/boot/loader/grub/memtest.nix + ./system/boot/loader/external/external.nix ./system/boot/loader/init-script/init-script.nix ./system/boot/loader/loader.nix ./system/boot/loader/raspberrypi/raspberrypi.nix diff --git a/nixos/modules/system/boot/loader/external/external.md b/nixos/modules/system/boot/loader/external/external.md new file mode 100644 index 000000000000..a53ab55baf5b --- /dev/null +++ b/nixos/modules/system/boot/loader/external/external.md @@ -0,0 +1,26 @@ +# External Bootloader Backends {#sec-bootloader-external} + +NixOS has support for several bootloader backends by default: systemd-boot, grub, uboot, etc. +The built-in bootloader backend support is generic and supports most use cases. +Some users may prefer to create advanced workflows around managing the bootloader and bootable entries. + +You can replace the built-in bootloader support with your own tooling using the "external" bootloader option. + +Imagine you have created a new packaged called FooBoot. +FooBoot provides a program at `${pkgs.fooboot}/bin/fooboot-install` which takes the system closure's path as its only argument and configures the system's bootloader. + +You can enable FooBoot like this: + +```nix +{ pkgs, ... }: { + boot.loader.external = { + enable = true; + installHook = "${pkgs.fooboot}/bin/fooboot-install"; + }; +} +``` + +## Developing Custom Bootloader Backends + +Bootloaders should use [RFC-0125](https://github.com/NixOS/rfcs/pull/125)'s Bootspec format and synthesis tools to identify the key properties for bootable system generations. + diff --git a/nixos/modules/system/boot/loader/external/external.nix b/nixos/modules/system/boot/loader/external/external.nix new file mode 100644 index 000000000000..86f4eaaeba46 --- /dev/null +++ b/nixos/modules/system/boot/loader/external/external.nix @@ -0,0 +1,38 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.boot.loader.external; +in +{ + meta = { + maintainers = with maintainers; [ cole-h grahamc ]; + # Don't edit the docbook xml directly, edit the md and generate it: + # `pandoc external.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > external.xml` + doc = ./external.xml; + }; + + options.boot.loader.external = { + enable = mkEnableOption "use an external tool to install your bootloader"; + + installHook = mkOption { + type = with types; path; + description = '' + The full path to a program of your choosing which performs the bootloader installation process. + + The program will be called with an argument pointing to the output of the system's toplevel. + ''; + }; + }; + + config = mkIf cfg.enable { + boot.loader = { + grub.enable = mkDefault false; + systemd-boot.enable = mkDefault false; + supportsInitrdSecrets = false; + }; + + system.build.installBootLoader = cfg.installHook; + }; +} diff --git a/nixos/modules/system/boot/loader/external/external.xml b/nixos/modules/system/boot/loader/external/external.xml new file mode 100644 index 000000000000..b024e7dd4031 --- /dev/null +++ b/nixos/modules/system/boot/loader/external/external.xml @@ -0,0 +1,41 @@ + + External Bootloader Backends + + NixOS has support for several bootloader backends by default: + systemd-boot, grub, uboot, etc. The built-in bootloader backend + support is generic and supports most use cases. Some users may + prefer to create advanced workflows around managing the bootloader + and bootable entries. + + + You can replace the built-in bootloader support with your own + tooling using the external bootloader option. + + + Imagine you have created a new packaged called FooBoot. FooBoot + provides a program at + ${pkgs.fooboot}/bin/fooboot-install which takes + the system closure’s path as its only argument and configures the + system’s bootloader. + + + You can enable FooBoot like this: + + +{ pkgs, ... }: { + boot.loader.external = { + enable = true; + installHook = "${pkgs.fooboot}/bin/fooboot-install"; + }; +} + +
+ Developing Custom Bootloader Backends + + Bootloaders should use + RFC-0125’s + Bootspec format and synthesis tools to identify the key properties + for bootable system generations. + +
+
From 6c0e4e892ff70b2875da3fd04e37b7fe3019850d Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 May 2022 16:14:08 -0400 Subject: [PATCH 111/280] nixos/activation/bootspec: embed the entire contents of specialisation's bootspecs into the parent See: https://github.com/NixOS/rfcs/pull/125#discussion_r871222614 --- nixos/modules/system/activation/bootspec.nix | 38 +++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index c38f675cea27..f14ec65137f3 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -19,25 +19,29 @@ let initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; initrdSecrets = "${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets"; label = "NixOS ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})"; - - specialisation = lib.mapAttrs - (childName: childToplevel: { - bootspec = "${childToplevel}/${filename}"; - }) - children; }); - generator = '' - ${pkgs.jq}/bin/jq ' - .toplevel = $toplevel | - .init = $init - ' \ - --sort-keys \ - --arg toplevel "$out" \ - --arg init "$out/init" \ - < ${json} \ - > $out/${filename} - ''; + generator = + let + specialisationLoader = (lib.mapAttrsToList + (childName: childToplevel: lib.escapeShellArgs [ "--slurpfile" childName "${childToplevel}/${filename}" ]) + children); + in + '' + ${pkgs.jq}/bin/jq ' + .toplevel = $toplevel | + .init = $init + ' \ + --sort-keys \ + --arg toplevel "$out" \ + --arg init "$out/init" \ + < ${json} \ + | ${pkgs.jq}/bin/jq \ + --sort-keys \ + '.specialisation = ($ARGS.named | map_values(. | first))' \ + ${lib.concatStringsSep " " specialisationLoader} \ + > $out/${filename} + ''; }; }; in From e9c85d6d0f5d76f82d99bfc90f672afefdadc358 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 18 May 2022 15:46:29 -0400 Subject: [PATCH 112/280] nixos/activation/bootspec: embed the document into a bootspec subdir --- nixos/modules/system/activation/bootspec.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index f14ec65137f3..b11dc37521ca 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -28,6 +28,8 @@ let children); in '' + mkdir -p $out/bootspec + ${pkgs.jq}/bin/jq ' .toplevel = $toplevel | .init = $init @@ -40,7 +42,7 @@ let --sort-keys \ '.specialisation = ($ARGS.named | map_values(. | first))' \ ${lib.concatStringsSep " " specialisationLoader} \ - > $out/${filename} + > $out/bootspec/${filename} ''; }; }; From e69c37eae9b4b8fee2dc0397bec57163a732ea10 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 12 Aug 2022 08:44:17 +0300 Subject: [PATCH 113/280] nixos/activation: don't generate bootspec for containers --- nixos/modules/system/activation/top-level.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 9237c1c2f6e5..9733bc55ae1b 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -87,7 +87,9 @@ let echo -n "${toString config.system.extraDependencies}" > $out/extra-dependencies - ${bootSpec.writer} + ${optionalString (!config.boot.isContainer) '' + ${bootSpec.writer} + ''} ${config.system.extraSystemBuilderCmds} ''; From ee27291b34cf97ca195797733045da1a1ad49ddb Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 15:08:37 +0100 Subject: [PATCH 114/280] nixos/activation/bootspec: fix slurping specialisation bootspecs --- nixos/modules/system/activation/bootspec.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index b11dc37521ca..ed5714d87cec 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -24,7 +24,7 @@ let generator = let specialisationLoader = (lib.mapAttrsToList - (childName: childToplevel: lib.escapeShellArgs [ "--slurpfile" childName "${childToplevel}/${filename}" ]) + (childName: childToplevel: lib.escapeShellArgs [ "--slurpfile" childName "${childToplevel}/bootspec/${filename}" ]) children); in '' From 9a431a57b1b0172e86729a2ed56f4c51bc6a8701 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 15:15:52 +0100 Subject: [PATCH 115/280] nixos/activation/bootspec: add @raitobezarius as a code-owner --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 582e1cfc5491..3cb74a5dccec 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -78,7 +78,7 @@ /nixos/doc/manual/man-nixos-option.xml @nbp /nixos/modules/installer/tools/nixos-option.sh @nbp /nixos/modules/system @dasJ -/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h +/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius # NixOS integration test driver /nixos/lib/test-driver @tfc From 348ba1b33c039a3524dcda2a874c83fb44680f9c Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 17:55:41 +0100 Subject: [PATCH 116/280] nixos/activation/bootspec: module-ify This does the following: * turns bootspec into a NixOS module * validates bootspecs with Cue * exposes internal knobs --- nixos/modules/module-list.nix | 1 + nixos/modules/system/activation/bootspec.cue | 23 +++++++ nixos/modules/system/activation/bootspec.nix | 69 +++++++++++++++---- nixos/modules/system/activation/top-level.nix | 11 +-- 4 files changed, 81 insertions(+), 23 deletions(-) create mode 100644 nixos/modules/system/activation/bootspec.cue diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b2723f8df9a7..da56e7a8a692 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1241,6 +1241,7 @@ ./services/x11/xserver.nix ./system/activation/activation-script.nix ./system/activation/specialisation.nix + ./system/activation/bootspec.nix ./system/activation/top-level.nix ./system/boot/binfmt.nix ./system/boot/emergency-mode.nix diff --git a/nixos/modules/system/activation/bootspec.cue b/nixos/modules/system/activation/bootspec.cue new file mode 100644 index 000000000000..ad21ffcd28f9 --- /dev/null +++ b/nixos/modules/system/activation/bootspec.cue @@ -0,0 +1,23 @@ +#V1: { + init: string + initrd?: string + initrdSecrets?: string + kernel: string + kernelParams: [...string] + label: string + toplevel: string + specialisation?: { + [=~"^"]: #V1 + } + extensions?: {...} +} + +#SecureBootExtensions: #V1 & { + extensions: { + osRelease: string + } +} + +Document: { + v1: #V1 +} diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index ed5714d87cec..aa5928ddc153 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -3,23 +3,31 @@ # Changes to the structure of the document, or the semantics of the values should go through an RFC. # # See: https://github.com/NixOS/rfcs/pull/125 -{ config, pkgs, lib, children }: +{ config +, pkgs +, lib +, ... +}: let + cfg = config.boot.bootspec; + children = lib.mapAttrs (childName: childConfig: childConfig.configuration.system.build.toplevel) config.specialisation; schemas = { v1 = rec { - filename = "boot.v1.json"; + filename = "boot.json"; json = pkgs.writeText filename (builtins.toJSON - { - schemaVersion = 1; - + { + v1 = { kernel = "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}"; kernelParams = config.boot.kernelParams; initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; initrdSecrets = "${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets"; label = "NixOS ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})"; - }); + + inherit (cfg) extensions; + }; + }); generator = let @@ -31,8 +39,8 @@ let mkdir -p $out/bootspec ${pkgs.jq}/bin/jq ' - .toplevel = $toplevel | - .init = $init + .v1.toplevel = $toplevel | + .v1.init = $init ' \ --sort-keys \ --arg toplevel "$out" \ @@ -40,17 +48,50 @@ let < ${json} \ | ${pkgs.jq}/bin/jq \ --sort-keys \ - '.specialisation = ($ARGS.named | map_values(. | first))' \ + '.v1.specialisation = ($ARGS.named | map_values(. | first | .v1))' \ ${lib.concatStringsSep " " specialisationLoader} \ > $out/bootspec/${filename} ''; + + validator = pkgs.writeCueValidator ./bootspec.cue { + document = "Document"; # Universal validator for any version as long the schema is correctly set. + }; }; }; in { - # This will be run as a part of the `systemBuilder` in ./top-level.nix. This - # means `$out` points to the output of `config.system.build.toplevel` and can - # be used for a variety of things (though, for now, it's only used to report - # the path of the `toplevel` itself and the `init` executable). - writer = schemas.v1.generator; + options.boot.bootspec = { + enable = lib.mkEnableOption "Enable generation of RFC-0125 bootspec in $system/bootspec, e.g. /run/current-system/bootspec"; + extensions = lib.mkOption { + type = lib.types.attrs; + default = {}; + }; + # This will be run as a part of the `systemBuilder` in ./top-level.nix. This + # means `$out` points to the output of `config.system.build.toplevel` and can + # be used for a variety of things (though, for now, it's only used to report + # the path of the `toplevel` itself and the `init` executable). + writer = lib.mkOption { + internal = true; + default = schemas.v1.generator; + }; + validator = lib.mkOption { + internal = true; + default = schemas.v1.validator; + }; + filename = lib.mkOption { + internal = true; + default = schemas.v1.filename; + }; + }; + + config = lib.mkIf (cfg.enable) { + warnings = [ + ''RFC-0125 is not merged yet, this is a feature preview of bootspec. + Schema is not definitive and features are not stabilized until RFC-0125 is merged. + See: + - https://github.com/NixOS/nixpkgs/pull/172237 to track merge status in nixpkgs. + - https://github.com/NixOS/rfcs/pull/125 to track RFC status. + '' + ]; + }; } diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 9733bc55ae1b..7d44d37a0fcf 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -9,14 +9,6 @@ let "${config.system.boot.loader.kernelFile}"; initrdPath = "${config.system.build.initialRamdisk}/" + "${config.system.boot.loader.initrdFile}"; - - bootSpec = import ./bootspec.nix { - inherit - config - pkgs - lib - children; - }; in '' mkdir $out @@ -88,7 +80,8 @@ let echo -n "${toString config.system.extraDependencies}" > $out/extra-dependencies ${optionalString (!config.boot.isContainer) '' - ${bootSpec.writer} + ${config.boot.bootspec.writer} + ${config.boot.bootspec.validator} "$out/bootspec/${config.boot.bootspec.filename}" ''} ${config.system.extraSystemBuilderCmds} From 092e6d39cd50f3282a2694b0a3000bf0d27012fe Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 17:55:57 +0100 Subject: [PATCH 117/280] nixos/tests/bootspec: init This will test various scenarios of bootspec generation. --- nixos/tests/bootspec.nix | 143 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 nixos/tests/bootspec.nix diff --git a/nixos/tests/bootspec.nix b/nixos/tests/bootspec.nix new file mode 100644 index 000000000000..0d37d0e56574 --- /dev/null +++ b/nixos/tests/bootspec.nix @@ -0,0 +1,143 @@ +{ system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; } +}: + +with import ../lib/testing-python.nix { inherit system pkgs; }; +with pkgs.lib; + +let + baseline = { + virtualisation.useBootLoader = true; + }; + grub = { + boot.loader.grub.enable = true; + }; + systemd-boot = { + boot.loader.systemd-boot.enable = true; + }; + uefi = { + virtualisation.useEFIBoot = true; + boot.loader.efi.canTouchEfiVariables = true; + environment.systemPackages = [ pkgs.efibootmgr ]; + }; + standard = { + boot.bootspec.enable = true; + + imports = [ + baseline + systemd-boot + uefi + ]; + }; +in +{ + basic = makeTest { + name = "systemd-boot-with-bootspec"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = standard; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + ''; + }; + + grub = makeTest { + name = "grub-with-bootspec"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { + boot.bootspec.enable = true; + + imports = [ + baseline + grub + uefi + ]; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + ''; + }; + + legacy-boot = makeTest { + name = "legacy-boot-with-bootspec"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { + boot.bootspec.enable = true; + + imports = [ + baseline + grub + ]; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + ''; + }; + + # Check that specialisations create corresponding entries in bootspec. + specialisation = makeTest { + name = "bootspec-with-specialisation"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { + imports = [ standard ]; + environment.systemPackages = [ pkgs.jq ]; + specialisation.something.configuration = {}; + }; + + testScript = '' + import json + + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /run/current-system/bootspec/boot.json") + machine.succeed("test -e /run/current-system/specialisation/something/bootspec/boot.json") + + sp_in_parent = json.loads(machine.succeed("jq -r '.v1.specialisation.something' /run/current-system/bootspec/boot.json")) + sp_in_fs = json.loads(machine.succeed("cat /run/current-system/specialisation/something/bootspec/boot.json")) + + assert sp_in_parent == sp_in_fs['v1'], "Bootspecs of the same specialisation are different!" + ''; + }; + + # Check that extensions are propagated. + extensions = makeTest { + name = "bootspec-with-extensions"; + meta.maintainers = with pkgs.lib.maintainers; [ raitobezarius ]; + + nodes.machine = { config, ... }: { + imports = [ standard ]; + environment.systemPackages = [ pkgs.jq ]; + boot.bootspec.extensions = { + osRelease = config.environment.etc."os-release".source; + }; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") + + current_os_release = machine.succeed("cat /etc/os-release") + bootspec_os_release = machine.succeed("cat $(jq -r '.v1.extensions.osRelease' /run/current-system/bootspec/boot.json)") + + assert current_os_release == bootspec_os_release, "Filename referenced by extension has unexpected contents" + ''; + }; + +} From 980f50124f6b0b611c348aaa96292ffca0f25b37 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 17:56:16 +0100 Subject: [PATCH 118/280] nixos/boot/external: add @raitobezarius as maintainer and allow initrd secrets --- nixos/modules/system/boot/loader/external/external.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/loader/external/external.nix b/nixos/modules/system/boot/loader/external/external.nix index 86f4eaaeba46..300870430866 100644 --- a/nixos/modules/system/boot/loader/external/external.nix +++ b/nixos/modules/system/boot/loader/external/external.nix @@ -7,7 +7,7 @@ let in { meta = { - maintainers = with maintainers; [ cole-h grahamc ]; + maintainers = with maintainers; [ cole-h grahamc raitobezarius ]; # Don't edit the docbook xml directly, edit the md and generate it: # `pandoc external.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > external.xml` doc = ./external.xml; @@ -30,7 +30,7 @@ in boot.loader = { grub.enable = mkDefault false; systemd-boot.enable = mkDefault false; - supportsInitrdSecrets = false; + supportsInitrdSecrets = mkDefault false; }; system.build.installBootLoader = cfg.installHook; From 9832e3e9b9c88384d5c92f33bfd980ac0503e624 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 18:00:24 +0100 Subject: [PATCH 119/280] nixos/activation/bootspec: remove SB extension example in Cue schema --- nixos/modules/system/activation/bootspec.cue | 6 ------ 1 file changed, 6 deletions(-) diff --git a/nixos/modules/system/activation/bootspec.cue b/nixos/modules/system/activation/bootspec.cue index ad21ffcd28f9..3fc9ca381df7 100644 --- a/nixos/modules/system/activation/bootspec.cue +++ b/nixos/modules/system/activation/bootspec.cue @@ -12,12 +12,6 @@ extensions?: {...} } -#SecureBootExtensions: #V1 & { - extensions: { - osRelease: string - } -} - Document: { v1: #V1 } From 11dfbee0a4a2309515608a890e91d4d1a2a43626 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 18:12:13 +0100 Subject: [PATCH 120/280] nixos/activation/bootspec: add bootspec chapter in NixOS manual --- .../manual/development/bootspec.chapter.md | 36 +++++++++ nixos/doc/manual/development/development.xml | 1 + .../from_md/development/bootspec.chapter.xml | 73 +++++++++++++++++++ nixos/modules/system/activation/bootspec.nix | 2 +- 4 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 nixos/doc/manual/development/bootspec.chapter.md create mode 100644 nixos/doc/manual/from_md/development/bootspec.chapter.xml diff --git a/nixos/doc/manual/development/bootspec.chapter.md b/nixos/doc/manual/development/bootspec.chapter.md new file mode 100644 index 000000000000..96c12f24e7f1 --- /dev/null +++ b/nixos/doc/manual/development/bootspec.chapter.md @@ -0,0 +1,36 @@ +# Experimental feature: Bootspec {#sec-experimental-bootspec} + +Bootspec is a experimental feature, introduced in the [RFC-0125 proposal](https://github.com/NixOS/rfcs/pull/125), the reference implementation can be found [there](https://github.com/NixOS/nixpkgs/pull/172237) in order to standardize bootloader support +and advanced boot workflows such as SecureBoot and potentially more. + +You can enable the creation of bootspec documents through [`boot.bootspec.enable = true`](options.html#opt-boot.bootspec.enable), which will prompt a warning until [RFC-0125](https://github.com/NixOS/rfcs/pull/125) is officially merged. + +## Schema {#sec-experimental-bootspec-schema} + +The bootspec schema is versioned and validated against [a CUE schema file](https://cuelang.org/) which should considered as the source of truth for your applications. + +You will find the current version [here](../../../modules/system/activation/bootspec.cue). + +## Extensions mechanism {#sec-experimental-bootspec-extensions} + +Bootspec cannot account for all usecases. + +For this purpose, Bootspec offers a generic extension facility [`boot.bootspec.extensions`](options.html#opt-boot.bootspec.extensions) which can be used to inject any data needed for your usecases. + +An example for SecureBoot is to get the Nix store path to `/etc/os-release` in order to bake it into a unified kernel image: + +```nix +{ config, lib, ... }: { + boot.bootspec.extensions = { + "org.secureboot.osRelease" = config.environment.etc."os-release".source; + }; +} +``` + +To reduce incompatibility and prevent names from clashing between applications, it is **highly recommended** to use a unique namespace for your extensions. + +## External bootloaders {#sec-experimental-bootspec-external-bootloaders} + +It is possible to enable your own bootloader through [`boot.loader.external.installHook`](options.html#opt-boot.loader.external.installHook) which can wrap an existing bootloader. + +Currently, there is no good story to compose existing bootloaders to enrich their features, e.g. SecureBoot, etc. It will be necessary to reimplement or reuse existing parts. diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml index 624ee3931659..949468c9021d 100644 --- a/nixos/doc/manual/development/development.xml +++ b/nixos/doc/manual/development/development.xml @@ -12,6 +12,7 @@ + diff --git a/nixos/doc/manual/from_md/development/bootspec.chapter.xml b/nixos/doc/manual/from_md/development/bootspec.chapter.xml new file mode 100644 index 000000000000..acf8ca76bf5c --- /dev/null +++ b/nixos/doc/manual/from_md/development/bootspec.chapter.xml @@ -0,0 +1,73 @@ + + Experimental feature: Bootspec + + Bootspec is a experimental feature, introduced in the + RFC-0125 + proposal, the reference implementation can be found + there + in order to standardize bootloader support and advanced boot + workflows such as SecureBoot and potentially more. + + + You can enable the creation of bootspec documents through + boot.bootspec.enable = true, + which will prompt a warning until + RFC-0125 + is officially merged. + +
+ Schema + + The bootspec schema is versioned and validated against + a CUE schema file + which should considered as the source of truth for your + applications. + + + You will find the current version + here. + +
+
+ Extensions mechanism + + Bootspec cannot account for all usecases. + + + For this purpose, Bootspec offers a generic extension facility + boot.bootspec.extensions + which can be used to inject any data needed for your usecases. + + + An example for SecureBoot is to get the Nix store path to + /etc/os-release in order to bake it into a + unified kernel image: + + +{ config, lib, ... }: { + boot.bootspec.extensions = { + "org.secureboot.osRelease" = config.environment.etc."os-release".source; + }; +} + + + To reduce incompatibility and prevent names from clashing between + applications, it is highly + recommended to use a unique namespace for your + extensions. + +
+
+ External bootloaders + + It is possible to enable your own bootloader through + boot.loader.external.installHook + which can wrap an existing bootloader. + + + Currently, there is no good story to compose existing bootloaders + to enrich their features, e.g. SecureBoot, etc. It will be + necessary to reimplement or reuse existing parts. + +
+
diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index aa5928ddc153..170c07e7daf7 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -87,7 +87,7 @@ in config = lib.mkIf (cfg.enable) { warnings = [ ''RFC-0125 is not merged yet, this is a feature preview of bootspec. - Schema is not definitive and features are not stabilized until RFC-0125 is merged. + The schema is not definitive and features are not guaranteed to be stable until RFC-0125 is merged. See: - https://github.com/NixOS/nixpkgs/pull/172237 to track merge status in nixpkgs. - https://github.com/NixOS/rfcs/pull/125 to track RFC status. From 680369e504e9c241fdbd1d7621a7c3011649edcc Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Wed, 30 Nov 2022 18:24:11 +0100 Subject: [PATCH 121/280] nixos/activation/bootspec: add some comments to explain the delicate manipulations --- nixos/modules/system/activation/bootspec.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index 170c07e7daf7..2d4f7158dd46 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -38,6 +38,9 @@ let '' mkdir -p $out/bootspec + # Inject toplevel and init in the bootspec. + # This can be done only here because we *cannot* depend on $out, except + # by living in $out itself. ${pkgs.jq}/bin/jq ' .v1.toplevel = $toplevel | .v1.init = $init @@ -47,7 +50,7 @@ let --arg init "$out/init" \ < ${json} \ | ${pkgs.jq}/bin/jq \ - --sort-keys \ + --sort-keys \ # Slurp all specialisations and inject them as values in .specialisations.{name} = {specialisation bootspec}. '.v1.specialisation = ($ARGS.named | map_values(. | first | .v1))' \ ${lib.concatStringsSep " " specialisationLoader} \ > $out/bootspec/${filename} From ad6ea546b4da50faff7961c2eb260a68aa1c65f6 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 1 Dec 2022 16:21:46 -0800 Subject: [PATCH 122/280] nixos/boot/external: DocBook -> Markdown --- nixos/modules/system/boot/loader/external/external.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/loader/external/external.nix b/nixos/modules/system/boot/loader/external/external.nix index 300870430866..5cf478e6c83c 100644 --- a/nixos/modules/system/boot/loader/external/external.nix +++ b/nixos/modules/system/boot/loader/external/external.nix @@ -14,11 +14,11 @@ in }; options.boot.loader.external = { - enable = mkEnableOption "use an external tool to install your bootloader"; + enable = mkEnableOption (lib.mdDoc "use an external tool to install your bootloader"); installHook = mkOption { type = with types; path; - description = '' + description = lib.mdDoc '' The full path to a program of your choosing which performs the bootloader installation process. The program will be called with an argument pointing to the output of the system's toplevel. From cc63293b50cbc33c3e0519690fbaaec1b2434289 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 1 Dec 2022 16:24:33 -0800 Subject: [PATCH 123/280] nixos/boot/external: fixup typo in generated docs, regenerate docs --- nixos/modules/system/boot/loader/external/external.md | 2 +- nixos/modules/system/boot/loader/external/external.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/system/boot/loader/external/external.md b/nixos/modules/system/boot/loader/external/external.md index a53ab55baf5b..ba1dfd4d9b9a 100644 --- a/nixos/modules/system/boot/loader/external/external.md +++ b/nixos/modules/system/boot/loader/external/external.md @@ -6,7 +6,7 @@ Some users may prefer to create advanced workflows around managing the bootloade You can replace the built-in bootloader support with your own tooling using the "external" bootloader option. -Imagine you have created a new packaged called FooBoot. +Imagine you have created a new package called FooBoot. FooBoot provides a program at `${pkgs.fooboot}/bin/fooboot-install` which takes the system closure's path as its only argument and configures the system's bootloader. You can enable FooBoot like this: diff --git a/nixos/modules/system/boot/loader/external/external.xml b/nixos/modules/system/boot/loader/external/external.xml index b024e7dd4031..39ab2156bc8c 100644 --- a/nixos/modules/system/boot/loader/external/external.xml +++ b/nixos/modules/system/boot/loader/external/external.xml @@ -12,7 +12,7 @@ tooling using the external bootloader option. - Imagine you have created a new packaged called FooBoot. FooBoot + Imagine you have created a new package called FooBoot. FooBoot provides a program at ${pkgs.fooboot}/bin/fooboot-install which takes the system closure’s path as its only argument and configures the @@ -21,7 +21,7 @@ You can enable FooBoot like this: - + { pkgs, ... }: { boot.loader.external = { enable = true; From 97f657c742a60ff272881528268b1af7b10b6938 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 1 Dec 2022 16:29:18 -0800 Subject: [PATCH 124/280] nixos/activation/bootspec: DocBook -> Markdown, add description for extensions field --- nixos/modules/system/activation/bootspec.nix | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index 2d4f7158dd46..cf74244b43b4 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -64,11 +64,20 @@ let in { options.boot.bootspec = { - enable = lib.mkEnableOption "Enable generation of RFC-0125 bootspec in $system/bootspec, e.g. /run/current-system/bootspec"; + enable = lib.mkEnableOption (lib.mdDoc "Enable generation of RFC-0125 bootspec in $system/bootspec, e.g. /run/current-system/bootspec"); + extensions = lib.mkOption { type = lib.types.attrs; - default = {}; + default = { }; + description = lib.mdDoc '' + User-defined data that extends the bootspec document. + + To reduce incompatibility and prevent names from clashing + between applications, it is **highly recommended** to use a + unique namespace for your extensions. + ''; }; + # This will be run as a part of the `systemBuilder` in ./top-level.nix. This # means `$out` points to the output of `config.system.build.toplevel` and can # be used for a variety of things (though, for now, it's only used to report @@ -77,10 +86,12 @@ in internal = true; default = schemas.v1.generator; }; + validator = lib.mkOption { internal = true; default = schemas.v1.validator; }; + filename = lib.mkOption { internal = true; default = schemas.v1.filename; From 38e50898148a137bfbd97ed9acf52b87af37f19e Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 2 Dec 2022 11:43:07 -0800 Subject: [PATCH 125/280] nixos/activation/bootspec: drop problematic comment, only generate bootspec when bootspec is enabled --- nixos/modules/system/activation/bootspec.nix | 2 +- nixos/modules/system/activation/top-level.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index cf74244b43b4..59b9f4733965 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -50,7 +50,7 @@ let --arg init "$out/init" \ < ${json} \ | ${pkgs.jq}/bin/jq \ - --sort-keys \ # Slurp all specialisations and inject them as values in .specialisations.{name} = {specialisation bootspec}. + --sort-keys \ '.v1.specialisation = ($ARGS.named | map_values(. | first | .v1))' \ ${lib.concatStringsSep " " specialisationLoader} \ > $out/bootspec/${filename} diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 7d44d37a0fcf..a12a565af1f7 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -79,7 +79,7 @@ let echo -n "${toString config.system.extraDependencies}" > $out/extra-dependencies - ${optionalString (!config.boot.isContainer) '' + ${optionalString (!config.boot.isContainer && config.boot.bootspec.enable) '' ${config.boot.bootspec.writer} ${config.boot.bootspec.validator} "$out/bootspec/${config.boot.bootspec.filename}" ''} From dce9add02b24d8ee02a2afb79ce972a9ebc0aaa3 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Fri, 2 Dec 2022 13:19:35 -0800 Subject: [PATCH 126/280] nixos/activation/bootspec: refactor the generator script We separate the different steps (injecting the toplevel and injecting the specialisations) so that it's easy to document what each snippet is actually doing. --- nixos/modules/system/activation/bootspec.nix | 51 ++++++++++++-------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index 59b9f4733965..99cc6f537497 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -31,29 +31,42 @@ let generator = let - specialisationLoader = (lib.mapAttrsToList - (childName: childToplevel: lib.escapeShellArgs [ "--slurpfile" childName "${childToplevel}/bootspec/${filename}" ]) - children); + # NOTE: Be careful to not introduce excess newlines at the end of the + # injectors, as that may affect the pipes and redirects. + + # Inject toplevel and init into the bootspec. + # This can only be done here because we *cannot* depend on $out + # referring to the toplevel, except by living in the toplevel itself. + toplevelInjector = lib.escapeShellArgs [ + "${pkgs.jq}/bin/jq" + '' + .v1.toplevel = $toplevel | + .v1.init = $init + '' + "--sort-keys" + "--arg" "toplevel" "$out" + "--arg" "init" "$out/init" + ] + " < ${json}"; + + # We slurp all specialisations and inject them as values, such that + # `.specialisations.${name}` embeds the specialisation's bootspec + # document. + specialisationInjector = + let + specialisationLoader = (lib.mapAttrsToList + (childName: childToplevel: lib.escapeShellArgs [ "--slurpfile" childName "${childToplevel}/bootspec/${filename}" ]) + children); + in + lib.escapeShellArgs [ + "${pkgs.jq}/bin/jq" + "--sort-keys" + ".v1.specialisation = ($ARGS.named | map_values(. | first | .v1))" + ] + " ${lib.concatStringsSep " " specialisationLoader}"; in '' mkdir -p $out/bootspec - # Inject toplevel and init in the bootspec. - # This can be done only here because we *cannot* depend on $out, except - # by living in $out itself. - ${pkgs.jq}/bin/jq ' - .v1.toplevel = $toplevel | - .v1.init = $init - ' \ - --sort-keys \ - --arg toplevel "$out" \ - --arg init "$out/init" \ - < ${json} \ - | ${pkgs.jq}/bin/jq \ - --sort-keys \ - '.v1.specialisation = ($ARGS.named | map_values(. | first | .v1))' \ - ${lib.concatStringsSep " " specialisationLoader} \ - > $out/bootspec/${filename} + ${toplevelInjector} | ${specialisationInjector} > $out/bootspec/${filename} ''; validator = pkgs.writeCueValidator ./bootspec.cue { From fc88e4cf7d4e86657042d0da7bf91446d19c8d43 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Sat, 3 Dec 2022 16:08:13 -0800 Subject: [PATCH 127/280] nixos/boot/external: drop duplicated external bootloader documentation The documentation is generated thanks to `meta.doc`, and was out of date anyways. --- .../bootloader-external.section.xml | 41 ------------------- 1 file changed, 41 deletions(-) delete mode 100644 nixos/doc/manual/from_md/configuration/bootloader-external.section.xml diff --git a/nixos/doc/manual/from_md/configuration/bootloader-external.section.xml b/nixos/doc/manual/from_md/configuration/bootloader-external.section.xml deleted file mode 100644 index 9b7ed6ccdac3..000000000000 --- a/nixos/doc/manual/from_md/configuration/bootloader-external.section.xml +++ /dev/null @@ -1,41 +0,0 @@ -
- External Bootloader Backends - - NixOS has support for several bootloader backends by default: - systemd-boot, grub, uboot, etc. The built-in bootloader backend - support is generic and supports most use cases. Some users may - prefer to create advanced workflows around managing the bootloader - and bootable entries. - - - You can replace the built-in bootloader support with your own - tooling using the external bootloader option. - - - Imagine you have created a new packaged called FooBoot. FooBoot - provides a program at - ${pkgs.fooboot}/bin/fooboot-install which takes - the system closure’s path as its only argument and configures the - system’s bootloader. - - - You can enable FooBoot like this: - - -{ pkgs, ... }: { - boot.loader.external = { - enable = true; - installHook = "${pkgs.fooboot}/bin/fooboot-install"; - }; -} - -
- Developing Custom Bootloader Backends - - Bootloaders should use - RFC-0125’s - Bootspec format and synthesis tools to identify the key properties - for bootable system generations. - -
-
From b37cee3dba9401b264ee9fd91e9848260503f0ef Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 5 Dec 2022 09:32:54 -0800 Subject: [PATCH 128/280] bootspec: init at unstable-2022-12-05 The bootspec package provides synthesis and validation tooling for RFC-0125 compliant bootspec documents. --- pkgs/tools/misc/bootspec/default.nix | 25 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/tools/misc/bootspec/default.nix diff --git a/pkgs/tools/misc/bootspec/default.nix b/pkgs/tools/misc/bootspec/default.nix new file mode 100644 index 000000000000..789f438de50e --- /dev/null +++ b/pkgs/tools/misc/bootspec/default.nix @@ -0,0 +1,25 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: +rustPlatform.buildRustPackage rec { + pname = "bootspec"; + version = "unstable-2022-12-05"; + + src = fetchFromGitHub { + owner = "DeterminateSystems"; + repo = pname; + rev = "67a617ab6b99211daa92e748d27ead3f78127cf8"; + hash = "sha256-GX6Tzs/ClTUV9OXLvPFw6uBhrpCWSMI+PfrViyFEIxs="; + }; + + cargoHash = "sha256-N/hbfjsuvwCc0mxOpeVVcTxb5cA024lyLSEpVcrS7kA="; + + meta = with lib; { + description = "Implementation of RFC-0125's datatype and synthesis tooling"; + homepage = "https://github.com/DeterminateSystems/bootspec"; + license = licenses.mit; + maintainers = teams.determinatesystems.members; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 888ab409ad53..4f0310d61217 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2694,6 +2694,8 @@ with pkgs; brewtarget = libsForQt5.callPackage ../applications/misc/brewtarget { } ; + bootspec = callPackage ../tools/misc/bootspec { }; + # Derivation's result is not used by nixpkgs. Useful for validation for # regressions of bootstrapTools on hydra and on ofborg. Example: # pkgsCross.aarch64-multiplatform.freshBootstrapTools.build From 5af481f67f2967bf7db0a05053331c4b9d4906f7 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 5 Dec 2022 09:57:20 -0800 Subject: [PATCH 129/280] nixos/activation/bootspec: fixup improper $out substitution --- nixos/modules/system/activation/bootspec.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/activation/bootspec.nix b/nixos/modules/system/activation/bootspec.nix index 99cc6f537497..da76bf9084af 100644 --- a/nixos/modules/system/activation/bootspec.nix +++ b/nixos/modules/system/activation/bootspec.nix @@ -44,8 +44,8 @@ let .v1.init = $init '' "--sort-keys" - "--arg" "toplevel" "$out" - "--arg" "init" "$out/init" + "--arg" "toplevel" "${placeholder "out"}" + "--arg" "init" "${placeholder "out"}/init" ] + " < ${json}"; # We slurp all specialisations and inject them as values, such that From 6eb04c578d69b3d719743ccaa40103fc62ec72ea Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 5 Dec 2022 11:08:38 -0800 Subject: [PATCH 130/280] nixos/activation/bootspec: bootspec owners also own the cue file --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 3cb74a5dccec..32e0313cf8db 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -79,6 +79,7 @@ /nixos/modules/installer/tools/nixos-option.sh @nbp /nixos/modules/system @dasJ /nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius +/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius # NixOS integration test driver /nixos/lib/test-driver @tfc From e5212aaa67b7ac0bf70714efbe7309800f565b9b Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 9 Dec 2022 00:21:43 +0100 Subject: [PATCH 131/280] cacert: 3.83 -> 3.86 https://groups.google.com/a/mozilla.org/g/dev-tech-crypto/c/NqCkaX216zY/m/QAUPTaBWCgAJ --- 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 521d7433b17d..2ae33c049bd2 100644 --- a/pkgs/data/misc/cacert/default.nix +++ b/pkgs/data/misc/cacert/default.nix @@ -30,7 +30,7 @@ let ])); extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings); - srcVersion = "3.83"; + srcVersion = "3.86"; version = if nssOverride != null then nssOverride.version else srcVersion; meta = with lib; { homepage = "https://curl.haxx.se/docs/caextract.html"; @@ -45,7 +45,7 @@ let src = if nssOverride != null then nssOverride.src else fetchurl { url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz"; - sha256 = "sha256-qyPqZ/lkCQuLc8gKZ0CCVxw25fTrqSBXrGSMnB3vASg="; + sha256 = "sha256-PzhfxoZHa7uoEQNfpoIbVCR11VdHsYwgwiHU1mVzuXU="; }; dontBuild = true; From c13ed541dbd016b9132de3ba55f88b5b1b626d3b Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 9 Dec 2022 00:21:57 +0100 Subject: [PATCH 132/280] nss_latest: 3.85 -> 3.86 https://groups.google.com/a/mozilla.org/g/dev-tech-crypto/c/NqCkaX216zY/m/QAUPTaBWCgAJ --- 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 56d6c0e47103..72c86bf41a81 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.85"; - hash = "sha256-r9nWRRCxFU3rvWyrNXHp/2SjNziY4DSD5Mhc2toT0pc="; + version = "3.86"; + hash = "sha256-PzhfxoZHa7uoEQNfpoIbVCR11VdHsYwgwiHU1mVzuXU="; } From 78c4cda8021203faee0f9748e30496153d8c103f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 8 Dec 2022 18:38:56 -0800 Subject: [PATCH 133/280] python310Packages.exceptiongroup: run tests --- .../python-modules/exceptiongroup/default.nix | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix index ede22b9b64e6..865e14f8e506 100644 --- a/pkgs/development/python-modules/exceptiongroup/default.nix +++ b/pkgs/development/python-modules/exceptiongroup/default.nix @@ -1,7 +1,7 @@ { lib , buildPythonPackage -, fetchPypi -, flit-core +, fetchFromGitHub +, flit-scm , pytestCheckHook , pythonOlder }: @@ -9,22 +9,26 @@ buildPythonPackage rec { pname = "exceptiongroup"; version = "1.0.4"; - format = "flit"; + format = "pyproject"; disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-vRSWe3nNm9tU2XMjIW+P31M+J435N6oqkAiefW4G5ew="; + src = fetchFromGitHub { + owner = "agronholm"; + repo = "exceptiongroup"; + rev = version; + hash = "sha256-csyDWVvcsAMzgomb0xq0NbVP7qYQpDv9obBGANlwiVI="; }; nativeBuildInputs = [ - flit-core + flit-scm ]; - # Tests are only in the source available but tagged releases - # are incomplete as files are generated during the release process - doCheck = false; + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + checkInputs = [ + pytestCheckHook + ]; pythonImportsCheck = [ "exceptiongroup" From 5313e0bdffbc1553f3f66cc719e47844d19373f1 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 9 Dec 2022 11:44:40 +0100 Subject: [PATCH 134/280] python3Packages.sphinx: Fix tests after certifi patch The stdenv sets `NIX_SSL_CERT_FILE` to a dummy file that does not in fact exist, which breaks certificate lookups during tests. --- pkgs/development/python-modules/sphinx/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix index 5a27f04bd0ee..5edfaa251515 100644 --- a/pkgs/development/python-modules/sphinx/default.nix +++ b/pkgs/development/python-modules/sphinx/default.nix @@ -95,6 +95,9 @@ buildPythonPackage rec { preCheck = '' export HOME=$(mktemp -d) + + # Unset dummy cert file path set in stdenv, that confuses certifi + unset NIX_SSL_CERT_FILE ''; disabledTests = [ From 8b9cf3b0ab48c5944567fc5124f00347434a8425 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 9 Dec 2022 13:12:28 +0100 Subject: [PATCH 135/280] Revert "python3Packages.sphinx: Fix tests after certifi patch" This reverts commit 5313e0bdffbc1553f3f66cc719e47844d19373f1. --- pkgs/development/python-modules/sphinx/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix index 5edfaa251515..5a27f04bd0ee 100644 --- a/pkgs/development/python-modules/sphinx/default.nix +++ b/pkgs/development/python-modules/sphinx/default.nix @@ -95,9 +95,6 @@ buildPythonPackage rec { preCheck = '' export HOME=$(mktemp -d) - - # Unset dummy cert file path set in stdenv, that confuses certifi - unset NIX_SSL_CERT_FILE ''; disabledTests = [ From 35750bad505058f11cffbbba28c6e12491e5da81 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 9 Dec 2022 13:30:00 +0100 Subject: [PATCH 136/280] python3Packages.certifi: propgate cacert for its setup-hook For tests that require a working ca-bundle via certifi we need to setup `NIX_SSL_CERT_FILE`, which is kindly provided by cacerts setup-hook. --- pkgs/development/python-modules/certifi/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/certifi/default.nix b/pkgs/development/python-modules/certifi/default.nix index 0aa2a321b832..c80ba08503d4 100644 --- a/pkgs/development/python-modules/certifi/default.nix +++ b/pkgs/development/python-modules/certifi/default.nix @@ -30,16 +30,15 @@ buildPythonPackage rec { ln -snvf "${cacert}/etc/ssl/certs/ca-bundle.crt" "certifi/cacert.pem" ''; + propagatedNativeBuildInputs = [ + # propagate cacerts setup-hook to set up `NIX_SSL_CERT_FILE` + cacert + ]; + checkInputs = [ pytestCheckHook ]; - preCheck = '' - # NIX_SSL_CERT_FILE is set to /no-cert-file.crt during build, which - # breaks the tests - unset NIX_SSL_CERT_FILE - ''; - pythonImportsCheck = [ "certifi" ]; From 56dadda1413276fa216b51ca7657909aed65b12d Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Fri, 9 Dec 2022 10:00:11 -0800 Subject: [PATCH 137/280] azure-cli: fix eval --- pkgs/tools/admin/azure-cli/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix index bc0328cef1ff..410748c952ed 100644 --- a/pkgs/tools/admin/azure-cli/python-packages.nix +++ b/pkgs/tools/admin/azure-cli/python-packages.nix @@ -541,7 +541,7 @@ let src = oldAttrs.src.override { inherit version; - sha256 = "sha256-YninUGU5VBgoP4h958O+r7OqaNraXKy+SyFOjSbaSZs="; + hash = "sha256-YninUGU5VBgoP4h958O+r7OqaNraXKy+SyFOjSbaSZs="; }; }); From 06a53254e220b0291442f98868e28d262754d824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 10 Dec 2022 09:15:20 +0100 Subject: [PATCH 138/280] mesa: 22.2.4 -> 22.2.5 https://lists.freedesktop.org/archives/mesa-announce/2022-December/000696.html (still waiting for 22.3.1) --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 113f3be326a3..78230898d7fc 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -37,7 +37,7 @@ with lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "22.2.4"; + version = "22.2.5"; branch = versions.major version; self = stdenv.mkDerivation { @@ -52,7 +52,7 @@ self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "sha256-ZddrU8pce0YBng6OW0FN5F0v7NP81xcH9sO8dpHJ96s="; + sha256 = "sha256-hQ8GMUb467JirsBPZmwsHlYj8qGYfdok5DYbF7kSxzs="; }; # TODO: From 7561ba5987b928c47ac2ffee8468e62940881b4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 10 Dec 2022 10:58:13 +0100 Subject: [PATCH 139/280] dateutils: drop a test failing since tzdata-2022g --- pkgs/tools/misc/dateutils/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/misc/dateutils/default.nix b/pkgs/tools/misc/dateutils/default.nix index ec8f9ca83d93..a1b64442c0bc 100644 --- a/pkgs/tools/misc/dateutils/default.nix +++ b/pkgs/tools/misc/dateutils/default.nix @@ -9,6 +9,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-PFCOKIm51a7Kt9WdcyWnAIlZMRGhIwpJbasPWtZ3zew="; }; + # https://github.com/hroptatyr/dateutils/issues/148 + postPatch = "rm test/dzone.008.ctst"; + nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ tzdata ]; # needed for datezone enableParallelBuilding = true; From cb4547a433dfb0581c5ab389eedb49618fa902e7 Mon Sep 17 00:00:00 2001 From: Izumi Raine <63145238+IzumiRaine@users.noreply.github.com> Date: Sat, 10 Dec 2022 12:31:13 +0100 Subject: [PATCH 140/280] nixos/borgbackup: add option "patterns" --- nixos/modules/services/backup/borgbackup.nix | 22 +++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index 7b29eb41e72a..18522080fbb6 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -11,7 +11,11 @@ let mkExcludeFile = cfg: # Write each exclude pattern to a new line - pkgs.writeText "excludefile" (concatStringsSep "\n" cfg.exclude); + pkgs.writeText "excludefile" (concatMapStrings (s: s + "\n") cfg.exclude); + + mkPatternsFile = cfg: + # Write each pattern to a new line + pkgs.writeText "patternsfile" (concatMapStrings (s: s + "\n") cfg.patterns); mkKeepArgs = cfg: # If cfg.prune.keep e.g. has a yearly attribute, @@ -46,6 +50,7 @@ let borg create $extraArgs \ --compression ${cfg.compression} \ --exclude-from ${mkExcludeFile cfg} \ + --patterns-from ${mkPatternsFile cfg} \ $extraCreateArgs \ "::$archiveName$archiveSuffix" \ ${if cfg.paths == null then "-" else escapeShellArgs cfg.paths} @@ -424,6 +429,21 @@ in { ]; }; + patterns = mkOption { + type = with types; listOf str; + description = lib.mdDoc '' + Include/exclude paths matching the given patterns. The first + matching patterns is used, so if an include pattern (prefix `+`) + matches before an exclude pattern (prefix `-`), the file is + backed up. See [{command}`borg help patterns`](https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-patterns) for pattern syntax. + ''; + default = [ ]; + example = [ + "+ /home/susan" + "- /home/*" + ]; + }; + readWritePaths = mkOption { type = with types; listOf path; description = lib.mdDoc '' From 9ade6f0054bf8dfcf3f89f05531d91c667e54969 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 11 Dec 2022 04:58:33 +0000 Subject: [PATCH 141/280] snappymail: 2.22.6 -> 2.23.0 --- pkgs/servers/snappymail/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix index 7da5c489ded4..c559e5641262 100644 --- a/pkgs/servers/snappymail/default.nix +++ b/pkgs/servers/snappymail/default.nix @@ -2,11 +2,11 @@ , dataPath ? "/var/lib/snappymail" }: stdenv.mkDerivation rec { pname = "snappymail"; - version = "2.22.6"; + version = "2.23.0"; src = fetchurl { url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz"; - sha256 = "sha256-B3ojd6Xd5qk6KL5JAnrp52XeW0xJ7z9VJQRPjVmPgv0="; + sha256 = "sha256-wOHp0hNxpDa6JPDaGNHG2+TL+YTP3GaKLab/PdxtU20="; }; sourceRoot = "snappymail"; From 35519155de7fd95957db20b973c96fe735f8b521 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 11 Dec 2022 10:46:54 +0100 Subject: [PATCH 142/280] snappymail: add changelog to meta --- pkgs/servers/snappymail/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix index c559e5641262..e4c7dd052d44 100644 --- a/pkgs/servers/snappymail/default.nix +++ b/pkgs/servers/snappymail/default.nix @@ -1,5 +1,10 @@ -{ lib, stdenv, fetchurl, writeText -, dataPath ? "/var/lib/snappymail" }: +{ lib +, stdenv +, fetchurl +, writeText +, dataPath ? "/var/lib/snappymail" +}: + stdenv.mkDerivation rec { pname = "snappymail"; version = "2.23.0"; @@ -27,8 +32,8 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Simple, modern & fast web-based email client"; - homepage = "https://snappymail.eu"; + changelog = "https://github.com/the-djmaze/snappymail/blob/v${version}/CHANGELOG.md"; downloadPage = "https://github.com/the-djmaze/snappymail/releases"; license = licenses.agpl3; platforms = platforms.all; From 83b917a960d1d637f0ad36ab709adba4dd69f8f8 Mon Sep 17 00:00:00 2001 From: LoveIsGrief Date: Fri, 9 Dec 2022 15:05:04 +0100 Subject: [PATCH 143/280] nixos/manpages: Explain -I option and how to build manpages When running nixos-rebuild -I, the man page just said "-I path" which could be interpreted as "just a path to nixpkgs", which in fact it actually has the same meaning as NIX_PATH. This is now made clear in the manual, so that when grepping "-I" and "NIX_PATH" one quickly finds the format of the option. I don't know how to link to the "nix manual" as stated in the docbook, so I left that as it is. Additionally, it wasn't clear to me how to actually build the man pages and view the changes I made. That's now in the contributing-to-this-manual.chapter.md. --- .../contributing-to-this-manual.chapter.md | 24 +++++++++++++- .../contributing-to-this-manual.chapter.xml | 32 ++++++++++++++++++- nixos/doc/manual/man-nixos-rebuild.xml | 18 +++++++++-- 3 files changed, 70 insertions(+), 4 deletions(-) diff --git a/nixos/doc/manual/contributing-to-this-manual.chapter.md b/nixos/doc/manual/contributing-to-this-manual.chapter.md index 26813d1042d6..557599809222 100644 --- a/nixos/doc/manual/contributing-to-this-manual.chapter.md +++ b/nixos/doc/manual/contributing-to-this-manual.chapter.md @@ -1,6 +1,6 @@ # Contributing to this manual {#chap-contributing} -The DocBook and CommonMark sources of NixOS' manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. +The [DocBook] and CommonMark sources of the NixOS manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. You can quickly check your edits with the following: @@ -11,3 +11,25 @@ $ nix-build nixos/release.nix -A manual.x86_64-linux ``` If the build succeeds, the manual will be in `./result/share/doc/nixos/index.html`. + +**Contributing to the man pages** + +The man pages are written in [DocBook] which is XML. + +To see what your edits look like: + +```ShellSession +$ cd /path/to/nixpkgs +$ nix-build nixos/release.nix -A manpages.x86_64-linux +``` + +You can then read the man page you edited by running + +```ShellSession +$ man --manpath=result/share/man nixos-rebuild # Replace nixos-rebuild with the command whose manual you edited +``` + +If you're on a different architecture that's supported by NixOS (check nixos/release.nix) then replace `x86_64-linux` with the architecture. +`nix-build` will complain otherwise, but should also tell you which architecture you have + the supported ones. + +[DocBook]: https://en.wikipedia.org/wiki/DocBook diff --git a/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml b/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml index a9b0c6a5eefa..99dc5ce30b4b 100644 --- a/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml +++ b/nixos/doc/manual/from_md/contributing-to-this-manual.chapter.xml @@ -1,7 +1,9 @@ Contributing to this manual - The DocBook and CommonMark sources of NixOS’ manual are in the + The + DocBook + and CommonMark sources of the NixOS manual are in the nixos/doc/manual subdirectory of the Nixpkgs @@ -19,4 +21,32 @@ $ nix-build nixos/release.nix -A manual.x86_64-linux If the build succeeds, the manual will be in ./result/share/doc/nixos/index.html. + + Contributing to the man pages + + + The man pages are written in + DocBook + which is XML. + + + To see what your edits look like: + + +$ cd /path/to/nixpkgs +$ nix-build nixos/release.nix -A manpages.x86_64-linux + + + You can then read the man page you edited by running + + +$ man --manpath=result/share/man nixos-rebuild # Replace nixos-rebuild with the command whose manual you edited + + + If you’re on a different architecture that’s supported by NixOS + (check nixos/release.nix) then replace + x86_64-linux with the architecture. + nix-build will complain otherwise, but should + also tell you which architecture you have + the supported ones. + diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index ea96f49fa977..cab871661a75 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -134,7 +134,7 @@ - path + NIX_PATH @@ -624,7 +624,7 @@ In addition, nixos-rebuild accepts various Nix-related - flags, including / , + flags, including / , , , , , , and / . See the Nix manual for details. @@ -647,6 +647,20 @@ + + + NIX_PATH + + + + A colon-separated list of directories used to look up Nix expressions enclosed in angle brackets (e.g <nixpkgs>). Example + + nixpkgs=./my-nixpkgs + + + + + NIX_SSHOPTS From 92f67f68b380ca7e7a94a9fccf641441e7ab35de Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 10 Dec 2022 19:10:15 +0100 Subject: [PATCH 144/280] python3Packages.certifi: Ignore /no-cert-file.crt in NIX_SSL_CERT_FILE --- .../python-modules/certifi/env.patch | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/certifi/env.patch b/pkgs/development/python-modules/certifi/env.patch index 8d32394521a6..292f977ef2c0 100644 --- a/pkgs/development/python-modules/certifi/env.patch +++ b/pkgs/development/python-modules/certifi/env.patch @@ -1,8 +1,8 @@ diff --git a/certifi/core.py b/certifi/core.py -index de02898..3ec9147 100644 +index de02898..c033d20 100644 --- a/certifi/core.py +++ b/certifi/core.py -@@ -4,6 +4,7 @@ certifi.py +@@ -4,15 +4,25 @@ certifi.py This module returns the installation location of cacert.pem or its contents. """ @@ -10,16 +10,26 @@ index de02898..3ec9147 100644 import sys -@@ -12,7 +13,7 @@ if sys.version_info >= (3, 11): ++def get_cacert_path_from_environ(): ++ path = os.environ.get("NIX_SSL_CERT_FILE", None) ++ ++ if path == "/no-cert-file.crt": ++ return None ++ ++ return path ++ ++ + if sys.version_info >= (3, 11): + from importlib.resources import as_file, files _CACERT_CTX = None - _CACERT_PATH = None -+ _CACERT_PATH = os.environ.get("NIX_SSL_CERT_FILE", None) ++ _CACERT_PATH = get_cacert_path_from_environ() def where() -> str: # This is slightly terrible, but we want to delay extracting the file -@@ -39,14 +40,16 @@ if sys.version_info >= (3, 11): +@@ -39,14 +49,16 @@ if sys.version_info >= (3, 11): return _CACERT_PATH def contents() -> str: @@ -34,11 +44,11 @@ index de02898..3ec9147 100644 _CACERT_CTX = None - _CACERT_PATH = None -+ _CACERT_PATH = os.environ.get("NIX_SSL_CERT_FILE", None) ++ _CACERT_PATH = get_cacert_path_from_environ() def where() -> str: # This is slightly terrible, but we want to delay extracting the -@@ -74,7 +77,9 @@ elif sys.version_info >= (3, 7): +@@ -74,7 +86,9 @@ elif sys.version_info >= (3, 7): return _CACERT_PATH def contents() -> str: @@ -49,16 +59,16 @@ index de02898..3ec9147 100644 else: import os -@@ -84,6 +89,8 @@ else: +@@ -84,6 +98,8 @@ else: Package = Union[types.ModuleType, str] Resource = Union[str, "os.PathLike"] -+ _CACERT_PATH = os.environ.get("NIX_SSL_CERT_FILE", None) ++ _CACERT_PATH = get_cacert_path_from_environ() + # This fallback will work for Python versions prior to 3.7 that lack the # importlib.resources module but relies on the existing `where` function # so won't address issues with environments like PyOxidizer that don't set -@@ -102,7 +109,14 @@ else: +@@ -102,7 +118,14 @@ else: def where() -> str: f = os.path.dirname(__file__) From cea45d387a03c0448dcc69fd1847bb4a40c14730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 11 Dec 2022 16:33:57 +0100 Subject: [PATCH 145/280] python3Packages.ical: drop a test failing since tzdata-2022g It can't be tested on this particular commit, because other issues are there as well at this moment. --- pkgs/development/python-modules/ical/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/ical/default.nix b/pkgs/development/python-modules/ical/default.nix index 9c12520e9718..e1bed7184287 100644 --- a/pkgs/development/python-modules/ical/default.nix +++ b/pkgs/development/python-modules/ical/default.nix @@ -44,6 +44,9 @@ buildPythonPackage rec { pytestCheckHook ]; + # https://github.com/allenporter/ical/issues/136 + disabledTests = [ "test_all_zoneinfo" ]; + pythonImportsCheck = [ "ical" ]; From 329f50dc4e911bc048c0be21fc6218694a9cc86c Mon Sep 17 00:00:00 2001 From: dev-null-undefined Date: Sun, 11 Dec 2022 22:54:35 +0100 Subject: [PATCH 146/280] libnma: bug fix removing path from eap scheme Fixes known bug in libnma https://gitlab.gnome.org/GNOME/libnma/-/issues/18 By applying patch based on https://gitlab.gnome.org/GNOME/libnma/-/merge_requests/44 --- .../networkmanager/libnma/default.nix | 3 ++ .../libnma/remove-path-from-eap.patch | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch diff --git a/pkgs/tools/networking/networkmanager/libnma/default.nix b/pkgs/tools/networking/networkmanager/libnma/default.nix index 3b5f8bba148f..af4c18e1ce3a 100644 --- a/pkgs/tools/networking/networkmanager/libnma/default.nix +++ b/pkgs/tools/networking/networkmanager/libnma/default.nix @@ -39,6 +39,9 @@ stdenv.mkDerivation rec { patches = [ # Needed for wingpanel-indicator-network and switchboard-plug-network ./hardcode-gsettings.patch + # Removing path from eap schema to fix bug when creating new VPN connection + # https://gitlab.gnome.org/GNOME/libnma/-/issues/18 + ./remove-path-from-eap.patch ]; nativeBuildInputs = [ diff --git a/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch b/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch new file mode 100644 index 000000000000..fe00ff9d9a9b --- /dev/null +++ b/pkgs/tools/networking/networkmanager/libnma/remove-path-from-eap.patch @@ -0,0 +1,32 @@ +From 0ab5c1e39e94e158650da847f8512ab5e2b03593 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 9 Nov 2022 08:00:19 +0000 +Subject: [PATCH] gschema: Remove path from eap schema + +This one needs to be relocatable, otherwise creating a new VPN +connection will fail with: + + settings object created with schema 'org.gnome.nm-applet.eap' + and path '/org/gnome/nm-applet/eap//', + but path '/org/gnome/nm-applet/eap/' is specified by schema + +Fixes: https://bugs.archlinux.org/task/76490 +--- + org.gnome.nm-applet.eap.gschema.xml.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/org.gnome.nm-applet.eap.gschema.xml.in b/org.gnome.nm-applet.eap.gschema.xml.in +index 0fc3ca9f..f4a56ea6 100644 +--- a/org.gnome.nm-applet.eap.gschema.xml.in ++++ b/org.gnome.nm-applet.eap.gschema.xml.in +@@ -1,6 +1,6 @@ + + +- ++ + + false + Ignore CA certificate +-- +GitLab + From 49cfc00fc35e31ae0c682a92d96a61cc95e7dd99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 11 Dec 2022 22:38:21 -0800 Subject: [PATCH 147/280] python310Packages.foolscap: fix tests with Twisted 22.10.0 --- pkgs/development/python-modules/foolscap/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/foolscap/default.nix b/pkgs/development/python-modules/foolscap/default.nix index ea0c17d5524a..09b85c12753e 100644 --- a/pkgs/development/python-modules/foolscap/default.nix +++ b/pkgs/development/python-modules/foolscap/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, fetchpatch , mock , pyopenssl , pytestCheckHook @@ -17,6 +18,14 @@ buildPythonPackage rec { sha256 = "sha256-6dGFU4YNk1joXXZi2c2L84JtUbTs1ICgXfv0/EU2P4Q="; }; + patches = [ + (fetchpatch { + name = "fix-tests-with-twisted-22.10.0.patch"; + url = "https://github.com/warner/foolscap/commit/c04202eb5d4cf052e650ec2985ea6037605fd79e.patch"; + hash = "sha256-RldDc18n3WYHdYg0ZmM8PBffIuiGa1NIfdoHs3mEEfc="; + }) + ]; + propagatedBuildInputs = [ mock twisted From 0fecf164a2a7d7ab51eb1ecfe0d4fc4d5f80011c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 12 Dec 2022 10:14:38 +0100 Subject: [PATCH 148/280] sbcl_*: fix build by adding a #define Probably triggered by glibc: 2.35-163 -> 2.35-224 Inspired by https://bugs.gentoo.org/869434 --- pkgs/development/compilers/sbcl/2.x.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/sbcl/2.x.nix b/pkgs/development/compilers/sbcl/2.x.nix index aa27e76d659e..2d79117b1663 100644 --- a/pkgs/development/compilers/sbcl/2.x.nix +++ b/pkgs/development/compilers/sbcl/2.x.nix @@ -173,7 +173,9 @@ stdenv.mkDerivation rec { # duplicate symbol '_static_code_space_free_pointer' in: alloc.o traceroot.o # Should be fixed past 2.1.10 release. "-fcommon" - ]; + ] + # Fails to find `O_LARGEFILE` otherwise. + ++ [ "-D_GNU_SOURCE" ]; buildPhase = '' runHook preBuild From c3db1f27518009a750ff1abbdee8f4065ffc5cf7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 12 Dec 2022 12:44:38 +0000 Subject: [PATCH 149/280] circup: 1.1.3 -> 1.1.4 --- pkgs/development/tools/circup/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/circup/default.nix b/pkgs/development/tools/circup/default.nix index ccb7ef454aa3..6d1f13c4521c 100644 --- a/pkgs/development/tools/circup/default.nix +++ b/pkgs/development/tools/circup/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "circup"; - version = "1.1.3"; + version = "1.1.4"; format = "setuptools"; src = fetchFromGitHub { owner = "adafruit"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-BCAsCwQCKMtmjISMVKDblRdev87K4EfX5D2Ot0L5PoQ="; + hash = "sha256-nXDje+MJR6olG3G7RO3esf6UAKynMvCP8YetIhnqoeE="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 9ee1d16c36b8bdca9fa5ac3a0d701a8c6d1f9dc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 12 Dec 2022 11:45:15 +0100 Subject: [PATCH 150/280] python310: revert asyncio changes done in 3.10.9 They brought significant regressions. Upstream is now discussing what to do, but we still want the security fixes from 3.10.9. --- .../cpython/3.10/asyncio-deprecation.patch | 598 ++++++++++++++++++ .../interpreters/python/cpython/default.nix | 5 +- 2 files changed, 602 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/interpreters/python/cpython/3.10/asyncio-deprecation.patch diff --git a/pkgs/development/interpreters/python/cpython/3.10/asyncio-deprecation.patch b/pkgs/development/interpreters/python/cpython/3.10/asyncio-deprecation.patch new file mode 100644 index 000000000000..656e4eb6a4cb --- /dev/null +++ b/pkgs/development/interpreters/python/cpython/3.10/asyncio-deprecation.patch @@ -0,0 +1,598 @@ +REVERT https://github.com/python/cpython/commit/300d812fd1c4d9244e71de0d228cc72439d312a7 +--- b/Doc/library/asyncio-eventloop.rst ++++ a/Doc/library/asyncio-eventloop.rst +@@ -43,12 +43,10 @@ + + Get the current event loop. + ++ If there is no current event loop set in the current OS thread, ++ the OS thread is main, and :func:`set_event_loop` has not yet ++ been called, asyncio will create a new event loop and set it as the ++ current one. +- When called from a coroutine or a callback (e.g. scheduled with +- call_soon or similar API), this function will always return the +- running event loop. +- +- If there is no running event loop set, the function will return +- the result of ``get_event_loop_policy().get_event_loop()`` call. + + Because this function has rather complex behavior (especially + when custom event loop policies are in use), using the +@@ -60,14 +58,10 @@ + event loop. + + .. deprecated:: 3.10 ++ Emits a deprecation warning if there is no running event loop. ++ In future Python releases, this function may become an alias of ++ :func:`get_running_loop` and will accordingly raise a ++ :exc:`RuntimeError` if there is no running event loop. +- Deprecation warning is emitted if there is no current event loop. +- In Python 3.12 it will be an error. +- +- .. note:: +- In Python versions 3.10.0--3.10.8 this function +- (and other functions which used it implicitly) emitted a +- :exc:`DeprecationWarning` if there was no running event loop, even if +- the current loop was set. + + .. function:: set_event_loop(loop) + +reverted: +--- b/Doc/library/asyncio-llapi-index.rst ++++ a/Doc/library/asyncio-llapi-index.rst +@@ -19,7 +19,7 @@ + - The **preferred** function to get the running event loop. + + * - :func:`asyncio.get_event_loop` ++ - Get an event loop instance (current or via the policy). +- - Get an event loop instance (running or current via the current policy). + + * - :func:`asyncio.set_event_loop` + - Set the event loop as current via the current policy. +reverted: +--- b/Doc/library/asyncio-policy.rst ++++ a/Doc/library/asyncio-policy.rst +@@ -112,11 +112,6 @@ + + On Windows, :class:`ProactorEventLoop` is now used by default. + +- .. deprecated:: 3.10.9 +- :meth:`get_event_loop` now emits a :exc:`DeprecationWarning` if there +- is no current event loop set and a new event loop has been implicitly +- created. In Python 3.12 it will be an error. +- + + .. class:: WindowsSelectorEventLoopPolicy + +reverted: +--- b/Lib/asyncio/events.py ++++ a/Lib/asyncio/events.py +@@ -650,21 +650,6 @@ + if (self._local._loop is None and + not self._local._set_called and + threading.current_thread() is threading.main_thread()): +- stacklevel = 2 +- try: +- f = sys._getframe(1) +- except AttributeError: +- pass +- else: +- while f: +- module = f.f_globals.get('__name__') +- if not (module == 'asyncio' or module.startswith('asyncio.')): +- break +- f = f.f_back +- stacklevel += 1 +- import warnings +- warnings.warn('There is no current event loop', +- DeprecationWarning, stacklevel=stacklevel) + self.set_event_loop(self.new_event_loop()) + + if self._local._loop is None: +@@ -778,13 +763,12 @@ + + + def _get_event_loop(stacklevel=3): +- # This internal method is going away in Python 3.12, left here only for +- # backwards compatibility with 3.10.0 - 3.10.8 and 3.11.0. +- # Similarly, this method's C equivalent in _asyncio is going away as well. +- # See GH-99949 for more details. + current_loop = _get_running_loop() + if current_loop is not None: + return current_loop ++ import warnings ++ warnings.warn('There is no current event loop', ++ DeprecationWarning, stacklevel=stacklevel) + return get_event_loop_policy().get_event_loop() + + +reverted: +--- b/Lib/test/test_asyncio/test_base_events.py ++++ a/Lib/test/test_asyncio/test_base_events.py +@@ -752,7 +752,7 @@ + def test_env_var_debug(self): + code = '\n'.join(( + 'import asyncio', ++ 'loop = asyncio.get_event_loop()', +- 'loop = asyncio.new_event_loop()', + 'print(loop.get_debug())')) + + # Test with -E to not fail if the unit test was run with +reverted: +--- b/Lib/test/test_asyncio/test_events.py ++++ a/Lib/test/test_asyncio/test_events.py +@@ -2561,9 +2561,8 @@ + def test_get_event_loop(self): + policy = asyncio.DefaultEventLoopPolicy() + self.assertIsNone(policy._local._loop) ++ ++ loop = policy.get_event_loop() +- with self.assertWarns(DeprecationWarning) as cm: +- loop = policy.get_event_loop() +- self.assertEqual(cm.filename, __file__) + self.assertIsInstance(loop, asyncio.AbstractEventLoop) + + self.assertIs(policy._local._loop, loop) +@@ -2577,10 +2576,7 @@ + policy, "set_event_loop", + wraps=policy.set_event_loop) as m_set_event_loop: + ++ loop = policy.get_event_loop() +- with self.assertWarns(DeprecationWarning) as cm: +- loop = policy.get_event_loop() +- self.addCleanup(loop.close) +- self.assertEqual(cm.filename, __file__) + + # policy._local._loop must be set through .set_event_loop() + # (the unix DefaultEventLoopPolicy needs this call to attach +@@ -2614,8 +2610,7 @@ + + def test_set_event_loop(self): + policy = asyncio.DefaultEventLoopPolicy() ++ old_loop = policy.get_event_loop() +- old_loop = policy.new_event_loop() +- policy.set_event_loop(old_loop) + + self.assertRaises(AssertionError, policy.set_event_loop, object()) + +@@ -2728,11 +2723,15 @@ + asyncio.set_event_loop_policy(Policy()) + loop = asyncio.new_event_loop() + ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + + with self.assertRaisesRegex(RuntimeError, 'no running'): + asyncio.get_running_loop() +@@ -2746,11 +2745,16 @@ + loop.run_until_complete(func()) + + asyncio.set_event_loop(loop) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) ++ +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(TestError): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaises(TestError): +- asyncio.get_event_loop() + + finally: + asyncio.set_event_loop_policy(old_policy) +@@ -2774,8 +2778,10 @@ + self.addCleanup(loop2.close) + self.assertEqual(cm.warnings[0].filename, __file__) + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'no current'): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current'): +- asyncio.get_event_loop() + + with self.assertRaisesRegex(RuntimeError, 'no running'): + asyncio.get_running_loop() +@@ -2789,11 +2795,15 @@ + loop.run_until_complete(func()) + + asyncio.set_event_loop(loop) ++ with self.assertWarns(DeprecationWarning) as cm: ++ self.assertIs(asyncio.get_event_loop(), loop) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- self.assertIs(asyncio.get_event_loop(), loop) + + asyncio.set_event_loop(None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'no current'): ++ asyncio.get_event_loop() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current'): +- asyncio.get_event_loop() + + finally: + asyncio.set_event_loop_policy(old_policy) +reverted: +--- b/Lib/test/test_asyncio/test_futures.py ++++ a/Lib/test/test_asyncio/test_futures.py +@@ -145,8 +145,10 @@ + self.assertTrue(f.cancelled()) + + def test_constructor_without_loop(self): ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ self._new_future() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- self._new_future() + + def test_constructor_use_running_loop(self): + async def test(): +@@ -156,10 +158,12 @@ + self.assertIs(f.get_loop(), self.loop) + + def test_constructor_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ f = self._new_future() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- f = self._new_future() + self.assertIs(f._loop, self.loop) + self.assertIs(f.get_loop(), self.loop) + +@@ -495,8 +499,10 @@ + return (arg, threading.get_ident()) + ex = concurrent.futures.ThreadPoolExecutor(1) + f1 = ex.submit(run, 'oi') ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(RuntimeError): ++ asyncio.wrap_future(f1) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.wrap_future(f1) + ex.shutdown(wait=True) + + def test_wrap_future_use_running_loop(self): +@@ -511,14 +517,16 @@ + ex.shutdown(wait=True) + + def test_wrap_future_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) + def run(arg): + return (arg, threading.get_ident()) + ex = concurrent.futures.ThreadPoolExecutor(1) + f1 = ex.submit(run, 'oi') ++ with self.assertWarns(DeprecationWarning) as cm: ++ f2 = asyncio.wrap_future(f1) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- f2 = asyncio.wrap_future(f1) + self.assertIs(self.loop, f2._loop) + ex.shutdown(wait=True) + +reverted: +--- b/Lib/test/test_asyncio/test_streams.py ++++ a/Lib/test/test_asyncio/test_streams.py +@@ -747,8 +747,10 @@ + self.assertEqual(data, b'data') + + def test_streamreader_constructor_without_loop(self): ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.StreamReader() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.StreamReader() + + def test_streamreader_constructor_use_running_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor +@@ -762,17 +764,21 @@ + def test_streamreader_constructor_use_global_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor + # retrieves the current loop if the loop parameter is not set ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + self.addCleanup(asyncio.set_event_loop, None) + asyncio.set_event_loop(self.loop) ++ with self.assertWarns(DeprecationWarning) as cm: ++ reader = asyncio.StreamReader() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- reader = asyncio.StreamReader() + self.assertIs(reader._loop, self.loop) + + + def test_streamreaderprotocol_constructor_without_loop(self): + reader = mock.Mock() ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.StreamReaderProtocol(reader) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.StreamReaderProtocol(reader) + + def test_streamreaderprotocol_constructor_use_running_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor +@@ -786,11 +792,13 @@ + def test_streamreaderprotocol_constructor_use_global_loop(self): + # asyncio issue #184: Ensure that StreamReaderProtocol constructor + # retrieves the current loop if the loop parameter is not set ++ # Deprecated in 3.10 +- # Deprecated in 3.10, undeprecated in 3.11.1 + self.addCleanup(asyncio.set_event_loop, None) + asyncio.set_event_loop(self.loop) + reader = mock.Mock() ++ with self.assertWarns(DeprecationWarning) as cm: ++ protocol = asyncio.StreamReaderProtocol(reader) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- protocol = asyncio.StreamReaderProtocol(reader) + self.assertIs(protocol._loop, self.loop) + + def test_multiple_drain(self): +reverted: +--- b/Lib/test/test_asyncio/test_tasks.py ++++ a/Lib/test/test_asyncio/test_tasks.py +@@ -210,8 +210,10 @@ + + a = notmuch() + self.addCleanup(a.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.ensure_future(a) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.ensure_future(a) + + async def test(): + return asyncio.ensure_future(notmuch()) +@@ -221,10 +223,12 @@ + self.assertTrue(t.done()) + self.assertEqual(t.result(), 'ok') + ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ t = asyncio.ensure_future(notmuch()) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- t = asyncio.ensure_future(notmuch()) + self.assertIs(t._loop, self.loop) + self.loop.run_until_complete(t) + self.assertTrue(t.done()) +@@ -243,8 +247,10 @@ + + a = notmuch() + self.addCleanup(a.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.ensure_future(a) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): +- asyncio.ensure_future(a) + + async def test(): + return asyncio.ensure_future(notmuch()) +@@ -254,10 +260,12 @@ + self.assertTrue(t.done()) + self.assertEqual(t.result(), 'ok') + ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ t = asyncio.ensure_future(notmuch()) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- t = asyncio.ensure_future(notmuch()) + self.assertIs(t._loop, self.loop) + self.loop.run_until_complete(t) + self.assertTrue(t.done()) +@@ -1480,8 +1488,10 @@ + self.addCleanup(a.close) + + futs = asyncio.as_completed([a]) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ list(futs) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- list(futs) + + def test_as_completed_coroutine_use_running_loop(self): + loop = self.new_test_loop() +@@ -1497,14 +1507,17 @@ + loop.run_until_complete(test()) + + def test_as_completed_coroutine_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + async def coro(): + return 42 + + loop = self.new_test_loop() + asyncio.set_event_loop(loop) + self.addCleanup(asyncio.set_event_loop, None) ++ futs = asyncio.as_completed([coro()]) ++ with self.assertWarns(DeprecationWarning) as cm: ++ futs = list(futs) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- futs = list(asyncio.as_completed([coro()])) + self.assertEqual(len(futs), 1) + self.assertEqual(loop.run_until_complete(futs[0]), 42) + +@@ -1974,8 +1987,10 @@ + + inner = coro() + self.addCleanup(inner.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaisesRegex(RuntimeError, 'There is no current event loop'): ++ asyncio.shield(inner) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.shield(inner) + + def test_shield_coroutine_use_running_loop(self): + async def coro(): +@@ -1989,13 +2004,15 @@ + self.assertEqual(res, 42) + + def test_shield_coroutine_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + async def coro(): + return 42 + + asyncio.set_event_loop(self.loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ outer = asyncio.shield(coro()) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- outer = asyncio.shield(coro()) + self.assertEqual(outer._loop, self.loop) + res = self.loop.run_until_complete(outer) + self.assertEqual(res, 42) +@@ -2933,7 +2950,7 @@ + self.assertIsNone(asyncio.current_task(loop=self.loop)) + + def test_current_task_no_running_loop_implicit(self): ++ with self.assertRaises(RuntimeError): +- with self.assertRaisesRegex(RuntimeError, 'no running event loop'): + asyncio.current_task() + + def test_current_task_with_implicit_loop(self): +@@ -3097,8 +3114,10 @@ + return asyncio.gather(*args, **kwargs) + + def test_constructor_empty_sequence_without_loop(self): ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(RuntimeError): ++ asyncio.gather() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.gather() + + def test_constructor_empty_sequence_use_running_loop(self): + async def gather(): +@@ -3111,10 +3130,12 @@ + self.assertEqual(fut.result(), []) + + def test_constructor_empty_sequence_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + asyncio.set_event_loop(self.one_loop) + self.addCleanup(asyncio.set_event_loop, None) ++ with self.assertWarns(DeprecationWarning) as cm: ++ fut = asyncio.gather() ++ self.assertEqual(cm.warnings[0].filename, __file__) +- fut = asyncio.gather() + self.assertIsInstance(fut, asyncio.Future) + self.assertIs(fut._loop, self.one_loop) + self._run_loop(self.one_loop) +@@ -3202,8 +3223,10 @@ + self.addCleanup(gen1.close) + gen2 = coro() + self.addCleanup(gen2.close) ++ with self.assertWarns(DeprecationWarning) as cm: ++ with self.assertRaises(RuntimeError): ++ asyncio.gather(gen1, gen2) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- with self.assertRaisesRegex(RuntimeError, 'no current event loop'): +- asyncio.gather(gen1, gen2) + + def test_constructor_use_running_loop(self): + async def coro(): +@@ -3217,14 +3240,16 @@ + self.one_loop.run_until_complete(fut) + + def test_constructor_use_global_loop(self): ++ # Deprecated in 3.10 +- # Deprecated in 3.10.0, undeprecated in 3.10.9 + async def coro(): + return 'abc' + asyncio.set_event_loop(self.other_loop) + self.addCleanup(asyncio.set_event_loop, None) + gen1 = coro() + gen2 = coro() ++ with self.assertWarns(DeprecationWarning) as cm: ++ fut = asyncio.gather(gen1, gen2) ++ self.assertEqual(cm.warnings[0].filename, __file__) +- fut = asyncio.gather(gen1, gen2) + self.assertIs(fut._loop, self.other_loop) + self.other_loop.run_until_complete(fut) + +reverted: +--- b/Lib/test/test_asyncio/test_unix_events.py ++++ a/Lib/test/test_asyncio/test_unix_events.py +@@ -1740,8 +1740,7 @@ + + def test_child_watcher_replace_mainloop_existing(self): + policy = self.create_policy() ++ loop = policy.get_event_loop() +- loop = policy.new_event_loop() +- policy.set_event_loop(loop) + + # Explicitly setup SafeChildWatcher, + # default ThreadedChildWatcher has no _loop property +reverted: +--- b/Lib/test/test_coroutines.py ++++ a/Lib/test/test_coroutines.py +@@ -2319,8 +2319,7 @@ + def test_unawaited_warning_during_shutdown(self): + code = ("import asyncio\n" + "async def f(): pass\n" ++ "asyncio.gather(f())\n") +- "async def t(): asyncio.gather(f())\n" +- "asyncio.run(t())\n") + assert_python_ok("-c", code) + + code = ("import sys\n" +reverted: +--- b/Modules/_asynciomodule.c ++++ a/Modules/_asynciomodule.c +@@ -332,6 +332,13 @@ + return loop; + } + ++ if (PyErr_WarnEx(PyExc_DeprecationWarning, ++ "There is no current event loop", ++ stacklevel)) ++ { ++ return NULL; ++ } ++ + policy = PyObject_CallNoArgs(asyncio_get_event_loop_policy); + if (policy == NULL) { + return NULL; +@@ -3085,11 +3092,6 @@ + return get_event_loop(1); + } + +-// This internal method is going away in Python 3.12, left here only for +-// backwards compatibility with 3.10.0 - 3.10.8 and 3.11.0. +-// Similarly, this method's Python equivalent in asyncio.events is going +-// away as well. +-// See GH-99949 for more details. + /*[clinic input] + _asyncio._get_event_loop + stacklevel: int = 3 diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 5dca71f7eefd..fc63fa5d6285 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -214,7 +214,10 @@ in with passthru; stdenv.mkDerivation { substituteInPlace setup.py --replace /Library/Frameworks /no-such-path ''; - patches = [ + patches = optionals (version == "3.10.9") [ + # https://github.com/python/cpython/issues/100160 + ./3.10/asyncio-deprecation.patch + ] ++ [ # Disable the use of ldconfig in ctypes.util.find_library (since # ldconfig doesn't work on NixOS), and don't use # ctypes.util.find_library during the loading of the uuid module From 1a5af953677c61b4724b2d3843f4650c00688fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 12 Dec 2022 14:33:17 +0100 Subject: [PATCH 151/280] python311: revert asyncio changes done in 3.11.1 Almost same as in the parent commit. --- pkgs/development/interpreters/python/cpython/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index fc63fa5d6285..8d55ea6c39cb 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -217,6 +217,15 @@ in with passthru; stdenv.mkDerivation { patches = optionals (version == "3.10.9") [ # https://github.com/python/cpython/issues/100160 ./3.10/asyncio-deprecation.patch + ] ++ optionals (version == "3.11.1") [ + # https://github.com/python/cpython/issues/100160 + (fetchpatch { + name = "asyncio-deprecation-3.11.patch"; + url = "https://github.com/python/cpython/commit/3fae04b10e2655a20a3aadb5e0d63e87206d0c67.diff"; + revert = true; + excludes = [ "Misc/NEWS.d/*" ]; + sha256 = "sha256-PmkXf2D9trtW1gXZilRIWgdg2Y47JfELq1z4DuG3wJY="; + }) ] ++ [ # Disable the use of ldconfig in ctypes.util.find_library (since # ldconfig doesn't work on NixOS), and don't use From ea69f1a8b8fe2b7b6a7de01a01d74d5a248d6f55 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Mon, 12 Dec 2022 13:13:58 -0800 Subject: [PATCH 152/280] jd-gui: patch to work with Gradle 6 --- pkgs/tools/security/jd-gui/default.nix | 35 ++++++++++++++++++++------ 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix index bfa4132ac025..2663af4ed620 100644 --- a/pkgs/tools/security/jd-gui/default.nix +++ b/pkgs/tools/security/jd-gui/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, jre, jdk, gradle_5, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell }: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, jre +, jdk +, gradle_6 +, makeDesktopItem +, copyDesktopItems +, perl +, writeText +, runtimeShell +}: let pname = "jd-gui"; @@ -8,14 +20,23 @@ let owner = "java-decompiler"; repo = pname; rev = "v${version}"; - sha256 = "010bd3q2m4jy4qz5ahdx86b5f558s068gbjlbpdhq3bhh4yrjy20"; + hash = "sha256-QHiZPYFwDQzbXVSuhwzQqBRXlkG9QVU+Jl6SKvBoCwQ="; }; + patches = [ + # https://github.com/java-decompiler/jd-gui/pull/362 + (fetchpatch { + name = "nebula-plugin-gradle-6-compatibility.patch"; + url = "https://github.com/java-decompiler/jd-gui/commit/91f805f9dc8ce0097460e63c8095ccea870687e6.patch"; + hash = "sha256-9eaM9Mx2FaKIhGSOHjATKN/CrtvJeXyrH8Mdx8LNtpE="; + }) + ]; + deps = stdenv.mkDerivation { name = "${pname}-deps"; - inherit src; + inherit src patches; - nativeBuildInputs = [ jdk perl gradle_5 ]; + nativeBuildInputs = [ jdk perl gradle_6 ]; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d); @@ -32,7 +53,7 @@ let outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "1qil12s0daxpxj5xj5dj6s2k89is0kiir2vcafkm3lasc41acmk3"; + outputHash = "sha256-gqUyZE+MoZRYCcJx95Qc4dZIC3DZvxee6UQhpfveDI4="; }; # Point to our local deps repo @@ -68,10 +89,10 @@ let }; in stdenv.mkDerivation rec { - inherit pname version src; + inherit pname version src patches; name = "${pname}-${version}"; - nativeBuildInputs = [ jdk gradle_5 copyDesktopItems ]; + nativeBuildInputs = [ jdk gradle_6 copyDesktopItems ]; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d) From e53d1600cb67069ed39a4b7a00ca21b48ae7860b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 13 Dec 2022 14:37:10 +0100 Subject: [PATCH 153/280] Revert #201485: llvmPackages_14: Fix build on aarch64-linux This reverts commits 74965741696bf and 38c793c1de. llvm_14 wouldn't even build on aarch64-linux (test phase). --- pkgs/development/compilers/llvm/14/clang/default.nix | 3 --- pkgs/development/compilers/llvm/14/compiler-rt/default.nix | 3 --- pkgs/development/compilers/llvm/14/lld/default.nix | 3 --- pkgs/development/compilers/llvm/14/lldb/default.nix | 3 --- pkgs/development/compilers/llvm/14/llvm/default.nix | 3 --- pkgs/top-level/all-packages.nix | 2 -- 6 files changed, 17 deletions(-) diff --git a/pkgs/development/compilers/llvm/14/clang/default.nix b/pkgs/development/compilers/llvm/14/clang/default.nix index 6086c65dca16..55d879fb76e4 100644 --- a/pkgs/development/compilers/llvm/14/clang/default.nix +++ b/pkgs/development/compilers/llvm/14/clang/default.nix @@ -26,9 +26,6 @@ let buildInputs = [ libxml2 libllvm ]; - # workaround https://github.com/NixOS/nixpkgs/issues/201254 - NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; - cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++14" "-DCLANGD_BUILD_XPC=OFF" diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix index 994d6eaaad6a..4351c56ef530 100644 --- a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix @@ -35,9 +35,6 @@ stdenv.mkDerivation { "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" ]; - # workaround https://github.com/NixOS/nixpkgs/issues/201254 - NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; - cmakeFlags = [ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" diff --git a/pkgs/development/compilers/llvm/14/lld/default.nix b/pkgs/development/compilers/llvm/14/lld/default.nix index 8938c5de93f5..2e0d893c7feb 100644 --- a/pkgs/development/compilers/llvm/14/lld/default.nix +++ b/pkgs/development/compilers/llvm/14/lld/default.nix @@ -34,9 +34,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ]; buildInputs = [ libllvm libxml2 ]; - # workaround https://github.com/NixOS/nixpkgs/issues/201254 - NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; - cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" ]; diff --git a/pkgs/development/compilers/llvm/14/lldb/default.nix b/pkgs/development/compilers/llvm/14/lldb/default.nix index 28d3a2bd3ff4..2493dcde0c84 100644 --- a/pkgs/development/compilers/llvm/14/lldb/default.nix +++ b/pkgs/development/compilers/llvm/14/lldb/default.nix @@ -86,9 +86,6 @@ stdenv.mkDerivation (rec { hardeningDisable = [ "format" ]; - # workaround https://github.com/NixOS/nixpkgs/issues/201254 - NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; - cmakeFlags = [ "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}" "-DLLVM_ENABLE_RTTI=OFF" diff --git a/pkgs/development/compilers/llvm/14/llvm/default.nix b/pkgs/development/compilers/llvm/14/llvm/default.nix index 4cc6c80dd4aa..673cd31460e8 100644 --- a/pkgs/development/compilers/llvm/14/llvm/default.nix +++ b/pkgs/development/compilers/llvm/14/llvm/default.nix @@ -129,9 +129,6 @@ in stdenv.mkDerivation (rec { # E.g. mesa.drivers use the build-id as a cache key (see #93946): LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1"; - # workaround https://github.com/NixOS/nixpkgs/issues/201254 - NIX_LDFLAGS = if stdenv.isLinux && stdenv.isAarch64 && stdenv.cc.isGNU then "-lgcc" else null; - cmakeFlags = with stdenv; let # These flags influence llvm-config's BuildVariables.inc in addition to the # general build. We need to make sure these are also passed via diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 198f7deed5c0..afc2a8e07e8e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14931,8 +14931,6 @@ with pkgs; buildLlvmTools = buildPackages.llvmPackages_14.tools; targetLlvmLibraries = targetPackages.llvmPackages_14.libraries or llvmPackages_14.libraries; targetLlvm = targetPackages.llvmPackages_14.llvm or llvmPackages_14.llvm; - } // lib.optionalAttrs (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux && buildPackages.stdenv.cc.isGNU) { - stdenv = gcc11Stdenv; })); llvmPackages_latest = llvmPackages_14; From 4f1ab0953d7aa2553f58dcd6d20db4706e29f3d3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 10 Dec 2022 11:09:29 +0100 Subject: [PATCH 154/280] python310Packages.devtools: 0.8.0 -> 0.10.0 Diff: https://github.com/samuelcolvin/python-devtools/compare/v0.8.0...v0.10.0 Changelog: https://github.com/samuelcolvin/python-devtools/releases/tag/v0.10.0 In particular, this also fixes the x86_64-linux build at this point. --- .../development/python-modules/devtools/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/devtools/default.nix b/pkgs/development/python-modules/devtools/default.nix index 34004769b1fd..a6cc42dfe962 100644 --- a/pkgs/development/python-modules/devtools/default.nix +++ b/pkgs/development/python-modules/devtools/default.nix @@ -2,6 +2,7 @@ , asttokens , buildPythonPackage , executing +, hatchling , fetchFromGitHub , pygments , pytest-mock @@ -11,18 +12,22 @@ buildPythonPackage rec { pname = "devtools"; - version = "0.8.0"; - format = "setuptools"; + version = "0.10.0"; + format = "pyproject"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "samuelcolvin"; repo = "python-${pname}"; rev = "v${version}"; - sha256 = "0yavcbxzxi1nfa1k326gsl03y8sadi5z5acamwd8b1bsiv15p757"; + sha256 = "sha256-x9dL/FE94OixMAmjnmfzZUcYJBqE5P2AAIFsNJF0Fxo="; }; + nativeBuildInputs = [ + hatchling + ]; + propagatedBuildInputs = [ asttokens executing From 2a9bccc5cb63bd74f5b6f1a898b47159355e7ce9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 11 Dec 2022 23:10:38 -0800 Subject: [PATCH 155/280] python310Packages.multipart: init at 0.2.4 --- .../python-modules/multipart/default.nix | 39 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 41 insertions(+) create mode 100644 pkgs/development/python-modules/multipart/default.nix diff --git a/pkgs/development/python-modules/multipart/default.nix b/pkgs/development/python-modules/multipart/default.nix new file mode 100644 index 000000000000..6d441843162d --- /dev/null +++ b/pkgs/development/python-modules/multipart/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "multipart"; + version = "0.2.4"; + + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + sha256 = "06ba205360bc7096fefe618e4f1e9b2cdb890b4f2157053a81f386912a2522cb"; + }; + + patches = [ + (fetchpatch { + name = "dont-test-semicolon-separators-in-urlencoded-data.patch"; + url = "https://github.com/defnull/multipart/commit/4d4ac6b79c453918ebf40c690e8d57d982ee840b.patch"; + hash = "sha256-rMeMhQEhonWAHzy5M8Im5mL6km5a9O0CGVOV+T3UNqo="; + }) + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "multipart" ]; + + meta = { + description = "Parser for multipart/form-data"; + homepage = "https://github.com/defnull/multipart"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 99d41376499b..594f4e62ca9a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6873,6 +6873,8 @@ self: super: with self; { msgraph-core = callPackage ../development/python-modules/msgraph-core { }; + multipart = callPackage ../development/python-modules/multipart { }; + netmap = callPackage ../development/python-modules/netmap { }; onetimepad = callPackage ../development/python-modules/onetimepad { }; From 00211043444e19c717ac741278c8604115129d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 11 Dec 2022 22:57:41 -0800 Subject: [PATCH 156/280] python39Packages.httpx: 0.23.0 -> 0.23.1 https://github.com/encode/httpx/releases/tag/0.23.1 --- .../python-modules/httpx/default.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix index 4085a2e0893f..104fabd2c50c 100644 --- a/pkgs/development/python-modules/httpx/default.nix +++ b/pkgs/development/python-modules/httpx/default.nix @@ -8,8 +8,11 @@ , click , fetchFromGitHub , h2 +, hatch-fancy-pypi-readme +, hatchling , httpcore , isPyPy +, multipart , pygments , python , pythonOlder @@ -26,8 +29,8 @@ buildPythonPackage rec { pname = "httpx"; - version = "0.23.0"; - format = "setuptools"; + version = "0.23.1"; + format = "pyproject"; disabled = pythonOlder "3.7"; @@ -35,9 +38,14 @@ buildPythonPackage rec { owner = "encode"; repo = pname; rev = version; - hash = "sha256-s11Yeizm3y3w5D6ACQ2wp/KJ0+1ALY/R71IlTP2pMC4="; + hash = "sha256-1gRBHbGFUkaFvVgHHoXfpo9j0L074SyevFwMY202+uk="; }; + nativeBuildInputs = [ + hatch-fancy-pypi-readme + hatchling + ]; + propagatedBuildInputs = [ certifi httpcore @@ -69,6 +77,7 @@ buildPythonPackage rec { checkInputs = [ chardet + multipart pytestCheckHook pytest-asyncio pytest-trio @@ -79,7 +88,7 @@ buildPythonPackage rec { ++ passthru.optional-dependencies.socks; postPatch = '' - substituteInPlace setup.py \ + substituteInPlace pyproject.toml \ --replace "rfc3986[idna2008]>=1.3,<2" "rfc3986>=1.3" ''; @@ -112,6 +121,7 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; meta = with lib; { + changelog = "https://github.com/encode/httpx/blob/${src.rev}/CHANGELOG.md"; description = "The next generation HTTP client"; homepage = "https://github.com/encode/httpx"; license = licenses.bsd3; From f9a84515f380dd690c1c38537991b46220be004f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 12 Dec 2022 22:11:57 -0800 Subject: [PATCH 157/280] python310Packages.h11: add httpx to passthru.tests --- pkgs/development/python-modules/h11/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/h11/default.nix b/pkgs/development/python-modules/h11/default.nix index bb61c5310354..4f34ca2daafb 100644 --- a/pkgs/development/python-modules/h11/default.nix +++ b/pkgs/development/python-modules/h11/default.nix @@ -4,6 +4,7 @@ , pytestCheckHook , pythonOlder , httpcore +, httpx , wsproto }: @@ -23,7 +24,7 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; passthru.tests = { - inherit httpcore wsproto; + inherit httpcore httpx wsproto; }; meta = with lib; { From cb45646eb1e01a092257cf2901a9de92174b13b6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 14 Dec 2022 03:40:10 +0000 Subject: [PATCH 158/280] mubeng: 0.11.0 -> 0.12.0-dev --- pkgs/tools/networking/mubeng/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/mubeng/default.nix b/pkgs/tools/networking/mubeng/default.nix index a214d00b9812..f7e4a6d25476 100644 --- a/pkgs/tools/networking/mubeng/default.nix +++ b/pkgs/tools/networking/mubeng/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "mubeng"; - version = "0.11.0"; + version = "0.12.0-dev"; src = fetchFromGitHub { owner = "kitabisa"; repo = pname; rev = "v${version}"; - sha256 = "sha256-BY3X9N7XnBZ6mVX/o+EXruJmi3HYWMeY9enSuJY4jWI="; + sha256 = "sha256-NBZmu0VcVUhJSdM3fzZ+4Q5oX8uxO6GLpEUq74x8HUU="; }; vendorSha256 = "sha256-1JxyP6CrJ4/g7o3eGeN1kRXJU/jNLEB8fW1bjJytQqQ="; From 76574979cb91a5786e542ffbf23c9116b170e766 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 14 Dec 2022 10:55:37 +0000 Subject: [PATCH 159/280] retroarchBare: 1.13.0 -> 1.14.0 --- pkgs/applications/emulators/retroarch/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix index c2c752f054af..5512fa276e82 100644 --- a/pkgs/applications/emulators/retroarch/default.nix +++ b/pkgs/applications/emulators/retroarch/default.nix @@ -45,12 +45,12 @@ let in stdenv.mkDerivation rec { pname = "retroarch-bare"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "libretro"; repo = "RetroArch"; - hash = "sha256-eEe0mM9gUWgEzoRH1Iuet20US9eXNtCVSBi2kX1njVw="; + hash = "sha256-oEENGehbzjJq1kTiz6gkXHMMe/rXjWPxxMoe4RqdqK4="; rev = "v${version}"; }; From 458df785b99bd02276a520aac63ba1d588ba5ccb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 14 Dec 2022 15:19:53 +0100 Subject: [PATCH 160/280] dnstwist: add changelog to meta --- pkgs/tools/networking/dnstwist/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/dnstwist/default.nix b/pkgs/tools/networking/dnstwist/default.nix index 4c7081218b87..03d03ccdcb35 100644 --- a/pkgs/tools/networking/dnstwist/default.nix +++ b/pkgs/tools/networking/dnstwist/default.nix @@ -6,12 +6,13 @@ python3.pkgs.buildPythonApplication rec { pname = "dnstwist"; version = "20221022"; + format = "setuptools"; src = fetchFromGitHub { owner = "elceef"; repo = pname; rev = "refs/tags/${version}"; - sha256 = "sha256-qdKMEE97PWkWgstJZxnFWDjc2heIbJjjCwBbl5K2zy4="; + hash = "sha256-qdKMEE97PWkWgstJZxnFWDjc2heIbJjjCwBbl5K2zy4="; }; propagatedBuildInputs = with python3.pkgs; [ @@ -33,6 +34,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Domain name permutation engine for detecting homograph phishing attacks"; homepage = "https://github.com/elceef/dnstwist"; + changelog = "https://github.com/elceef/dnstwist/releases/tag/${version}"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ fab ]; }; From bed70655876ffcb76a4034ed32c920b62db60bbe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 14 Dec 2022 15:20:32 +0100 Subject: [PATCH 161/280] dnstwist: 20221022 -> 20221213 Changelog: https://github.com/elceef/dnstwist/releases/tag/20221213 --- pkgs/tools/networking/dnstwist/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/dnstwist/default.nix b/pkgs/tools/networking/dnstwist/default.nix index 03d03ccdcb35..bab81c2069e8 100644 --- a/pkgs/tools/networking/dnstwist/default.nix +++ b/pkgs/tools/networking/dnstwist/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "dnstwist"; - version = "20221022"; + version = "20221213"; format = "setuptools"; src = fetchFromGitHub { owner = "elceef"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-qdKMEE97PWkWgstJZxnFWDjc2heIbJjjCwBbl5K2zy4="; + hash = "sha256-xYZGrlrEdot2l1SkXcT2IbeRWouaN6C+WwbBSHXhAtw="; }; propagatedBuildInputs = with python3.pkgs; [ From 30f13efe8d03a529a18ba53f484fad91dd845e5a Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Wed, 14 Dec 2022 13:47:50 -0500 Subject: [PATCH 162/280] apacheHttpdPackages.mod_tile fix --- .../http/apache-modules/mod_tile/default.nix | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/apache-modules/mod_tile/default.nix b/pkgs/servers/http/apache-modules/mod_tile/default.nix index 78c5749a616e..33d02f07093c 100644 --- a/pkgs/servers/http/apache-modules/mod_tile/default.nix +++ b/pkgs/servers/http/apache-modules/mod_tile/default.nix @@ -1,4 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, apacheHttpd, apr, cairo, iniparser, mapnik }: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, apacheHttpd +, apr +, cairo +, iniparser +, mapnik +, boost +, icu +, harfbuzz +, libjpeg +, libtiff +, libwebp +, proj +, sqlite +}: stdenv.mkDerivation rec { pname = "mod_tile"; @@ -21,8 +39,27 @@ stdenv.mkDerivation rec { }) ]; + # test is broken and I couldn't figure out a better way to disable it. + postPatch = '' + echo "int main(){return 0;}" > src/gen_tile_test.cpp + ''; + nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ apacheHttpd apr cairo iniparser mapnik ]; + buildInputs = [ + apacheHttpd + apr + cairo + iniparser + mapnik + boost + icu + harfbuzz + libjpeg + libtiff + libwebp + proj + sqlite + ]; configureFlags = [ "--with-apxs=${apacheHttpd.dev}/bin/apxs" From aac46d7460e525938f99ecef888217f37ad2cda9 Mon Sep 17 00:00:00 2001 From: Raphael Robatsch Date: Wed, 14 Dec 2022 22:10:21 +0000 Subject: [PATCH 163/280] mbedtls_2: 2.28.1 -> 2.28.2 Changelog: https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-2.28.2/ChangeLog --- pkgs/development/libraries/mbedtls/2.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mbedtls/2.nix b/pkgs/development/libraries/mbedtls/2.nix index ba1f520b08cf..e577b9183c27 100644 --- a/pkgs/development/libraries/mbedtls/2.nix +++ b/pkgs/development/libraries/mbedtls/2.nix @@ -1,6 +1,6 @@ { callPackage }: callPackage ./generic.nix { - version = "2.28.1"; - hash = "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="; + version = "2.28.2"; + hash = "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="; } From 110e3ce89a64aef456182ab4e2f60a75fd9c6390 Mon Sep 17 00:00:00 2001 From: Raphael Robatsch Date: Wed, 14 Dec 2022 22:12:02 +0000 Subject: [PATCH 164/280] mbedtls: 3.2.1 -> 3.3.0 Changelog: https://github.com/Mbed-TLS/mbedtls/blob/mbedtls-3.3.0/ChangeLog Removed NIX_CFLAGS_COMPILE which is not needed anymore, and disabled generation of source code by using the generated code that is already present in releases. This avoids new build-time dependencies for mbedtls 3. --- pkgs/development/libraries/mbedtls/3.nix | 4 ++-- pkgs/development/libraries/mbedtls/generic.nix | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/mbedtls/3.nix b/pkgs/development/libraries/mbedtls/3.nix index d6f53feb086b..55293b6ecd49 100644 --- a/pkgs/development/libraries/mbedtls/3.nix +++ b/pkgs/development/libraries/mbedtls/3.nix @@ -1,6 +1,6 @@ { callPackage }: callPackage ./generic.nix { - version = "3.2.1"; - hash = "sha256-+M36NvFe4gw2PRbld/2JV3yBGrqK6soWcmrSEkUNcrc="; + version = "3.3.0"; + hash = "sha256-yb5migP5Tcw99XHFzJkCct4f5R6ztxPR43VQcfTGRtE="; } diff --git a/pkgs/development/libraries/mbedtls/generic.nix b/pkgs/development/libraries/mbedtls/generic.nix index bb87c6dbc8ad..3383d3f8cc44 100644 --- a/pkgs/development/libraries/mbedtls/generic.nix +++ b/pkgs/development/libraries/mbedtls/generic.nix @@ -32,10 +32,14 @@ stdenv.mkDerivation rec { perl scripts/config.pl set MBEDTLS_THREADING_PTHREAD # POSIX thread wrapper layer for the threading layer. ''; - cmakeFlags = [ "-DUSE_SHARED_MBEDTLS_LIBRARY=on" ]; - NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ - "-Wno-error=format" - "-Wno-error=format-truncation" + cmakeFlags = [ + "-DUSE_SHARED_MBEDTLS_LIBRARY=on" + + # Avoid a dependency on jsonschema and jinja2 by not generating source code + # using python. In releases, these generated files are already present in + # the repository and do not need to be regenerated. See: + # https://github.com/Mbed-TLS/mbedtls/releases/tag/v3.3.0 below "Requirement changes". + "-DGEN_FILES=off" ]; meta = with lib; { From 73acdd0f22c689e744b99c98538582d4c81b3210 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 15 Dec 2022 01:37:19 +0100 Subject: [PATCH 165/280] sox: create dev, lib and man outputs --- pkgs/applications/misc/audio/sox/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 9ddcdc92c5bd..0862453d03aa 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -44,6 +44,13 @@ stdenv.mkDerivation rec { hash = "sha256-9cpOwio69GvzVeDq79BSmJgds9WU5kA/KUlAkHcpN5c="; }; + outputs = [ + "out" + "dev" + "lib" + "man" + ]; + nativeBuildInputs = [ autoreconfHook autoconf-archive From 1e758166119a8b7baa53dba3bd77525e22a093fc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 15 Dec 2022 03:20:27 +0000 Subject: [PATCH 166/280] python310Packages.pyswitchbot: 0.23.1 -> 0.23.2 --- pkgs/development/python-modules/pyswitchbot/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix index 48bed6efb8b5..872999bf565e 100644 --- a/pkgs/development/python-modules/pyswitchbot/default.nix +++ b/pkgs/development/python-modules/pyswitchbot/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "pyswitchbot"; - version = "0.23.1"; + version = "0.23.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "pySwitchbot"; rev = "refs/tags/${version}"; - hash = "sha256-vBXOZ+AhhqWUD6XukmkHF4wjjJxXbK7r0V+qCuZGc6s="; + hash = "sha256-bpa83uT3Gebwryb7Fc7kBv0m9aYgoL84Q625AavLw40="; }; propagatedBuildInputs = [ From 8e89f701d36f8868f89bdc65eab12e199abd435c Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Mon, 25 Jul 2022 07:53:54 +0900 Subject: [PATCH 167/280] poac: init at 0.4.1 --- pkgs/development/tools/poac/default.nix | 123 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + 2 files changed, 127 insertions(+) create mode 100644 pkgs/development/tools/poac/default.nix diff --git a/pkgs/development/tools/poac/default.nix b/pkgs/development/tools/poac/default.nix new file mode 100644 index 000000000000..6db3acb56063 --- /dev/null +++ b/pkgs/development/tools/poac/default.nix @@ -0,0 +1,123 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, cpm-cmake +, git +, cacert +, boost179 +, fmt_8 +, icu +, libarchive +, libgit2 +, lz4 +, ninja +, openssl_3 +, spdlog +}: + +let + git2Cpp = fetchFromGitHub { + owner = "ken-matsui"; + repo = "git2-cpp"; + rev = "v0.1.0-alpha.1"; + sha256 = "sha256-Ub0wrBK5oMfWGv+kpq/W1PN3yzpcfg+XWRFF/lV9VCY="; + }; + + glob = fetchFromGitHub { + owner = "p-ranav"; + repo = "glob"; + rev = "v0.0.1"; + sha256 = "sha256-2y+a7YFBiYX8wbwCCWw1Cm+SFoXGB3ZxLPi/QdZhcdw="; + }; + + packageProjectCMake = fetchFromGitHub { + owner = "TheLartians"; + repo = "PackageProject.cmake"; + rev = "v1.3"; + sha256 = "sha256-ZktftDrPo+JhBt0XKJekv0cyxIagvcgMcXZOBd4RtKs="; + }; + + mitamaCppResult = fetchFromGitHub { + owner = "LoliGothick"; + repo = "mitama-cpp-result"; + rev = "v9.3.0"; + sha256 = "sha256-CWYVPpmPIZZTsqXKh+Ft3SlQ4C9yjUof1mJ8Acn5kmM="; + }; + + structopt = fetchFromGitHub { + owner = "p-ranav"; + repo = "structopt"; + rev = "e9722d3c2b52cf751ebc1911b93d9649c4e365cc"; + sha256 = "sha256-jIfKUyY2QQ2/donywwlz65PY8u7xODGoG6SlNtUhwkg="; + }; + + toml11 = fetchFromGitHub { + owner = "ToruNiina"; + repo = "toml11"; + rev = "9086b1114f39a8fb10d08ca704771c2f9f247d02"; + sha256 = "sha256-fHUElHO4ckNQq7Q88GdbHGxfaAvWoWtGB0eD9y2MnLo="; + }; +in +stdenv.mkDerivation rec { + pname = "poac"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "poacpm"; + repo = pname; + rev = version; + sha256 = "sha256-jXYPeI/rVuTr7OYV5sMgNr+U1OfN0XZtun6mihtlErY="; + }; + + preConfigure = '' + mkdir -p ${placeholder "out"}/share/cpm + cp ${cpm-cmake}/share/cpm/CPM.cmake ${placeholder "out"}/share/cpm/CPM_0.35.1.cmake + ''; + + cmakeFlags = [ + "-DCPM_USE_LOCAL_PACKAGES=ON" + "-DCPM_SOURCE_CACHE=${placeholder "out"}/share" + "-DFETCHCONTENT_SOURCE_DIR_FMT=${fmt_8}" + "-DFETCHCONTENT_SOURCE_DIR_GIT2-CPP=${git2Cpp}" + "-DFETCHCONTENT_SOURCE_DIR_GLOB=${glob}" + "-DFETCHCONTENT_SOURCE_DIR_PACKAGEPROJECT.CMAKE=${packageProjectCMake}" + "-DFETCHCONTENT_SOURCE_DIR_MITAMA-CPP-RESULT=${mitamaCppResult}" + "-DFETCHCONTENT_SOURCE_DIR_NINJA=${ninja.src}" + "-DFETCHCONTENT_SOURCE_DIR_STRUCTOPT=${structopt}" + "-DFETCHCONTENT_SOURCE_DIR_TOML11=${toml11}" + ]; + + nativeBuildInputs = [ cmake git cacert ]; + buildInputs = [ + (if stdenv.isDarwin + then boost179 + else (boost179.override { enableShared = false; enableStatic = true; })) + fmt_8 + git2Cpp + glob + packageProjectCMake + mitamaCppResult + ninja + structopt + toml11 + icu + libarchive + libgit2 + lz4 + openssl_3 + spdlog + ]; + + meta = with lib; { + homepage = "https://poac.pm"; + description = "Package Manager for C++"; + license = licenses.asl20; + maintainers = with maintainers; [ ken-matsui ]; + platforms = platforms.unix; + # https://github.com/NixOS/nixpkgs/pull/189712#issuecomment-1237791234 + broken = (stdenv.isLinux && stdenv.isAarch64) + # error: excess elements in scalar initializer on std::aligned_alloc + || (stdenv.isDarwin && stdenv.isx86_64); + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c21a4e3bcec7..8df7c1c76c20 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9735,6 +9735,10 @@ with pkgs; po4a = perlPackages.Po4a; + poac = callPackage ../development/tools/poac { + inherit (llvmPackages_14) stdenv; + }; + podiff = callPackage ../tools/text/podiff { }; podman = callPackage ../applications/virtualization/podman/wrapper.nix { }; From ba3a0967047a4a51f602237ac27239b9c3a53f12 Mon Sep 17 00:00:00 2001 From: kkharji Date: Thu, 15 Dec 2022 08:00:11 +0300 Subject: [PATCH 168/280] maintainers: add kkharji --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2cc83de82669..a9e0588baa25 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15917,6 +15917,12 @@ github = "kuwii"; githubId = 10705175; }; + kkharji = { + name = "kkharji"; + email = "kkharji@protonmail.com"; + github = "kkharji"; + githubId = 65782666; + }; melias122 = { name = "Martin Elias"; email = "martin+nixpkgs@elias.sx"; From efe2dec15134ae4529e7664b47abc30bf5fc3a88 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 15 Dec 2022 13:06:26 +0300 Subject: [PATCH 169/280] pipewire: 0.3.61 -> 0.3.63 Diff: https://gitlab.freedesktop.org/pipewire/pipewire/-/compare/0.3.61...0.3.63 --- 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 5b6573cb4313..8f0852b06a12 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -68,7 +68,7 @@ let self = stdenv.mkDerivation rec { pname = "pipewire"; - version = "0.3.61"; + version = "0.3.63"; outputs = [ "out" @@ -86,7 +86,7 @@ let owner = "pipewire"; repo = "pipewire"; rev = version; - sha256 = "H1212aCsMENSmxhJiKF/RnpWK1bEz4HX2a1PJW6CC2U="; + sha256 = "sha256-GQJpw5G9YN7T2upu2FLUxE8UvMRev3K2j4Z1uK1/dt4="; }; patches = [ From be56593f780ca14a8c894fe8690af47e6348c4dc Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 15 Dec 2022 15:46:37 +0100 Subject: [PATCH 170/280] python3Packages.respx: 0.20.0 -> 0.20.1 Diff: https://github.com/lundberg/respx/compare/0.20.0...0.20.1 Changelog: https://github.com/lundberg/respx/blob/0.20.1/CHANGELOG.md --- pkgs/development/python-modules/respx/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix index 4d4e4e1175d8..cdf4ea4f0549 100644 --- a/pkgs/development/python-modules/respx/default.nix +++ b/pkgs/development/python-modules/respx/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "respx"; - version = "0.20.0"; + version = "0.20.1"; src = fetchFromGitHub { owner = "lundberg"; repo = pname; rev = version; - sha256 = "sha256-xb5jb+l6wA1v/r2yGUB6IuUVXIaTc+3O/w5xn/+A74o="; + sha256 = "sha256-Qs3+NWMKiAFlKTTosdyHOxWRPKFlYQD20+MKiKR371U="; }; propagatedBuildInputs = [ From 7220172008d56f9f4b9e7a9e2fc88b522095bebd Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Thu, 15 Dec 2022 11:41:10 -0800 Subject: [PATCH 171/280] =?UTF-8?q?mozillavpn:=202.11.0=20=E2=86=92=202.12?= =?UTF-8?q?.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Anders Kaseorg --- pkgs/tools/networking/mozillavpn/default.nix | 38 +++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix index b3e60ec45de8..dcedbb1409c5 100644 --- a/pkgs/tools/networking/mozillavpn/default.nix +++ b/pkgs/tools/networking/mozillavpn/default.nix @@ -1,6 +1,7 @@ { buildGoModule , cmake , fetchFromGitHub +, fetchpatch , go , lib , pkg-config @@ -21,14 +22,21 @@ let pname = "mozillavpn"; - version = "2.11.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "mozilla-mobile"; repo = "mozilla-vpn-client"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-QXxZ6RQwXrVsaZRkW13r7aoz8iHxuT0nW/2aFDpLLzU="; + hash = "sha256-T8dPM90X4soVG/plKsf7DM9XgdX5Vcp0i6zTE60gbq0="; }; + patches = [ + # vpnglean: Add Cargo.lock file + (fetchpatch { + url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/5236/commits/6fdc689001619a06b752fa629647642ea66f4e26.patch"; + hash = "sha256-j666Z31D29WIL3EXbek2aLzA4Fui/9VZvupubMDG24Q="; + }) + ]; netfilter-go-modules = (buildGoModule { inherit pname version src; @@ -40,19 +48,24 @@ let inherit src; name = "${pname}-${version}-extension-bridge"; preBuild = "cd extension/bridge"; - hash = "sha256-BRUUEDIVQoF+FuKnoBzFbMyeGOgGb6/boYSaftZPF2U="; + hash = "sha256-/DmKSV0IKxZV0Drh6dTsiqgZhuxt6CoegXpYdqN4UzQ="; }; - signatureDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}-signature"; preBuild = "cd signature"; - hash = "sha256-oSO7KS4aBwSVYIyxmWTXKn0CL9t6CDR/hx+0+nbf/dM="; + hash = "sha256-6qyMARhPPgTryEtaBNrIPN9ja/fe7Fyx38iGuTd+Dk8="; + }; + vpngleanDeps = rustPlatform.fetchCargoTarball { + inherit src patches; + name = "${pname}-${version}-vpnglean"; + preBuild = "cd vpnglean"; + hash = "sha256-8OLTQmRvy6pATEBX2za6f9vMEqwkf9L5VyERtAN2BDQ="; }; in stdenv.mkDerivation { - inherit pname version src; + inherit pname version src patches; buildInputs = [ polkit @@ -73,6 +86,7 @@ stdenv.mkDerivation { python3.pkgs.setuptools rustPlatform.cargoSetupHook rustPlatform.rust.cargo + rustPlatform.rust.rustc which wrapQtAppsHook ]; @@ -87,6 +101,11 @@ stdenv.mkDerivation { cargoDeps='${signatureDeps}' cargoSetupPostUnpackHook signatureDepsCopy="$cargoDepsCopy" popd + + pushd source/vpnglean + cargoDeps='${vpngleanDeps}' cargoSetupPostUnpackHook + vpngleanDepsCopy="$cargoDepsCopy" + popd ''; dontCargoSetupPostUnpack = true; @@ -108,9 +127,6 @@ stdenv.mkDerivation { substituteInPlace extension/CMakeLists.txt \ --replace '/etc' "$out/etc" - substituteInPlace src/connectionbenchmark/benchmarktasktransfer.cpp \ - --replace 'QT_VERSION >= 0x060400' 'false' - ln -s '${netfilter-go-modules}' linux/netfilter/vendor pushd extension/bridge @@ -121,6 +137,10 @@ stdenv.mkDerivation { cargoDepsCopy="$signatureDepsCopy" cargoSetupPostPatchHook popd + pushd vpnglean + cargoDepsCopy="$vpngleanDepsCopy" cargoSetupPostPatchHook + popd + cargoSetupPostPatchHook() { true; } ''; From 4d78fa3a59936e36f7fbcb9d9c329523ed73c2e8 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 15 Dec 2022 22:50:54 +0100 Subject: [PATCH 172/280] chromium: 108.0.5359.98 -> 108.0.5359.124 https://chromereleases.googleblog.com/2022/12/stable-channel-update-for-desktop_13.html This update includes 8 security fixes. CVEs: CVE-2022-4436 CVE-2022-4437 CVE-2022-4438 CVE-2022-4439 CVE-2022-4440 --- .../networking/browsers/chromium/upstream-info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 019a7d4204b9..eb464c3877db 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -1,8 +1,8 @@ { "stable": { - "version": "108.0.5359.98", - "sha256": "07jnhd5y7k4zp2ipz052isw7llagxn8l8rbz8x3jkjz3f5wi7dk0", - "sha256bin64": "1hx49932g8abnb5f3a4ly7kjbrkh5bs040dh96zpxvfqx7dn6vrs", + "version": "108.0.5359.124", + "sha256": "0x9ac6m4xdccjdrk2bmq4y7bhfpgf2dv0q7lsbbsa50vlv1gm3fl", + "sha256bin64": "00c11svz9dzkg57484jg7c558l0jz8jbgi5zyjs1w7xp24vpnnpg", "deps": { "gn": { "version": "2022-10-05", From 555da412ff22b427c6622186518298b25a60b0b3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 15 Dec 2022 23:39:51 +0100 Subject: [PATCH 173/280] pip-audit: 2.4.8 -> 2.4.10 Changelog: https://github.com/pypa/pip-audit/releases/tag/v2.4.10 --- pkgs/development/tools/pip-audit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/pip-audit/default.nix b/pkgs/development/tools/pip-audit/default.nix index cf9c2cf585cc..7c784209075d 100644 --- a/pkgs/development/tools/pip-audit/default.nix +++ b/pkgs/development/tools/pip-audit/default.nix @@ -25,14 +25,14 @@ with py.pkgs; buildPythonApplication rec { pname = "pip-audit"; - version = "2.4.8"; + version = "2.4.10"; format = "pyproject"; src = fetchFromGitHub { owner = "trailofbits"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-j5B/aDDVV/Wb71nVwc4CUxS8AY05AI+n042Q/yNAl0c="; + hash = "sha256-/NkV5KNjJfzLhAJEjePHOXqaGIwRJrD0ewe/vpFEYts="; }; nativeBuildInputs = [ From d17535577c6e6dc91ff369df3fabfe23b28f24ef Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 16 Dec 2022 09:53:20 +0800 Subject: [PATCH 174/280] julia_18: use more bundle libraries to avoid failing version checks --- pkgs/development/compilers/julia/1.8.nix | 39 +++++------------------- 1 file changed, 8 insertions(+), 31 deletions(-) diff --git a/pkgs/development/compilers/julia/1.8.nix b/pkgs/development/compilers/julia/1.8.nix index f975b39773d5..f36df62c4c11 100644 --- a/pkgs/development/compilers/julia/1.8.nix +++ b/pkgs/development/compilers/julia/1.8.nix @@ -12,19 +12,13 @@ , libwhich , libxml2 , libunwind -, libgit2 , curl -, nghttp2 -, mbedtls_2 -, libssh2 , gmp -, mpfr , suitesparse , utf8proc , zlib , p7zip , ncurses -, pcre2 }: stdenv.mkDerivation rec { @@ -41,15 +35,6 @@ stdenv.mkDerivation rec { path = name: "https://raw.githubusercontent.com/archlinux/svntogit-community/6fd126d089d44fdc875c363488a7c7435a223cec/trunk/${name}"; in [ - # Pull upstream fix to fix tests mpfr-4.1.1 - # https://github.com/JuliaLang/julia/pull/47659 - (fetchpatch { - name = "mfr-4.1.1.patch"; - url = "https://github.com/JuliaLang/julia/commit/59965205ccbdffb4e25e1b60f651ca9df79230a4.patch"; - hash = "sha256-QJ5wxZMhz+or8BqcYv/5fNSTxDAvdSizTYqt7630kcw="; - includes = [ "stdlib/MPFR_jll/test/runtests.jl" ]; - }) - (fetchurl { url = path "julia-hardcoded-libs.patch"; sha256 = "sha256-kppSpVA7bRohd0wXDs4Jgct9ocHnpbeiiSz7ElFom1U="; @@ -77,17 +62,11 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 libunwind - libgit2 curl - nghttp2 - mbedtls_2 - libssh2 gmp - mpfr utf8proc zlib p7zip - pcre2 ]; JULIA_RPATH = lib.makeLibraryPath (buildInputs ++ [ stdenv.cc.cc gfortran.cc ncurses ]); @@ -106,29 +85,27 @@ stdenv.mkDerivation rec { "USE_SYSTEM_CSL=1" "USE_SYSTEM_LLVM=0" # a patched version is required "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_PCRE=0" # version checks "USE_SYSTEM_LIBM=0" "USE_SYSTEM_OPENLIBM=0" "USE_SYSTEM_DSFMT=0" # not available in nixpkgs "USE_SYSTEM_LIBBLASTRAMPOLINE=0" # not available in nixpkgs "USE_SYSTEM_BLAS=0" # test failure "USE_SYSTEM_LAPACK=0" # test failure - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_GMP=1" # version checks, but bundled version fails build + "USE_SYSTEM_MPFR=0" # version checks "USE_SYSTEM_LIBSUITESPARSE=0" # test failure "USE_SYSTEM_LIBUV=0" # a patched version is required "USE_SYSTEM_UTF8PROC=1" - "USE_SYSTEM_MBEDTLS=1" - "USE_SYSTEM_LIBSSH2=1" - "USE_SYSTEM_NGHTTP2=1" + "USE_SYSTEM_MBEDTLS=0" # version checks + "USE_SYSTEM_LIBSSH2=0" # version checks + "USE_SYSTEM_NGHTTP2=0" # version checks "USE_SYSTEM_CURL=1" - "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_LIBGIT2=0" # version checks "USE_SYSTEM_PATCHELF=1" "USE_SYSTEM_LIBWHICH=1" - "USE_SYSTEM_ZLIB=1" + "USE_SYSTEM_ZLIB=1" # version checks, but the system zlib is used anyway "USE_SYSTEM_P7ZIP=1" - - "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h" ]; doInstallCheck = true; From f4e15c3d0945f0c578fb0ee6529cfeba6c63d69e Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 16 Dec 2022 09:54:06 +0800 Subject: [PATCH 175/280] julia_18: refresh patches --- .../0001-skip-symlink-system-libraries.patch | 2 +- .../patches/1.8/0002-skip-building-doc.patch | 6 ++--- .../0003-skip-failing-and-flaky-tests.patch | 25 +++++++++++++++++++ .../patches/1.8/0003-skip-failing-tests.patch | 6 ++--- ...e-absolute-path-when-loading-library.patch | 2 +- 5 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch diff --git a/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch b/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch index a5519d96a9d2..01c32ae6d8e0 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch @@ -1,4 +1,4 @@ -From 1faa30525c9671ffd3a08901896b521a040d7e5c Mon Sep 17 00:00:00 2001 +From b2a58160fd194858267c433ae551f24840a0b3f4 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:08 +0800 Subject: [PATCH 1/4] skip symlink system libraries diff --git a/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch b/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch index 64c0821eaba8..642d5613229f 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch @@ -1,4 +1,4 @@ -From 05c008dcabaf94f5623f2f7e267005eef0a8c5fc Mon Sep 17 00:00:00 2001 +From ddf422a97973a1f4d2d4d32272396c7165580702 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:31 +0800 Subject: [PATCH 2/4] skip building doc @@ -8,10 +8,10 @@ Subject: [PATCH 2/4] skip building doc 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index d38311dce..a775d36e1 100644 +index 57b595310..563be74c9 100644 --- a/Makefile +++ b/Makefile -@@ -227,7 +227,7 @@ define stringreplace +@@ -229,7 +229,7 @@ define stringreplace endef diff --git a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch new file mode 100644 index 000000000000..ad3d78742a6e --- /dev/null +++ b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-and-flaky-tests.patch @@ -0,0 +1,25 @@ +From ed596b33005a438109f0078ed0ba30ebe464b4b5 Mon Sep 17 00:00:00 2001 +From: Nick Cao +Date: Tue, 20 Sep 2022 18:42:59 +0800 +Subject: [PATCH 3/4] skip failing and flaky tests + +--- + test/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/Makefile b/test/Makefile +index 24e137a5b..553d9d095 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -23,7 +23,7 @@ default: + + $(TESTS): + @cd $(SRCDIR) && \ +- $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@) ++ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip MozillaCACerts_jll --skip NetworkOptions --skip Zlib_jll --skip GMP_jll --skip channels $@) + + $(addprefix revise-, $(TESTS)): revise-% : + @cd $(SRCDIR) && \ +-- +2.38.1 + diff --git a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch index ebf5729a5c0b..337b1390a636 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch @@ -1,4 +1,4 @@ -From 756d4e977f8f224e20effa82c612e5a9cc14d82e Mon Sep 17 00:00:00 2001 +From f91c8c6364eb321dd5e66fa443472fca6bcda7d6 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:42:59 +0800 Subject: [PATCH 3/4] skip failing tests @@ -8,7 +8,7 @@ Subject: [PATCH 3/4] skip failing tests 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Makefile b/test/Makefile -index 24e137a5b..c17ccea8a 100644 +index 24e137a5b..2b30ab392 100644 --- a/test/Makefile +++ b/test/Makefile @@ -23,7 +23,7 @@ default: @@ -16,7 +16,7 @@ index 24e137a5b..c17ccea8a 100644 $(TESTS): @cd $(SRCDIR) && \ - $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@) -+ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip LibGit2_jll --skip MozillaCACerts_jll --skip NetworkOptions --skip nghttp2_jll --skip Zlib_jll --skip MbedTLS_jll $@) ++ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip MozillaCACerts_jll --skip NetworkOptions --skip Zlib_jll --skip GMP_jll $@) $(addprefix revise-, $(TESTS)): revise-% : @cd $(SRCDIR) && \ diff --git a/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch b/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch index 2243565b394e..b458f7fc29c8 100644 --- a/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch +++ b/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch @@ -1,4 +1,4 @@ -From c0e587f4c50bd7bedfe6e5102e9b47c9704fac9b Mon Sep 17 00:00:00 2001 +From 4bd87f2f3151ad07d311f7d33c2b890977aca93d Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 20 Sep 2022 18:43:15 +0800 Subject: [PATCH 4/4] ignore absolute path when loading library From 0fdda5326fc72e25aa69a706ea73db2574c3cfd9 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 16 Dec 2022 10:08:17 +0800 Subject: [PATCH 176/280] julia_18: set JULIA_CPU_TARGET to follow upstream binary releases --- pkgs/development/compilers/julia/1.8.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/compilers/julia/1.8.nix b/pkgs/development/compilers/julia/1.8.nix index f36df62c4c11..708e04971cbe 100644 --- a/pkgs/development/compilers/julia/1.8.nix +++ b/pkgs/development/compilers/julia/1.8.nix @@ -106,6 +106,11 @@ stdenv.mkDerivation rec { "USE_SYSTEM_LIBWHICH=1" "USE_SYSTEM_ZLIB=1" # version checks, but the system zlib is used anyway "USE_SYSTEM_P7ZIP=1" + ] ++ lib.optionals stdenv.isx86_64 [ + # https://github.com/JuliaCI/julia-buildbot/blob/master/master/inventory.py + "JULIA_CPU_TARGET=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)" + ] ++ lib.optionals stdenv.isAarch64 [ + "JULIA_CPU_TERGET=generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm" ]; doInstallCheck = true; From 93014bd70ffbbf0c621a78311fa12a729fd2db34 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Dec 2022 06:59:32 +0000 Subject: [PATCH 177/280] ginkgo: 2.6.0 -> 2.6.1 --- pkgs/development/tools/ginkgo/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix index 067aedf9882a..8226b0a41d1d 100644 --- a/pkgs/development/tools/ginkgo/default.nix +++ b/pkgs/development/tools/ginkgo/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "ginkgo"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "onsi"; repo = "ginkgo"; rev = "v${version}"; - sha256 = "sha256-uL6GPi+dcPkSAaGt1Fv2cJT3Q8nJaxqs8b5w9PFJm9g="; + sha256 = "sha256-l1R/S6FHvCzdT0nhckyIi29Nntbj7lCeJghY2Tf9C2c="; }; - vendorSha256 = "sha256-a8NZ9Uws6OKfXWUL6oTZKoAG8pTYxxSNkefZtbqwyf4="; + vendorSha256 = "sha256-SV7G/FZ7kj2ghr15oTMK25Y4SjaIfRc3UfxMPFr4src="; # integration tests expect more file changes # types tests are missing CodeLocation From c0adfa6a8395e40a964f45bd7aa65ff099bb0f98 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 16 Dec 2022 08:42:11 +0100 Subject: [PATCH 178/280] python310Packages.twilio: 7.15.4 -> 7.16.0 Changelog: https://github.com/twilio/twilio-python/blob/7.16.0/CHANGES.md --- pkgs/development/python-modules/twilio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 64e7678bd2b7..11c036194720 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "twilio"; - version = "7.15.4"; + version = "7.16.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "twilio"; repo = "twilio-python"; rev = "refs/tags/${version}"; - hash = "sha256-V7JLFesMj0W6k9+svgIBAfemDWiyi7DGdFLBk4/wd+8="; + hash = "sha256-+cbcINDnPmgNtZeQUOuTwU24Fe0i3xisxTYurV4GW7Y="; }; propagatedBuildInputs = [ From 025e15db62eb45b1f7b709fd7c7e0e290c0b313f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 16 Dec 2022 09:19:47 +0100 Subject: [PATCH 179/280] python310Packages.pyairvisual: 2022.12.0 -> 2022.12.1 Changelog: https://github.com/bachya/pyairvisual/releases/tag/2022.12.1 --- pkgs/development/python-modules/pyairvisual/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyairvisual/default.nix b/pkgs/development/python-modules/pyairvisual/default.nix index 4d125fb2e95d..fa0377372fb6 100644 --- a/pkgs/development/python-modules/pyairvisual/default.nix +++ b/pkgs/development/python-modules/pyairvisual/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "pyairvisual"; - version = "2022.12.0"; + version = "2022.12.1"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = version; - hash = "sha256-vuniAmjbC3EmFliLFhZ1LQvh533XeLGaIn8ll/Etb/4="; + hash = "sha256-xzTho4HsIU2YLURz9DfFfaRL3tsrtVi8n5IA2bRkyzw="; }; nativeBuildInputs = [ From 2f5283f89d5436cc2e3d9002a4eb6b593ea39b02 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 16 Dec 2022 09:22:49 +0100 Subject: [PATCH 180/280] python310Packages.peaqevcore: 9.1.0 -> 9.2.2 --- pkgs/development/python-modules/peaqevcore/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix index 7c398f4b2603..8fd12d1d3041 100644 --- a/pkgs/development/python-modules/peaqevcore/default.nix +++ b/pkgs/development/python-modules/peaqevcore/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "peaqevcore"; - version = "9.1.0"; + version = "9.2.2"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-6SA+JdZwF2Q0RrlPlJvsTXDofrluVcQ+hVMlSFYTjxw="; + hash = "sha256-Azco/ZFWDqb+gTskW3V44YJ9Zi3Fg2nYLY4PXvqOrRo="; }; postPatch = '' From 1f4ef318897fe056cfab4fdb56fa0689568265ae Mon Sep 17 00:00:00 2001 From: Yureka Date: Thu, 15 Dec 2022 13:38:36 +0100 Subject: [PATCH 181/280] pkgsMusl.bluez: fix build --- pkgs/os-specific/linux/bluez/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index 08376b18bf35..020aee04af79 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchurl +, fetchpatch , alsa-lib , dbus , ell @@ -29,6 +30,14 @@ in stdenv.mkDerivation rec { sha256 = "sha256-Of6mS1kMlJKYSgwnqJ/CA+HNx0hmCG77j0aYZ3qytXQ="; }; + patches = [ + # replace use of a non-standard symbol to fix build with musl libc (pkgsMusl.bluez) + (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/main/bluez/max-input.patch?id=32b31b484cb13009bd8081c4106e4cf064ec2f1f"; + sha256 = "sha256-SczbXtsxBkCO+izH8XOBcrJEO2f7MdtYVT3+2fCV8wU="; + }) + ]; + buildInputs = [ alsa-lib dbus From 912ef04f90e7292c7aefb11b6a0f711e01bb8ce1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 16 Dec 2022 10:21:37 +0100 Subject: [PATCH 182/280] python310Packages.discogs-client: 2.5 -> 2.6 --- pkgs/development/python-modules/discogs-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/discogs-client/default.nix b/pkgs/development/python-modules/discogs-client/default.nix index 65463eca207a..ffa6fcf8677d 100644 --- a/pkgs/development/python-modules/discogs-client/default.nix +++ b/pkgs/development/python-modules/discogs-client/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "discogs-client"; - version = "2.5"; + version = "2.6"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "joalla"; repo = "discogs_client"; rev = "refs/tags/v${version}"; - sha256 = "sha256-whLneq8RE1bok8jPlOteqIb5U07TvEa0O2mrzORp5HU="; + sha256 = "sha256-Si1EH5TalNC3BY7L/GqbGSCjDBWzbodB4NZlNayhZYs="; }; propagatedBuildInputs = [ From 998a983ad84553945c9a1a6bf2a40ec2e6ceb0d5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 16 Dec 2022 10:35:32 +0100 Subject: [PATCH 183/280] python310Packages.discogs-client: add changelog to meta --- pkgs/development/python-modules/discogs-client/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/discogs-client/default.nix b/pkgs/development/python-modules/discogs-client/default.nix index ffa6fcf8677d..c8be2979b3c3 100644 --- a/pkgs/development/python-modules/discogs-client/default.nix +++ b/pkgs/development/python-modules/discogs-client/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "joalla"; repo = "discogs_client"; rev = "refs/tags/v${version}"; - sha256 = "sha256-Si1EH5TalNC3BY7L/GqbGSCjDBWzbodB4NZlNayhZYs="; + hash = "sha256-Si1EH5TalNC3BY7L/GqbGSCjDBWzbodB4NZlNayhZYs="; }; propagatedBuildInputs = [ @@ -39,6 +39,7 @@ buildPythonPackage rec { meta = with lib; { description = "Unofficial Python API client for Discogs"; homepage = "https://github.com/joalla/discogs_client"; + changelog = "https://github.com/joalla/discogs_client/releases/tag/v${version}"; license = licenses.bsd2; maintainers = with maintainers; [ fab ]; }; From 3c4522992f4674bb7995de9025a102bcf4560c24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 10:52:08 +0100 Subject: [PATCH 184/280] x265: don't force assembly on aarch64-darwin This is temporary low-rebuild workaround until fix in PR #206230 --- pkgs/development/libraries/x265/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index 7e81d8ff6115..92f7f11170f6 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -35,7 +35,7 @@ let (mkFlag vtuneSupport "ENABLE_VTUNE") (mkFlag werrorSupport "WARNINGS_AS_ERRORS") # Potentially riscv cross could be fixed by providing the correct CMAKE_SYSTEM_PROCESSOR flag - (mkFlag (!(isCross && stdenv.hostPlatform.isRiscV)) "ENABLE_ASSEMBLY") + (mkFlag (with stdenv; !(isCross && hostPlatform.isRiscV || isDarwin && isAarch64)) "ENABLE_ASSEMBLY") ]; cmakeStaticLibFlags = [ From b727aec229ee1f60363d7fca3cc908d7889f6f88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 12:06:07 +0100 Subject: [PATCH 185/280] notion: fixup build Maybe triggered by glibc: 2.35-163 -> 2.35-224 C headers and #defines can be quite an alchemy sometimes. --- pkgs/applications/window-managers/notion/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/window-managers/notion/default.nix b/pkgs/applications/window-managers/notion/default.nix index 4e546c067155..d4ae41134ebc 100644 --- a/pkgs/applications/window-managers/notion/default.nix +++ b/pkgs/applications/window-managers/notion/default.nix @@ -16,6 +16,11 @@ stdenv.mkDerivation rec { sha256 = "14swd0yqci8lxn259fkd9w92bgyf4rmjwgvgyqp78wlfix6ai4mv"; }; + # error: 'PATH_MAX' undeclared + postPatch = '' + sed 1i'#include ' -i mod_notionflux/notionflux/notionflux.c + ''; + nativeBuildInputs = [ pkg-config makeWrapper groff ]; buildInputs = [ lua gettext which readline fontconfig libX11 libXext libSM libXinerama libXrandr libXft ]; From 00e91a5cf8c102066f9748c3e0e422d4dd2934be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 12:19:01 +0100 Subject: [PATCH 186/280] ocamlPackages.lablgtk: fixup build by using older make --- pkgs/development/ocaml-modules/lablgtk/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix index 9a4bf801d1e5..96dbd071fdef 100644 --- a/pkgs/development/ocaml-modules/lablgtk/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, fetchFromGitHub, ocaml, findlib, pkg-config, gtk2, libgnomecanvas, gtksourceview -, camlp-streams +, camlp-streams, gnumake42 }: let param = @@ -32,7 +32,8 @@ stdenv.mkDerivation { pname = "ocaml${ocaml.version}-lablgtk"; inherit (param) version src NIX_CFLAGS_COMPILE; - nativeBuildInputs = [ pkg-config ocaml findlib ]; + # gnumake42: https://github.com/garrigue/lablgtk/issues/162 + nativeBuildInputs = [ pkg-config ocaml findlib gnumake42 ]; buildInputs = [ gtk2 libgnomecanvas gtksourceview ] ++ param.buildInputs or []; From df023a7d709ccb646d65cab3487bffd0c15c0779 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 14:27:29 +0100 Subject: [PATCH 187/280] libjxl: disable tests on x86_64-darwin for now Hopefully not too bad; it looked like less usual color encodings only. --- pkgs/development/libraries/libjxl/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libjxl/default.nix b/pkgs/development/libraries/libjxl/default.nix index dcfd43702e4a..1c03973fff96 100644 --- a/pkgs/development/libraries/libjxl/default.nix +++ b/pkgs/development/libraries/libjxl/default.nix @@ -108,7 +108,9 @@ stdenv.mkDerivation rec { LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic"; CXXFLAGS = lib.optionalString stdenv.hostPlatform.isAarch32 "-mfp16-format=ieee"; - doCheck = !stdenv.hostPlatform.isi686; + # FIXME x86_64-darwin: + # https://github.com/NixOS/nixpkgs/pull/204030#issuecomment-1352768690 + doCheck = with stdenv; !(hostPlatform.isi686 || isDarwin && isx86_64); meta = with lib; { homepage = "https://github.com/libjxl/libjxl"; From 37247ec532046adaab2539704190a2e4ab2481ce Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 16 Dec 2022 21:39:54 +0800 Subject: [PATCH 188/280] cinnamon.bulky: 2.6 -> 2.7 https://github.com/linuxmint/bulky/compare/2.6...2.7 --- pkgs/desktops/cinnamon/bulky/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/bulky/default.nix b/pkgs/desktops/cinnamon/bulky/default.nix index 5aec87bb79e1..822c40694217 100644 --- a/pkgs/desktops/cinnamon/bulky/default.nix +++ b/pkgs/desktops/cinnamon/bulky/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "bulky"; - version = "2.6"; + version = "2.7"; src = fetchFromGitHub { owner = "linuxmint"; repo = "bulky"; rev = version; - hash = "sha256-OI7sIPMZOTmVoWj4Y7kEH0mxay4DwO5kPjclgRDVMus="; + hash = "sha256-Ps7ql6EAdoljQ6S8D2JxNSh0+jtEVZpnQv3fpvWkQSk="; }; nativeBuildInputs = [ From 49158837f1b27aeec0f44d61488149bdf9324cb3 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 16 Dec 2022 21:41:30 +0800 Subject: [PATCH 189/280] cinnamon.warpinator: 1.4.2 -> 1.4.3 https://github.com/linuxmint/warpinator/compare/1.4.2...1.4.3 --- pkgs/desktops/cinnamon/warpinator/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/warpinator/default.nix b/pkgs/desktops/cinnamon/warpinator/default.nix index 1db7a858bc78..8398df6b7c12 100644 --- a/pkgs/desktops/cinnamon/warpinator/default.nix +++ b/pkgs/desktops/cinnamon/warpinator/default.nix @@ -15,7 +15,7 @@ python3.pkgs.buildPythonApplication rec { pname = "warpinator"; - version = "1.4.2"; + version = "1.4.3"; format = "other"; @@ -23,7 +23,7 @@ python3.pkgs.buildPythonApplication rec { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-aiHlBeWGYqSaqvRtwL7smqt4iueIKzQoDawdFSCn6eg="; + hash = "sha256-blsDOAdfu0N6I+6ZvycL+BIIsZPIjwYm+sJnbZtHJE8="; }; nativeBuildInputs = [ From 7f24fbbde93040b82f200b7380bd0534084a1c86 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 16 Dec 2022 21:42:49 +0800 Subject: [PATCH 190/280] cinnamon.pix: 2.8.8 -> 2.8.9 https://github.com/linuxmint/pix/compare/2.8.8...2.8.9 --- pkgs/desktops/cinnamon/pix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/pix/default.nix b/pkgs/desktops/cinnamon/pix/default.nix index 5ddfdd7570ff..0b02806e0579 100644 --- a/pkgs/desktops/cinnamon/pix/default.nix +++ b/pkgs/desktops/cinnamon/pix/default.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation rec { pname = "pix"; - version = "2.8.8"; + version = "2.8.9"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - sha256 = "sha256-dvxbnf6tvBAwYM0EKpd/mPfW2PXeV1H2khYl8LIJqa0="; + sha256 = "sha256-7g0j1cWgNtWlqKWzBnngUA2WNr8Zh8YO/jJ8OdTII7Y="; }; nativeBuildInputs = [ From 52e2bd0f98f4a188c838fa5ba31762c4911c53c9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 16 Dec 2022 15:40:08 +0100 Subject: [PATCH 191/280] python310Packages.pymyq: add changelog to meta --- pkgs/development/python-modules/pymyq/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix index 94ff699507e1..f8c46c040564 100644 --- a/pkgs/development/python-modules/pymyq/default.nix +++ b/pkgs/development/python-modules/pymyq/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "arraylabs"; repo = pname; rev = "refs/tags/v${version}"; - sha256 = "sha256-/2eWB4rtHPptfc8Tm0CGk0UB+Hq1EmNhWmdrpPiUJcw="; + hash = "sha256-/2eWB4rtHPptfc8Tm0CGk0UB+Hq1EmNhWmdrpPiUJcw="; }; propagatedBuildInputs = [ @@ -28,11 +28,14 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "pymyq" ]; + pythonImportsCheck = [ + "pymyq" + ]; meta = with lib; { description = "Python wrapper for MyQ API"; homepage = "https://github.com/arraylabs/pymyq"; + changelog = "https://github.com/arraylabs/pymyq/releases/tag/v${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; From 34579f604c0d1b1b4f421aa0543e20c957b263af Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 16 Dec 2022 15:41:10 +0100 Subject: [PATCH 192/280] python310Packages.pymyq: 3.1.5 -> 3.1.6 Changelog: https://github.com/arraylabs/pymyq/releases/tag/v3.1.6 --- pkgs/development/python-modules/pymyq/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix index f8c46c040564..afe7f7af628d 100644 --- a/pkgs/development/python-modules/pymyq/default.nix +++ b/pkgs/development/python-modules/pymyq/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pymyq"; - version = "3.1.5"; + version = "3.1.6"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "arraylabs"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-/2eWB4rtHPptfc8Tm0CGk0UB+Hq1EmNhWmdrpPiUJcw="; + hash = "sha256-zhGCoZ7mkHlfDjEbQihtM23u+N6nfYsQhKmrloevzp8="; }; propagatedBuildInputs = [ From 54c9b527bc7fe69dbb0f7ab866389b74769df32e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Dec 2022 15:19:14 +0000 Subject: [PATCH 193/280] flyctl: 0.0.437 -> 0.0.440 --- pkgs/development/web/flyctl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix index 05ccb9b389e9..35d1aff01ded 100644 --- a/pkgs/development/web/flyctl/default.nix +++ b/pkgs/development/web/flyctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "flyctl"; - version = "0.0.437"; + version = "0.0.440"; src = fetchFromGitHub { owner = "superfly"; repo = "flyctl"; rev = "v${version}"; - sha256 = "sha256-C6c202AlWvrITplhGi9FE9M40rYiGbHuqRVoSQc9wzw="; + sha256 = "sha256-pqly/5QEwKTp9wdh+Tq4KhOFmSD1TLodamo64e13o/s="; }; - vendorSha256 = "sha256-hKWh+/iC8KSxOhwXtpyMCBmDezhYgfzp3ZMfJObWgvw="; + vendorSha256 = "sha256-yVR3pUsveZf4052hr6aO4fnvEOQyHdm3N7khcobcoyE="; subPackages = [ "." ]; From a6edc3de150aa9aa1a215ab13b8789664399971b Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 16 Dec 2022 17:26:04 +0200 Subject: [PATCH 194/280] xorg.xorgserver: apply CVE patches https://www.mail-archive.com/xorg-announce@lists.x.org/msg01511.html --- pkgs/servers/x11/xorg/overrides.nix | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 529d9f2b9064..ddd5acad7a1a 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -814,6 +814,43 @@ self: super: url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/dd8caf39e9e15d8f302e54045dd08d8ebf1025dc.diff"; sha256 = "rBiiXQRreMvexW9vOKblcfCYzul+9La01EAhir4FND8="; }) + ] + # TODO: remove with xorgserver >= 21.1.5; https://www.mail-archive.com/xorg-announce@lists.x.org/msg01511.html + ++ [ + (fetchpatch { + name = "CVE-2022-46340.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/b320ca0ffe4c0c872eeb3a93d9bde21f765c7c63.diff"; + sha256 = "sha256-XPjLwZcJPLVv1ufgqnUxl73HKcJWWTDy2J/oxFiFnAU="; + }) + (fetchpatch { + name = "CVE-2022-46341.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/51eb63b0ee1509c6c6b8922b0e4aa037faa6f78b.diff"; + sha256 = "sha256-w+tzzoI1TfjjiFw5GNxVBgPc7M2lRY60zl+ySsyV59o="; + }) + (fetchpatch { + name = "CVE-2022-46342.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/b79f32b57cc0c1186b2899bce7cf89f7b325161b.diff"; + sha256 = "sha256-NytCsqRlqhs8xpOL8PGgluU0nKd7VIY26BXgpzN6WqE="; + }) + (fetchpatch { + name = "CVE-2022-46343.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/842ca3ccef100ce010d1d8f5f6d6cc1915055900.diff"; + sha256 = "sha256-oUwKwfN6lAvZ60dylm53+/yDeFnYTVdCINpBAfM6LoY="; + }) + (fetchpatch { + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/b8a84cb0f2807b07ab70ca9915fcdee21301b8ca.diff"; + sha256 = "sha256-Y2x9/P0SgwUAJRjIXivA32NnMso7gQAid+VjcwNUsa8="; + }) + (fetchpatch { + name = "CVE-2022-46344.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/8f454b793e1f13c99872c15f0eed1d7f3b823fe8.diff"; + sha256 = "sha256-Cr760UPwmm8Qr0o/R8/IlgggXQ6ENTHRz3bP/nsIwbU="; + }) + (fetchpatch { + name = "CVE-2022-4283.diff"; + url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/ccdd431cd8f1cabae9d744f0514b6533c438908c.diff"; + sha256 = "sha256-IGPsjS7KgRPLrs1ImBXvIFCa8Iu5ZiAHRZvHlBYP8KQ="; + }) ]; buildInputs = commonBuildInputs ++ [ libdrm mesa ]; propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess libepoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ From e41d462a16776800c2aa68a4170209d7e40628c5 Mon Sep 17 00:00:00 2001 From: figsoda Date: Fri, 16 Dec 2022 11:51:24 -0500 Subject: [PATCH 195/280] pods: 1.0.0-beta.9 -> 1.0.0-rc.2 Diff: https://github.com/marhkb/pods/compare/v1.0.0-beta.9...v1.0.0-rc.2 --- pkgs/applications/virtualization/pods/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/pods/default.nix b/pkgs/applications/virtualization/pods/default.nix index 614f2591b516..776374ef6d98 100644 --- a/pkgs/applications/virtualization/pods/default.nix +++ b/pkgs/applications/virtualization/pods/default.nix @@ -17,19 +17,19 @@ stdenv.mkDerivation rec { pname = "pods"; - version = "1.0.0-beta.9"; + version = "1.0.0-rc.2"; src = fetchFromGitHub { owner = "marhkb"; repo = pname; rev = "v${version}"; - sha256 = "sha256-cW6n00EPe7eFuqT2Vk27Ax0fxjz9kWSlYuS2oIj0mXY="; + sha256 = "sha256-fyhp0Qumku2EO+5+AaWBLp6xG9mpfNuxhr/PoLca1a4="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - sha256 = "sha256-y0njqlzAx1M7iC8bZrKlKACSiYnSRaHOrcAxs3bFF30="; + sha256 = "sha256-v6ZGDd1mAxb55JIijJHlthrTta2PwZMRa8MqVnJMyzQ="; }; nativeBuildInputs = [ From 3d311879444594abb7bc0d66118cb48e1a01e704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 19:59:39 +0100 Subject: [PATCH 196/280] dtools: fixup build by using older make --- pkgs/development/tools/dtools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix index 5faf403e71a6..f1d841828b3f 100644 --- a/pkgs/development/tools/dtools/default.nix +++ b/pkgs/development/tools/dtools/default.nix @@ -1,4 +1,4 @@ -{stdenv, lib, fetchFromGitHub, fetchpatch, ldc, curl}: +{ stdenv, lib, fetchFromGitHub, fetchpatch, ldc, curl, gnumake42 }: stdenv.mkDerivation rec { pname = "dtools"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { }) ]; - nativeBuildInputs = [ ldc ]; + nativeBuildInputs = [ ldc gnumake42 ]; # fails with make 4.4 buildInputs = [ curl ]; makeCmd = '' From a68595ff0545c5dce78720aa56a9fac4050a1284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 20:04:17 +0100 Subject: [PATCH 197/280] fwts: fixup build by using older make --- pkgs/os-specific/linux/fwts/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/fwts/default.nix b/pkgs/os-specific/linux/fwts/default.nix index a5b2dabfd264..ec3d0f880f84 100644 --- a/pkgs/os-specific/linux/fwts/default.nix +++ b/pkgs/os-specific/linux/fwts/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, autoreconfHook, pkg-config, glib, pcre +{ lib, stdenv, fetchzip, autoreconfHook, pkg-config, gnumake42, glib, pcre , json_c, flex, bison, dtc, pciutils, dmidecode, acpica-tools, libbsd }: stdenv.mkDerivation rec { @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { stripRoot = false; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + # fails with make 4.4 + nativeBuildInputs = [ autoreconfHook pkg-config gnumake42 ]; buildInputs = [ glib pcre json_c flex bison dtc pciutils dmidecode acpica-tools libbsd ]; postPatch = '' From af7975109224e2824de18807add24442519e6a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 20:07:42 +0100 Subject: [PATCH 198/280] netsniff-ng: fixup build by using older make --- pkgs/tools/networking/netsniff-ng/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix index 36028208f56d..a6bf4383b317 100644 --- a/pkgs/tools/networking/netsniff-ng/default.nix +++ b/pkgs/tools/networking/netsniff-ng/default.nix @@ -15,6 +15,7 @@ , liburcu , ncurses , pkg-config +, gnumake42 , zlib }: @@ -34,6 +35,7 @@ stdenv.mkDerivation rec { flex makeWrapper pkg-config + gnumake42 # fails with make 4.4 ]; buildInputs = [ From 62023ba1c57865ed8436ebb73d118ffd009b35e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 16 Dec 2022 20:17:01 +0100 Subject: [PATCH 199/280] python3Packages.exchangelib: fix tests by upstream patch The error was triggered by tzdata: 2022f -> 2022g --- pkgs/development/python-modules/exchangelib/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/exchangelib/default.nix b/pkgs/development/python-modules/exchangelib/default.nix index 381cb282db99..4befeed6586a 100644 --- a/pkgs/development/python-modules/exchangelib/default.nix +++ b/pkgs/development/python-modules/exchangelib/default.nix @@ -45,6 +45,12 @@ buildPythonPackage rec { url = "https://github.com/ecederstrand/exchangelib/commit/d5d386f54adec8ab02f871332b89e1176c214ba2.diff"; hash = "sha256-E3Ys6IDJ/yMsvi+1GKbwckkhbNrc9JLM/+GrPtUz+mY="; }) + (fetchpatch { + name = "tests-timezones-2.patch"; + url = "https://github.com/ecederstrand/exchangelib/commit/419eafcd9261bfd0617823ee437204d5556a8271.diff"; + excludes = [ "tests/test_ewsdatetime.py" ]; + hash = "sha256-dSp6NkNT5dHOg8XgDi8sR3t3hq46sNtPjUXva2YfFSU="; + }) ]; propagatedBuildInputs = [ From dbf1e1161aebd3645703315006b3222058266d6a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Dec 2022 19:47:39 +0000 Subject: [PATCH 200/280] firefox-unwrapped: 108.0 -> 108.0.1 --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index aae1cecc1a65..37717252cdf3 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -3,10 +3,10 @@ rec { firefox = buildMozillaMach rec { pname = "firefox"; - version = "108.0"; + version = "108.0.1"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "fa800f62cca395a51b9a04373a27be48fc3860208e34ecf74d908127638d1eb8c41cf9898be6896777d408127d5c4b7104d9ee89c97da923b2dc6ea32186187e"; + sha512 = "e6219ed6324422ec293ed96868738e056582bb9f7fb82e59362541f3465c6ebca806d26ecd801156b074c3675bd5a22507b1f1fa53eebf82b7dd35f2b1ff0625"; }; meta = { From 2bba17f3f098c59926d3aa6e2bc2ac51a599f3e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= Date: Fri, 16 Dec 2022 21:17:24 +0100 Subject: [PATCH 201/280] fastly: 4.4.1 -> 4.5.0 --- pkgs/misc/fastly/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/fastly/default.nix b/pkgs/misc/fastly/default.nix index 843fa781c2e8..9b81a34248df 100644 --- a/pkgs/misc/fastly/default.nix +++ b/pkgs/misc/fastly/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "fastly"; - version = "4.4.1"; + version = "4.5.0"; src = fetchFromGitHub { owner = "fastly"; repo = "cli"; rev = "refs/tags/v${version}"; - hash = "sha256-82OZwO6r+wPq6AMm27M9U6dQyE3iOpAzW31HzRji5Fo="; + hash = "sha256-l/EnlyrSofuk4/69R2VUdP6MyKOVAOI7cIOW1TLeBww="; # The git commit is part of the `fastly version` original output; # leave that output the same in nixpkgs. Use the `.git` directory # to retrieve the commit SHA, and remove the directory afterwards, @@ -31,7 +31,7 @@ buildGoModule rec { "cmd/fastly" ]; - vendorHash = "sha256-zilgzfPD7HmHt0/u94JLaY6NPvn1JjXFu1K2YO0tF9M="; + vendorHash = "sha256-cXO5zhc9RZlweoU6pva2sBvcjNWBeFSUz+k9BbQpUX0="; nativeBuildInputs = [ installShellFiles From 0bc7a95fbc9e2cc9280d85df37132323469357c1 Mon Sep 17 00:00:00 2001 From: figsoda Date: Fri, 16 Dec 2022 15:17:58 -0500 Subject: [PATCH 202/280] ruff: 0.0.183 -> 0.0.184 Diff: https://github.com/charliermarsh/ruff/compare/v0.0.183...v0.0.184 Changelog: https://github.com/charliermarsh/ruff/releases/tag/v0.0.184 --- pkgs/development/tools/ruff/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index 48fe3c1f9e49..0bc07c6a56d2 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "ruff"; - version = "0.0.183"; + version = "0.0.184"; src = fetchFromGitHub { owner = "charliermarsh"; repo = pname; rev = "v${version}"; - sha256 = "sha256-xZSPRSqtf62BSfNw3eJEvsxqGBpy/v5DKWz6mipjsAY="; + sha256 = "sha256-hXft1YQIqfo8jioCrlo35LRjN7Th0DprzHmKWRt403k="; }; - cargoSha256 = "sha256-s7IQtfcRvcLgvzep0Ya6i7+OfFlQwFNG67SQe5D0/Ec="; + cargoSha256 = "sha256-nwhOoP6MT3JMQJJKpYLApxa9Z4/s7nQEoQNHLfHcDUs="; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices From e145ed2abf801b4b7f77be5ee4f9d7e53c9d6206 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Dec 2022 20:37:05 +0000 Subject: [PATCH 203/280] argo-rollouts: 1.3.1 -> 1.3.2 --- .../applications/networking/cluster/argo-rollouts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/argo-rollouts/default.nix b/pkgs/applications/networking/cluster/argo-rollouts/default.nix index 731fe0553fc5..3c309d8e7ce2 100644 --- a/pkgs/applications/networking/cluster/argo-rollouts/default.nix +++ b/pkgs/applications/networking/cluster/argo-rollouts/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "argo-rollouts"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo-rollouts"; rev = "v${version}"; - sha256 = "sha256-qgOhiJdaxauHIoPsMfcdxwrKiv8QD/tFksCbk13Zpiw="; + sha256 = "sha256-hsUpZrtgjP6FaVhw0ijDTlvfz9Ok+A4nyAwi2VNxvEg="; }; vendorSha256 = "sha256-gm96rQdQJGsIcxVgEI7sI7BvEETU/+HsQ6PnDjFXb/0="; From 858daac74dec0260bfb27f921950a8e32f29302c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 16 Dec 2022 23:03:09 +0100 Subject: [PATCH 204/280] awscli2: make version widening more robust --- pkgs/tools/admin/awscli2/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index c6ee509df358..0a0838d676d9 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -73,10 +73,10 @@ with py.pkgs; buildPythonApplication rec { ]; postPatch = '' - substituteInPlace pyproject.toml \ - --replace "colorama>=0.2.5,<0.4.4" "colorama" \ - --replace "distro>=1.5.0,<1.6.0" "distro" \ - --replace "cryptography>=3.3.2,<=38.0.1" "cryptography>=3.3.2,<=38.0.3" + sed -i pyproject.toml \ + -e 's/colorama.*/colorama",/' \ + -e 's/cryptography.*/cryptography",/' \ + -e 's/distro.*/distro",/' ''; postInstall = '' From aac4134f430fb15386a174c6556ca0116616d2ea Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Sat, 17 Dec 2022 02:13:45 +0100 Subject: [PATCH 205/280] nixos/tests/bootspec: add EFI support for GRUB test --- nixos/tests/bootspec.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/tests/bootspec.nix b/nixos/tests/bootspec.nix index 0d37d0e56574..13360bb1eaa2 100644 --- a/nixos/tests/bootspec.nix +++ b/nixos/tests/bootspec.nix @@ -19,6 +19,7 @@ let uefi = { virtualisation.useEFIBoot = true; boot.loader.efi.canTouchEfiVariables = true; + boot.loader.grub.efiSupport = true; environment.systemPackages = [ pkgs.efibootmgr ]; }; standard = { From 0c924ec948073580a3c3d438746388d05a38028b Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 14 Dec 2022 20:20:33 +0000 Subject: [PATCH 206/280] qemu: 7.1.0 -> 7.2.0 --- .../9pfs-use-GHashTable-for-fid-table.patch | 371 ------------------ .../virtualization/qemu/default.nix | 16 +- ...evert-ui-cocoa-add-clipboard-support.patch | 42 +- 3 files changed, 21 insertions(+), 408 deletions(-) delete mode 100644 pkgs/applications/virtualization/qemu/9pfs-use-GHashTable-for-fid-table.patch diff --git a/pkgs/applications/virtualization/qemu/9pfs-use-GHashTable-for-fid-table.patch b/pkgs/applications/virtualization/qemu/9pfs-use-GHashTable-for-fid-table.patch deleted file mode 100644 index 2e6f1699637b..000000000000 --- a/pkgs/applications/virtualization/qemu/9pfs-use-GHashTable-for-fid-table.patch +++ /dev/null @@ -1,371 +0,0 @@ -From 8ab70b8958a8f9cb9bd316eecd3ccbcf05c06614 Mon Sep 17 00:00:00 2001 -From: Linus Heckemann -Date: Tue, 4 Oct 2022 12:41:21 +0200 -Subject: [PATCH] 9pfs: use GHashTable for fid table -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The previous implementation would iterate over the fid table for -lookup operations, resulting in an operation with O(n) complexity on -the number of open files and poor cache locality -- for every open, -stat, read, write, etc operation. - -This change uses a hashtable for this instead, significantly improving -the performance of the 9p filesystem. The runtime of NixOS's simple -installer test, which copies ~122k files totalling ~1.8GiB from 9p, -decreased by a factor of about 10. - -Signed-off-by: Linus Heckemann -Reviewed-by: Philippe Mathieu-Daudé -Reviewed-by: Greg Kurz -[CS: - Retain BUG_ON(f->clunked) in get_fid(). - - Add TODO comment in clunk_fid(). ] -Message-Id: <20221004104121.713689-1-git@sphalerite.org> -[CS: - Drop unnecessary goto and out: label. ] -Signed-off-by: Christian Schoenebeck ---- - hw/9pfs/9p.c | 194 +++++++++++++++++++++++++++++---------------------- - hw/9pfs/9p.h | 2 +- - 2 files changed, 112 insertions(+), 84 deletions(-) - -diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c -index aebadeaa03..9bf13133e5 100644 ---- a/hw/9pfs/9p.c -+++ b/hw/9pfs/9p.c -@@ -256,7 +256,8 @@ static size_t v9fs_string_size(V9fsString *str) - } - - /* -- * returns 0 if fid got re-opened, 1 if not, < 0 on error */ -+ * returns 0 if fid got re-opened, 1 if not, < 0 on error -+ */ - static int coroutine_fn v9fs_reopen_fid(V9fsPDU *pdu, V9fsFidState *f) - { - int err = 1; -@@ -282,33 +283,32 @@ static V9fsFidState *coroutine_fn get_fid(V9fsPDU *pdu, int32_t fid) - V9fsFidState *f; - V9fsState *s = pdu->s; - -- QSIMPLEQ_FOREACH(f, &s->fid_list, next) { -+ f = g_hash_table_lookup(s->fids, GINT_TO_POINTER(fid)); -+ if (f) { - BUG_ON(f->clunked); -- if (f->fid == fid) { -- /* -- * Update the fid ref upfront so that -- * we don't get reclaimed when we yield -- * in open later. -- */ -- f->ref++; -- /* -- * check whether we need to reopen the -- * file. We might have closed the fd -- * while trying to free up some file -- * descriptors. -- */ -- err = v9fs_reopen_fid(pdu, f); -- if (err < 0) { -- f->ref--; -- return NULL; -- } -- /* -- * Mark the fid as referenced so that the LRU -- * reclaim won't close the file descriptor -- */ -- f->flags |= FID_REFERENCED; -- return f; -+ /* -+ * Update the fid ref upfront so that -+ * we don't get reclaimed when we yield -+ * in open later. -+ */ -+ f->ref++; -+ /* -+ * check whether we need to reopen the -+ * file. We might have closed the fd -+ * while trying to free up some file -+ * descriptors. -+ */ -+ err = v9fs_reopen_fid(pdu, f); -+ if (err < 0) { -+ f->ref--; -+ return NULL; - } -+ /* -+ * Mark the fid as referenced so that the LRU -+ * reclaim won't close the file descriptor -+ */ -+ f->flags |= FID_REFERENCED; -+ return f; - } - return NULL; - } -@@ -317,12 +317,11 @@ static V9fsFidState *alloc_fid(V9fsState *s, int32_t fid) - { - V9fsFidState *f; - -- QSIMPLEQ_FOREACH(f, &s->fid_list, next) { -+ f = g_hash_table_lookup(s->fids, GINT_TO_POINTER(fid)); -+ if (f) { - /* If fid is already there return NULL */ - BUG_ON(f->clunked); -- if (f->fid == fid) { -- return NULL; -- } -+ return NULL; - } - f = g_new0(V9fsFidState, 1); - f->fid = fid; -@@ -333,7 +332,7 @@ static V9fsFidState *alloc_fid(V9fsState *s, int32_t fid) - * reclaim won't close the file descriptor - */ - f->flags |= FID_REFERENCED; -- QSIMPLEQ_INSERT_TAIL(&s->fid_list, f, next); -+ g_hash_table_insert(s->fids, GINT_TO_POINTER(fid), f); - - v9fs_readdir_init(s->proto_version, &f->fs.dir); - v9fs_readdir_init(s->proto_version, &f->fs_reclaim.dir); -@@ -424,12 +423,12 @@ static V9fsFidState *clunk_fid(V9fsState *s, int32_t fid) - { - V9fsFidState *fidp; - -- QSIMPLEQ_FOREACH(fidp, &s->fid_list, next) { -- if (fidp->fid == fid) { -- QSIMPLEQ_REMOVE(&s->fid_list, fidp, V9fsFidState, next); -- fidp->clunked = true; -- return fidp; -- } -+ /* TODO: Use g_hash_table_steal_extended() instead? */ -+ fidp = g_hash_table_lookup(s->fids, GINT_TO_POINTER(fid)); -+ if (fidp) { -+ g_hash_table_remove(s->fids, GINT_TO_POINTER(fid)); -+ fidp->clunked = true; -+ return fidp; - } - return NULL; - } -@@ -439,10 +438,15 @@ void coroutine_fn v9fs_reclaim_fd(V9fsPDU *pdu) - int reclaim_count = 0; - V9fsState *s = pdu->s; - V9fsFidState *f; -+ GHashTableIter iter; -+ gpointer fid; -+ -+ g_hash_table_iter_init(&iter, s->fids); -+ - QSLIST_HEAD(, V9fsFidState) reclaim_list = - QSLIST_HEAD_INITIALIZER(reclaim_list); - -- QSIMPLEQ_FOREACH(f, &s->fid_list, next) { -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &f)) { - /* - * Unlink fids cannot be reclaimed. Check - * for them and skip them. Also skip fids -@@ -514,72 +518,85 @@ void coroutine_fn v9fs_reclaim_fd(V9fsPDU *pdu) - } - } - -+/* -+ * This is used when a path is removed from the directory tree. Any -+ * fids that still reference it must not be closed from then on, since -+ * they cannot be reopened. -+ */ - static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path) - { -- int err; -+ int err = 0; - V9fsState *s = pdu->s; -- V9fsFidState *fidp, *fidp_next; -+ V9fsFidState *fidp; -+ gpointer fid; -+ GHashTableIter iter; -+ /* -+ * The most common case is probably that we have exactly one -+ * fid for the given path, so preallocate exactly one. -+ */ -+ g_autoptr(GArray) to_reopen = g_array_sized_new(FALSE, FALSE, -+ sizeof(V9fsFidState *), 1); -+ gint i; - -- fidp = QSIMPLEQ_FIRST(&s->fid_list); -- if (!fidp) { -- return 0; -- } -+ g_hash_table_iter_init(&iter, s->fids); - - /* -- * v9fs_reopen_fid() can yield : a reference on the fid must be held -- * to ensure its pointer remains valid and we can safely pass it to -- * QSIMPLEQ_NEXT(). The corresponding put_fid() can also yield so -- * we must keep a reference on the next fid as well. So the logic here -- * is to get a reference on a fid and only put it back during the next -- * iteration after we could get a reference on the next fid. Start with -- * the first one. -+ * We iterate over the fid table looking for the entries we need -+ * to reopen, and store them in to_reopen. This is because -+ * v9fs_reopen_fid() and put_fid() yield. This allows the fid table -+ * to be modified in the meantime, invalidating our iterator. - */ -- for (fidp->ref++; fidp; fidp = fidp_next) { -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &fidp)) { - if (fidp->path.size == path->size && - !memcmp(fidp->path.data, path->data, path->size)) { -- /* Mark the fid non reclaimable. */ -- fidp->flags |= FID_NON_RECLAIMABLE; -- -- /* reopen the file/dir if already closed */ -- err = v9fs_reopen_fid(pdu, fidp); -- if (err < 0) { -- put_fid(pdu, fidp); -- return err; -- } -- } -- -- fidp_next = QSIMPLEQ_NEXT(fidp, next); -- -- if (fidp_next) { - /* -- * Ensure the next fid survives a potential clunk request during -- * put_fid() below and v9fs_reopen_fid() in the next iteration. -+ * Ensure the fid survives a potential clunk request during -+ * v9fs_reopen_fid or put_fid. - */ -- fidp_next->ref++; -+ fidp->ref++; -+ fidp->flags |= FID_NON_RECLAIMABLE; -+ g_array_append_val(to_reopen, fidp); - } -+ } - -- /* We're done with this fid */ -- put_fid(pdu, fidp); -+ for (i = 0; i < to_reopen->len; i++) { -+ fidp = g_array_index(to_reopen, V9fsFidState*, i); -+ /* reopen the file/dir if already closed */ -+ err = v9fs_reopen_fid(pdu, fidp); -+ if (err < 0) { -+ break; -+ } - } - -- return 0; -+ for (i = 0; i < to_reopen->len; i++) { -+ put_fid(pdu, g_array_index(to_reopen, V9fsFidState*, i)); -+ } -+ return err; - } - - static void coroutine_fn virtfs_reset(V9fsPDU *pdu) - { - V9fsState *s = pdu->s; - V9fsFidState *fidp; -+ GList *freeing; -+ /* -+ * Get a list of all the values (fid states) in the table, which -+ * we then... -+ */ -+ g_autoptr(GList) fids = g_hash_table_get_values(s->fids); - -- /* Free all fids */ -- while (!QSIMPLEQ_EMPTY(&s->fid_list)) { -- /* Get fid */ -- fidp = QSIMPLEQ_FIRST(&s->fid_list); -- fidp->ref++; -+ /* ... remove from the table, taking over ownership. */ -+ g_hash_table_steal_all(s->fids); - -- /* Clunk fid */ -- QSIMPLEQ_REMOVE(&s->fid_list, fidp, V9fsFidState, next); -+ /* -+ * This allows us to release our references to them asynchronously without -+ * iterating over the hash table and risking iterator invalidation -+ * through concurrent modifications. -+ */ -+ for (freeing = fids; freeing; freeing = freeing->next) { -+ fidp = freeing->data; -+ fidp->ref++; - fidp->clunked = true; -- - put_fid(pdu, fidp); - } - } -@@ -3205,6 +3222,8 @@ static int coroutine_fn v9fs_complete_rename(V9fsPDU *pdu, V9fsFidState *fidp, - V9fsFidState *tfidp; - V9fsState *s = pdu->s; - V9fsFidState *dirfidp = NULL; -+ GHashTableIter iter; -+ gpointer fid; - - v9fs_path_init(&new_path); - if (newdirfid != -1) { -@@ -3238,11 +3257,13 @@ static int coroutine_fn v9fs_complete_rename(V9fsPDU *pdu, V9fsFidState *fidp, - if (err < 0) { - goto out; - } -+ - /* - * Fixup fid's pointing to the old name to - * start pointing to the new name - */ -- QSIMPLEQ_FOREACH(tfidp, &s->fid_list, next) { -+ g_hash_table_iter_init(&iter, s->fids); -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &tfidp)) { - if (v9fs_path_is_ancestor(&fidp->path, &tfidp->path)) { - /* replace the name */ - v9fs_fix_path(&tfidp->path, &new_path, strlen(fidp->path.data)); -@@ -3320,6 +3341,8 @@ static int coroutine_fn v9fs_fix_fid_paths(V9fsPDU *pdu, V9fsPath *olddir, - V9fsPath oldpath, newpath; - V9fsState *s = pdu->s; - int err; -+ GHashTableIter iter; -+ gpointer fid; - - v9fs_path_init(&oldpath); - v9fs_path_init(&newpath); -@@ -3336,7 +3359,8 @@ static int coroutine_fn v9fs_fix_fid_paths(V9fsPDU *pdu, V9fsPath *olddir, - * Fixup fid's pointing to the old name to - * start pointing to the new name - */ -- QSIMPLEQ_FOREACH(tfidp, &s->fid_list, next) { -+ g_hash_table_iter_init(&iter, s->fids); -+ while (g_hash_table_iter_next(&iter, &fid, (gpointer *) &tfidp)) { - if (v9fs_path_is_ancestor(&oldpath, &tfidp->path)) { - /* replace the name */ - v9fs_fix_path(&tfidp->path, &newpath, strlen(oldpath.data)); -@@ -4226,7 +4250,7 @@ int v9fs_device_realize_common(V9fsState *s, const V9fsTransport *t, - s->ctx.fmode = fse->fmode; - s->ctx.dmode = fse->dmode; - -- QSIMPLEQ_INIT(&s->fid_list); -+ s->fids = g_hash_table_new(NULL, NULL); - qemu_co_rwlock_init(&s->rename_lock); - - if (s->ops->init(&s->ctx, errp) < 0) { -@@ -4286,6 +4310,10 @@ void v9fs_device_unrealize_common(V9fsState *s) - if (s->ctx.fst) { - fsdev_throttle_cleanup(s->ctx.fst); - } -+ if (s->fids) { -+ g_hash_table_destroy(s->fids); -+ s->fids = NULL; -+ } - g_free(s->tag); - qp_table_destroy(&s->qpd_table); - qp_table_destroy(&s->qpp_table); -diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h -index 994f952600..10fd2076c2 100644 ---- a/hw/9pfs/9p.h -+++ b/hw/9pfs/9p.h -@@ -339,7 +339,7 @@ typedef struct { - struct V9fsState { - QLIST_HEAD(, V9fsPDU) free_list; - QLIST_HEAD(, V9fsPDU) active_list; -- QSIMPLEQ_HEAD(, V9fsFidState) fid_list; -+ GHashTable *fids; - FileOperations *ops; - FsContext ctx; - char *tag; --- -2.36.2 - diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 46bbc3b914b9..e0c29518a729 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -2,7 +2,7 @@ , perl, pixman, vde2, alsa-lib, texinfo, flex , bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, ninja, meson, sigtool , makeWrapper, runtimeShell, removeReferencesTo -, attr, libcap, libcap_ng, socat +, attr, libcap, libcap_ng, socat, libslirp , CoreServices, Cocoa, Hypervisor, rez, setfile, vmnet , guestAgentSupport ? with stdenv.hostPlatform; isLinux || isSunOS || isWindows , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl @@ -42,11 +42,11 @@ stdenv.mkDerivation rec { + lib.optionalString xenSupport "-xen" + lib.optionalString hostCpuOnly "-host-cpu-only" + lib.optionalString nixosTestRunner "-for-vm-tests"; - version = "7.1.0"; + version = "7.2.0"; src = fetchurl { url = "https://download.qemu.org/qemu-${version}.tar.xz"; - sha256 = "1rmvrgqjhrvcmchnz170dxvrrf14n6nm39y8ivrprmfydd9lwqx0"; + sha256 = "sha256-W0nOJod0Ta1JSukKiYxSIEo0BuhNBySCoeG+hU7rIVc="; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -57,7 +57,7 @@ stdenv.mkDerivation rec { buildInputs = [ zlib glib perl pixman vde2 texinfo lzo snappy libtasn1 - gnutls nettle curl + gnutls nettle curl libslirp ] ++ lib.optionals ncursesSupport [ ncurses ] ++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile vmnet ] @@ -111,18 +111,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-oC+bRjEHixv1QEFO9XAm4HHOwoiT+NkhknKGPydnZ5E="; revert = true; }) - ./9pfs-use-GHashTable-for-fid-table.patch - (fetchpatch { - name = "CVE-2022-3165.patch"; - url = "https://gitlab.com/qemu-project/qemu/-/commit/d307040b18bfcb1393b910f1bae753d5c12a4dc7.patch"; - sha256 = "sha256-YPhm580lBNuAv7G1snYccKZ2V5ycdV8Ri8mTw5jjFBc="; - }) ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch; postPatch = '' # Otherwise tries to ensure /var/run exists. - sed -i "/install_subdir('run', install_dir: get_option('localstatedir'))/d" \ + sed -i "/install_emptydir(get_option('localstatedir') \/ 'run')/d" \ qga/meson.build ''; diff --git a/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch b/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch index 2faab7acd873..d0e511c0403d 100644 --- a/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch +++ b/pkgs/applications/virtualization/qemu/revert-ui-cocoa-add-clipboard-support.patch @@ -1,14 +1,5 @@ -From 756021d1e433925cf9a732d7ea67b01b0beb061c Mon Sep 17 00:00:00 2001 -From: Will Cohen -Date: Tue, 29 Mar 2022 14:00:56 -0400 -Subject: [PATCH] Revert "ui/cocoa: Add clipboard support" - -This reverts commit 7e3e20d89129614f4a7b2451fe321cc6ccca3b76. ---- - include/ui/clipboard.h | 2 +- - ui/clipboard.c | 2 +- - ui/cocoa.m | 123 ----------------------------------------- - 3 files changed, 2 insertions(+), 125 deletions(-) +Based on a reversion of upstream 7e3e20d89129614f4a7b2451fe321cc6ccca3b76, +adapted for 7.2.0 diff --git a/include/ui/clipboard.h b/include/ui/clipboard.h index ce76aa451f..c4e1dc4ff4 100644 @@ -24,10 +15,10 @@ index ce76aa451f..c4e1dc4ff4 100644 G_DEFINE_AUTOPTR_CLEANUP_FUNC(QemuClipboardInfo, qemu_clipboard_info_unref) diff --git a/ui/clipboard.c b/ui/clipboard.c -index 9079ef829b..6b9ed59e1b 100644 +index 3d14bffaf8..2c3f4c3ba0 100644 --- a/ui/clipboard.c +++ b/ui/clipboard.c -@@ -140,7 +140,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer, +@@ -154,7 +154,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer, QemuClipboardInfo *info, QemuClipboardType type, uint32_t size, @@ -37,7 +28,7 @@ index 9079ef829b..6b9ed59e1b 100644 { if (!info || diff --git a/ui/cocoa.m b/ui/cocoa.m -index 5a8bd5dd84..79ed6d043f 100644 +index 660d3e0935..0e6760c360 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -29,7 +29,6 @@ @@ -48,8 +39,8 @@ index 5a8bd5dd84..79ed6d043f 100644 #include "ui/console.h" #include "ui/input.h" #include "ui/kbd-state.h" -@@ -109,10 +108,6 @@ static void cocoa_switch(DisplayChangeListener *dcl, - static QemuSemaphore app_started_sem; +@@ -105,10 +104,6 @@ static void cocoa_switch(DisplayChangeListener *dcl, + static bool allow_events; -static NSInteger cbchangecount = -1; @@ -59,7 +50,7 @@ index 5a8bd5dd84..79ed6d043f 100644 // Utility functions to run specified code block with iothread lock held typedef void (^CodeBlock)(void); typedef bool (^BoolCodeBlock)(void); -@@ -1815,107 +1810,6 @@ static void addRemovableDevicesMenuItems(void) +@@ -1799,107 +1794,6 @@ static void addRemovableDevicesMenuItems(void) qapi_free_BlockInfoList(pointerToFree); } @@ -167,15 +158,15 @@ index 5a8bd5dd84..79ed6d043f 100644 /* * The startup process for the OSX/Cocoa UI is complicated, because * OSX insists that the UI runs on the initial main thread, and so we -@@ -1950,7 +1844,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info, - COCOA_DEBUG("Second thread: calling qemu_main()\n"); - status = qemu_main(gArgc, gArgv, *_NSGetEnviron()); - COCOA_DEBUG("Second thread: qemu_main() returned, exiting\n"); +@@ -1922,7 +1816,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info, + status = qemu_default_main(); + qemu_mutex_unlock_iothread(); + COCOA_DEBUG("Second thread: qemu_default_main() returned, exiting\n"); - [cbowner release]; exit(status); } -@@ -2066,18 +1959,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl) +@@ -2003,18 +1896,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl) [cocoaView setAbsoluteEnabled:YES]; }); } @@ -194,7 +185,7 @@ index 5a8bd5dd84..79ed6d043f 100644 [pool release]; } -@@ -2117,10 +1998,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts) +@@ -2071,12 +1952,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts) // register vga output callbacks register_displaychangelistener(&dcl); @@ -202,9 +193,8 @@ index 5a8bd5dd84..79ed6d043f 100644 - qemu_event_init(&cbevent, false); - cbowner = [[QemuCocoaPasteboardTypeOwner alloc] init]; - qemu_clipboard_peer_register(&cbpeer); +- +- [pool release]; } static QemuDisplay qemu_display_cocoa = { --- -2.35.1 - From c9ad861d93b7857e418dc84e916dbc5709886e66 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 02:33:13 +0000 Subject: [PATCH 207/280] coder: 0.13.2 -> 0.13.3 --- pkgs/development/tools/coder/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/coder/default.nix b/pkgs/development/tools/coder/default.nix index cd82bfd16aa1..5a28c5bacd94 100644 --- a/pkgs/development/tools/coder/default.nix +++ b/pkgs/development/tools/coder/default.nix @@ -5,13 +5,13 @@ }: buildGoModule rec { pname = "coder"; - version = "0.13.2"; + version = "0.13.3"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-iuNTp+28tOggK3fgsa7yHmqXKz/zW/o47e5UKNppNWs="; + hash = "sha256-26RvDJ890MclDB4rtYQ7CcB3NQRXC7sI2cXd689Eq6E="; }; # integration tests require network access From 4ee04d0f1a9eeaa4732d67dc5a96f1c666cd4273 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Fri, 16 Dec 2022 18:09:28 -0300 Subject: [PATCH 208/280] module-list: put in ascii-betical ordering --- nixos/modules/module-list.nix | 358 +++++++++++++++++----------------- 1 file changed, 180 insertions(+), 178 deletions(-) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a62143232777..fa553023f3f7 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1,21 +1,13 @@ [ + ./config/appstream.nix + ./config/console.nix ./config/debug-info.nix ./config/fonts/fontconfig.nix ./config/fonts/fontdir.nix ./config/fonts/fonts.nix ./config/fonts/ghostscript.nix - ./config/xdg/autostart.nix - ./config/xdg/icons.nix - ./config/xdg/menus.nix - ./config/xdg/mime.nix - ./config/xdg/portal.nix - ./config/xdg/portals/wlr.nix - ./config/xdg/portals/lxqt.nix - ./config/appstream.nix - ./config/console.nix - ./config/xdg/sounds.nix - ./config/gtk/gtk-icon-cache.nix ./config/gnu.nix + ./config/gtk/gtk-icon-cache.nix ./config/i18n.nix ./config/iproute2.nix ./config/krb5/default.nix @@ -39,26 +31,32 @@ ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./config/vte.nix + ./config/xdg/autostart.nix + ./config/xdg/icons.nix + ./config/xdg/menus.nix + ./config/xdg/mime.nix + ./config/xdg/portal.nix + ./config/xdg/portals/lxqt.nix + ./config/xdg/portals/wlr.nix + ./config/xdg/sounds.nix ./config/zram.nix ./hardware/acpilight.nix ./hardware/all-firmware.nix ./hardware/bladeRF.nix ./hardware/brillo.nix ./hardware/ckb-next.nix + ./hardware/corectrl.nix ./hardware/cpu/amd-microcode.nix ./hardware/cpu/amd-sev.nix ./hardware/cpu/intel-microcode.nix ./hardware/cpu/intel-sgx.nix - ./hardware/corectrl.nix - ./hardware/digitalbitbox.nix ./hardware/device-tree.nix - ./hardware/gkraken.nix + ./hardware/digitalbitbox.nix ./hardware/flirc.nix + ./hardware/gkraken.nix ./hardware/gpgsmartcards.nix - ./hardware/i2c.nix ./hardware/hackrf.nix - ./hardware/sensor/hddtemp.nix - ./hardware/sensor/iio.nix + ./hardware/i2c.nix ./hardware/keyboard/teck.nix ./hardware/keyboard/uhk.nix ./hardware/keyboard/zsa.nix @@ -71,33 +69,35 @@ ./hardware/network/intel-2200bg.nix ./hardware/new-lg4ff.nix ./hardware/nitrokey.nix + ./hardware/onlykey/default.nix ./hardware/opengl.nix ./hardware/openrazer.nix + ./hardware/opentabletdriver.nix ./hardware/pcmcia.nix ./hardware/printers.nix ./hardware/raid/hpsa.nix ./hardware/rtl-sdr.nix ./hardware/saleae-logic.nix + ./hardware/sata.nix + ./hardware/sensor/hddtemp.nix + ./hardware/sensor/iio.nix ./hardware/steam-hardware.nix ./hardware/system-76.nix ./hardware/tuxedo-keyboard.nix ./hardware/ubertooth.nix - ./hardware/usb-wwan.nix - ./hardware/usb-storage.nix - ./hardware/onlykey/default.nix - ./hardware/opentabletdriver.nix - ./hardware/sata.nix - ./hardware/wooting.nix ./hardware/uinput.nix + ./hardware/usb-storage.nix + ./hardware/usb-wwan.nix ./hardware/video/amdgpu-pro.nix - ./hardware/video/capture/mwprocapture.nix ./hardware/video/bumblebee.nix + ./hardware/video/capture/mwprocapture.nix ./hardware/video/displaylink.nix ./hardware/video/hidpi.nix ./hardware/video/nvidia.nix ./hardware/video/switcheroo-control.nix ./hardware/video/uvcvideo/default.nix ./hardware/video/webcam/facetimehd.nix + ./hardware/wooting.nix ./hardware/xone.nix ./hardware/xpadneo.nix ./i18n/input-method/default.nix @@ -105,40 +105,40 @@ ./i18n/input-method/fcitx5.nix ./i18n/input-method/hime.nix ./i18n/input-method/ibus.nix + ./i18n/input-method/kime.nix ./i18n/input-method/nabi.nix ./i18n/input-method/uim.nix - ./i18n/input-method/kime.nix ./installer/tools/tools.nix ./misc/assertions.nix ./misc/crashdump.nix ./misc/documentation.nix ./misc/extra-arguments.nix ./misc/ids.nix - ./misc/lib.nix ./misc/label.nix + ./misc/lib.nix ./misc/locate.nix ./misc/man-db.nix ./misc/mandoc.nix ./misc/meta.nix + ./misc/nixops-autoluks.nix ./misc/nixpkgs.nix ./misc/passthru.nix ./misc/version.nix ./misc/wordlist.nix - ./misc/nixops-autoluks.nix - ./programs/_1password.nix ./programs/_1password-gui.nix + ./programs/_1password.nix ./programs/adb.nix ./programs/appgate-sdp.nix ./programs/atop.nix ./programs/ausweisapp.nix ./programs/autojump.nix ./programs/bandwhich.nix - ./programs/bash/bash.nix + ./programs/bash-my-aws.nix ./programs/bash/bash-completion.nix + ./programs/bash/bash.nix ./programs/bash/blesh.nix ./programs/bash/ls-colors.nix ./programs/bash/undistract-me.nix - ./programs/bash-my-aws.nix ./programs/bcc.nix ./programs/browserpass.nix ./programs/calls.nix @@ -173,8 +173,8 @@ ./programs/gnome-disks.nix ./programs/gnome-documents.nix ./programs/gnome-terminal.nix - ./programs/gpaste.nix ./programs/gnupg.nix + ./programs/gpaste.nix ./programs/gphoto2.nix ./programs/haguichi.nix ./programs/hamster.nix @@ -182,29 +182,29 @@ ./programs/iftop.nix ./programs/iotop.nix ./programs/java.nix - ./programs/k40-whisperer.nix - ./programs/kclock.nix ./programs/k3b.nix - ./programs/kdeconnect.nix + ./programs/k40-whisperer.nix ./programs/kbdlight.nix + ./programs/kclock.nix + ./programs/kdeconnect.nix ./programs/less.nix ./programs/liboping.nix ./programs/light.nix ./programs/mdevctl.nix ./programs/mepo.nix - ./programs/mosh.nix ./programs/mininet.nix + ./programs/mosh.nix ./programs/msmtp.nix ./programs/mtr.nix ./programs/nano.nix ./programs/nbd.nix - ./programs/nix-ld.nix ./programs/neovim.nix ./programs/nethoscope.nix + ./programs/nix-ld.nix ./programs/nm-applet.nix ./programs/nncp.nix - ./programs/npm.nix ./programs/noisetorch.nix + ./programs/npm.nix ./programs/oblogout.nix ./programs/openvpn3.nix ./programs/pantheon-tweaks.nix @@ -215,21 +215,21 @@ ./programs/rog-control-center.nix ./programs/rust-motd.nix ./programs/screen.nix - ./programs/sedutil.nix ./programs/seahorse.nix + ./programs/sedutil.nix + ./programs/shadow.nix + ./programs/singularity.nix ./programs/skim.nix ./programs/slock.nix - ./programs/shadow.nix ./programs/spacefm.nix - ./programs/singularity.nix ./programs/ssh.nix - ./programs/sysdig.nix - ./programs/systemtap.nix ./programs/starship.nix ./programs/steam.nix ./programs/streamdeck-ui.nix ./programs/sway.nix + ./programs/sysdig.nix ./programs/system-config-printer.nix + ./programs/systemtap.nix ./programs/thefuck.nix ./programs/thunar.nix ./programs/tmux.nix @@ -252,10 +252,10 @@ ./programs/yabar.nix ./programs/zmap.nix ./programs/zsh/oh-my-zsh.nix - ./programs/zsh/zsh.nix ./programs/zsh/zsh-autoenv.nix ./programs/zsh/zsh-autosuggestions.nix ./programs/zsh/zsh-syntax-highlighting.nix + ./programs/zsh/zsh.nix ./rename.nix ./security/acme ./security/apparmor.nix @@ -264,23 +264,23 @@ ./security/ca.nix ./security/chromium-suid-sandbox.nix ./security/dhparams.nix + ./security/doas.nix ./security/duosec.nix ./security/google_oslogin.nix ./security/lock-kernel-modules.nix ./security/misc.nix ./security/oath.nix ./security/pam.nix - ./security/pam_usb.nix ./security/pam_mount.nix + ./security/pam_usb.nix ./security/please.nix ./security/polkit.nix ./security/rngd.nix ./security/rtkit.nix - ./security/wrappers/default.nix ./security/sudo.nix - ./security/doas.nix ./security/systemd-confinement.nix ./security/tpm2.nix + ./security/wrappers/default.nix ./services/admin/meshcentral.nix ./services/admin/oxidized.nix ./services/admin/pgadmin.nix @@ -295,17 +295,17 @@ ./services/audio/jack.nix ./services/audio/jmusicbot.nix ./services/audio/liquidsoap.nix + ./services/audio/mopidy.nix ./services/audio/mpd.nix ./services/audio/mpdscribble.nix - ./services/audio/mopidy.nix + ./services/audio/navidrome.nix ./services/audio/networkaudiod.nix ./services/audio/roon-bridge.nix - ./services/audio/navidrome.nix ./services/audio/roon-server.nix ./services/audio/slimserver.nix ./services/audio/snapserver.nix - ./services/audio/squeezelite.nix ./services/audio/spotifyd.nix + ./services/audio/squeezelite.nix ./services/audio/ympd.nix ./services/backup/automysqlbackup.nix ./services/backup/bacula.nix @@ -317,8 +317,8 @@ ./services/backup/mysql-backup.nix ./services/backup/postgresql-backup.nix ./services/backup/postgresql-wal-receiver.nix - ./services/backup/restic.nix ./services/backup/restic-rest-server.nix + ./services/backup/restic.nix ./services/backup/rsnapshot.nix ./services/backup/sanoid.nix ./services/backup/syncoid.nix @@ -326,15 +326,15 @@ ./services/backup/tsm.nix ./services/backup/zfs-replication.nix ./services/backup/znapzend.nix - ./services/blockchain/ethereum/geth.nix - ./services/blockchain/ethereum/erigon.nix - ./services/blockchain/ethereum/lighthouse.nix ./services/backup/zrepl.nix + ./services/blockchain/ethereum/erigon.nix + ./services/blockchain/ethereum/geth.nix + ./services/blockchain/ethereum/lighthouse.nix ./services/cluster/corosync/default.nix ./services/cluster/hadoop/default.nix ./services/cluster/k3s/default.nix - ./services/cluster/kubernetes/addons/dns.nix ./services/cluster/kubernetes/addon-manager.nix + ./services/cluster/kubernetes/addons/dns.nix ./services/cluster/kubernetes/apiserver.nix ./services/cluster/kubernetes/controller-manager.nix ./services/cluster/kubernetes/default.nix @@ -354,14 +354,14 @@ ./services/continuous-integration/buildbot/master.nix ./services/continuous-integration/buildbot/worker.nix ./services/continuous-integration/buildkite-agents.nix - ./services/continuous-integration/hail.nix - ./services/continuous-integration/hercules-ci-agent/default.nix - ./services/continuous-integration/hydra/default.nix ./services/continuous-integration/github-runner.nix ./services/continuous-integration/github-runners.nix ./services/continuous-integration/gitlab-runner.nix ./services/continuous-integration/gocd-agent/default.nix ./services/continuous-integration/gocd-server/default.nix + ./services/continuous-integration/hail.nix + ./services/continuous-integration/hercules-ci-agent/default.nix + ./services/continuous-integration/hydra/default.nix ./services/continuous-integration/jenkins/default.nix ./services/continuous-integration/jenkins/job-builder.nix ./services/continuous-integration/jenkins/slave.nix @@ -370,8 +370,8 @@ ./services/databases/clickhouse.nix ./services/databases/cockroachdb.nix ./services/databases/couchdb.nix - ./services/databases/dragonflydb.nix ./services/databases/dgraph.nix + ./services/databases/dragonflydb.nix ./services/databases/firebird.nix ./services/databases/foundationdb.nix ./services/databases/hbase-standalone.nix @@ -398,12 +398,6 @@ ./services/desktops/espanso.nix ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix - ./services/desktops/gsignond.nix - ./services/desktops/gvfs.nix - ./services/desktops/malcontent.nix - ./services/desktops/pipewire/pipewire.nix - ./services/desktops/pipewire/pipewire-media-session.nix - ./services/desktops/pipewire/wireplumber.nix ./services/desktops/gnome/at-spi2-core.nix ./services/desktops/gnome/evolution-data-server.nix ./services/desktops/gnome/glib-networking.nix @@ -417,27 +411,33 @@ ./services/desktops/gnome/gnome-user-share.nix ./services/desktops/gnome/rygel.nix ./services/desktops/gnome/sushi.nix - ./services/desktops/gnome/tracker.nix ./services/desktops/gnome/tracker-miners.nix + ./services/desktops/gnome/tracker.nix + ./services/desktops/gsignond.nix + ./services/desktops/gvfs.nix + ./services/desktops/malcontent.nix ./services/desktops/neard.nix + ./services/desktops/pipewire/pipewire-media-session.nix + ./services/desktops/pipewire/pipewire.nix + ./services/desktops/pipewire/wireplumber.nix ./services/desktops/profile-sync-daemon.nix ./services/desktops/system-config-printer.nix ./services/desktops/telepathy.nix ./services/desktops/tumbler.nix ./services/desktops/zeitgeist.nix - ./services/development/bloop.nix ./services/development/blackfire.nix + ./services/development/bloop.nix ./services/development/distccd.nix ./services/development/hoogle.nix ./services/development/jupyter/default.nix ./services/development/jupyterhub/default.nix - ./services/development/rstudio-server/default.nix ./services/development/lorri.nix + ./services/development/rstudio-server/default.nix ./services/development/zammad.nix ./services/display-managers/greetd.nix ./services/editors/emacs.nix - ./services/editors/infinoted.nix ./services/editors/haste.nix + ./services/editors/infinoted.nix ./services/finance/odoo.nix ./services/games/asf.nix ./services/games/crossfire-server.nix @@ -483,22 +483,22 @@ ./services/hardware/spacenavd.nix ./services/hardware/supergfxd.nix ./services/hardware/tcsd.nix - ./services/hardware/tlp.nix + ./services/hardware/thermald.nix ./services/hardware/thinkfan.nix ./services/hardware/throttled.nix + ./services/hardware/tlp.nix ./services/hardware/trezord.nix ./services/hardware/triggerhappy.nix ./services/hardware/udev.nix ./services/hardware/udisks2.nix + ./services/hardware/undervolt.nix ./services/hardware/upower.nix ./services/hardware/usbmuxd.nix ./services/hardware/usbrelayd.nix - ./services/hardware/thermald.nix - ./services/hardware/undervolt.nix ./services/hardware/vdr.nix + ./services/home-automation/evcc.nix ./services/home-automation/home-assistant.nix ./services/home-automation/zigbee2mqtt.nix - ./services/home-automation/evcc.nix ./services/logging/SystemdJournal2Gelf.nix ./services/logging/awstats.nix ./services/logging/filebeat.nix @@ -530,22 +530,22 @@ ./services/mail/mailhog.nix ./services/mail/mailman.nix ./services/mail/mlmmj.nix + ./services/mail/nullmailer.nix ./services/mail/offlineimap.nix ./services/mail/opendkim.nix ./services/mail/opensmtpd.nix ./services/mail/pfix-srsd.nix ./services/mail/postfix.nix ./services/mail/postfixadmin.nix - ./services/mail/postsrsd.nix ./services/mail/postgrey.nix + ./services/mail/postsrsd.nix ./services/mail/public-inbox.nix - ./services/mail/spamassassin.nix + ./services/mail/roundcube.nix ./services/mail/rspamd.nix ./services/mail/rss2email.nix - ./services/mail/roundcube.nix ./services/mail/schleuder.nix + ./services/mail/spamassassin.nix ./services/mail/sympa.nix - ./services/mail/nullmailer.nix ./services/matrix/appservice-discord.nix ./services/matrix/appservice-irc.nix ./services/matrix/conduit.nix @@ -555,8 +555,8 @@ ./services/matrix/mjolnir.nix ./services/matrix/pantalaimon.nix ./services/matrix/synapse.nix - ./services/misc/ananicy.nix ./services/misc/airsonic.nix + ./services/misc/ananicy.nix ./services/misc/ankisyncd.nix ./services/misc/apache-kafka.nix ./services/misc/atuin.nix @@ -566,22 +566,22 @@ ./services/misc/beanstalkd.nix ./services/misc/bees.nix ./services/misc/bepasty.nix - ./services/misc/canto-daemon.nix ./services/misc/calibre-server.nix + ./services/misc/canto-daemon.nix ./services/misc/cfdyndns.nix - ./services/misc/clipmenu.nix - ./services/misc/clipcat.nix - ./services/misc/cpuminer-cryptonight.nix ./services/misc/cgminer.nix + ./services/misc/clipcat.nix + ./services/misc/clipmenu.nix ./services/misc/confd.nix + ./services/misc/cpuminer-cryptonight.nix ./services/misc/devmon.nix ./services/misc/dictd.nix - ./services/misc/duckling.nix - ./services/misc/dwm-status.nix - ./services/misc/dysnomia.nix ./services/misc/disnix.nix ./services/misc/docker-registry.nix ./services/misc/domoticz.nix + ./services/misc/duckling.nix + ./services/misc/dwm-status.nix + ./services/misc/dysnomia.nix ./services/misc/errbot.nix ./services/misc/etcd.nix ./services/misc/etebase-server.nix @@ -593,16 +593,16 @@ ./services/misc/gammu-smsd.nix ./services/misc/geoipupdate.nix ./services/misc/gitea.nix - #./services/misc/gitit.nix + # ./services/misc/gitit.nix ./services/misc/gitlab.nix ./services/misc/gitolite.nix ./services/misc/gitweb.nix ./services/misc/gogs.nix ./services/misc/gollum.nix ./services/misc/gpsd.nix + ./services/misc/greenclip.nix ./services/misc/headphones.nix ./services/misc/heisenbridge.nix - ./services/misc/greenclip.nix ./services/misc/ihaskell.nix ./services/misc/input-remapper.nix ./services/misc/irkerd.nix @@ -610,11 +610,11 @@ ./services/misc/jellyfin.nix ./services/misc/klipper.nix ./services/misc/languagetool.nix - ./services/misc/logkeys.nix ./services/misc/leaps.nix - ./services/misc/lidarr.nix ./services/misc/libreddit.nix + ./services/misc/lidarr.nix ./services/misc/lifecycled.nix + ./services/misc/logkeys.nix ./services/misc/mame.nix ./services/misc/mbpfan.nix ./services/misc/mediatomb.nix @@ -639,23 +639,22 @@ ./services/misc/paperless.nix ./services/misc/parsoid.nix ./services/misc/persistent-evdev.nix + ./services/misc/pinnwand.nix ./services/misc/plex.nix ./services/misc/plikd.nix ./services/misc/podgrab.nix ./services/misc/polaris.nix ./services/misc/portunus.nix ./services/misc/prowlarr.nix - ./services/misc/tautulli.nix - ./services/misc/pinnwand.nix ./services/misc/pykms.nix ./services/misc/radarr.nix ./services/misc/redmine.nix - ./services/misc/rippled.nix ./services/misc/ripple-data-api.nix + ./services/misc/rippled.nix ./services/misc/rmfakecloud.nix - ./services/misc/serviio.nix ./services/misc/safeeyes.nix ./services/misc/sdrplay.nix + ./services/misc/serviio.nix ./services/misc/sickbeard.nix ./services/misc/signald.nix ./services/misc/siproxd.nix @@ -673,6 +672,7 @@ ./services/misc/sysprof.nix ./services/misc/tandoor-recipes.nix ./services/misc/taskserver + ./services/misc/tautulli.nix ./services/misc/tiddlywiki.nix ./services/misc/tp-auto-kbbl.nix ./services/misc/tzupdate.nix @@ -692,10 +692,10 @@ ./services/monitoring/datadog-agent.nix ./services/monitoring/do-agent.nix ./services/monitoring/fusion-inventory.nix - ./services/monitoring/grafana.nix ./services/monitoring/grafana-agent.nix ./services/monitoring/grafana-image-renderer.nix ./services/monitoring/grafana-reporter.nix + ./services/monitoring/grafana.nix ./services/monitoring/graphite.nix ./services/monitoring/hdaps.nix ./services/monitoring/heapster.nix @@ -713,15 +713,15 @@ ./services/monitoring/nagios.nix ./services/monitoring/netdata.nix ./services/monitoring/parsedmarc.nix - ./services/monitoring/prometheus/default.nix ./services/monitoring/prometheus/alertmanager.nix + ./services/monitoring/prometheus/default.nix ./services/monitoring/prometheus/exporters.nix ./services/monitoring/prometheus/pushgateway.nix ./services/monitoring/prometheus/sachet.nix ./services/monitoring/prometheus/xmpp-alerts.nix - ./services/monitoring/riemann.nix ./services/monitoring/riemann-dash.nix ./services/monitoring/riemann-tools.nix + ./services/monitoring/riemann.nix ./services/monitoring/scollector.nix ./services/monitoring/smartd.nix ./services/monitoring/sysstat.nix @@ -732,38 +732,38 @@ ./services/monitoring/tuptime.nix ./services/monitoring/unpoller.nix ./services/monitoring/ups.nix + ./services/monitoring/uptime-kuma.nix ./services/monitoring/uptime.nix ./services/monitoring/vmagent.nix - ./services/monitoring/uptime-kuma.nix ./services/monitoring/vnstat.nix ./services/monitoring/zabbix-agent.nix ./services/monitoring/zabbix-proxy.nix ./services/monitoring/zabbix-server.nix ./services/network-filesystems/cachefilesd.nix + ./services/network-filesystems/ceph.nix ./services/network-filesystems/davfs2.nix + ./services/network-filesystems/diod.nix ./services/network-filesystems/drbd.nix ./services/network-filesystems/glusterfs.nix ./services/network-filesystems/kbfs.nix ./services/network-filesystems/kubo.nix ./services/network-filesystems/litestream/default.nix + ./services/network-filesystems/moosefs.nix ./services/network-filesystems/netatalk.nix ./services/network-filesystems/nfsd.nix - ./services/network-filesystems/moosefs.nix ./services/network-filesystems/openafs/client.nix ./services/network-filesystems/openafs/server.nix - ./services/network-filesystems/orangefs/server.nix ./services/network-filesystems/orangefs/client.nix + ./services/network-filesystems/orangefs/server.nix ./services/network-filesystems/rsyncd.nix - ./services/network-filesystems/samba.nix ./services/network-filesystems/samba-wsdd.nix + ./services/network-filesystems/samba.nix ./services/network-filesystems/tahoe.nix - ./services/network-filesystems/diod.nix ./services/network-filesystems/u9fs.nix - ./services/network-filesystems/webdav.nix ./services/network-filesystems/webdav-server-rs.nix - ./services/network-filesystems/yandex-disk.nix + ./services/network-filesystems/webdav.nix ./services/network-filesystems/xtreemfs.nix - ./services/network-filesystems/ceph.nix + ./services/network-filesystems/yandex-disk.nix ./services/networking/3proxy.nix ./services/networking/adguardhome.nix ./services/networking/amuled.nix @@ -771,16 +771,16 @@ ./services/networking/aria2.nix ./services/networking/asterisk.nix ./services/networking/atftpd.nix + ./services/networking/autossh.nix ./services/networking/avahi-daemon.nix ./services/networking/babeld.nix - ./services/networking/bee.nix ./services/networking/bee-clef.nix + ./services/networking/bee.nix ./services/networking/biboumi.nix ./services/networking/bind.nix - ./services/networking/bitcoind.nix - ./services/networking/autossh.nix - ./services/networking/bird.nix ./services/networking/bird-lg.nix + ./services/networking/bird.nix + ./services/networking/bitcoind.nix ./services/networking/bitlbee.nix ./services/networking/blockbook-frontend.nix ./services/networking/blocky.nix @@ -807,8 +807,6 @@ ./services/networking/dnsdist.nix ./services/networking/dnsmasq.nix ./services/networking/doh-proxy-rust.nix - ./services/networking/ncdns.nix - ./services/networking/nomad.nix ./services/networking/ejabberd.nix ./services/networking/envoy.nix ./services/networking/epmd.nix @@ -843,10 +841,10 @@ ./services/networking/htpdate.nix ./services/networking/https-dns-proxy.nix ./services/networking/hylafax/default.nix - ./services/networking/i2pd.nix ./services/networking/i2p.nix - ./services/networking/icecream/scheduler.nix + ./services/networking/i2pd.nix ./services/networking/icecream/daemon.nix + ./services/networking/icecream/scheduler.nix ./services/networking/inspircd.nix ./services/networking/iodine.nix ./services/networking/iperf3.nix @@ -871,14 +869,14 @@ ./services/networking/lxd-image-server.nix ./services/networking/magic-wormhole-mailbox-server.nix ./services/networking/matterbridge.nix - ./services/networking/mjpg-streamer.nix ./services/networking/minidlna.nix ./services/networking/miniupnpd.nix - ./services/networking/mosquitto.nix + ./services/networking/miredo.nix + ./services/networking/mjpg-streamer.nix ./services/networking/monero.nix ./services/networking/morty.nix + ./services/networking/mosquitto.nix ./services/networking/mozillavpn.nix - ./services/networking/miredo.nix ./services/networking/mstpd.nix ./services/networking/mtprotoproxy.nix ./services/networking/mtr-exporter.nix @@ -891,18 +889,20 @@ ./services/networking/nat.nix ./services/networking/nats.nix ./services/networking/nbd.nix + ./services/networking/ncdns.nix ./services/networking/ndppd.nix ./services/networking/nebula.nix ./services/networking/netbird.nix ./services/networking/networkmanager.nix ./services/networking/nextdns.nix ./services/networking/nftables.nix - ./services/networking/ngircd.nix ./services/networking/nghttpx/default.nix + ./services/networking/ngircd.nix ./services/networking/nix-serve.nix ./services/networking/nix-store-gcs-proxy.nix ./services/networking/nixops-dns.nix ./services/networking/nntp-proxy.nix + ./services/networking/nomad.nix ./services/networking/nsd.nix ./services/networking/ntopng.nix ./services/networking/ntp/chrony.nix @@ -918,20 +918,20 @@ ./services/networking/openvpn.nix ./services/networking/ostinato.nix ./services/networking/owamp.nix + ./services/networking/pdns-recursor.nix ./services/networking/pdnsd.nix ./services/networking/pixiecore.nix ./services/networking/pleroma.nix ./services/networking/polipo.nix ./services/networking/powerdns.nix - ./services/networking/pdns-recursor.nix ./services/networking/pppd.nix ./services/networking/pptpd.nix ./services/networking/prayer.nix ./services/networking/privoxy.nix ./services/networking/prosody.nix ./services/networking/quassel.nix - ./services/networking/quorum.nix ./services/networking/quicktun.nix + ./services/networking/quorum.nix ./services/networking/r53-ddns.nix ./services/networking/radicale.nix ./services/networking/radvd.nix @@ -945,58 +945,56 @@ ./services/networking/sabnzbd.nix ./services/networking/seafile.nix ./services/networking/searx.nix - ./services/networking/skydns.nix ./services/networking/shadowsocks.nix ./services/networking/shairport-sync.nix ./services/networking/shellhub-agent.nix ./services/networking/shorewall.nix ./services/networking/shorewall6.nix ./services/networking/shout.nix - ./services/networking/sniproxy.nix - ./services/networking/snowflake-proxy.nix + ./services/networking/skydns.nix ./services/networking/smartdns.nix ./services/networking/smokeping.nix + ./services/networking/sniproxy.nix + ./services/networking/snowflake-proxy.nix ./services/networking/softether.nix - ./services/networking/solanum.nix ./services/networking/soju.nix + ./services/networking/solanum.nix ./services/networking/spacecookie.nix ./services/networking/spiped.nix ./services/networking/squid.nix - ./services/networking/sslh.nix ./services/networking/ssh/lshd.nix ./services/networking/ssh/sshd.nix - ./services/networking/strongswan.nix + ./services/networking/sslh.nix ./services/networking/strongswan-swanctl/module.nix - ./services/networking/stunnel.nix + ./services/networking/strongswan.nix ./services/networking/stubby.nix + ./services/networking/stunnel.nix ./services/networking/supplicant.nix ./services/networking/supybot.nix - ./services/networking/syncthing.nix - ./services/networking/syncthing-relay.nix ./services/networking/syncplay.nix + ./services/networking/syncthing-relay.nix + ./services/networking/syncthing.nix ./services/networking/tailscale.nix ./services/networking/tayga.nix ./services/networking/tcpcrypt.nix ./services/networking/teamspeak3.nix ./services/networking/tedicross.nix - ./services/networking/tetrd.nix ./services/networking/teleport.nix + ./services/networking/tetrd.nix + ./services/networking/tftpd.nix ./services/networking/thelounge.nix ./services/networking/tinc.nix ./services/networking/tinydns.nix - ./services/networking/tftpd.nix ./services/networking/tmate-ssh-server.nix - ./services/networking/trickster.nix ./services/networking/tox-bootstrapd.nix ./services/networking/tox-node.nix ./services/networking/toxvpn.nix + ./services/networking/trickster.nix ./services/networking/tvheadend.nix ./services/networking/twingate.nix ./services/networking/ucarp.nix ./services/networking/unbound.nix ./services/networking/unifi.nix - ./services/video/unifi-video.nix - ./services/video/rtsp-simple-server.nix ./services/networking/uptermd.nix ./services/networking/v2ray.nix ./services/networking/v2raya.nix @@ -1008,10 +1006,10 @@ ./services/networking/wg-quick.nix ./services/networking/wireguard.nix ./services/networking/wpa_supplicant.nix + ./services/networking/x2goserver.nix ./services/networking/xandikos.nix ./services/networking/xinetd.nix ./services/networking/xl2tpd.nix - ./services/networking/x2goserver.nix ./services/networking/xray.nix ./services/networking/xrdp.nix ./services/networking/yggdrasil.nix @@ -1024,8 +1022,8 @@ ./services/scheduling/atd.nix ./services/scheduling/cron.nix ./services/scheduling/fcron.nix - ./services/search/elasticsearch.nix ./services/search/elasticsearch-curator.nix + ./services/search/elasticsearch.nix ./services/search/hound.nix ./services/search/kibana.nix ./services/search/meilisearch.nix @@ -1034,25 +1032,25 @@ ./services/security/certmgr.nix ./services/security/cfssl.nix ./services/security/clamav.nix - ./services/security/endlessh.nix ./services/security/endlessh-go.nix + ./services/security/endlessh.nix ./services/security/fail2ban.nix ./services/security/fprintd.nix ./services/security/haka.nix ./services/security/haveged.nix ./services/security/hockeypuck.nix - ./services/security/hologram-server.nix ./services/security/hologram-agent.nix - ./services/security/kanidm.nix + ./services/security/hologram-server.nix ./services/security/infnoise.nix + ./services/security/kanidm.nix ./services/security/munge.nix ./services/security/nginx-sso.nix ./services/security/oauth2_proxy.nix ./services/security/oauth2_proxy_nginx.nix ./services/security/opensnitch.nix ./services/security/pass-secret-service.nix - ./services/security/privacyidea.nix ./services/security/physlock.nix + ./services/security/privacyidea.nix ./services/security/shibboleth-sp.nix ./services/security/sks.nix ./services/security/sshguard.nix @@ -1071,8 +1069,8 @@ ./services/system/cloud-init.nix ./services/system/dbus.nix ./services/system/earlyoom.nix - ./services/system/localtimed.nix ./services/system/kerberos/default.nix + ./services/system/localtimed.nix ./services/system/nscd.nix ./services/system/saslauthd.nix ./services/system/self-deploy.nix @@ -1089,19 +1087,21 @@ ./services/ttys/getty.nix ./services/ttys/gpm.nix ./services/ttys/kmscon.nix - ./services/wayland/cage.nix ./services/video/epgstation/default.nix ./services/video/mirakurun.nix ./services/video/replay-sorcery.nix + ./services/video/rtsp-simple-server.nix + ./services/video/unifi-video.nix + ./services/wayland/cage.nix ./services/web-apps/alps.nix ./services/web-apps/atlassian/confluence.nix ./services/web-apps/atlassian/crowd.nix ./services/web-apps/atlassian/jira.nix + ./services/web-apps/baget.nix ./services/web-apps/bookstack.nix ./services/web-apps/calibre-web.nix - ./services/web-apps/code-server.nix - ./services/web-apps/baget.nix ./services/web-apps/changedetection-io.nix + ./services/web-apps/code-server.nix ./services/web-apps/convos.nix ./services/web-apps/dex.nix ./services/web-apps/discourse.nix @@ -1122,16 +1122,17 @@ ./services/web-apps/icingaweb2/icingaweb2.nix ./services/web-apps/icingaweb2/module-monitoring.nix ./services/web-apps/ihatemoney + ./services/web-apps/invidious.nix + ./services/web-apps/invoiceplane.nix ./services/web-apps/isso.nix ./services/web-apps/jirafeau.nix ./services/web-apps/jitsi-meet.nix ./services/web-apps/keycloak.nix ./services/web-apps/komga.nix ./services/web-apps/lemmy.nix - ./services/web-apps/invidious.nix - ./services/web-apps/invoiceplane.nix ./services/web-apps/limesurvey.nix ./services/web-apps/mastodon.nix + ./services/web-apps/matomo.nix ./services/web-apps/mattermost.nix ./services/web-apps/mediawiki.nix ./services/web-apps/miniflux.nix @@ -1141,30 +1142,29 @@ ./services/web-apps/nexus.nix ./services/web-apps/nifi.nix ./services/web-apps/node-red.nix - ./services/web-apps/phylactery.nix ./services/web-apps/onlyoffice.nix - ./services/web-apps/pict-rs.nix - ./services/web-apps/peertube.nix - ./services/web-apps/peering-manager.nix - ./services/web-apps/plantuml-server.nix - ./services/web-apps/plausible.nix - ./services/web-apps/pgpkeyserver-lite.nix - ./services/web-apps/powerdns-admin.nix - ./services/web-apps/prosody-filer.nix - ./services/web-apps/matomo.nix ./services/web-apps/openwebrx.nix ./services/web-apps/outline.nix + ./services/web-apps/peering-manager.nix + ./services/web-apps/peertube.nix + ./services/web-apps/pgpkeyserver-lite.nix + ./services/web-apps/phylactery.nix + ./services/web-apps/pict-rs.nix + ./services/web-apps/plantuml-server.nix + ./services/web-apps/plausible.nix + ./services/web-apps/powerdns-admin.nix + ./services/web-apps/prosody-filer.nix ./services/web-apps/restya-board.nix - ./services/web-apps/sogo.nix ./services/web-apps/rss-bridge.nix - ./services/web-apps/tt-rss.nix - ./services/web-apps/trilium.nix ./services/web-apps/selfoss.nix ./services/web-apps/shiori.nix ./services/web-apps/snipe-it.nix + ./services/web-apps/sogo.nix + ./services/web-apps/trilium.nix + ./services/web-apps/tt-rss.nix ./services/web-apps/vikunja.nix - ./services/web-apps/wiki-js.nix ./services/web-apps/whitebophir.nix + ./services/web-apps/wiki-js.nix ./services/web-apps/wordpress.nix ./services/web-apps/writefreely.nix ./services/web-apps/youtrack.nix @@ -1178,6 +1178,7 @@ ./services/web-servers/hitch/default.nix ./services/web-servers/hydron.nix ./services/web-servers/jboss/default.nix + ./services/web-servers/keter ./services/web-servers/lighttpd/cgit.nix ./services/web-servers/lighttpd/collectd.nix ./services/web-servers/lighttpd/default.nix @@ -1190,21 +1191,16 @@ ./services/web-servers/nginx/gitweb.nix ./services/web-servers/phpfpm/default.nix ./services/web-servers/pomerium.nix - ./services/web-servers/unit/default.nix ./services/web-servers/tomcat.nix - ./services/web-servers/keter ./services/web-servers/traefik.nix ./services/web-servers/trafficserver/default.nix ./services/web-servers/ttyd.nix + ./services/web-servers/unit/default.nix ./services/web-servers/uwsgi.nix ./services/web-servers/varnish/default.nix ./services/web-servers/zope2.nix - ./services/x11/extra-layouts.nix ./services/x11/clight.nix ./services/x11/colord.nix - ./services/x11/picom.nix - ./services/x11/unclutter.nix - ./services/x11/unclutter-xfixes.nix ./services/x11/desktop-managers/default.nix ./services/x11/display-managers/default.nix ./services/x11/display-managers/gdm.nix @@ -1214,24 +1210,30 @@ ./services/x11/display-managers/startx.nix ./services/x11/display-managers/sx.nix ./services/x11/display-managers/xpra.nix + ./services/x11/extra-layouts.nix ./services/x11/fractalart.nix + ./services/x11/gdk-pixbuf.nix + ./services/x11/hardware/cmt.nix + ./services/x11/hardware/digimend.nix ./services/x11/hardware/libinput.nix ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix - ./services/x11/hardware/digimend.nix - ./services/x11/hardware/cmt.nix - ./services/x11/gdk-pixbuf.nix ./services/x11/imwheel.nix + ./services/x11/picom.nix ./services/x11/redshift.nix ./services/x11/touchegg.nix + ./services/x11/unclutter-xfixes.nix + ./services/x11/unclutter.nix ./services/x11/urserver.nix ./services/x11/urxvtd.nix ./services/x11/window-managers/awesome.nix - ./services/x11/window-managers/default.nix + ./services/x11/window-managers/bspwm.nix ./services/x11/window-managers/clfswm.nix + ./services/x11/window-managers/default.nix ./services/x11/window-managers/fluxbox.nix ./services/x11/window-managers/icewm.nix ./services/x11/window-managers/bspwm.nix + ./services/x11/window-managers/katriawm.nix ./services/x11/window-managers/metacity.nix ./services/x11/window-managers/none.nix ./services/x11/window-managers/twm.nix @@ -1249,8 +1251,8 @@ ./system/boot/emergency-mode.nix ./system/boot/grow-partition.nix ./system/boot/initrd-network.nix - ./system/boot/initrd-ssh.nix ./system/boot/initrd-openvpn.nix + ./system/boot/initrd-ssh.nix ./system/boot/kernel.nix ./system/boot/kexec.nix ./system/boot/loader/efi.nix @@ -1309,35 +1311,35 @@ ./tasks/filesystems/xfs.nix ./tasks/filesystems/zfs.nix ./tasks/lvm.nix - ./tasks/network-interfaces.nix - ./tasks/network-interfaces-systemd.nix ./tasks/network-interfaces-scripted.nix + ./tasks/network-interfaces-systemd.nix + ./tasks/network-interfaces.nix + ./tasks/powertop.nix ./tasks/scsi-link-power-management.nix ./tasks/snapraid.nix ./tasks/stratis.nix ./tasks/swraid.nix ./tasks/trackpoint.nix - ./tasks/powertop.nix ./testing/service-runner.nix + ./virtualisation/amazon-options.nix ./virtualisation/anbox.nix ./virtualisation/appvm.nix ./virtualisation/build-vm.nix ./virtualisation/container-config.nix ./virtualisation/containerd.nix ./virtualisation/containers.nix - ./virtualisation/nixos-containers.nix - ./virtualisation/oci-containers.nix ./virtualisation/cri-o.nix - ./virtualisation/docker.nix ./virtualisation/docker-rootless.nix + ./virtualisation/docker.nix ./virtualisation/ecs-agent.nix + ./virtualisation/hyperv-guest.nix + ./virtualisation/kvmgt.nix ./virtualisation/libvirtd.nix ./virtualisation/lxc.nix ./virtualisation/lxcfs.nix ./virtualisation/lxd.nix - ./virtualisation/amazon-options.nix - ./virtualisation/hyperv-guest.nix - ./virtualisation/kvmgt.nix + ./virtualisation/nixos-containers.nix + ./virtualisation/oci-containers.nix ./virtualisation/openstack-options.nix ./virtualisation/openvswitch.nix ./virtualisation/parallels-guest.nix @@ -1350,7 +1352,7 @@ ./virtualisation/vmware-guest.nix ./virtualisation/vmware-host.nix ./virtualisation/waydroid.nix - ./virtualisation/xen-dom0.nix ./virtualisation/xe-guest-utilities.nix + ./virtualisation/xen-dom0.nix { documentation.nixos.extraModules = [ ./virtualisation/qemu-vm.nix ]; } ] From dc872f38d2d6ed14239c8c88a780f873eac7d8ac Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Thu, 15 Dec 2022 21:08:08 -0300 Subject: [PATCH 209/280] sxhkd: move to tools/X11 After all, it isn't a window manager. --- .../window-managers/sxhkd/default.nix | 27 ------------ pkgs/tools/X11/sxhkd/default.nix | 42 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 43 insertions(+), 28 deletions(-) delete mode 100644 pkgs/applications/window-managers/sxhkd/default.nix create mode 100644 pkgs/tools/X11/sxhkd/default.nix diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix deleted file mode 100644 index 427f4c92f7bd..000000000000 --- a/pkgs/applications/window-managers/sxhkd/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, asciidoc, libxcb, xcbutil, xcbutilkeysyms -, xcbutilwm -}: - -stdenv.mkDerivation rec { - pname = "sxhkd"; - version = "0.6.2"; - - src = fetchFromGitHub { - owner = "baskerville"; - repo = "sxhkd"; - rev = version; - sha256 = "1winwzdy9yxvxnrv8gqpigl9y0c2px27mnms62bdilp4x6llrs9r"; - }; - - buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ]; - - makeFlags = [ "PREFIX=$(out)" ]; - - meta = with lib; { - description = "Simple X hotkey daemon"; - homepage = "https://github.com/baskerville/sxhkd"; - license = licenses.bsd2; - maintainers = with maintainers; [ vyp ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/tools/X11/sxhkd/default.nix b/pkgs/tools/X11/sxhkd/default.nix new file mode 100644 index 000000000000..50e82643ac28 --- /dev/null +++ b/pkgs/tools/X11/sxhkd/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromGitHub +, asciidoc +, libxcb +, xcbutil +, xcbutilkeysyms +, xcbutilwm +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "sxhkd"; + version = "0.6.2"; + + src = fetchFromGitHub { + owner = "baskerville"; + repo = "sxhkd"; + rev = finalAttrs.version; + hash = "sha256-OelMqenk0tiWMLraekS/ggGf6IsXP7Sz7bv75NvnNvI="; + }; + + nativeBuildInputs = [ + asciidoc + ]; + + buildInputs = [ + libxcb + xcbutil + xcbutilkeysyms + xcbutilwm + ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "Simple X hotkey daemon"; + homepage = "https://github.com/baskerville/sxhkd"; + license = licenses.bsd2; + maintainers = with maintainers; [ vyp AndersonTorres ]; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ebb0417f0f97..ceaa4b28c1a9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31031,7 +31031,7 @@ with pkgs; sndpeek = callPackage ../applications/audio/sndpeek { }; - sxhkd = callPackage ../applications/window-managers/sxhkd { }; + sxhkd = callPackage ../tools/X11/sxhkd { }; mpop = callPackage ../applications/networking/mpop { inherit (darwin.apple_sdk.frameworks) Security; From 11282edfe7de0c786c6f5ddc1ce5e370c1f08b38 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Thu, 15 Dec 2022 20:47:11 -0300 Subject: [PATCH 210/280] katriawm: init at 21.09 --- .../window-managers/katriawm/default.nix | 43 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 45 insertions(+) create mode 100644 pkgs/applications/window-managers/katriawm/default.nix diff --git a/pkgs/applications/window-managers/katriawm/default.nix b/pkgs/applications/window-managers/katriawm/default.nix new file mode 100644 index 000000000000..61a82f526d9e --- /dev/null +++ b/pkgs/applications/window-managers/katriawm/default.nix @@ -0,0 +1,43 @@ +{ lib +, stdenv +, fetchzip +, libX11 +, libXft +, libXrandr +, pkg-config +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "katriawm"; + version = "21.09"; + + src = fetchzip { + name = finalAttrs.pname + "-" + finalAttrs.version; + url = "https://www.uninformativ.de/git/katriawm/archives/katriawm-v${finalAttrs.version}.tar.gz"; + hash = "sha256-xt0sWEwTcCs5cwoB3wVbYcyAKL0jx7KyeCefEBVFhH8="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libX11 + libXft + libXrandr + ]; + + preBuild = '' + cd src + ''; + + installFlags = [ "prefix=$(out)" ]; + + meta = with lib; { + homepage = "https://www.uninformativ.de/git/katriawm/file/README.html"; + description = "A non-reparenting, dynamic window manager with decorations"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (libX11.meta) platforms; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ceaa4b28c1a9..2381736a3c08 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8503,6 +8503,8 @@ with pkgs; katana = callPackage ../tools/security/katana { }; + katriawm = callPackage ../applications/window-managers/katriawm { }; + kbdd = callPackage ../applications/window-managers/kbdd { }; kbs2 = callPackage ../tools/security/kbs2 { From 4a194173b0c2d59cc83c0ab05ee95d7090f02968 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Fri, 16 Dec 2022 18:08:10 -0300 Subject: [PATCH 211/280] nixos/katriawm: add module --- .../services/x11/window-managers/katriawm.nix | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 nixos/modules/services/x11/window-managers/katriawm.nix diff --git a/nixos/modules/services/x11/window-managers/katriawm.nix b/nixos/modules/services/x11/window-managers/katriawm.nix new file mode 100644 index 000000000000..106631792ff4 --- /dev/null +++ b/nixos/modules/services/x11/window-managers/katriawm.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mdDoc mkEnableOption mkIf mkPackageOption singleton; + cfg = config.services.xserver.windowManager.katriawm; +in +{ + ###### interface + options = { + services.xserver.windowManager.katriawm = { + enable = mkEnableOption (mdDoc "katriawm"); + package = mkPackageOption pkgs "katriawm" {}; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton { + name = "katriawm"; + start = '' + ${cfg.package}/bin/katriawm & + waitPID=$! + ''; + }; + environment.systemPackages = [ cfg.package ]; + }; +} From 067bfc6c90a301572cec7da48f09c447a9a8eae0 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Thu, 15 Dec 2022 21:06:29 -0500 Subject: [PATCH 212/280] open-stage-control: do not copy node_modules to reduce closure --- pkgs/applications/audio/open-stage-control/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/audio/open-stage-control/default.nix b/pkgs/applications/audio/open-stage-control/default.nix index 3c57041e4558..3574dc2f5ac9 100644 --- a/pkgs/applications/audio/open-stage-control/default.nix +++ b/pkgs/applications/audio/open-stage-control/default.nix @@ -33,16 +33,13 @@ buildNpmPackage rec { makeCacheWritable = true; npmFlags = [ "--legacy-peer-deps" ]; - # Override installPhase so we can copy the only folders that matter (app and node_modules) + # Override installPhase so we can copy the only directory that matters (app) installPhase = '' runHook preInstall - # prune unused deps - npm prune --omit dev --no-save $npmFlags - # copy built app and node_modules directories mkdir -p $out/lib/node_modules/open-stage-control - cp -r app node_modules $out/lib/node_modules/open-stage-control/ + cp -r app $out/lib/node_modules/open-stage-control/ # copy icon install -Dm644 resources/images/logo.png $out/share/icons/hicolor/256x256/apps/open-stage-control.png From 762806dfef03db6d6921a0806e894205687399e6 Mon Sep 17 00:00:00 2001 From: figsoda Date: Fri, 16 Dec 2022 23:58:37 -0500 Subject: [PATCH 213/280] ruff: 0.0.184 -> 0.0.185 Diff: https://github.com/charliermarsh/ruff/compare/v0.0.184...v0.0.185 Changelog: https://github.com/charliermarsh/ruff/releases/tag/v0.0.185 --- pkgs/development/tools/ruff/default.nix | 12 +++++------- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index 0bc07c6a56d2..4616c889a3ee 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -2,26 +2,24 @@ , rustPlatform , fetchFromGitHub , stdenv -, CoreServices -, Security +, darwin }: rustPlatform.buildRustPackage rec { pname = "ruff"; - version = "0.0.184"; + version = "0.0.185"; src = fetchFromGitHub { owner = "charliermarsh"; repo = pname; rev = "v${version}"; - sha256 = "sha256-hXft1YQIqfo8jioCrlo35LRjN7Th0DprzHmKWRt403k="; + sha256 = "sha256-L2NaBvSFy+x8mLxy7r0EQUKT4FE5JHaDkVjGiJ7HzTw="; }; - cargoSha256 = "sha256-nwhOoP6MT3JMQJJKpYLApxa9Z4/s7nQEoQNHLfHcDUs="; + cargoSha256 = "sha256-/L9xgSG9ydGbjth6tBkqnuIAu7UqP+0IAX8izW1ZAkg="; buildInputs = lib.optionals stdenv.isDarwin [ - CoreServices - Security + darwin.apple_sdk.frameworks.CoreServices ]; meta = with lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d51c3eb0723e..e1b625034a30 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -37150,9 +37150,7 @@ with pkgs; rucksack = callPackage ../development/tools/rucksack { }; - ruff = callPackage ../development/tools/ruff { - inherit (darwin.apple_sdk.frameworks) CoreServices Security; - }; + ruff = callPackage ../development/tools/ruff { }; sam-ba = callPackage ../tools/misc/sam-ba { }; From 32c1e7d7db94bb07b8ef807df8c32a6a5c8d75ee Mon Sep 17 00:00:00 2001 From: Vanilla Date: Sat, 17 Dec 2022 13:21:54 +0800 Subject: [PATCH 214/280] androidenv: fix missing `inherit os` in build-tools --- pkgs/development/mobile/androidenv/compose-android-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index 6f3cd94a7791..e6e29aa98479 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -123,7 +123,7 @@ rec { build-tools = map (version: callPackage ./build-tools.nix { - inherit deployAndroidPackage; + inherit deployAndroidPackage os; package = packages.build-tools.${version}; } ) buildToolsVersions; From a204921606d0f282be43a7df04b5b8e1da5fb68d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 05:25:02 +0000 Subject: [PATCH 215/280] python310Packages.adafruit-platformdetect: 3.37.0 -> 3.38.0 --- .../python-modules/adafruit-platformdetect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix index edbb16b0063c..6876727a0c2f 100644 --- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix +++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "adafruit-platformdetect"; - version = "3.37.0"; + version = "3.38.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "Adafruit-PlatformDetect"; inherit version; - hash = "sha256-vhBx/NABOD2patBzI15XZqbTTtbf3rTUIDx1sYg+yYg="; + hash = "sha256-USnOf/nwuAyZpvy/cXpQtkWKXPKu0hj1HFwolrpecQM="; }; nativeBuildInputs = [ From 1350869f0ffc23f8be63ca85ace7e6341a881b8e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 05:33:39 +0000 Subject: [PATCH 216/280] python310Packages.afsapi: 0.2.7 -> 0.2.8 --- pkgs/development/python-modules/afsapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix index 323c0a225312..9692c677a406 100644 --- a/pkgs/development/python-modules/afsapi/default.nix +++ b/pkgs/development/python-modules/afsapi/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "afsapi"; - version = "0.2.7"; + version = "0.2.8"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "wlcrs"; repo = "python-afsapi"; rev = "refs/tags/${version}"; - hash = "sha256-TTZk/8mfG5lBr8SyMbqSaYDskWKnUlMkAUp94DXPCKo="; + hash = "sha256-eE5BsXNtSU6YUhRn4/SKpMrqaYf8tyfLKdxxGOmNJ9I="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 8392158289e7d1a801905bc4195983f1b7434770 Mon Sep 17 00:00:00 2001 From: Jason Miller <54179289+jmillerpdt@users.noreply.github.com> Date: Sat, 17 Dec 2022 01:00:36 -0500 Subject: [PATCH 217/280] cudaPackages: add cudaFlags (#205351) * cudaPackages: add cudaFlags * cudaNames -> cudaMicroarchitectureNames * update documentation, remove config for static library removal * doc link added to flags * fix whitespace in assignment --- doc/languages-frameworks/cuda.section.md | 19 +++++ .../science/math/mxnet/default.nix | 5 +- .../compilers/cudatoolkit/extension.nix | 4 +- .../compilers/cudatoolkit/flags.nix | 78 +++++++++++++++++++ .../libraries/science/math/magma/default.nix | 36 +-------- .../python-modules/jaxlib/default.nix | 5 +- .../python-modules/tensorflow/default.nix | 6 +- .../python-modules/torch/default.nix | 64 +-------------- .../python-modules/torchvision/default.nix | 4 +- 9 files changed, 114 insertions(+), 107 deletions(-) create mode 100644 pkgs/development/compilers/cudatoolkit/flags.nix diff --git a/doc/languages-frameworks/cuda.section.md b/doc/languages-frameworks/cuda.section.md index fccf66bf79d2..27bae33bc71c 100644 --- a/doc/languages-frameworks/cuda.section.md +++ b/doc/languages-frameworks/cuda.section.md @@ -32,3 +32,22 @@ mypkg = let }}); in callPackage { inherit cudaPackages; }; ``` + +The CUDA NVCC compiler requires flags to determine which hardware you +want to target for in terms of SASS (real hardware) or PTX (JIT kernels). + +Nixpkgs tries to target support real architecture defaults based on the +CUDA toolkit version with PTX support for future hardware. Experienced +users may optmize this configuration for a variety of reasons such as +reducing binary size and compile time, supporting legacy hardware, or +optimizing for specific hardware. + +You may provide capabilities to add support or reduce binary size through +`config` using `cudaCapabilities = [ "6.0" "7.0" ];` and +`cudaForwardCompat = true;` if you want PTX support for future hardware. + +Please consult [GPUs supported](https://en.wikipedia.org/wiki/CUDA#GPUs_supported) +for your specific card(s). + +Library maintainers should consult [NVCC Docs](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/) +and release notes for their software package. diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index 9a1b550d882d..dcba888ce2fb 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -2,11 +2,10 @@ , opencv3, gtest, blas, gomp, llvmPackages, perl , cudaSupport ? config.cudaSupport or false, cudaPackages ? {}, nvidia_x11 , cudnnSupport ? cudaSupport -, cudaCapabilities ? [ "3.7" "5.0" "6.0" "7.0" "7.5" "8.0" "8.6" ] }: let - inherit (cudaPackages) cudatoolkit cudnn; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn; in assert cudnnSupport -> cudaSupport; @@ -51,7 +50,7 @@ stdenv.mkDerivation rec { "-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743 "-DCUDA_ARCH_NAME=All" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" - "-DMXNET_CUDA_ARCH=${lib.concatStringsSep ";" cudaCapabilities}" + "-DMXNET_CUDA_ARCH=${cudaFlags.cudaCapabilitiesSemiColonString}" ] else [ "-DUSE_CUDA=OFF" ]) ++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF"; diff --git a/pkgs/development/compilers/cudatoolkit/extension.nix b/pkgs/development/compilers/cudatoolkit/extension.nix index 862c83167992..c11f12b118a2 100644 --- a/pkgs/development/compilers/cudatoolkit/extension.nix +++ b/pkgs/development/compilers/cudatoolkit/extension.nix @@ -10,6 +10,8 @@ final: prev: let ### Add classic cudatoolkit package cudatoolkit = buildCudaToolkitPackage ((attrs: attrs // { gcc = prev.pkgs.${attrs.gcc}; }) cudatoolkitVersions.${final.cudaVersion}); + cudaFlags = final.callPackage ./flags.nix {}; + in { - inherit cudatoolkit; + inherit cudatoolkit cudaFlags; } diff --git a/pkgs/development/compilers/cudatoolkit/flags.nix b/pkgs/development/compilers/cudatoolkit/flags.nix new file mode 100644 index 000000000000..24f653ded29b --- /dev/null +++ b/pkgs/development/compilers/cudatoolkit/flags.nix @@ -0,0 +1,78 @@ +{ config +, lib +, cudatoolkit +}: +let + + # Flags are determined based on your CUDA toolkit by default. You may benefit + # from improved performance, reduced file size, or greater hardware suppport by + # passing a configuration based on your specific GPU environment. + # + # config.cudaCapabilities: list of hardware generations to support (e.g., "8.0") + # config.cudaForwardCompat: bool for compatibility with future GPU generations + # + # Please see the accompanying documentation or https://github.com/NixOS/nixpkgs/pull/205351 + + defaultCudaCapabilities = rec { + cuda9 = [ + "3.0" + "3.5" + "5.0" + "5.2" + "6.0" + "6.1" + "7.0" + ]; + + cuda10 = cuda9 ++ [ + "7.5" + ]; + + cuda11 = [ + "3.5" + "5.0" + "5.2" + "6.0" + "6.1" + "7.0" + "7.5" + "8.0" + "8.6" + ]; + + }; + + cudaMicroarchitectureNames = { + "3" = "Kepler"; + "5" = "Maxwell"; + "6" = "Pascal"; + "7" = "Volta"; + "8" = "Ampere"; + "9" = "Hopper"; + }; + + defaultCudaArchList = defaultCudaCapabilities."cuda${lib.versions.major cudatoolkit.version}"; + cudaRealCapabilities = config.cudaCapabilities or defaultCudaArchList; + capabilitiesForward = "${lib.last cudaRealCapabilities}+PTX"; + + dropDot = ver: builtins.replaceStrings ["."] [""] ver; + + archMapper = feat: map (ver: "${feat}_${dropDot ver}"); + gencodeMapper = feat: map (ver: "-gencode=arch=compute_${dropDot ver},code=${feat}_${dropDot ver}"); + cudaRealArchs = archMapper "sm" cudaRealCapabilities; + cudaPTXArchs = archMapper "compute" cudaRealCapabilities; + cudaArchs = cudaRealArchs ++ [ (lib.last cudaPTXArchs) ]; + + cudaArchNames = lib.unique (map (v: cudaMicroarchitectureNames.${lib.versions.major v}) cudaRealCapabilities); + cudaCapabilities = cudaRealCapabilities ++ lib.optional (config.cudaForwardCompat or true) capabilitiesForward; + cudaGencode = gencodeMapper "sm" cudaRealCapabilities ++ lib.optionals (config.cudaForwardCompat or true) (gencodeMapper "compute" [ (lib.last cudaPTXArchs) ]); + + cudaCapabilitiesCommaString = lib.strings.concatStringsSep "," cudaCapabilities; + cudaCapabilitiesSemiColonString = lib.strings.concatStringsSep ";" cudaCapabilities; + cudaRealCapabilitiesCommaString = lib.strings.concatStringsSep "," cudaRealCapabilities; + +in +{ + inherit cudaArchs cudaArchNames cudaCapabilities cudaCapabilitiesCommaString cudaCapabilitiesSemiColonString + cudaRealCapabilities cudaRealCapabilitiesCommaString cudaGencode cudaRealArchs cudaPTXArchs; +} diff --git a/pkgs/development/libraries/science/math/magma/default.nix b/pkgs/development/libraries/science/math/magma/default.nix index 05d7d4fa1842..06b4e12d04e7 100644 --- a/pkgs/development/libraries/science/math/magma/default.nix +++ b/pkgs/development/libraries/science/math/magma/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, cmake, gfortran, ninja, cudaPackages, libpthreadstubs, lapack, blas }: let - inherit (cudaPackages) cudatoolkit; + inherit (cudaPackages) cudatoolkit cudaFlags; in assert let majorIs = lib.versions.major cudatoolkit.version; @@ -10,36 +10,6 @@ assert let majorIs = lib.versions.major cudatoolkit.version; let version = "2.6.2"; - # We define a specific set of CUDA compute capabilities here, - # because CUDA 11 does not support compute capability 3.0. Also, - # we use it to enable newer capabilities that are not enabled - # by magma by default. The list of supported architectures - # can be found in magma's top-level CMakeLists.txt. - cudaCapabilities = rec { - cuda9 = [ - "Kepler" # 3.0, 3.5 - "Maxwell" # 5.0 - "Pascal" # 6.0 - "Volta" # 7.0 - ]; - - cuda10 = [ - "Turing" # 7.5 - ] ++ cuda9; - - cuda11 = [ - "sm_35" # sm_30 is not supported by CUDA 11 - "Maxwell" # 5.0 - "Pascal" # 6.0 - "Volta" # 7.0 - "Turing" # 7.5 - "Ampere" # 8.0 - ]; - }; - - capabilityString = lib.strings.concatStringsSep "," - cudaCapabilities."cuda${lib.versions.major cudatoolkit.version}"; - in stdenv.mkDerivation { pname = "magma"; inherit version; @@ -53,7 +23,9 @@ in stdenv.mkDerivation { buildInputs = [ cudatoolkit libpthreadstubs lapack blas ]; - cmakeFlags = [ "-DGPU_TARGET=${capabilityString}" ]; + cmakeFlags = [ + "-DGPU_TARGET=${builtins.concatStringsSep "," cudaFlags.cudaRealArchs}" + ]; doCheck = false; diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix index 37bfe4d739f8..4018655cc48e 100644 --- a/pkgs/development/python-modules/jaxlib/default.nix +++ b/pkgs/development/python-modules/jaxlib/default.nix @@ -41,7 +41,6 @@ , zlib # CUDA flags: -, cudaCapabilities ? [ "sm_35" "sm_50" "sm_60" "sm_70" "sm_75" "compute_80" ] , cudaSupport ? false , cudaPackages ? {} @@ -50,7 +49,7 @@ }: let - inherit (cudaPackages) cudatoolkit cudnn nccl; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl; pname = "jaxlib"; version = "0.3.22"; @@ -165,7 +164,7 @@ let build --action_env TF_CUDA_PATHS="${cudatoolkit_joined},${cudnn},${nccl}" build --action_env TF_CUDA_VERSION="${lib.versions.majorMinor cudatoolkit.version}" build --action_env TF_CUDNN_VERSION="${lib.versions.major cudnn.version}" - build:cuda --action_env TF_CUDA_COMPUTE_CAPABILITIES="${lib.concatStringsSep "," cudaCapabilities}" + build:cuda --action_env TF_CUDA_COMPUTE_CAPABILITIES="${cudaFlags.cudaRealCapabilitiesCommaString}" '' + '' CFG ''; diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix index 39461fd7953d..a549fe393b9c 100644 --- a/pkgs/development/python-modules/tensorflow/default.nix +++ b/pkgs/development/python-modules/tensorflow/default.nix @@ -22,8 +22,6 @@ , tensorboardSupport ? true # XLA without CUDA is broken , xlaSupport ? cudaSupport -# Default from ./configure script -, cudaCapabilities ? [ "sm_35" "sm_50" "sm_60" "sm_70" "sm_75" "compute_80" ] , sse42Support ? stdenv.hostPlatform.sse4_2Support , avx2Support ? stdenv.hostPlatform.avx2Support , fmaSupport ? stdenv.hostPlatform.fmaSupport @@ -32,7 +30,7 @@ }: let - inherit (cudaPackages) cudatoolkit cudnn nccl; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl; in assert cudaSupport -> cudatoolkit != null @@ -305,7 +303,7 @@ let TF_CUDA_PATHS = lib.optionalString cudaSupport "${cudatoolkit_joined},${cudnn},${nccl}"; GCC_HOST_COMPILER_PREFIX = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin"; GCC_HOST_COMPILER_PATH = lib.optionalString cudaSupport "${cudatoolkit_cc_joined}/bin/gcc"; - TF_CUDA_COMPUTE_CAPABILITIES = lib.concatStringsSep "," cudaCapabilities; + TF_CUDA_COMPUTE_CAPABILITIES = builtins.concatStringsSep "," cudaFlags.cudaRealArchs; postPatch = '' # bazel 3.3 should work just as well as bazel 3.1 diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix index 887738f2c5ff..17ecd3f280b3 100644 --- a/pkgs/development/python-modules/torch/default.nix +++ b/pkgs/development/python-modules/torch/default.nix @@ -3,7 +3,6 @@ mklDnnSupport ? true, useSystemNccl ? true, MPISupport ? false, mpi, buildDocs ? false, - cudaArchList ? null, # Native build inputs cmake, util-linux, linkFarm, symlinkJoin, which, pybind11, removeReferencesTo, @@ -33,7 +32,7 @@ isPy3k, pythonOlder }: let - inherit (cudaPackages) cudatoolkit cudnn nccl; + inherit (cudaPackages) cudatoolkit cudaFlags cudnn nccl; in # assert that everything needed for cuda is present and that the correct cuda versions are used @@ -52,64 +51,6 @@ let paths = [ cudatoolkit.out cudatoolkit.lib nccl.dev nccl.out ]; }; - # Give an explicit list of supported architectures for the build, See: - # - pytorch bug report: https://github.com/pytorch/pytorch/issues/23573 - # - pytorch-1.2.0 build on nixpks: https://github.com/NixOS/nixpkgs/pull/65041 - # - # This list was selected by omitting the TORCH_CUDA_ARCH_LIST parameter, - # observing the fallback option (which selected all architectures known - # from cudatoolkit_10_0, pytorch-1.2, and python-3.6), and doing a binary - # searching to find offending architectures. - # - # NOTE: Because of sandboxing, this derivation can't auto-detect the hardware's - # cuda architecture, so there is also now a problem around new architectures - # not being supported until explicitly added to this derivation. - # - # FIXME: CMake is throwing the following warning on python-1.2: - # - # ``` - # CMake Warning at cmake/public/utils.cmake:172 (message): - # In the future we will require one to explicitly pass TORCH_CUDA_ARCH_LIST - # to cmake instead of implicitly setting it as an env variable. This will - # become a FATAL_ERROR in future version of pytorch. - # ``` - # If this is causing problems for your build, this derivation may have to strip - # away the standard `buildPythonPackage` and use the - # [*Adjust Build Options*](https://github.com/pytorch/pytorch/tree/v1.2.0#adjust-build-options-optional) - # instructions. This will also add more flexibility around configurations - # (allowing FBGEMM to be built in pytorch-1.1), and may future proof this - # derivation. - brokenArchs = [ "3.0" ]; # this variable is only used as documentation. - - cudaCapabilities = rec { - cuda9 = [ - "3.5" - "5.0" - "5.2" - "6.0" - "6.1" - "7.0" - "7.0+PTX" # I am getting a "undefined architecture compute_75" on cuda 9 - # which leads me to believe this is the final cuda-9-compatible architecture. - ]; - - cuda10 = cuda9 ++ [ - "7.5" - "7.5+PTX" # < most recent architecture as of cudatoolkit_10_0 and pytorch-1.2.0 - ]; - - cuda11 = cuda10 ++ [ - "8.0" - "8.0+PTX" # < CUDA toolkit 11.0 - "8.6" - "8.6+PTX" # < CUDA toolkit 11.1 - ]; - }; - final_cudaArchList = - if !cudaSupport || cudaArchList != null - then cudaArchList - else cudaCapabilities."cuda${lib.versions.major cudatoolkit.version}"; - # Normally libcuda.so.1 is provided at runtime by nvidia-x11 via # LD_LIBRARY_PATH=/run/opengl-driver/lib. We only use the stub # libcuda.so from cudatoolkit for running tests, so that we don’t have @@ -153,7 +94,7 @@ in buildPythonPackage rec { ]; preConfigure = lib.optionalString cudaSupport '' - export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}" + export TORCH_CUDA_ARCH_LIST="${cudaFlags.cudaCapabilitiesSemiColonString}" export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++ '' + lib.optionalString (cudaSupport && cudnn != null) '' export CUDNN_INCLUDE_DIR=${cudnn}/include @@ -308,7 +249,6 @@ in buildPythonPackage rec { passthru = { inherit cudaSupport cudaPackages; - cudaArchList = final_cudaArchList; # At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability. blasProvider = blas.provider; }; diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix index 223ef3f1d861..212401efe54b 100644 --- a/pkgs/development/python-modules/torchvision/default.nix +++ b/pkgs/development/python-modules/torchvision/default.nix @@ -15,7 +15,7 @@ }: let - inherit (torch.cudaPackages) cudatoolkit cudnn; + inherit (torch.cudaPackages) cudatoolkit cudaFlags cudnn; cudatoolkit_joined = symlinkJoin { name = "${cudatoolkit.name}-unsplit"; @@ -45,7 +45,7 @@ in buildPythonPackage rec { propagatedBuildInputs = [ numpy pillow torch scipy ]; preBuild = lib.optionalString cudaSupport '' - export TORCH_CUDA_ARCH_LIST="${cudaArchStr}" + export TORCH_CUDA_ARCH_LIST="${cudaFlags.cudaCapabilitiesSemiColonString}" export FORCE_CUDA=1 ''; From 592d10ecce619d011b0ef2922699da6e5aa70b94 Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Fri, 16 Dec 2022 21:39:12 -0800 Subject: [PATCH 218/280] git2-cpp: init at 0.1.1 --- .../libraries/git2-cpp/default.nix | 30 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/libraries/git2-cpp/default.nix diff --git a/pkgs/development/libraries/git2-cpp/default.nix b/pkgs/development/libraries/git2-cpp/default.nix new file mode 100644 index 000000000000..aae958518661 --- /dev/null +++ b/pkgs/development/libraries/git2-cpp/default.nix @@ -0,0 +1,30 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "git2-cpp"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "ken-matsui"; + repo = "git2-cpp"; + rev = finalAttrs.version; + hash = "sha256-2jKSQW6dUCIKtl33paSTuZdYAaYdFnILx/Gxv/ghFiI="; + }; + + nativeBuildInputs = [ + cmake + ]; + + meta = with lib; { + homepage = "https://github.com/ken-matsui/git2-cpp"; + description = "libgit2 bindings for C++"; + license = licenses.mit; + maintainers = with maintainers; [ ken-matsui ]; + platforms = platforms.unix; + }; +}) +# TODO [ ken-matsui ]: tests diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2381736a3c08..cf7cc0bf3731 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17286,6 +17286,8 @@ with pkgs; gi-docgen = callPackage ../development/tools/documentation/gi-docgen { }; + git2-cpp = callPackage ../development/libraries/git2-cpp { }; + github-release = callPackage ../development/tools/github/github-release { }; global = callPackage ../development/tools/misc/global { }; From 31b315f1f4c1c5256d7bb9be03cbf8685cd54f0e Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Fri, 16 Dec 2022 22:11:56 -0800 Subject: [PATCH 219/280] package-project-cmake: init at 1.10.0 --- .../tools/package-project-cmake/default.nix | 45 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/tools/package-project-cmake/default.nix diff --git a/pkgs/development/tools/package-project-cmake/default.nix b/pkgs/development/tools/package-project-cmake/default.nix new file mode 100644 index 000000000000..3636f4e0412c --- /dev/null +++ b/pkgs/development/tools/package-project-cmake/default.nix @@ -0,0 +1,45 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "package-project-cmake"; + version = "1.10.0"; + + src = fetchFromGitHub { + owner = "TheLartians"; + repo = "PackageProject.cmake"; + rev = "v${finalAttrs.version}"; + hash = "sha256-tDjWknwqN8NLx6GX16WOn0JUDAyaGU9HA7fTsHNLx9s="; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{,doc/}package-project-cmake + install -Dm644 CMakeLists.txt $out/share/package-project-cmake/ + install -Dm644 README.md $out/share/doc/package-project-cmake/ + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/TheLartians/PackageProject.cmake"; + description = "A CMake script for packaging C/C++ projects"; + longDescription = '' + Help other developers use your project. A CMake script for packaging + C/C++ projects for simple project installation while employing + best-practices for maximum compatibility. Creating installable + CMake scripts always requires a large amount of boilerplate code + to get things working. This small script should simplify the CMake + packaging process into a single, easy-to-use command. + ''; + license = licenses.mit; + maintainers = with maintainers; [ ken-matsui ]; + platforms = platforms.all; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2381736a3c08..d51be4d1fea2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17723,6 +17723,8 @@ with pkgs; libiberty_static = libiberty.override { staticBuild = true; }; }; + package-project-cmake = callPackage ../development/tools/package-project-cmake { }; + pactorio = callPackage ../development/tools/pactorio { inherit (darwin.apple_sdk.frameworks) Security; }; From ac54eb177a59b136b1971b4fe6adc67f7597692a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 17 Dec 2022 08:35:35 +0100 Subject: [PATCH 220/280] ocamlPackages.apron: fixup build by using older make --- pkgs/development/ocaml-modules/apron/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix index bfef3d5b6c66..c74545caf24f 100644 --- a/pkgs/development/ocaml-modules/apron/default.nix +++ b/pkgs/development/ocaml-modules/apron/default.nix @@ -1,4 +1,6 @@ -{ stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl }: +{ stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl +, gnumake42 +}: stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-apron"; @@ -10,7 +12,8 @@ stdenv.mkDerivation rec { sha256 = "14ymjahqdxj26da8wik9d5dzlxn81b3z1iggdl7rn2nn06jy7lvy"; }; - nativeBuildInputs = [ ocaml findlib perl ]; + # fails with make 4.4 + nativeBuildInputs = [ ocaml findlib perl gnumake42 ]; buildInputs = [ gmp mpfr ppl camlidl ]; propagatedBuildInputs = [ mlgmpidl ]; From 18273180d18d2fbdf5f067b473d15433f9de497d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 17 Dec 2022 08:44:20 +0100 Subject: [PATCH 221/280] redo-apenwarr: fixup build by using older make --- .../development/tools/build-managers/redo-apenwarr/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix index e8ea9a91f45e..22841cb20d17 100644 --- a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix +++ b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, python3, fetchFromGitHub, which, coreutils -, perl, installShellFiles +, perl, installShellFiles, gnumake42 , doCheck ? true }: stdenv.mkDerivation rec { @@ -53,6 +53,7 @@ (with python3.pkgs; [ beautifulsoup4 markdown ]) which installShellFiles + gnumake42 # fails with make 4.4 ]; postInstall = '' From 9e9b992a5b318579a82e3d60cbdbf9108fffb5fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 17 Dec 2022 08:57:25 +0100 Subject: [PATCH 222/280] grpc: fixup build on aarch64-linux by using older C++ This was an older regression than the current staging-next iteration. --- pkgs/development/libraries/grpc/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 744f9652378f..b924f3f51d34 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -60,7 +60,9 @@ stdenv.mkDerivation rec { # only an issue with the useLLVM stdenv, not the darwin stdenv… # https://github.com/grpc/grpc/issues/26473#issuecomment-860885484 useLLVMAndOldCC = (stdenv.hostPlatform.useLLVM or false) && lib.versionOlder stdenv.cc.cc.version "11.0"; - cxxStandard = if useLLVMAndOldCC then "11" else "17"; + # With GCC 9 (current aarch64-linux) it fails with c++17 but OK with c++14. + useOldGCC = !(stdenv.hostPlatform.useLLVM or false) && lib.versionOlder stdenv.cc.cc.version "10"; + cxxStandard = if useLLVMAndOldCC then "11" else if useOldGCC then "14" else "17"; in [ "-DgRPC_ZLIB_PROVIDER=package" From 99fb246d724df87be9a153de83addc4825858f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 17 Dec 2022 09:11:33 +0100 Subject: [PATCH 223/280] sile: fixup build by using older make --- pkgs/tools/typesetting/sile/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix index 9cc4941853d5..a07b46c3a3b9 100644 --- a/pkgs/tools/typesetting/sile/default.nix +++ b/pkgs/tools/typesetting/sile/default.nix @@ -1,4 +1,5 @@ { lib, stdenv +, gnumake42 , darwin , fetchurl , makeWrapper @@ -59,6 +60,7 @@ stdenv.mkDerivation rec { gitMinimal pkg-config makeWrapper + gnumake42 ]; buildInputs = [ luaEnv From b5cca064692244720ae64c0ead900fbdb993ed28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 17 Dec 2022 09:14:45 +0100 Subject: [PATCH 224/280] weidu: fixup build by using older make --- pkgs/tools/games/weidu/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/games/weidu/default.nix b/pkgs/tools/games/weidu/default.nix index 0a144604b13d..1464dfbbf869 100644 --- a/pkgs/tools/games/weidu/default.nix +++ b/pkgs/tools/games/weidu/default.nix @@ -5,6 +5,7 @@ , ocaml-ng , perl , which +, gnumake42 }: let @@ -38,7 +39,7 @@ stdenv.mkDerivation rec { mkdir -p obj/{.depend,x86_LINUX} ''; - nativeBuildInputs = [ elkhound ocaml' perl which ]; + nativeBuildInputs = [ elkhound ocaml' perl which gnumake42 ]; buildFlags = [ "weidu" "weinstall" "tolower" ]; From 565786bb2e3bd0bbfb491a832b29e492ca9e5b59 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 09:42:46 +0100 Subject: [PATCH 225/280] python310Packages.afsapi: add changelog to meta --- pkgs/development/python-modules/afsapi/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix index 9692c677a406..ab9d8f1abe1d 100644 --- a/pkgs/development/python-modules/afsapi/default.nix +++ b/pkgs/development/python-modules/afsapi/default.nix @@ -50,6 +50,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python implementation of the Frontier Silicon API"; homepage = "https://github.com/wlcrs/python-afsapi"; + changelog = "https://github.com/wlcrs/python-afsapi/releases/tag/${version}"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; }; From a96a26e9b71d006f71262031ccc0a6fe851a14a3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 09:00:56 +0000 Subject: [PATCH 226/280] python310Packages.azure-mgmt-resource: 21.2.1 -> 22.0.0 --- .../python-modules/azure-mgmt-resource/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix index 79923b254d32..fbabb64a0555 100644 --- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "azure-mgmt-resource"; - version = "21.2.1"; + version = "22.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-vSBg1WOT/+Ykao8spn51Tt0D7Ae5dWMLMK4DqIYFl6c="; + hash = "sha256-/rXZeeGLUvLP0CO0oKM+VKb3bMaiUtyM117OLGMpjpQ="; }; propagatedBuildInputs = [ From 80c24eeb9ff46aa99617844d0c4168659e35175f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 Dec 2022 16:01:24 +0000 Subject: [PATCH 227/280] adguardhome: 0.107.20 -> 0.107.21 --- pkgs/servers/adguardhome/bins.nix | 20 ++++++++++---------- pkgs/servers/adguardhome/default.nix | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix index d2c6b334eab0..b7b75ca39780 100644 --- a/pkgs/servers/adguardhome/bins.nix +++ b/pkgs/servers/adguardhome/bins.nix @@ -1,23 +1,23 @@ { fetchurl, fetchzip }: { x86_64-darwin = fetchzip { - sha256 = "sha256-pCyMhfDl371zzc3oXo+n09qNcxMtDQEqaqVW+YIrx28="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_darwin_amd64.zip"; + sha256 = "sha256-ViWbvpGU6mk9N8Nstn0urZrcd8JIPs9Ok9806+vUvy0="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_darwin_amd64.zip"; }; aarch64-darwin = fetchzip { - sha256 = "sha256-O2UTzaWaYTkeR3z/O8U/Btigjp/8gns4Y/D9yoX2Hns="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_darwin_arm64.zip"; + sha256 = "sha256-ixfeTi2Y44Om7RCKZOw3oJX+FiwTT+s7MSSqowyNKUU="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_darwin_arm64.zip"; }; i686-linux = fetchurl { - sha256 = "sha256-ao/uebGho3CafFEcCfcS+awsC9lO/6z1UL57Yvr/q14="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_386.tar.gz"; + sha256 = "sha256-EZzZ8Z6N+wctI/ncLjIAvFgQN1YWOnywhihxF+C6MOs="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_linux_386.tar.gz"; }; x86_64-linux = fetchurl { - sha256 = "sha256-KJIogRRlZFPy3jBb9JeEA7xgZkl9/97cA13rBK6/1fI="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_amd64.tar.gz"; + sha256 = "sha256-xU5PxscqBEGNCgA241UbhJcxlNXpCxbFeU7bfmSqf7I="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_linux_amd64.tar.gz"; }; aarch64-linux = fetchurl { - sha256 = "sha256-r8gqUa9dULAYPUB64X4aqyaNf0CpckUNIsWl+VylhaM="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_arm64.tar.gz"; + sha256 = "sha256-ajhvvxYwttEaCQXL4WaDcjzk8g0krhIXJv5VHEEdfqg="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.21/AdGuardHome_linux_arm64.tar.gz"; }; } diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix index 99c7e9688f35..34bbe8655c82 100644 --- a/pkgs/servers/adguardhome/default.nix +++ b/pkgs/servers/adguardhome/default.nix @@ -7,7 +7,7 @@ in stdenv.mkDerivation rec { pname = "adguardhome"; - version = "0.107.20"; + version = "0.107.21"; src = sources.${system} or (throw "Source for ${pname} is not available for ${system}"); installPhase = '' From accac89d29842a3165259118f07592a222278e90 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 10:22:47 +0100 Subject: [PATCH 228/280] circup: add changelog to meta --- pkgs/development/tools/circup/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/circup/default.nix b/pkgs/development/tools/circup/default.nix index 6d1f13c4521c..210f0d8f844a 100644 --- a/pkgs/development/tools/circup/default.nix +++ b/pkgs/development/tools/circup/default.nix @@ -46,6 +46,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "CircuitPython library updater"; homepage = "https://github.com/adafruit/circup"; + changelog = "https://github.com/adafruit/circup/releases/tag/${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; From cf47201dccd79be624ce328123f8d34b4d36ff2b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 10:24:23 +0100 Subject: [PATCH 229/280] mubeng: add changelog to meta --- pkgs/tools/networking/mubeng/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/mubeng/default.nix b/pkgs/tools/networking/mubeng/default.nix index f7e4a6d25476..c35cf14717c0 100644 --- a/pkgs/tools/networking/mubeng/default.nix +++ b/pkgs/tools/networking/mubeng/default.nix @@ -11,16 +11,21 @@ buildGoModule rec { owner = "kitabisa"; repo = pname; rev = "v${version}"; - sha256 = "sha256-NBZmu0VcVUhJSdM3fzZ+4Q5oX8uxO6GLpEUq74x8HUU="; + hash = "sha256-NBZmu0VcVUhJSdM3fzZ+4Q5oX8uxO6GLpEUq74x8HUU="; }; - vendorSha256 = "sha256-1JxyP6CrJ4/g7o3eGeN1kRXJU/jNLEB8fW1bjJytQqQ="; + vendorHash = "sha256-1JxyP6CrJ4/g7o3eGeN1kRXJU/jNLEB8fW1bjJytQqQ="; - ldflags = [ "-s" "-w" "-X ktbs.dev/mubeng/common.Version=${version}" ]; + ldflags = [ + "-s" + "-w" + "-X ktbs.dev/mubeng/common.Version=${version}" + ]; meta = with lib; { description = "Proxy checker and IP rotator"; homepage = "https://github.com/kitabisa/mubeng"; + changelog = "https://github.com/kitabisa/mubeng/releases/tag/v${version}"; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ fab ]; }; From 019f0e90e0a2dc96528c4b333c4ce7b5e57ee5d8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 10:31:25 +0100 Subject: [PATCH 230/280] metasploit: 6.2.30 -> 6.2.31 --- pkgs/tools/security/metasploit/Gemfile | 2 +- pkgs/tools/security/metasploit/Gemfile.lock | 43 +++++++------- pkgs/tools/security/metasploit/default.nix | 4 +- pkgs/tools/security/metasploit/gemset.nix | 62 ++++++++++----------- 4 files changed, 55 insertions(+), 56 deletions(-) diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile index 7dbd4297e69b..87fa849c6902 100644 --- a/pkgs/tools/security/metasploit/Gemfile +++ b/pkgs/tools/security/metasploit/Gemfile @@ -1,4 +1,4 @@ # frozen_string_literal: true source "https://rubygems.org" -gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.30" +gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.2.31" diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock index fdeeaa3025cb..66ec3d279387 100644 --- a/pkgs/tools/security/metasploit/Gemfile.lock +++ b/pkgs/tools/security/metasploit/Gemfile.lock @@ -1,9 +1,9 @@ GIT remote: https://github.com/rapid7/metasploit-framework - revision: 21ca4473d2486d30618f99eaee7f3067e136c608 - ref: refs/tags/6.2.30 + revision: 2654f6f02a0ce6150e623804b9fab9576fe008f6 + ref: refs/tags/6.2.31 specs: - metasploit-framework (6.2.30) + metasploit-framework (6.2.31) actionpack (~> 6.0) activerecord (~> 6.0) activesupport (~> 6.0) @@ -13,7 +13,6 @@ GIT bcrypt bcrypt_pbkdf bson - concurrent-ruby (= 1.0.5) dnsruby ed25519 em-http-request @@ -32,7 +31,7 @@ GIT metasploit-concern metasploit-credential metasploit-model - metasploit-payloads (= 2.0.101) + metasploit-payloads (= 2.0.105) metasploit_data_models metasploit_payloads-mettle (= 1.0.20) mqtt @@ -129,13 +128,13 @@ GEM arel-helpers (2.14.0) activerecord (>= 3.1.0, < 8) aws-eventstream (1.2.0) - aws-partitions (1.674.0) + aws-partitions (1.679.0) aws-sdk-core (3.168.4) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.5) jmespath (~> 1, >= 1.6.1) - aws-sdk-ec2 (1.354.0) + aws-sdk-ec2 (1.355.0) aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) aws-sdk-iam (1.73.0) @@ -155,7 +154,7 @@ GEM bindata (2.4.14) bson (4.15.0) builder (3.2.4) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.10) cookiejar (0.3.3) crass (1.0.6) daemons (1.4.1) @@ -176,7 +175,7 @@ GEM eventmachine (1.2.7) faker (3.0.0) i18n (>= 1.8.11, < 2) - faraday (2.7.1) + faraday (2.7.2) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) @@ -203,8 +202,8 @@ GEM httpclient (2.8.3) i18n (1.12.0) concurrent-ruby (~> 1.0) - io-console (0.5.11) - irb (1.6.0) + io-console (0.6.0) + irb (1.6.1) reline (>= 0.3.0) jmespath (1.6.2) jsobfu (0.4.2) @@ -214,7 +213,7 @@ GEM logging (2.3.1) little-plugger (~> 1.1) multi_json (~> 1.14) - loofah (2.19.0) + loofah (2.19.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) metasm (1.0.5) @@ -222,7 +221,7 @@ GEM activemodel (~> 6.0) activesupport (~> 6.0) railties (~> 6.0) - metasploit-credential (6.0.0) + metasploit-credential (6.0.1) metasploit-concern metasploit-model metasploit_data_models (>= 5.0.0) @@ -236,7 +235,7 @@ GEM activemodel (~> 6.0) activesupport (~> 6.0) railties (~> 6.0) - metasploit-payloads (2.0.101) + metasploit-payloads (2.0.105) metasploit_data_models (5.0.6) activerecord (~> 6.0) activesupport (~> 6.0) @@ -292,15 +291,15 @@ GEM nio4r (~> 2.0) racc (1.6.1) rack (2.2.4) - rack-protection (3.0.4) + rack-protection (3.0.5) rack rack-test (2.0.2) rack (>= 1.3) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.4.3) - loofah (~> 2.3) + rails-html-sanitizer (1.4.4) + loofah (~> 2.19, >= 2.19.1) railties (6.1.7) actionpack (= 6.1.7) activesupport (= 6.1.7) @@ -312,7 +311,7 @@ GEM recog (3.0.3) nokogiri redcarpet (3.5.1) - reline (0.3.1) + reline (0.3.2) io-console (~> 0.5) rex-arch (0.1.14) rex-text @@ -359,7 +358,7 @@ GEM rex-socket rex-text rex-struct2 (0.1.3) - rex-text (0.2.46) + rex-text (0.2.47) rex-zip (0.1.4) rex-text rexml (3.2.5) @@ -380,10 +379,10 @@ GEM faraday (>= 0.17.3, < 3) simpleidn (0.2.1) unf (~> 0.1.4) - sinatra (3.0.4) + sinatra (3.0.5) mustermann (~> 3.0) rack (~> 2.2, >= 2.2.4) - rack-protection (= 3.0.4) + rack-protection (= 3.0.5) tilt (~> 2.0) sqlite3 (1.5.4) mini_portile2 (~> 2.8.0) @@ -436,4 +435,4 @@ DEPENDENCIES metasploit-framework! BUNDLED WITH - 2.3.25 + 2.3.26 diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix index 3abe97b4e2cf..52117de62d77 100644 --- a/pkgs/tools/security/metasploit/default.nix +++ b/pkgs/tools/security/metasploit/default.nix @@ -15,13 +15,13 @@ let }; in stdenv.mkDerivation rec { pname = "metasploit-framework"; - version = "6.2.30"; + version = "6.2.31"; src = fetchFromGitHub { owner = "rapid7"; repo = "metasploit-framework"; rev = version; - sha256 = "sha256-2AEZJoGSWEBCCFabHjqzJyI3zx0PC8da2D3eRlfMKwY="; + sha256 = "sha256-oifgAc1umrEOULuJzK9EboBdXIXSici8ndlhRbbHUaw="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix index 4c452a4a7811..470d83b7154a 100644 --- a/pkgs/tools/security/metasploit/gemset.nix +++ b/pkgs/tools/security/metasploit/gemset.nix @@ -104,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0a4inr58vqzqb6g4j09pch55xyhj4kbbl4drsk1apfwhakc70vpr"; + sha256 = "0ijs16zjif7zkwi4wd1qffi7c5b1v5b6hnw76h8kh6vgiwj9hmmz"; type = "gem"; }; - version = "1.674.0"; + version = "1.679.0"; }; aws-sdk-core = { groups = ["default"]; @@ -124,10 +124,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fj3na0i1d50iw6cih2g3k3h9h2hq0n62czppxr0qsw65mwr5h8b"; + sha256 = "1x0fg5gp7qcvfhngplb9438jv074llfb9d52jclnik8ibrrmgx8w"; type = "gem"; }; - version = "1.354.0"; + version = "1.355.0"; }; aws-sdk-iam = { groups = ["default"]; @@ -224,10 +224,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"; + sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14"; type = "gem"; }; - version = "1.0.5"; + version = "1.1.10"; }; cookiejar = { groups = ["default"]; @@ -344,10 +344,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590"; + sha256 = "17lacy6n0hsayafvgxgzmngfq2x62b2arbn32bj2yyzmgxwyxhqn"; type = "gem"; }; - version = "2.7.1"; + version = "2.7.2"; }; faraday-net_http = { groups = ["default"]; @@ -494,20 +494,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r9kxrf9jccrr329pa3s37rf16vy426cbqmfwxkav1fidwvih93y"; + sha256 = "0dikardh14c72gd9ypwh8dim41wvqmzfzf35mincaj5yals9m7ff"; type = "gem"; }; - version = "0.5.11"; + version = "0.6.0"; }; irb = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "078jfdkjg8kl82hy3awq0r9vww4allw4zpncm8hl6ccjswppr4jk"; + sha256 = "09mbpnmfh5lwg6kcjlbyv9163pn50lfxphbra9rsws8cp04m1qj3"; type = "gem"; }; - version = "1.6.0"; + version = "1.6.1"; }; jmespath = { groups = ["default"]; @@ -564,10 +564,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fpyk1965py77al7iadkn5dibwgvybknkr7r8bii2dj73wvr29rh"; + sha256 = "08qhzck271anrx9y6qa6mh8hwwdzsgwld8q0000rcd7yvvpnjr3c"; type = "gem"; }; - version = "2.19.0"; + version = "2.19.1"; }; metasm = { groups = ["default"]; @@ -594,22 +594,22 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "045aap4wrslclbvm2rczdxlgivyx9ricdbg2z9xk5xamf6cxfrx1"; + sha256 = "061zkhiq7gpp0kjk1alaz0r266makzj3ahjzq6j9qxm4z9xiis4d"; type = "gem"; }; - version = "6.0.0"; + version = "6.0.1"; }; metasploit-framework = { groups = ["default"]; platforms = []; source = { fetchSubmodules = false; - rev = "21ca4473d2486d30618f99eaee7f3067e136c608"; - sha256 = "01ibribldpixv1dcf2qg3p7kf8i7ncx1x6sn11140n4jh4k1j0fq"; + rev = "2654f6f02a0ce6150e623804b9fab9576fe008f6"; + sha256 = "1b2iqyv4aqfrknyci2fjhmf5v03f8jpwr2dva07b36kfrl0y09x2"; type = "git"; url = "https://github.com/rapid7/metasploit-framework"; }; - version = "6.2.30"; + version = "6.2.31"; }; metasploit-model = { groups = ["default"]; @@ -626,10 +626,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m9w4yy5iwpbbjycpxyhfql2b4dnm4wgcn039aw43igjgfdrkmkz"; + sha256 = "1zp4njsk9ybrhjr7pb06nmnm3shmxc69ra2hxvz0bwhq4syr1xsl"; type = "gem"; }; - version = "2.0.101"; + version = "2.0.105"; }; metasploit_data_models = { groups = ["default"]; @@ -957,10 +957,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kljmw1lhzqjcwnwadr5m2khii0h2lsah447zb9vgirrv5jszg9h"; + sha256 = "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis"; type = "gem"; }; - version = "3.0.4"; + version = "3.0.5"; }; rack-test = { groups = ["default"]; @@ -987,10 +987,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mj0b7ay10a2fgwj70kjw7mlyrp7a5la8lx8zmwhy40bkansdfrf"; + sha256 = "1mcb75qvldfz6zsr4inrfx7dmb0ngxy507awx28khqmnla3hqpc9"; type = "gem"; }; - version = "1.4.3"; + version = "1.4.4"; }; railties = { groups = ["default"]; @@ -1047,10 +1047,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1izlsziflj70kgwfy2d72jfr7bhrzamnhbq8gxjn8xdz0wvdj0di"; + sha256 = "1vpsmij5mknpiqy4b835rzl87slshm5dkr08hm8wypfya3v4m6cp"; type = "gem"; }; - version = "0.3.1"; + version = "0.3.2"; }; rex-arch = { groups = ["default"]; @@ -1217,10 +1217,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0arm3yakxs541qbm52rxjjd9b3p70sqim7syd83m3vqh366gr67d"; + sha256 = "06xihmiw7fqbjpxi1zh6hb8whbq45saxllvlk00mjp2l3dn0p7hb"; type = "gem"; }; - version = "0.2.46"; + version = "0.2.47"; }; rex-zip = { groups = ["default"]; @@ -1337,10 +1337,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lgvrna3wvm21y350hrasdb4w8119cn1fd0prrrj76ws5w0pdzvc"; + sha256 = "1ryfja9yd3fq8n1p5yi3qnd0pjk7bkycmxxmbb1bj0axlr1pdv20"; type = "gem"; }; - version = "3.0.4"; + version = "3.0.5"; }; sqlite3 = { dependencies = ["mini_portile2"]; From dd0e4947998f928772d8421b79a1c5acd3cf8ebb Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 17 Dec 2022 18:20:20 +0800 Subject: [PATCH 231/280] cinnamon.cinnamon-translations: 5.6.0 -> 5.6.1 https://github.com/linuxmint/cinnamon-translations/compare/5.6.0...5.6.1 --- pkgs/desktops/cinnamon/cinnamon-translations/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix index 9dd2f9c94ee1..09bf133a92a3 100644 --- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "cinnamon-translations"; - version = "5.6.0"; + version = "5.6.1"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-ztHHqX0OuwSFGlxCoJhZXnUsMM0WrkwiQINgDVlb0XA="; + hash = "sha256-567xkQGLLhZtjAWXzW/MRiD14rrWeg0yvx97jtukRvc="; }; nativeBuildInputs = [ From d067d5279fa62629c430c47c7eb0de58f4abe0f7 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sat, 10 Dec 2022 13:10:17 +0100 Subject: [PATCH 232/280] =?UTF-8?q?ocamlPackages.lru:=200.3.0=20=E2=86=92?= =?UTF-8?q?=200.3.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/lru/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/development/ocaml-modules/lru/default.nix b/pkgs/development/ocaml-modules/lru/default.nix index ec78ec91012c..678023bb8f3d 100644 --- a/pkgs/development/ocaml-modules/lru/default.nix +++ b/pkgs/development/ocaml-modules/lru/default.nix @@ -2,13 +2,11 @@ buildDunePackage rec { pname = "lru"; - version = "0.3.0"; - - useDune2 = true; + version = "0.3.1"; src = fetchurl { - url = "https://github.com/pqwy/lru/releases/download/v${version}/lru-v${version}.tbz"; - sha256 = "1ab9rd7cq15ml8x0wjl44wy99h5z7x4g9vkkz4i2d7n84ghy7vw4"; + url = "https://github.com/pqwy/lru/releases/download/v${version}/lru-${version}.tbz"; + hash = "sha256-bL4j0np9WyRPhpwLiBQNR/cPQTpkYu81wACTJdSyNv0="; }; propagatedBuildInputs = [ psq ]; From 105ea9886999437be182f057078fc6aaf2f97508 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Sat, 17 Dec 2022 12:26:12 +0100 Subject: [PATCH 233/280] trezor-suite: 22.10.3 -> 22.11.1 --- pkgs/applications/blockchains/trezor-suite/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/blockchains/trezor-suite/default.nix b/pkgs/applications/blockchains/trezor-suite/default.nix index 311f14bb1fa2..0141dc32d28e 100644 --- a/pkgs/applications/blockchains/trezor-suite/default.nix +++ b/pkgs/applications/blockchains/trezor-suite/default.nix @@ -8,7 +8,7 @@ let pname = "trezor-suite"; - version = "22.10.3"; + version = "22.11.1"; name = "${pname}-${version}"; suffix = { @@ -19,8 +19,8 @@ let src = fetchurl { url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage"; sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' - aarch64-linux = "sha512-fI0N1V+6SEZ9eNf+G/w5RcY8oeA5MsVzJnpnWoMzkkHZh5jVHgNbcqVgSPbzvQ/WZNv1MX37KETcxmDwRx//yw=="; - x86_64-linux = "sha512-zN89Qw6fQh27EaN9ARNwqhiBaiNoMic6Aq2UPG0OSUtOjEOdkGJ2pbR8MgWVccSgRH8ZmAAXZ0snVKfZWHbCjA=="; + aarch64-linux = "sha512-cZZFc1Ij7KrF0Kc1Xmtg/73ASv56a6SFWFy3Miwl3P5u8ieZGXVDlSQyv84CsuYMbE0Vga3X0XS/BiF7nKNcnA=="; + x86_64-linux = "sha512-X/IEZGs43riUn6vC5bPyj4DS/VK+s7C10PbBnvwieaclBSVJyQ8H8hbn4eKi0kMVNEl0A9o8W09gXBxAhdNR9g=="; }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; From 3dd6b9ebd46ea372a80aea185fb87e6e91d9feef Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 09:41:17 +0000 Subject: [PATCH 234/280] gleam: 0.25.1 -> 0.25.3 --- pkgs/development/compilers/gleam/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix index 3f3148371742..a3c1d5ca722c 100644 --- a/pkgs/development/compilers/gleam/default.nix +++ b/pkgs/development/compilers/gleam/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "gleam"; - version = "0.25.1"; + version = "0.25.3"; src = fetchFromGitHub { owner = "gleam-lang"; repo = pname; rev = "v${version}"; - sha256 = "sha256-PzvFX1ssBPXhHBNGK38y427HYJ9Q40c4w2mqGZ/2rtI="; + sha256 = "sha256-JT9NUca+DaqxT36heaNKijIuqdnSvrYCfY2uM7wTOGo="; }; nativeBuildInputs = [ pkg-config ]; @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ]; - cargoSha256 = "sha256-NeNpT/yOXE70ElawrOGBc4G5bN2ohzYVVUtF4yVCJOo="; + cargoSha256 = "sha256-YPyGCd4//yta3jy5tWB4C5yRgxNbfG+hGF5/QSch/6M="; meta = with lib; { description = "A statically typed language for the Erlang VM"; From 75db60e84277c5ce076b345203530b92e2b97060 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 11:37:46 +0000 Subject: [PATCH 235/280] python310Packages.brother: 2.0.0 -> 2.1.1 --- pkgs/development/python-modules/brother/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix index 297f1161fe2a..75ea728a0eae 100644 --- a/pkgs/development/python-modules/brother/default.nix +++ b/pkgs/development/python-modules/brother/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "brother"; - version = "2.0.0"; + version = "2.1.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "bieniu"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-pk9VBFha2NfQWI+fbWwGKcGFa93eKr5Cqh85r1CAXpI="; + hash = "sha256-jMvbZ4/NOA3dnJUdDWk2KTRz1gBOC+oDE0ChGNdFl1o="; }; propagatedBuildInputs = [ From 68e514ed1cf55451901e8d0edd3e8ee5102d3565 Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Mon, 14 Nov 2022 13:23:43 +1100 Subject: [PATCH 236/280] nixos/tailscale: Add `useRoutingFeatures` option --- .../from_md/release-notes/rl-2305.section.xml | 14 +++++++++ .../manual/release-notes/rl-2305.section.md | 2 ++ .../modules/services/networking/tailscale.nix | 29 ++++++++++++++----- 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml index aded38b4f723..2b9110e15a2d 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml @@ -282,6 +282,20 @@ to match upstream. + + + The new option + services.tailscale.useRoutingFeatures + controls various settings for using Tailscale features like + exit nodes and subnet routers. If you wish to use your machine + as an exit node, you can set this setting to + server, otherwise if you wish to use an + exit node you can set this setting to + client. The strict RPF warning has been + removed as the RPF will be loosened automatically based on the + value of this setting. + + diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index 7aff655f4419..fb8e856490c1 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -81,3 +81,5 @@ In addition to numerous new and upgraded packages, this release has the followin - The `services.fwupd` module now allows arbitrary daemon settings to be configured in a structured manner ([`services.fwupd.daemonSettings`](#opt-services.fwupd.daemonSettings)). - The `unifi-poller` package and corresponding NixOS module have been renamed to `unpoller` to match upstream. + +- The new option `services.tailscale.useRoutingFeatures` controls various settings for using Tailscale features like exit nodes and subnet routers. If you wish to use your machine as an exit node, you can set this setting to `server`, otherwise if you wish to use an exit node you can set this setting to `client`. The strict RPF warning has been removed as the RPF will be loosened automatically based on the value of this setting. diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix index 26997dd96013..233bfdf9ebf5 100644 --- a/nixos/modules/services/networking/tailscale.nix +++ b/nixos/modules/services/networking/tailscale.nix @@ -4,10 +4,7 @@ with lib; let cfg = config.services.tailscale; - firewallOn = config.networking.firewall.enable; - rpfMode = config.networking.firewall.checkReversePath; isNetworkd = config.networking.useNetworkd; - rpfIsStrict = rpfMode == true || rpfMode == "strict"; in { meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ]; @@ -38,14 +35,23 @@ in { defaultText = literalExpression "pkgs.tailscale"; description = lib.mdDoc "The package to use for tailscale"; }; + + useRoutingFeatures = mkOption { + type = types.enum [ "none" "client" "server" "both" ]; + default = "none"; + example = "server"; + description = lib.mdDoc '' + Enables settings required for Tailscale's routing features like subnet routers and exit nodes. + + To use these these features, you will still need to call `sudo tailscale up` with the relevant flags like `--advertise-exit-node` and `--exit-node`. + + When set to `client` or `both`, reverse path filtering will be set to loose instead of strict. + When set to `server` or `both`, IP forwarding will be enabled. + ''; + }; }; config = mkIf cfg.enable { - warnings = optional (firewallOn && rpfIsStrict) '' - Strict reverse path filtering breaks Tailscale exit node use and some subnet routing setups. Consider setting: - - networking.firewall.checkReversePath = "loose"; - ''; environment.systemPackages = [ cfg.package ]; # for the CLI systemd.packages = [ cfg.package ]; systemd.services.tailscaled = { @@ -75,6 +81,13 @@ in { stopIfChanged = false; }; + boot.kernel.sysctl = mkIf (cfg.useRoutingFeatures == "server" || cfg.useRoutingFeatures == "both") { + "net.ipv4.conf.all.forwarding" = mkDefault true; + "net.ipv6.conf.all.forwarding" = mkDefault true; + }; + + networking.firewall.checkReversePath = mkIf (cfg.useRoutingFeatures == "client" || cfg.useRoutingFeatures == "both") "loose"; + networking.dhcpcd.denyInterfaces = [ cfg.interfaceName ]; systemd.network.networks."50-tailscale" = mkIf isNetworkd { From d0745d7b3b1752505cea4815932e53f401bffbf3 Mon Sep 17 00:00:00 2001 From: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Date: Fri, 16 Dec 2022 20:08:37 -0800 Subject: [PATCH 237/280] Update pkgs/development/tools/poac/default.nix Co-authored-by: Anderson Torres --- pkgs/development/tools/poac/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/poac/default.nix b/pkgs/development/tools/poac/default.nix index 6db3acb56063..335b5cd17bef 100644 --- a/pkgs/development/tools/poac/default.nix +++ b/pkgs/development/tools/poac/default.nix @@ -90,9 +90,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake git cacert ]; buildInputs = [ - (if stdenv.isDarwin - then boost179 - else (boost179.override { enableShared = false; enableStatic = true; })) + (boost179.override { + enableShared = stdenv.isDarwin; + enableStatic = !stdenv.isDarwin; + }) fmt_8 git2Cpp glob From 7af8780d026dbea7fe60ef8c76564e8e60020512 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 11:52:04 +0000 Subject: [PATCH 238/280] python310Packages.dockerfile-parse: 1.2.0 -> 2.0.0 --- pkgs/development/python-modules/dockerfile-parse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dockerfile-parse/default.nix b/pkgs/development/python-modules/dockerfile-parse/default.nix index 55ff20803b26..891d862d614f 100644 --- a/pkgs/development/python-modules/dockerfile-parse/default.nix +++ b/pkgs/development/python-modules/dockerfile-parse/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "dockerfile-parse"; - version = "1.2.0"; + version = "2.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-B+Ze7DE5eOh32oGYVYcLOuR/P6yUpAqWW57eEEhNrMU="; + hash = "sha256-If59UQZC8rYamZ1Fw9l0X5UOEf5rokl1Vbj2N4K3jkU="; }; propagatedBuildInputs = [ From 920161999c7dffc70845741ca901e21ea4a11778 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Sat, 17 Dec 2022 10:17:47 -0300 Subject: [PATCH 239/280] yambar: 1.8.0 -> 1.9.0 --- pkgs/applications/misc/yambar/default.nix | 33 ++++++++++++++--------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix index 88b5046d1797..f2696c36dbe6 100644 --- a/pkgs/applications/misc/yambar/default.nix +++ b/pkgs/applications/misc/yambar/default.nix @@ -2,15 +2,19 @@ , stdenv , fetchFromGitea , alsa-lib +, bison , fcft +, flex , json_c , libmpdclient , libxcb , libyaml , meson , ninja +, pipewire , pixman , pkg-config +, pulseaudio , scdoc , tllist , udev @@ -26,26 +30,27 @@ }: let - # Courtesy of sternenseemann and FRidh - mesonFeatureFlag = feature: flag: - "-D${feature}=${if flag then "enabled" else "disabled"}"; + inherit (lib) mesonEnable; in -stdenv.mkDerivation rec { +assert (x11Support || waylandSupport); +stdenv.mkDerivation (finalAttrs: { pname = "yambar"; - version = "1.8.0"; + version = "1.9.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; repo = "yambar"; - rev = version; - hash = "sha256-zXhIXT3JrVSllnYheDU2KK3NE2VYa+xuKufIXjdMFjU="; + rev = finalAttrs.version; + hash = "sha256-0bgRnZYLGWJ9PE62i04hPBcgzWyd30DK7AUuejSgta4="; }; nativeBuildInputs = [ - pkg-config + bison + flex meson ninja + pkg-config scdoc wayland-scanner ]; @@ -56,7 +61,9 @@ stdenv.mkDerivation rec { json_c libmpdclient libyaml + pipewire pixman + pulseaudio tllist udev ] ++ lib.optionals (waylandSupport) [ @@ -72,13 +79,13 @@ stdenv.mkDerivation rec { mesonBuildType = "release"; mesonFlags = [ - (mesonFeatureFlag "backend-x11" x11Support) - (mesonFeatureFlag "backend-wayland" waylandSupport) + (mesonEnable "backend-x11" x11Support) + (mesonEnable "backend-wayland" waylandSupport) ]; meta = with lib; { homepage = "https://codeberg.org/dnkl/yambar"; - changelog = "https://codeberg.org/dnkl/yambar/releases/tag/${version}"; + changelog = "https://codeberg.org/dnkl/yambar/releases/tag/${finalAttrs.version}"; description = "Modular status panel for X11 and Wayland"; longDescription = '' yambar is a lightweight and configurable status panel (bar, for short) for @@ -107,6 +114,6 @@ stdenv.mkDerivation rec { ''; license = licenses.mit; maintainers = with maintainers; [ AndersonTorres ]; - platforms = with platforms; unix; + platforms = platforms.linux; }; -} +}) From f573655698527840d9b1b6b74ae3900dc1ecab58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Na=C3=AFm=20Favier?= Date: Sat, 17 Dec 2022 14:40:17 +0100 Subject: [PATCH 240/280] packagekit: update homepage --- pkgs/tools/package-management/packagekit/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index 0dfa433e6c40..d3a9e2ee3bdd 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -103,7 +103,7 @@ stdenv.mkDerivation rec { a common set of abstractions that can be used by standard GUI and text mode package managers. ''; - homepage = "http://www.packagekit.org/"; + homepage = "https://github.com/PackageKit/PackageKit"; license = licenses.gpl2Plus; platforms = platforms.unix; maintainers = with maintainers; [ matthewbauer ]; From 19096d328eac9d03c0efa12cb5f48e641f503b26 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 15:12:39 +0100 Subject: [PATCH 241/280] python310Packages.pysigma-backend-qradar: add changelog to meta --- .../python-modules/pysigma-backend-qradar/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pysigma-backend-qradar/default.nix b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix index 7a88d432e359..8240211e1f74 100644 --- a/pkgs/development/python-modules/pysigma-backend-qradar/default.nix +++ b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix @@ -48,6 +48,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library to support Qradar for pySigma"; homepage = "https://github.com/nNipsx-Sec/pySigma-backend-qradar"; + changelog = "https://github.com/nNipsx-Sec/pySigma-backend-qradar/releases/tag/v${version}"; license = with licenses; [ lgpl21Only ]; maintainers = with maintainers; [ fab ]; }; From 4bb97956ac21b9dfac18b008a767ef4724fe7542 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 15:13:30 +0100 Subject: [PATCH 242/280] python310Packages.pysigma-backend-qradar: 0.2.1 -> 0.3.0 Changelog: https://github.com/nNipsx-Sec/pySigma-backend-qradar/releases/tag/v0.3.0 --- .../python-modules/pysigma-backend-qradar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pysigma-backend-qradar/default.nix b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix index 8240211e1f74..00b9659c28d5 100644 --- a/pkgs/development/python-modules/pysigma-backend-qradar/default.nix +++ b/pkgs/development/python-modules/pysigma-backend-qradar/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pysigma-backend-qradar"; - version = "0.2.1"; + version = "0.3.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "nNipsx-Sec"; repo = "pySigma-backend-qradar"; rev = "refs/tags/v${version}"; - hash = "sha256-kd/KWO3xxIHPgXqvcOrSvdozLG34+DwZedfSVoZ+dDA="; + hash = "sha256-4QiPBgzlZG3aeYwn9zodZCXY6mjOktgdPWR5ikg/Y30="; }; nativeBuildInputs = [ From 80d60e2ee20e7ec912acf84d4ce1dd2a2025d57b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 15:20:44 +0100 Subject: [PATCH 243/280] python310Packages.dockerfile-parse: add changelog to meta --- .../development/python-modules/dockerfile-parse/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/dockerfile-parse/default.nix b/pkgs/development/python-modules/dockerfile-parse/default.nix index 891d862d614f..846e85fed33f 100644 --- a/pkgs/development/python-modules/dockerfile-parse/default.nix +++ b/pkgs/development/python-modules/dockerfile-parse/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchPypi -, six , pytestCheckHook , pythonOlder }: @@ -18,10 +17,6 @@ buildPythonPackage rec { hash = "sha256-If59UQZC8rYamZ1Fw9l0X5UOEf5rokl1Vbj2N4K3jkU="; }; - propagatedBuildInputs = [ - six - ]; - checkInputs = [ pytestCheckHook ]; @@ -38,6 +33,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library for parsing Dockerfile files"; homepage = "https://github.com/DBuildService/dockerfile-parse"; + changelog = "https://github.com/containerbuildsystem/dockerfile-parse/releases/tag/${version}"; license = licenses.bsd3; maintainers = with maintainers; [ leenaars ]; }; From a731c6acb46e06144da95152cff21d6fb85f1981 Mon Sep 17 00:00:00 2001 From: Scott Trinh Date: Tue, 22 Nov 2022 21:38:43 -0500 Subject: [PATCH 244/280] pulumiPackages.pulumi-language-nodejs: init at 3.47.0 --- pkgs/tools/admin/pulumi-packages/default.nix | 1 + .../pulumi-language-nodejs.nix | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix diff --git a/pkgs/tools/admin/pulumi-packages/default.nix b/pkgs/tools/admin/pulumi-packages/default.nix index f343f9c893ba..caf9ce9c581a 100644 --- a/pkgs/tools/admin/pulumi-packages/default.nix +++ b/pkgs/tools/admin/pulumi-packages/default.nix @@ -7,5 +7,6 @@ in pulumi-aws-native = callPackage' ./pulumi-aws-native.nix { }; pulumi-azure-native = callPackage' ./pulumi-azure-native.nix { }; pulumi-language-python = callPackage ./pulumi-language-python.nix { }; + pulumi-language-nodejs = callPackage ./pulumi-language-nodejs.nix { }; pulumi-random = callPackage' ./pulumi-random.nix { }; } diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix new file mode 100644 index 000000000000..828483c22859 --- /dev/null +++ b/pkgs/tools/admin/pulumi-packages/pulumi-language-nodejs.nix @@ -0,0 +1,33 @@ +{ lib +, buildGoModule +, pulumi +, nodejs +}: +buildGoModule rec { + inherit (pulumi) version src; + + pname = "pulumi-language-nodejs"; + + sourceRoot = "${src.name}/sdk"; + + vendorHash = "sha256-IZIdLmNGMFjRdkLPoE9UyON3pX/GBIgz/rv108v8iLY="; + + subPackages = [ + "nodejs/cmd/pulumi-language-nodejs" + ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/pulumi/pulumi/sdk/v3/go/common/version.Version=${version}" + ]; + + checkInputs = [ + nodejs + ]; + + postInstall = '' + cp nodejs/dist/pulumi-resource-pulumi-nodejs $out/bin + cp nodejs/dist/pulumi-analyzer-policy $out/bin + ''; +} From eec92af049e398ba43ca4d26ed95597cb0cb77d5 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 17 Dec 2022 15:22:09 +0100 Subject: [PATCH 245/280] nix: Cherry-pick #7473 for sqlite detailed message --- pkgs/tools/package-management/nix/default.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index a6bf0a585fb7..fd07336b0d34 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -5,6 +5,7 @@ , fetchFromGitHub , fetchurl , fetchpatch +, fetchpatch2 , Security , storeDir ? "/nix/store" @@ -37,6 +38,14 @@ let boehmgc = boehmgc-nix; aws-sdk-cpp = aws-sdk-cpp-nix; }; + + # https://github.com/NixOS/nix/pull/7473 + patch-sqlite-exception = fetchpatch2 { + name = "nix-7473-sqlite-exception-add-message.patch"; + url = "https://github.com/hercules-ci/nix/commit/c965f35de71cc9d88f912f6b90fd7213601e6eb8.patch"; + sha256 = "sha256-tI5nKU7SZgsJrxiskJ5nHZyfrWf5aZyKYExM0792N80="; + }; + in lib.makeExtensible (self: { nix_2_3 = (common rec { version = "2.3.16"; @@ -88,6 +97,7 @@ in lib.makeExtensible (self: { url = "https://github.com/NixOS/nix/commit/3ade5f5d6026b825a80bdcc221058c4f14e10a27.patch"; sha256 = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0="; }) + patch-sqlite-exception ]; }; @@ -102,6 +112,7 @@ in lib.makeExtensible (self: { url = "https://github.com/NixOS/nix/commit/3ade5f5d6026b825a80bdcc221058c4f14e10a27.patch"; sha256 = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0="; }) + patch-sqlite-exception ]; }; @@ -116,6 +127,7 @@ in lib.makeExtensible (self: { url = "https://github.com/NixOS/nix/commit/3ade5f5d6026b825a80bdcc221058c4f14e10a27.patch"; sha256 = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0="; }) + patch-sqlite-exception ]; }; @@ -124,6 +136,7 @@ in lib.makeExtensible (self: { sha256 = "sha256-sQ9C101CL/eVN5JgH91ozHFWU4+bXr8/Fi/8NQk6xRI="; patches = [ ./patches/flaky-tests.patch + patch-sqlite-exception ]; }; From e1dfd3146908b367c85dcf1009c8d19f822a88a2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 14:30:34 +0000 Subject: [PATCH 246/280] kubergrunt: 0.9.3 -> 0.10.0 --- pkgs/applications/networking/cluster/kubergrunt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/kubergrunt/default.nix b/pkgs/applications/networking/cluster/kubergrunt/default.nix index f40c7e8c871e..94441c960c01 100644 --- a/pkgs/applications/networking/cluster/kubergrunt/default.nix +++ b/pkgs/applications/networking/cluster/kubergrunt/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kubergrunt"; - version = "0.9.3"; + version = "0.10.0"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = "kubergrunt"; rev = "v${version}"; - sha256 = "sha256-nbpRdAkctLiG/hP6vhfEimplAzzj70d5nnaFcJ1NykY="; + sha256 = "sha256-HJZrE0fHlyOTQF9EqdrtQNmaHlrMA2RwNg4P7B2lYI0="; }; vendorSha256 = "sha256-9hWX6INN5HWXyeFQRjkqr+BsGv56lInVYacvT6Imahw="; From 1865acec019bb2f028e3d2784fadb83d6f06558c Mon Sep 17 00:00:00 2001 From: Ulrik Strid Date: Fri, 16 Dec 2022 09:33:54 +0100 Subject: [PATCH 247/280] ocaml-ng.ocamlPackages_5_0: 5.0.0-rc1 -> 5.0.0 --- pkgs/development/compilers/ocaml/5.0.nix | 7 ++----- pkgs/top-level/ocaml-packages.nix | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/ocaml/5.0.nix b/pkgs/development/compilers/ocaml/5.0.nix index b5fbb8dae463..390bb151b715 100644 --- a/pkgs/development/compilers/ocaml/5.0.nix +++ b/pkgs/development/compilers/ocaml/5.0.nix @@ -1,9 +1,6 @@ import ./generic.nix { major_version = "5"; minor_version = "0"; - patch_version = "0-rc1"; - src = fetchTarball { - url = "https://caml.inria.fr/pub/distrib/ocaml-5.0/ocaml-5.0.0~rc1.tar.xz"; - sha256 = "sha256:1ql9rmh2g9fhfv99vk9sdca1biiin32vi4idgdgl668n0vb8blw8"; - }; + patch_version = "0"; + sha256 = "sha256-yxfwpTTdSz/sk9ARsL4bpcYIfaAzz3iehaNLlkHsxl8="; } diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 3348f74e65d1..39503ee138b1 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1648,7 +1648,7 @@ in let inherit (pkgs) callPackage; in rec ocamlPackages_5_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/5.0.nix { }); - ocamlPackages_latest = ocamlPackages_4_14; + ocamlPackages_latest = ocamlPackages_5_0; ocamlPackages = ocamlPackages_4_14; } From 9d4c52cfd279f43e25c0e99ae06861b8df65b749 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 14:43:10 +0000 Subject: [PATCH 248/280] ldapnomnom: 1.0.7 -> 1.1.0 --- pkgs/tools/security/ldapnomnom/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/ldapnomnom/default.nix b/pkgs/tools/security/ldapnomnom/default.nix index 2a81772f2cd6..abd0ca044eb7 100644 --- a/pkgs/tools/security/ldapnomnom/default.nix +++ b/pkgs/tools/security/ldapnomnom/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "ldapnomnom"; - version = "1.0.7"; + version = "1.1.0"; src = fetchFromGitHub { owner = "lkarlslund"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-eGCg6s3bg7ixXmdwFsugRMLvL/nTE2p53otkfc8OgQU="; + hash = "sha256-o29vcPKRX8TWRCpa20DVsh/4K7d3IbaLS3B+jJGBEmo="; }; vendorSha256 = "sha256-3ucnLD+qhBSWY2wLtBcsOcuEf1woqHP17qQg7LlERA8="; From 1e71885e1e7756b9e66f97c2ea13170b644063e7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 14:46:30 +0000 Subject: [PATCH 249/280] lefthook: 1.2.4 -> 1.2.6 --- .../version-management/git-and-tools/lefthook/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix index 38d6d740c83c..ac4b7762c2e4 100644 --- a/pkgs/applications/version-management/git-and-tools/lefthook/default.nix +++ b/pkgs/applications/version-management/git-and-tools/lefthook/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "lefthook"; - version = "1.2.4"; + version = "1.2.6"; src = fetchFromGitHub { rev = "v${version}"; owner = "evilmartians"; repo = "lefthook"; - sha256 = "sha256-Z6j/Y8b9lq2nYS5Ki8iJoDsG3l5M6RylfDqQL7WrwNg="; + sha256 = "sha256-M15ESB8JCSryD6/+6N2EA6NUzLI4cwgAJUQC9UDNJrM="; }; - vendorSha256 = "sha256-sBcgt2YsV9RQhSjPN6N54tRk7nNvcOVhPEsEP+0Dtco="; + vendorSha256 = "sha256-KNegRQhVZMNDgcJZOgEei3oviDPM/RFwZbpoh38pxBw="; nativeBuildInputs = [ installShellFiles ]; From 9ecbb0786cece01a2cced450a266a4fe2f6b89c8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 16:12:35 +0100 Subject: [PATCH 250/280] ldapnomnom: add changelog to meta --- pkgs/tools/security/ldapnomnom/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/security/ldapnomnom/default.nix b/pkgs/tools/security/ldapnomnom/default.nix index abd0ca044eb7..132ecf70591a 100644 --- a/pkgs/tools/security/ldapnomnom/default.nix +++ b/pkgs/tools/security/ldapnomnom/default.nix @@ -14,11 +14,12 @@ buildGoModule rec { hash = "sha256-o29vcPKRX8TWRCpa20DVsh/4K7d3IbaLS3B+jJGBEmo="; }; - vendorSha256 = "sha256-3ucnLD+qhBSWY2wLtBcsOcuEf1woqHP17qQg7LlERA8="; + vendorHash = "sha256-3ucnLD+qhBSWY2wLtBcsOcuEf1woqHP17qQg7LlERA8="; meta = with lib; { description = "Tool to anonymously bruteforce usernames from Domain controllers"; homepage = "https://github.com/lkarlslund/ldapnomnom"; + changelog = "https://github.com/lkarlslund/ldapnomnom/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; From 50d1c2ce19ddd551244d2d295016ec7552b444f2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 16:28:54 +0000 Subject: [PATCH 251/280] libretro-core-info: 1.13.0 -> 1.14.0 --- pkgs/applications/emulators/retroarch/libretro-core-info.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/emulators/retroarch/libretro-core-info.nix b/pkgs/applications/emulators/retroarch/libretro-core-info.nix index 13073d9c523e..4edd94f363e6 100644 --- a/pkgs/applications/emulators/retroarch/libretro-core-info.nix +++ b/pkgs/applications/emulators/retroarch/libretro-core-info.nix @@ -5,12 +5,12 @@ stdenvNoCC.mkDerivation rec { pname = "libretro-core-info"; - version = "1.13.0"; + version = "1.14.0"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-core-info"; - hash = "sha256-rTq2h+IGJduBkP4qCACmm3T2PvbZ0mOmwD1jLkJ2j/Q="; + hash = "sha256-3nw8jUxBQJxiKlWS6OjTjwUYWKx3r2E7eHmbj4naWrk="; rev = "v${version}"; }; From e91117081e6981f000a4bdd0c58c75b4494f6287 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 16:31:06 +0000 Subject: [PATCH 252/280] libreddit: 0.25.0 -> 0.25.1 --- pkgs/servers/libreddit/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/libreddit/default.nix b/pkgs/servers/libreddit/default.nix index 2aa7159a5f99..ba609526015d 100644 --- a/pkgs/servers/libreddit/default.nix +++ b/pkgs/servers/libreddit/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "libreddit"; - version = "0.25.0"; + version = "0.25.1"; src = fetchFromGitHub { owner = "libreddit"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-IIL06jhl9wMLQTQtr96kq4Kkf2oGO3xxJxcB9Y34iUk="; + hash = "sha256-/K79EHjqkclyh1AmRaevYcyUD4XSrTfd5zjnpOmBNcE="; }; - cargoSha256 = "sha256-uIr8aUDErHVUKML2l6nITSBpOxqg3h1Md0948BxvutI="; + cargoSha256 = "sha256-KYuEy5MwgdiHHbDDNyb+NVYyXdvx1tCH7dQdPWCCfQo="; buildInputs = lib.optionals stdenv.isDarwin [ Security From fb769ee3c30fc5fc8298655e8f26fbd5c03e597f Mon Sep 17 00:00:00 2001 From: Sandro Date: Sat, 17 Dec 2022 17:35:23 +0100 Subject: [PATCH 253/280] pam-reattach: cleanup (#205509) --- pkgs/os-specific/darwin/pam-reattach/default.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/pkgs/os-specific/darwin/pam-reattach/default.nix b/pkgs/os-specific/darwin/pam-reattach/default.nix index 03d0547fc167..4350865080f0 100644 --- a/pkgs/os-specific/darwin/pam-reattach/default.nix +++ b/pkgs/os-specific/darwin/pam-reattach/default.nix @@ -1,12 +1,5 @@ { lib, stdenv, fetchFromGitHub, cmake, openpam, darwin }: -let - sdk = - if stdenv.isAarch64 - then null - else darwin.apple_sdk.sdk; -in - stdenv.mkDerivation rec { pname = "pam_reattach"; version = "1.3"; @@ -26,12 +19,10 @@ stdenv.mkDerivation rec { "arm64" }" "-DENABLE_CLI=ON" - ] - ++ lib.optional (sdk != null) - "-DCMAKE_LIBRARY_PATH=${sdk}/usr/lib"; + ] ++ lib.optional (!stdenv.isAarch64) "-DCMAKE_LIBRARY_PATH=${darwin.apple_sdk.sdk}/usr/lib"; buildInputs = [ openpam ] - ++ lib.optional (sdk != null) sdk; + ++ lib.optional (!stdenv.isAarch64) darwin.apple_sdk.sdk; nativeBuildInputs = [ cmake ]; From acac950ef6a5f74db4ff602d234676e644a48c32 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Thu, 20 Oct 2022 14:04:54 +0200 Subject: [PATCH 254/280] mmsd: init at 1.12.1 --- pkgs/tools/networking/mmsd-tng/default.nix | 53 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/tools/networking/mmsd-tng/default.nix diff --git a/pkgs/tools/networking/mmsd-tng/default.nix b/pkgs/tools/networking/mmsd-tng/default.nix new file mode 100644 index 000000000000..eaf122637519 --- /dev/null +++ b/pkgs/tools/networking/mmsd-tng/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv +, fetchFromGitLab +, c-ares +, dbus +, glib +, libphonenumber +, libsoup +, meson +, mobile-broadband-provider-info +, modemmanager +, ninja +, pkg-config +, protobuf +}: + +stdenv.mkDerivation rec { + pname = "mmsd-tng"; + version = "1.12.1"; + + src = fetchFromGitLab { + owner = "kop316"; + repo = "mmsd"; + rev = version; + sha256 = "sha256-fhbiTJWmQwJpuMaVX2qWyWwJ/2Y/Vczo//+0T0b6jhA="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + c-ares + dbus + glib + libphonenumber + libsoup + mobile-broadband-provider-info + modemmanager + protobuf + ]; + + doCheck = true; + + meta = with lib; { + description = "Multimedia Messaging Service Daemon - The Next Generation"; + homepage = "https://gitlab.com/kop316/mmsd"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ julm ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4b906f8c5f42..a4b39c1efc03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30573,6 +30573,8 @@ with pkgs; mmsd = callPackage ../tools/networking/mmsd { }; + mmsd-tng = callPackage ../tools/networking/mmsd-tng { }; + mmtc = callPackage ../applications/audio/mmtc { }; mnamer = callPackage ../applications/misc/mnamer { }; From 15046139d5475a5fe285575f998698045c65cc06 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Thu, 20 Oct 2022 14:05:08 +0200 Subject: [PATCH 255/280] nixos/mmsd: init --- .../from_md/release-notes/rl-2305.section.xml | 8 ++++ .../manual/release-notes/rl-2305.section.md | 2 + nixos/modules/module-list.nix | 2 + nixos/modules/services/networking/mmsd.nix | 38 +++++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 nixos/modules/services/networking/mmsd.nix diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml index 2b9110e15a2d..539bf00a3627 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml @@ -44,6 +44,14 @@ services.atuin.
+ + + mmsd, + a lower level daemon that transmits and recieves MMSes. + Available as + services.mmsd. + + v2rayA, a Linux diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index fb8e856490c1..6a6a34efbd14 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -20,6 +20,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [atuin](https://github.com/ellie/atuin), a sync server for shell history. Available as [services.atuin](#opt-services.atuin.enable). +- [mmsd](https://gitlab.com/kop316/mmsd), a lower level daemon that transmits and recieves MMSes. Available as [services.mmsd](#opt-services.mmsd.enable). + - [v2rayA](https://v2raya.org), a Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel. Available as [services.v2raya](options.html#opt-services.v2raya.enable). ## Backward Incompatibilities {#sec-release-23.05-incompatibilities} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9e5696eb5cfd..6ec6c74565cd 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -873,6 +873,8 @@ ./services/networking/miniupnpd.nix ./services/networking/miredo.nix ./services/networking/mjpg-streamer.nix + ./services/networking/mmsd.nix + ./services/networking/mosquitto.nix ./services/networking/monero.nix ./services/networking/morty.nix ./services/networking/mosquitto.nix diff --git a/nixos/modules/services/networking/mmsd.nix b/nixos/modules/services/networking/mmsd.nix new file mode 100644 index 000000000000..7e262a9326c1 --- /dev/null +++ b/nixos/modules/services/networking/mmsd.nix @@ -0,0 +1,38 @@ +{ pkgs, lib, config, ... }: +with lib; +let + cfg = config.services.mmsd; + dbusServiceFile = pkgs.writeTextDir "share/dbus-1/services/org.ofono.mms.service" '' + [D-BUS Service] + Name=org.ofono.mms + SystemdService=dbus-org.ofono.mms.service + + # Exec= is still required despite SystemdService= being used: + # https://github.com/freedesktop/dbus/blob/ef55a3db0d8f17848f8a579092fb05900cc076f5/test/data/systemd-activation/com.example.SystemdActivatable1.service + Exec=${pkgs.coreutils}/bin/false mmsd + ''; +in +{ + options.services.mmsd = { + enable = mkEnableOption (mdDoc "Multimedia Messaging Service Daemon"); + extraArgs = mkOption { + type = with types; listOf str; + description = mdDoc "Extra arguments passed to `mmsd-tng`"; + default = []; + example = ["--debug"]; + }; + }; + config = mkIf cfg.enable { + services.dbus.packages = [ dbusServiceFile ]; + systemd.user.services.mmsd = { + after = [ "ModemManager.service" ]; + aliases = [ "dbus-org.ofono.mms.service" ]; + serviceConfig = { + Type = "dbus"; + ExecStart = "${pkgs.mmsd-tng}/bin/mmsdtng " + escapeShellArgs cfg.extraArgs; + BusName = "org.ofono.mms"; + Restart = "on-failure"; + }; + }; + }; +} From 2a76b36b27d3bc31727c94b2290c4b89eec2b153 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 08:55:50 +0000 Subject: [PATCH 256/280] python310Packages.azure-mgmt-network: 22.0.0 -> 22.2.0 --- .../development/python-modules/azure-mgmt-network/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix index 7f09c490cb9f..e864cefb2327 100644 --- a/pkgs/development/python-modules/azure-mgmt-network/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - version = "22.0.0"; + version = "22.2.0"; pname = "azure-mgmt-network"; format = "setuptools"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-qXWmZuiYA6BwFP/uydPi8mV68WlXrJlwP9eiTk+q1Ak="; + hash = "sha256-491E1Q59dYFkH5QniR+S5eoiiL/ACwLe+fgYob8/jG4="; }; propagatedBuildInputs = [ From 8a2a94078bb4803847e2f685011c7de10a202aee Mon Sep 17 00:00:00 2001 From: Yureka Date: Sat, 17 Dec 2022 11:57:27 +0100 Subject: [PATCH 257/280] pkgsMusl.javaPackages.compiler.openjdk18: fix build --- pkgs/development/compilers/openjdk/18.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/openjdk/18.nix b/pkgs/development/compilers/openjdk/18.nix index 5be60eb94875..600899677fed 100644 --- a/pkgs/development/compilers/openjdk/18.nix +++ b/pkgs/development/compilers/openjdk/18.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio +{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio , file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk18-bootstrap @@ -49,6 +49,13 @@ let url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; }) + + # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. + # This is applied anywhere to prevent patchrot. + (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/testing/openjdk18/FixNullPtrCast.patch?id=b93d1fc37fcf106144958d957bb97c7db67bd41f"; + hash = "sha256-nvO8RcmKwMcPdzq28mZ4If1XJ6FQ76CYWqRIozPCk5U="; + }) ] ++ lib.optionals (!headless && enableGnome2) [ ./swing-use-gtk-jdk13.patch ]; From 77822a6afa212605e61911b5638656a6be380325 Mon Sep 17 00:00:00 2001 From: Yureka Date: Sat, 17 Dec 2022 11:57:41 +0100 Subject: [PATCH 258/280] pkgsMusl.jdk: fix build --- pkgs/development/compilers/openjdk/19.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/openjdk/19.nix b/pkgs/development/compilers/openjdk/19.nix index 11b2fa60c733..87c978ec8305 100644 --- a/pkgs/development/compilers/openjdk/19.nix +++ b/pkgs/development/compilers/openjdk/19.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, fetchFromGitHub, bash, pkg-config, autoconf, cpio +{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio , file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib , libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk19-bootstrap @@ -51,6 +51,13 @@ let url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; }) + + # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. + # This is applied anywhere to prevent patchrot. + (fetchpatch { + url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=b93d1fc37fcf106144958d957bb97c7db67bd41f"; + hash = "sha256-cnpeYcVoRYjuDgrl2x27frv6KUAnu1+1MVPehPZy/Cg="; + }) ] ++ lib.optionals (!headless && enableGnome2) [ ./swing-use-gtk-jdk13.patch ]; From 9956f66315db9ebaa128c7ffe5ea58fa66d3e262 Mon Sep 17 00:00:00 2001 From: maifel-maifel <112440927+maifel-maifel@users.noreply.github.com> Date: Sat, 17 Dec 2022 18:28:04 +0100 Subject: [PATCH 259/280] protobuf: ensure matching version in buildPackages (#206564) Co-authored-by: digital --- pkgs/top-level/all-packages.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4b906f8c5f42..5a7f43fbae1f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22152,7 +22152,11 @@ with pkgs; prospector = callPackage ../development/tools/prospector { }; # https://github.com/protocolbuffers/protobuf/issues/10418 - protobuf = if stdenv.hostPlatform.is32bit then protobuf3_20 else + # protobuf versions have to match between build-time and run-time + # Using "targetPlatform" in the check makes sure that the version of + # pkgsCross.armv7l-hf-multiplatform.buildPackages.protobuf matches the + # version of pkgsCross.armv7l-hf-multiplatform.protobuf + protobuf = if stdenv.targetPlatform.is32bit then protobuf3_20 else protobuf3_21; protobuf3_21 = callPackage ../development/libraries/protobuf/3.21.nix { }; From d7ec1a325152b066db4cc4917cab695d4bf80ba6 Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Tue, 6 Dec 2022 14:02:07 -0800 Subject: [PATCH 260/280] catfs: unstable-2020-03-21 -> 0.9.0 --- pkgs/os-specific/linux/catfs/default.nix | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/pkgs/os-specific/linux/catfs/default.nix b/pkgs/os-specific/linux/catfs/default.nix index dbb525e0e298..0cd782c0f05f 100644 --- a/pkgs/os-specific/linux/catfs/default.nix +++ b/pkgs/os-specific/linux/catfs/default.nix @@ -6,24 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "catfs"; - version = "unstable-2020-03-21"; + version = "0.9.0"; src = fetchFromGitHub { owner = "kahing"; repo = pname; - rev = "daa2b85798fa8ca38306242d51cbc39ed122e271"; - sha256 = "0zca0c4n2p9s5kn8c9f9lyxdf3df88a63nmhprpgflj86bh8wgf5"; + rev = "v${version}"; + hash = "sha256-OvmtU2jpewP5EqPwEFAf67t8UCI1WuzUO2QQj4cH1Ak="; }; - cargoSha256 = "1agcwq409s40kyij487wjrp8mj7942r9l2nqwks4xqlfb0bvaimf"; - - cargoPatches = [ - # update cargo lock - (fetchpatch { - url = "https://github.com/kahing/catfs/commit/f838c1cf862cec3f1d862492e5be82b6dbe16ac5.patch"; - sha256 = "1r1p0vbr3j9xyj9r1ahipg4acii3m4ni4m9mp3avbi1rfgzhblhw"; - }) - ]; + cargoHash = "sha256-xF1J2Pr4qtNFcd2kec4tnbdYxoLK+jRnzp8p+cmNOcI="; nativeBuildInputs = [ pkg-config ]; From 59aec3697e48aee3c57f7f309a18dda38c92dc8f Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Fri, 9 Dec 2022 14:16:20 -0800 Subject: [PATCH 261/280] catfs: patch to compile using rust 1.65 --- pkgs/os-specific/linux/catfs/default.nix | 5 +++++ pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff | 13 +++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff diff --git a/pkgs/os-specific/linux/catfs/default.nix b/pkgs/os-specific/linux/catfs/default.nix index 0cd782c0f05f..36eaf607201e 100644 --- a/pkgs/os-specific/linux/catfs/default.nix +++ b/pkgs/os-specific/linux/catfs/default.nix @@ -15,6 +15,11 @@ rustPlatform.buildRustPackage rec { hash = "sha256-OvmtU2jpewP5EqPwEFAf67t8UCI1WuzUO2QQj4cH1Ak="; }; + patches = [ + # monitor https://github.com/kahing/catfs/issues/71 + ./fix-for-rust-1.65.diff + ]; + cargoHash = "sha256-xF1J2Pr4qtNFcd2kec4tnbdYxoLK+jRnzp8p+cmNOcI="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff b/pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff new file mode 100644 index 000000000000..4208c362ebcd --- /dev/null +++ b/pkgs/os-specific/linux/catfs/fix-for-rust-1.65.diff @@ -0,0 +1,13 @@ +diff --git a/src/catfs/file.rs b/src/catfs/file.rs +index 6e781eb..92fdd80 100644 +--- a/src/catfs/file.rs ++++ b/src/catfs/file.rs +@@ -569,7 +569,7 @@ impl Handle { + path: &dyn AsRef, + create: bool, + ) -> error::Result<()> { +- let _ = self.page_in_res.0.lock().unwrap(); ++ drop(self.page_in_res.0.lock().unwrap()); + + let mut buf = [0u8; 0]; + let mut flags = rlibc::O_RDWR; From 4b81f8cf5b31417bd2f4ef4af72d3be353f4244e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 16:03:31 +0100 Subject: [PATCH 262/280] python310Packages.dnfile: 0.12.0 -> 0.13.0 Changelog: https://github.com/malwarefrank/dnfile/blob/v0.13.0/HISTORY.rst --- pkgs/development/python-modules/dnfile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dnfile/default.nix b/pkgs/development/python-modules/dnfile/default.nix index 83ce068a760f..7bcfdf34c2de 100644 --- a/pkgs/development/python-modules/dnfile/default.nix +++ b/pkgs/development/python-modules/dnfile/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "dnfile"; - version = "0.12.0"; + version = "0.13.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "malwarefrank"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-r3DupEyMEXOFeSDo9k0LmGM/TGMbbpVW7zCoUA4oG8Y="; + hash = "sha256-TH30gEoxXkaDac6hJsGQFWzwDeqzdZ19HK8i/3Dlh8k="; fetchSubmodules = true; }; From 6b265ea769b8fad0c91fae08860cfe0ace7d2151 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 16:10:08 +0100 Subject: [PATCH 263/280] python310Packages.faraday-plugins: 1.8.1 -> 1.9.0 Changelog: https://github.com/infobyte/faraday_plugins/releases/tag/1.9.0 --- pkgs/development/python-modules/faraday-plugins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/faraday-plugins/default.nix b/pkgs/development/python-modules/faraday-plugins/default.nix index 2807584c63db..34bc3b384ec5 100644 --- a/pkgs/development/python-modules/faraday-plugins/default.nix +++ b/pkgs/development/python-modules/faraday-plugins/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "faraday-plugins"; - version = "1.8.1"; + version = "1.9.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "infobyte"; repo = "faraday_plugins"; rev = "refs/tags/${version}"; - hash = "sha256-UnOIYYmOeBX22jQ4MkDxQKtSlxv+H/KOC83BZ39JA1E="; + hash = "sha256-ZWPImBqBpiz3y4OpDZLCfL3Oe/J+qP1Hduas3p0unCg="; }; postPatch = '' From 137f5d07bf971d7c99efefa8d61c66be4af0849a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 18:07:55 +0100 Subject: [PATCH 264/280] python310Packages.jaconv: 0.3 -> 0.3.1 Diff: https://github.com/ikegami-yukino/jaconv/compare/v0.3...v0.3.1 Changelog: https://github.com/ikegami-yukino/jaconv/blob/v0.3.1/CHANGES.rst --- pkgs/development/python-modules/jaconv/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/jaconv/default.nix b/pkgs/development/python-modules/jaconv/default.nix index 17f044dbd914..868d5b7c35e8 100644 --- a/pkgs/development/python-modules/jaconv/default.nix +++ b/pkgs/development/python-modules/jaconv/default.nix @@ -8,16 +8,16 @@ buildPythonPackage rec { pname = "jaconv"; - version = "0.3"; + version = "0.3.1"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "ikegami-yukino"; repo = pname; rev = "v${version}"; - sha256 = "rityHi1JWWlV7+sAxNrlbcmfHmORZWrMZqXTRlsclhQ="; + hash = "sha256-uzGHvklFHVoNloZauczgITeHQIgYQAfI9cjLWgG/vyI="; }; checkInputs = [ @@ -32,6 +32,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python Japanese character interconverter for Hiragana, Katakana, Hankaku and Zenkaku"; homepage = "https://github.com/ikegami-yukino/jaconv"; + changelog = "https://github.com/ikegami-yukino/jaconv/blob/v${version}/CHANGES.rst"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; From acc05d059d913beaf169239ade7848327bfc7089 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 18:09:55 +0100 Subject: [PATCH 265/280] python310Packages.identify: 2.5.9 -> 2.5.10 Diff: https://github.com/pre-commit/identify/compare/v2.5.9...v2.5.10 --- pkgs/development/python-modules/identify/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix index 86ac0542591e..149cb32cbdd8 100644 --- a/pkgs/development/python-modules/identify/default.nix +++ b/pkgs/development/python-modules/identify/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "identify"; - version = "2.5.9"; + version = "2.5.10"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "pre-commit"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5ISxzOTTlA1EcBO5N6YtBEah0SRehGeVIONj30zOKk0="; + sha256 = "sha256-4/p2m2A+0RDxQZHAJFSqk4x49bMWQo4R3aDOu3jI6FQ="; }; checkInputs = [ From 02fb72e12dd426030c1d3abb15abfc222c61fbc2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 18:05:42 +0000 Subject: [PATCH 266/280] logrotate: 3.20.1 -> 3.21.0 --- pkgs/tools/system/logrotate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix index da3732aaab69..e7d60479a3e5 100644 --- a/pkgs/tools/system/logrotate/default.nix +++ b/pkgs/tools/system/logrotate/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "logrotate"; - version = "3.20.1"; + version = "3.21.0"; src = fetchFromGitHub { owner = "logrotate"; repo = "logrotate"; rev = version; - sha256 = "sha256-IegYAV7Mrw9GKMQOE5Bk0J/2ljfHzPlIipyYm3LrUcU="; + sha256 = "sha256-w86y6bz/nvH/0mIbn2XrSs5KdOM/xadnlZMQZp4LdGQ="; }; # Logrotate wants to access the 'mail' program; to be done. From 3fbede97da9e5af7ea65b36a1eed60245157c3bd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 17 Dec 2022 18:02:08 +0100 Subject: [PATCH 267/280] python310Packages.pytenable: 1.4.10 -> 1.4.11 Diff: https://github.com/tenable/pyTenable/compare/refs/tags/1.4.10...1.4.11 Changelog: https://github.com/tenable/pyTenable/releases/tag/1.4.11 --- pkgs/development/python-modules/pytenable/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix index ac2b5d86e5e8..f4b3e4b43ed2 100644 --- a/pkgs/development/python-modules/pytenable/default.nix +++ b/pkgs/development/python-modules/pytenable/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "pytenable"; - version = "1.4.10"; + version = "1.4.11"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "tenable"; repo = "pyTenable"; rev = "refs/tags/${version}"; - hash = "sha256-BNPfoKXDLUckj/yg1Gz806CS5CyjWvc/Hy/NwnuWfo0="; + hash = "sha256-GSEMjgG8Q+gzHQWRbXr/qiGP6U6ydPxu0JsD56mRNWU="; }; propagatedBuildInputs = [ From 19ac0814397f5f7ed7a65175e4c489eccad3b2de Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sat, 17 Dec 2022 10:09:00 -0800 Subject: [PATCH 268/280] nix-template: 0.4.0 -> 0.4.1 --- pkgs/tools/package-management/nix-template/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix-template/default.nix b/pkgs/tools/package-management/nix-template/default.nix index 034641ab4875..84afede50fe2 100644 --- a/pkgs/tools/package-management/nix-template/default.nix +++ b/pkgs/tools/package-management/nix-template/default.nix @@ -9,17 +9,17 @@ rustPlatform.buildRustPackage rec { pname = "nix-template"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { name = "${pname}-${version}-src"; owner = "jonringer"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5Xxv9TH5rGA4VU/64YarrBIOrROWjFu3RYRcoNo70UA="; + sha256 = "sha256-42u5FmTIKHpfQ2zZQXIrFkAN2/XvU0wWnCRrQkQzcNI="; }; - cargoSha256 = "sha256-GvIE46NXNWg1kSEbffvOCwVDr0YmVMo8C8+52RDEwco="; + cargoSha256 = "sha256-f8Th6SbV66Uukqh1Cb5uQVa844qw1PmBB9W7EMXMU4E="; nativeBuildInputs = [ installShellFiles From b2025f0f7f856539a73d6e074c59710ed457e673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?PedroHLC=20=E2=98=AD?= Date: Sat, 17 Dec 2022 15:47:59 -0300 Subject: [PATCH 269/280] linuxKernel.kernels.linux_lqx: 6.0.13-lqx2 -> 6.0.13-lqx3 --- pkgs/os-specific/linux/kernel/zen-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index 7dad1359ee8e..a58782828478 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -12,8 +12,8 @@ let # ./update-zen.py lqx lqxVariant = { version = "6.0.13"; #lqx - suffix = "lqx2"; #lqx - sha256 = "0xxxlv6rk620s947qj6xxxbjc8asynmx4ilbp66ahi92inxqiw29"; #lqx + suffix = "lqx3"; #lqx + sha256 = "0dc295d9dfm3j2nmvkzy21ky1k6jp7c7miqjhqgfjny9yk1b41k4"; #lqx isLqx = true; }; zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // { From 56472fc512f72039273bb06abc683f745a31e7fe Mon Sep 17 00:00:00 2001 From: kkharji Date: Thu, 15 Dec 2022 08:03:48 +0300 Subject: [PATCH 270/280] cargo-chef: init at 0.1.50 --- .../tools/rust/cargo-chef/default.nix | 20 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/tools/rust/cargo-chef/default.nix diff --git a/pkgs/development/tools/rust/cargo-chef/default.nix b/pkgs/development/tools/rust/cargo-chef/default.nix new file mode 100644 index 000000000000..82aed4809cc9 --- /dev/null +++ b/pkgs/development/tools/rust/cargo-chef/default.nix @@ -0,0 +1,20 @@ +{ lib, rustPlatform, fetchCrate }: + +rustPlatform.buildRustPackage rec { + pname = "cargo-chef"; + version = "0.1.50"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-d467uk4UCtAKcpFYODxIhRrYoIOHzxhoaJVMA9ErRAw="; + }; + + cargoSha256 = "sha256-5xj4/uxuMhlqY1ncrMU1IFWdVB4ZjHVXg0ZbRXDvIak="; + + meta = with lib; { + description = "A cargo-subcommand to speed up Rust Docker builds using Docker layer caching"; + homepage = "https://github.com/LukeMathWalker/cargo-chef"; + license = licenses.mit; + maintainers = with maintainers; [ kkharji ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e35f80aa819c..dd93222a801b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15312,6 +15312,7 @@ with pkgs; cargo-cache = callPackage ../development/tools/rust/cargo-cache { inherit (darwin.apple_sdk.frameworks) Security; }; + cargo-chef = callPackage ../development/tools/rust/cargo-chef { }; cargo-crev = callPackage ../development/tools/rust/cargo-crev { inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration CoreFoundation; }; From a98f1c2a5fae9c1f280678a3def9d4603a1751e3 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sat, 17 Dec 2022 20:02:12 +0100 Subject: [PATCH 271/280] BeatSaberModManager: 0.0.2 -> 0.0.4 --- pkgs/games/BeatSaberModManager/default.nix | 9 +- pkgs/games/BeatSaberModManager/deps.nix | 112 +++++++++++++++------ 2 files changed, 87 insertions(+), 34 deletions(-) diff --git a/pkgs/games/BeatSaberModManager/default.nix b/pkgs/games/BeatSaberModManager/default.nix index eec57d7cf0dd..8d607268dc64 100644 --- a/pkgs/games/BeatSaberModManager/default.nix +++ b/pkgs/games/BeatSaberModManager/default.nix @@ -7,6 +7,8 @@ buildDotnetModule, fetchFromGitHub, + dotnetCorePackages, + libX11, libICE, libSM, @@ -15,13 +17,13 @@ buildDotnetModule rec { pname = "BeatSaberModManager"; - version = "0.0.2"; + version = "0.0.4"; src = fetchFromGitHub { owner = "affederaffe"; repo = pname; rev = "v${version}"; - sha256 = "sha256-6+9pWr8jJzs430Ai2ddh/2DK3C2bQA1e1+BNDrKhyzY="; + sha256 = "sha256-XeyOWg4Wa4hiorLPnbnBrLSjnxheAGGMPTqBleulDGw="; fetchSubmodules = true; # It vendors BSIPA-Linux }; @@ -36,6 +38,9 @@ buildDotnetModule rec { }) ]; + dotnet-sdk = dotnetCorePackages.sdk_7_0; + dotnet-runtime = dotnetCorePackages.runtime_7_0; + nugetDeps = ./deps.nix; runtimeDeps = [ diff --git a/pkgs/games/BeatSaberModManager/deps.nix b/pkgs/games/BeatSaberModManager/deps.nix index 8a0f34b7cabe..57f7add09f5f 100644 --- a/pkgs/games/BeatSaberModManager/deps.nix +++ b/pkgs/games/BeatSaberModManager/deps.nix @@ -2,72 +2,120 @@ # Please dont edit it manually, your changes might get overwritten! { fetchNuGet }: [ - (fetchNuGet { pname = "Avalonia"; version = "0.10.16"; sha256 = "1197xyswinazahjd8mhfsrjszhcv4mdj48c56bmdlcsf6zbpravz"; }) + (fetchNuGet { pname = "Avalonia"; version = "11.0.0-preview4"; sha256 = "0s2ijp8fbny04c62gy8acg4n769hzj1pl9jml35bqrzk4m29jxs2"; }) (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.16"; sha256 = "1xlg7r9r77fc9bcjw3rnnknncny7mcnkin6nwhg0sig4ab6givd2"; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.16"; sha256 = "09fg9j411kq0012wvix1bxiybif3pm1if624mwg4ng7w2z97dfl3"; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.16"; sha256 = "1rxcbsbszgyb77gxp4zvg9k1cxw40vbm1z04dn5dqp4bfam9gnnh"; }) - (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.16"; sha256 = "10p93y3zr8aq8malahdllknk28afr0p2n7fz1c7hbhbkdpfjz01a"; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "0.10.16"; sha256 = "1m6cgql12rkzxxzvyxd1d0f5z2k4myby6d90li5p3nhblswx6jpk"; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "0.10.16"; sha256 = "1cp1i07v1pkbff2qm046r1g517lw14q3vrli6f2k0i6aw7naay80"; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.16"; sha256 = "00iv96n2q2qg34zgqzcaja39396fbk8fj373d7zld46c64kf8g4h"; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.16"; sha256 = "1rla042nc9mc36qnpipszrf0sffwi5d83cr9dmihpa015bby42pz"; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.16"; sha256 = "171jv4hdi2r0wgmrjv8ajnjmwrf9j2d0g4ffyhhmmjnaclckgzgv"; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "0.10.16"; sha256 = "0yr8vkn59phlgcjkhzyygn2i3ghzhvd64sy84qyxxxyfm376cyxr"; }) - (fetchNuGet { pname = "DryIoc.dll"; version = "5.1.0"; sha256 = "0vim3xmaajnvhwz01028lizjl2j0y2r2cbiwz0ga7n903pncrahw"; }) - (fetchNuGet { pname = "DynamicData"; version = "7.9.4"; sha256 = "0mfmlsdd48dpwiphqhq8gsix2528mc6anp7rakd6vyzmig60f520"; }) - (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2-preview.178"; sha256 = "1p5nwzl7jpypsd6df7hgcf47r977anjlyv21wacmalsj6lvdgnvn"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2-preview.178"; sha256 = "1402ylkxbgcnagcarqlfvg4gppy2pqs3bmin4n5mphva1g7bqb2p"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2-preview.178"; sha256 = "0p8miaclnbfpacc1jaqxwfg0yfx9byagi4j4k91d9621vd19i8b2"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2-preview.178"; sha256 = "1n9jay9sji04xly6n8bzz4591fgy8i65p21a8mv5ip9lsyj1c320"; }) - (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2-preview.178"; sha256 = "1r5syii96wv8q558cvsqw3lr10cdw6677lyiy82p6i3if51v3mr7"; }) + (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.0-preview4"; sha256 = "0dbbigfg5qqqgi16fglsqphg63ihl3hhpfw9f85ypvb5dfjimnq0"; }) + (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.0-preview4"; sha256 = "10c1w7slmlkn1sjyk2y8awzlkd9rr35zpvwnvsv0i235zbqc3a07"; }) + (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.0-preview4"; sha256 = "1ccnfi429hah9qsl6qimkhlz6j29zjjpm77di14wnlr8x3nh19z0"; }) + (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.0-preview4"; sha256 = "1x8d46p9wxwrfhn4xcgx64x5y9dw08a7v54w8ms9ba58zr01bm74"; }) + (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.0-preview4"; sha256 = "1ivrh736xxn3j1b64ni0wy7ydp22sbl2yv5kdircxknhb7bhpigd"; }) + (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.0-preview4"; sha256 = "16p0va19f83ccq493vxa8rvdgy71jsgijymb078bagk5nsm2alzs"; }) + (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.0-preview4"; sha256 = "0ia7zx7chgchh4piqp400cdpj14jndh313yh2z9nspqxq30xll46"; }) + (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.0-preview4"; sha256 = "0qrv6ff3lgsqa57q5nrsmfzfp3w2x6d536xi3hq18616zjv7k1x4"; }) + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0-preview4"; sha256 = "1g8j7ll3q9k7v0j54j42dy1mkzkgs9rlyia0gjg3b7z5ilk0rbiz"; }) + (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0-preview4"; sha256 = "011flxwy9rnjlvwb1nvn9qlj0nfsr3f4gmvlzkg7abhwh7hzv3vi"; }) + (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.0-preview4"; sha256 = "07lkj6z4fy41i6fbnrzkb22z63czspcnfp5lz25qkvys37vkmhdm"; }) + (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.0-preview4"; sha256 = "02cn71h91fxvw9knni2dxlhpf9ihdkq3r0mylvr8z7r493saiqkm"; }) + (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.0-preview4"; sha256 = "1fqj7jv22ki9pim55hav8qfr01vhjkzdp5rdi1p22xxmgrxws5ws"; }) + (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.0-preview4"; sha256 = "0lmw94qp4y05xzxx6flzgsv4cw6mckcn8ig6mm8hdqpqqsiihc1n"; }) + (fetchNuGet { pname = "DynamicData"; version = "7.9.5"; sha256 = "1m9qx8g6na5ka6kd9vhg8gjmxrnkzb6v5cl5yqp1kdjsw4rcwy6x"; }) + (fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.1-preview.108"; sha256 = "0xs4px4fy5b6glc77rqswzpi5ddhxvbar1md6q9wla7hckabnq0z"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.1-preview.108"; sha256 = "16wvgvyra2g1b38rxxgkk85wbz89hspixs54zfcm4racgmj1mrj4"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.1-preview.108"; sha256 = "16v7lrwwif2f5zfkx08n6y6w3m56mh4hy757biv0w9yffaf200js"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.WebAssembly"; version = "2.8.2.1-preview.108"; sha256 = "15kqb353snwpavz3jja63mq8xjqsrw1f902scm8wxmsqrm5q6x55"; }) + (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.1-preview.108"; sha256 = "0n6ymn9jqms3mk5hg0ar4y9jmh96myl6q0jimn7ahb1a8viq55k1"; }) (fetchNuGet { pname = "JetBrains.Annotations"; version = "10.3.0"; sha256 = "1grdx28ga9fp4hwwpwv354rizm8anfq4lp045q4ss41gvhggr3z8"; }) + (fetchNuGet { pname = "MicroCom.Runtime"; version = "0.11.0"; sha256 = "0p9c3m0zk59x9dcqw077hzd2yk60myisbacvm36mnwpcjwzjkp2m"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.11"; sha256 = "15n8x52njzxs2cwzzswi0kawm673jkvf2yga87jaf7hr729bfmcr"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.11"; sha256 = "1pw25rnw5nm51wjdjbrhzhz9v0c8gjjqn2na2bam3c5xawvnqkqf"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.11"; sha256 = "0vd5da34frm7avrc9d16d39s2k5sgzd260j5pkjsianhpjby5rbn"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.0.0"; sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.8.0"; sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.8.0"; sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Scripting"; version = "3.8.0"; sha256 = "0w0yx0lpg54iw5jazqk46h48gx43ij32gwac8iywdj6kxfxm03vw"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Scripting.Common"; version = "3.8.0"; sha256 = "0hjgxcsj5zy27lqk0986m59n5dbplx2vjjla2lsvg4bwg8qa7bpk"; }) + (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; }) (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.11"; sha256 = "0k8nl3hnr8h0ljw185dyhavrz2f7x6wavyadyf7f1v289jzasj72"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.11"; sha256 = "0bnq4dj7s5mspi7f8ihpp2y4bncb229ihrcmxvifsbb15mlhh8g4"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.11"; sha256 = "1j64ppdvh5s3pqr6sm3sq9bmk3fzj7l4j3bx023zn3dyllibpv68"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.11"; sha256 = "03kvh4l5j8i8263wz7fmznzf5rs1grgazrhi3ayhynvhdal04mdk"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.11"; sha256 = "1f60dyl8pnj067i7bvmsbazcvrjkgrz9943vjj0ym49cfyq98cnw"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "4.5.0"; sha256 = "0fnkv3ky12227zqg4zshx4kw2mvysq2ppxjibfw02cc3iprv4njq"; }) - (fetchNuGet { pname = "ReactiveUI"; version = "18.2.9"; sha256 = "156747759npb2dgsnd2y1bq2vnmmssizsz78kf80mr8pd60wlbj4"; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; }) + (fetchNuGet { pname = "ReactiveUI"; version = "18.3.1"; sha256 = "1lxkc8yk9glj0w9n5vry2dnwwvh8152ad2c5bivk8aciq64zidyn"; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.0.11"; sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.0.11"; sha256 = "0240rp66pi5bw1xklmh421hj7arwcdmjmgfkiq1cbc6nrm8ah286"; }) (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.1.0"; sha256 = "0kasfkjiml2kk8prnyn1990nhsahnjggvqwszqjdsfwfl43vpcb5"; }) (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.1.0"; sha256 = "06kcs059d5czyakx75rvlwa2mr86156w18fs7chd03f7084l7mq6"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.0.1"; sha256 = "05k34ijz9g9csh0vbbv3g3lrxl163izwcfncmbcl7k073h32rzkr"; }) (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1zxrpvixr5fqzkxpnin6g6gjq6xajy1snghz99ds2dwbhm276rhz"; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "1jmgs7hynb2rff48623wnyb37558bbh1q28k9c249j5r5sgsr5kr"; }) (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.1.0"; sha256 = "0mjr2bi7wvnkphfjqgkyf8vfyvy15a829jz6mivl6jmksh2bx40m"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.0.1"; sha256 = "1kswgqhy34qvc49i981fk711s7knd6z13bp0rin8ms6axkh98nas"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "0gm8if0hcmp1qys1wmx4970k2x62pqvldgljsyzbjhiy5644vl8z"; }) (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.0.11"; sha256 = "0m4vgmzi1ky8xlj0r7xcyazxln3j9dlialnk6d2gmgrfnzf8f9m7"; }) (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.0.11"; sha256 = "1qzdp09qs8br5qxzlm1lgbjn4n57fk8vr1lzrmli2ysdg6x1xzvk"; }) (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d"; }) (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.0.1"; sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm"; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4"; }) (fetchNuGet { pname = "Serilog"; version = "2.10.0"; sha256 = "08bih205i632ywryn3zxkhb15dwgyaxbhmm1z3b5nmby9fb25k7v"; }) - (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) - (fetchNuGet { pname = "SkiaSharp"; version = "2.88.1-preview.1"; sha256 = "1i1px67hcr9kygmbfq4b9nqzlwm7v2gapsp4isg9i19ax5g8dlhm"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1-preview.1"; sha256 = "1r9qr3civk0ws1z7hg322qyr8yjm10853zfgs03szr2lvdqiy7d1"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1-preview.1"; sha256 = "1w55nrwpl42psn6klia5a9aw2j1n25hpw2fdhchypm9f0v2iz24h"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1-preview.1"; sha256 = "0mwj2yl4gn40lry03yqkj7sbi1drmm672dv88481sgah4c21lzrq"; }) - (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1-preview.1"; sha256 = "1k50abd147pif9z9lkckbbk91ga1vv6k4skjz2n7wpll6fn0fvlv"; }) - (fetchNuGet { pname = "Splat"; version = "14.3.4"; sha256 = "1j5riry4hc6gmw6zkwqq4fsw4rcddnb8kwyhnb321qp60z8v8pv4"; }) + (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.1-dev-00947"; sha256 = "153vi3xjy65ixfr8nfs59n0bmgj0jxfyydmhjs8h3apr9f29lbh4"; }) + (fetchNuGet { pname = "SkiaSharp"; version = "2.88.1"; sha256 = "0jpn0x1rfj3dzjfg972icml5swvzvr368nip269qq0a2z4xy0lhx"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.1"; sha256 = "19f8f0m3d6xds2dggazafdk4i3injaxpx7ahg73nq8zj03qbg7fp"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.1"; sha256 = "1img6chwxprz6bqjyi43walgb3xccnzgfxs29xwcvkkmc8w6pvdp"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.WebAssembly"; version = "2.88.1"; sha256 = "0bvpwfdji8wb5f16hfzc62k265p21r172dqpibdx1gjd6w6phxrs"; }) + (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.1"; sha256 = "1x0ds2nnbqn44kfrfbvj055nihhmzlqm5fhdka3mgbj821fpy629"; }) + (fetchNuGet { pname = "Splat"; version = "14.4.1"; sha256 = "03ycyjn2ii44npi015p4rk344xnjgdzz02cf63cmhx2ab8hv6p4b"; }) + (fetchNuGet { pname = "StrongInject"; version = "1.4.5-ci-20220524-023137"; sha256 = "1ksiv5rs22j193sxwjvdc4vhblikka9z8hhs705f4mi1r4q0x1ha"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) - (fetchNuGet { pname = "System.Drawing.Common"; version = "4.5.0"; sha256 = "0knqa0zsm91nfr34br8gx5kjqq4v81zdhqkacvs2hzc8nqk0ddhc"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; }) + (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) + (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) (fetchNuGet { pname = "System.Private.Uri"; version = "4.0.1"; sha256 = "0k57qhawjysm4cpbfpc49kl4av7lji310kjcamkl23bwgij5ld9j"; }) (fetchNuGet { pname = "System.Reactive"; version = "5.0.0"; sha256 = "1lafmpnadhiwxyd543kraxa3jfdpm6ipblxrjlibym9b1ykpr5ik"; }) (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; }) (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) + (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.6.0"; sha256 = "0xmzi2gpbmgyfr75p24rqqsba3cmrqgmcv45lsqp5amgrdwd0f0m"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) (fetchNuGet { pname = "System.ValueTuple"; version = "4.5.0"; sha256 = "00k8ja51d0f9wrq4vv5z2jhq8hy31kac2rg0rv06prylcybzl8cy"; }) - (fetchNuGet { pname = "ThisAssembly.AssemblyInfo"; version = "1.0.9"; sha256 = "0rvav885cq7ia5kzwp7d37c2azsg47988z2fn6ksi1q6y294crxm"; }) - (fetchNuGet { pname = "ThisAssembly.Prerequisites"; version = "1.0.9"; sha256 = "1igi76li4c1iif71141jhn7x5w0ng1vmqj5ijjhdxz289n6wjf2g"; }) + (fetchNuGet { pname = "ThisAssembly.AssemblyInfo"; version = "1.0.10"; sha256 = "1hvq0c9d6zmn1q6lyvz4hcaiypf1d65akhx70mv2plysbgvrcm95"; }) + (fetchNuGet { pname = "ThisAssembly.Prerequisites"; version = "1.0.10"; sha256 = "112grp0xxkzfkhyxb1hbh4qs2d9qrkasv42himdkqjk0i0fg1ag0"; }) (fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; }) - (fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.3.4"; sha256 = "0w1bz5sr6y5fhgx1f54xyl8rx7y3kyf1fhacnd6akq8970zjdkdi"; }) + (fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.5.1"; sha256 = "11sld5a9z2rdglkykvylghka7y37ny18naywpgpxp485m9bc63wc"; }) ] From dfd79a513be31733a7082af89246e4bba08fbd9b Mon Sep 17 00:00:00 2001 From: figsoda Date: Sat, 17 Dec 2022 15:05:29 -0500 Subject: [PATCH 272/280] star-history: 1.0.5 -> 1.0.6 --- pkgs/tools/misc/star-history/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/star-history/default.nix b/pkgs/tools/misc/star-history/default.nix index 7ab75b1bcb8e..76cd06d46c61 100644 --- a/pkgs/tools/misc/star-history/default.nix +++ b/pkgs/tools/misc/star-history/default.nix @@ -9,14 +9,14 @@ rustPlatform.buildRustPackage rec { pname = "star-history"; - version = "1.0.5"; + version = "1.0.6"; src = fetchCrate { inherit pname version; - sha256 = "sha256-fmuCmyqw7wubMafkhqL1MltW6jZefgXdnudxdeBRSV4="; + sha256 = "sha256-NPlfgnLji261w/QedCkZ+IgfJMiG2aGjVfqJYpBPm6I="; }; - cargoSha256 = "sha256-+wHOBjBQyMuooDey4Py8xmgW3NNI8t8rCwA8A7D6L84="; + cargoSha256 = "sha256-NBegNCNjhI0XuvxeqiI1RD7nIM9MabhXxZBnSEZrsD4="; nativeBuildInputs = [ pkg-config ]; From fd413df665f6626a5ef1c2e3ce4fe37a791fac5d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 20:06:46 +0000 Subject: [PATCH 273/280] nanomq: 0.14.5 -> 0.14.8 --- pkgs/servers/mqtt/nanomq/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/mqtt/nanomq/default.nix b/pkgs/servers/mqtt/nanomq/default.nix index 8587152fc578..fcb26a4b6e8e 100644 --- a/pkgs/servers/mqtt/nanomq/default.nix +++ b/pkgs/servers/mqtt/nanomq/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "nanomq"; - version = "0.14.5"; + version = "0.14.8"; src = fetchFromGitHub { owner = "emqx"; repo = "nanomq"; rev = finalAttrs.version; - hash = "sha256-VbVeePacHrE79qV74rGv70G4Hj6O8nK4XCZ3xKbxuQU="; + hash = "sha256-rWLsH01XHtN/UlyOiMFI2UECuxodCkCVR/L72HIfNtY="; fetchSubmodules = true; }; From 963af96386d54297406995a23d0ad67ea75a8a22 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 20:21:31 +0000 Subject: [PATCH 274/280] netbird: 0.11.5 -> 0.11.6 --- pkgs/tools/networking/netbird/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/tools/networking/netbird/default.nix index 5baa8b2ed194..cc05f5381706 100644 --- a/pkgs/tools/networking/netbird/default.nix +++ b/pkgs/tools/networking/netbird/default.nix @@ -14,13 +14,13 @@ let in buildGoModule rec { pname = "netbird"; - version = "0.11.5"; + version = "0.11.6"; src = fetchFromGitHub { owner = "netbirdio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-MW0RAhBgragzRR+St6jy5GmiNdD+WDsmM/q7AIlO72w="; + sha256 = "sha256-q86GVCRppBU9qiCch0sjTnSsjl17xU5l3o72cBF3zZo="; }; vendorSha256 = "sha256-TfHBvcG3e+yjifPVo0ZgcvLvD16fni4m71nCr4cCBD4="; From 44a3bccab9071f62b9d6c451d9e8f4ba2c249d2c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 17 Dec 2022 20:34:27 +0000 Subject: [PATCH 275/280] nickel: 0.3.0 -> 0.3.1 --- pkgs/development/interpreters/nickel/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/nickel/default.nix b/pkgs/development/interpreters/nickel/default.nix index 00fd78bdd0c4..714e9a3f9819 100644 --- a/pkgs/development/interpreters/nickel/default.nix +++ b/pkgs/development/interpreters/nickel/default.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "nickel"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "tweag"; repo = pname; rev = "refs/tags/${version}"; # because pure ${version} doesn't work - hash = "sha256-L2MQ0dS9mZ+SOFoS/rclPtEl3/iFyEKn6Bse/ysHyKo="; + hash = "sha256-bUUQP7ze0j8d+VEckexDOferAgAHdKZbdKR3q0TNOeE="; }; - cargoSha256 = "sha256-3ucWGmylRatJOl8zktSRMXr5p6L+5+LQV6ALJTtQpiA="; + cargoSha256 = "sha256-E8eIUASjCIVsZhptbU41VfK8bFmA4FTT3LVagLrgUso="; meta = with lib; { homepage = "https://nickel-lang.org/"; From 03cfc40031dfda7c73779048beaf3c446bfc8fdb Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Sat, 17 Dec 2022 13:03:56 -0800 Subject: [PATCH 276/280] mdbook-katex: 0.2.17 -> 0.2.21 --- pkgs/tools/text/mdbook-katex/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/mdbook-katex/default.nix b/pkgs/tools/text/mdbook-katex/default.nix index 6d80babb2f95..c269287ff8db 100644 --- a/pkgs/tools/text/mdbook-katex/default.nix +++ b/pkgs/tools/text/mdbook-katex/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "mdbook-katex"; - version = "0.2.17"; + version = "0.2.21"; src = fetchCrate { inherit pname version; - sha256 = "sha256-rJzZVZn8CJOIcSVLCLv6tWox0MRdxNBMUKo1fij1ogc="; + hash = "sha256-cJRO/HHxujSL5YTM4e+HMRsItlEe1OYn8rSqnwcqbgU="; }; - cargoHash = "sha256-aSFXTeP5wDshdrrJ+eJCTmLuTlxCuM+5irUr0iW4tAY="; + cargoHash = "sha256-FPoSye+wD/MPR5fCrQ212W4iYoJLWOFXgeStcg0GEHw="; OPENSSL_DIR = "${lib.getDev openssl}"; OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib"; From 2132ffcb74376b2969464ce30f42593b394d2599 Mon Sep 17 00:00:00 2001 From: happysalada Date: Sat, 17 Dec 2022 13:01:35 -0500 Subject: [PATCH 277/280] erigon: add update script to derivation --- pkgs/applications/blockchains/erigon/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/blockchains/erigon/default.nix b/pkgs/applications/blockchains/erigon/default.nix index f4e5b1de652c..5e1d0db82796 100644 --- a/pkgs/applications/blockchains/erigon/default.nix +++ b/pkgs/applications/blockchains/erigon/default.nix @@ -29,6 +29,8 @@ buildGoModule rec { "cmd/rlpdump" ]; + passthru.updateScript = ./update.sh; + meta = with lib; { homepage = "https://github.com/ledgerwatch/erigon/"; description = "Ethereum node implementation focused on scalability and modularity"; From 4e371517033d31305a50509004bd3a7003a26afe Mon Sep 17 00:00:00 2001 From: happysalada Date: Sat, 17 Dec 2022 13:11:33 -0500 Subject: [PATCH 278/280] mimir: 2.4.0 -> 2.5.0 --- pkgs/servers/monitoring/mimir/default.nix | 14 +++++++++---- pkgs/servers/monitoring/mimir/pin.json | 4 ++++ pkgs/servers/monitoring/mimir/update.sh | 25 +++++++++++++++++++++++ 3 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 pkgs/servers/monitoring/mimir/pin.json create mode 100755 pkgs/servers/monitoring/mimir/update.sh diff --git a/pkgs/servers/monitoring/mimir/default.nix b/pkgs/servers/monitoring/mimir/default.nix index 0c2b44c63a90..e0be7b8ec68e 100644 --- a/pkgs/servers/monitoring/mimir/default.nix +++ b/pkgs/servers/monitoring/mimir/default.nix @@ -1,13 +1,16 @@ { lib, buildGoModule, fetchFromGitHub, nixosTests }: +let + pinData = lib.importJSON ./pin.json; +in buildGoModule rec { pname = "mimir"; - version = "2.4.0"; + version = pinData.version; src = fetchFromGitHub { rev = "${pname}-${version}"; owner = "grafana"; repo = pname; - sha256 = "sha256-OpQxVp4Q2+r3Tqrqw3SrBsJDU5KJqChxsuYneT0PvYQ="; + sha256 = pinData.sha256; }; vendorSha256 = null; @@ -17,8 +20,11 @@ buildGoModule rec { "cmd/mimirtool" ]; - passthru.tests = { - inherit (nixosTests) mimir; + passthru = { + updateScript = ./update.sh; + tests = { + inherit (nixosTests) mimir; + }; }; ldflags = let t = "github.com/grafana/mimir/pkg/util/version"; diff --git a/pkgs/servers/monitoring/mimir/pin.json b/pkgs/servers/monitoring/mimir/pin.json new file mode 100644 index 000000000000..52e041745783 --- /dev/null +++ b/pkgs/servers/monitoring/mimir/pin.json @@ -0,0 +1,4 @@ +{ + "version": "mimir-2.5.0", + "sha256": "sha256-lyF7ugnNEJug1Vx24ISrtENk6RoIt7H1zaCPYUZbBmM=" +} diff --git a/pkgs/servers/monitoring/mimir/update.sh b/pkgs/servers/monitoring/mimir/update.sh new file mode 100755 index 000000000000..242767c2ecb2 --- /dev/null +++ b/pkgs/servers/monitoring/mimir/update.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i oil -p jq sd nix-prefetch-github ripgrep + +# TODO set to `verbose` or `extdebug` once implemented in oil +shopt --set xtrace +# we need failures inside of command subs to get the correct vendorSha256 +shopt --unset inherit_errexit + +const directory = $(dirname $0 | xargs realpath) +const owner = "grafana" +const repo = "mimir" +const latest_rev = $(curl -q https://api.github.com/repos/${owner}/${repo}/releases/latest | \ + jq -r '.tag_name') +const latest_version = $(echo $latest_rev | sd 'v' '') +const current_version = $(jq -r '.version' $directory/pin.json) +if ("$latest_version" === "$current_version") { + echo "$repo is already up-to-date" + return 0 +} else { + const tarball_meta = $(nix-prefetch-github $owner $repo --rev "$latest_rev") + const tarball_hash = "sha256-$(echo $tarball_meta | jq -r '.sha256')" + + jq ".version = \"$latest_version\" | \ + .\"sha256\" = \"$tarball_hash\"" $directory/pin.json | sponge $directory/pin.json +} From 88984cfeee5bad9175e86113c3357398017d1c29 Mon Sep 17 00:00:00 2001 From: happysalada Date: Sat, 17 Dec 2022 13:16:34 -0500 Subject: [PATCH 279/280] vector: add update script to derivation --- pkgs/servers/monitoring/mimir/default.nix | 2 +- pkgs/tools/misc/vector/default.nix | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/mimir/default.nix b/pkgs/servers/monitoring/mimir/default.nix index e0be7b8ec68e..bb7153a301a1 100644 --- a/pkgs/servers/monitoring/mimir/default.nix +++ b/pkgs/servers/monitoring/mimir/default.nix @@ -1,5 +1,5 @@ { lib, buildGoModule, fetchFromGitHub, nixosTests }: -let +let pinData = lib.importJSON ./pin.json; in buildGoModule rec { diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix index 7f274a0886e3..e5186c17b20e 100644 --- a/pkgs/tools/misc/vector/default.nix +++ b/pkgs/tools/misc/vector/default.nix @@ -103,7 +103,10 @@ rustPlatform.buildRustPackage { ''} ''; - passthru = { inherit features; }; + passthru = { + inherit features; + updateScript = ./update.sh; + }; meta = with lib; { description = "A high-performance logs, metrics, and events router"; From 04a1c0d7add4ebe7a1092b7d22968d26fc0de379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 3 Dec 2022 02:52:34 +0100 Subject: [PATCH 280/280] treewide: fix quoting of GITHUB_TOKEN in curl --- pkgs/applications/emulators/citra/update.sh | 4 ++-- pkgs/applications/emulators/yuzu/update.sh | 8 ++++---- pkgs/applications/networking/cluster/cmctl/update.sh | 6 +++--- pkgs/applications/networking/cluster/crc/update.sh | 4 ++-- pkgs/applications/networking/cluster/k3s/update.sh | 4 ++-- pkgs/development/interpreters/clojure/babashka.nix | 2 +- pkgs/development/interpreters/clojure/default.nix | 2 +- pkgs/servers/monitoring/uptime-kuma/update.sh | 2 +- pkgs/tools/misc/depotdownloader/update.sh | 2 +- pkgs/tools/virtualization/linode-cli/update.sh | 2 +- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/emulators/citra/update.sh b/pkgs/applications/emulators/citra/update.sh index eec36818fede..6b68e3327a2e 100755 --- a/pkgs/applications/emulators/citra/update.sh +++ b/pkgs/applications/emulators/citra/update.sh @@ -27,7 +27,7 @@ updateNightly() { OLD_NIGHTLY_VERSION="$(getLocalVersion "citra-nightly")" OLD_NIGHTLY_HASH="$(getLocalHash "citra-nightly")" - NEW_NIGHTLY_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + NEW_NIGHTLY_VERSION="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ "https://api.github.com/repos/citra-emu/citra-nightly/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f2)" if [[ "${OLD_NIGHTLY_VERSION}" = "${NEW_NIGHTLY_VERSION}" ]]; then @@ -52,7 +52,7 @@ updateCanary() { OLD_CANARY_VERSION="$(getLocalVersion "citra-canary")" OLD_CANARY_HASH="$(getLocalHash "citra-canary")" - NEW_CANARY_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + NEW_CANARY_VERSION="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ "https://api.github.com/repos/citra-emu/citra-canary/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f1)" if [[ "${OLD_CANARY_VERSION}" = "${NEW_CANARY_VERSION}" ]]; then diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh index 074d5b155fbf..bfabd6a20694 100755 --- a/pkgs/applications/emulators/yuzu/update.sh +++ b/pkgs/applications/emulators/yuzu/update.sh @@ -21,10 +21,10 @@ updateBranch() { oldHash="$(nix eval --raw -f "./default.nix" "$attribute".src.drvAttrs.outputHash)" if [[ "$branch" = "mainline" ]]; then - newVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" \ + newVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" \ | jq -r '.[0].name' | cut -d" " -f2)" elif [[ "$branch" = "early-access" ]]; then - newVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=2" \ + newVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=2" \ | jq -r '.[].tag_name' | grep '^EA-[0-9]*' | head -n1 | cut -d"-" -f2 | cut -d" " -f1)" fi @@ -50,13 +50,13 @@ updateBranch() { updateCompatibilityList() { local latestRevision oldUrl newUrl oldHash newHash oldDate newDate - latestRevision="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/master" | jq -r '.sha')" + latestRevision="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/master" | jq -r '.sha')" oldUrl="$(sed -n '/yuzu-compat-list/,/url/p' "$DEFAULT_NIX" | tail -n1 | cut -d'"' -f2)" newUrl="https://raw.githubusercontent.com/flathub/org.yuzu_emu.yuzu/${latestRevision}/compatibility_list.json" oldDate="$(sed -n '/last updated.*/p' "$DEFAULT_NIX" | rev | cut -d' ' -f1 | rev)" - newDate="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/${latestRevision}" \ + newDate="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/flathub/org.yuzu_emu.yuzu/commits/${latestRevision}" \ | jq -r '.commit.committer.date' | cut -d'T' -f1)" oldHash="$(sed -n '/yuzu-compat-list/,/sha256/p' "$DEFAULT_NIX" | tail -n1 | cut -d'"' -f2)" diff --git a/pkgs/applications/networking/cluster/cmctl/update.sh b/pkgs/applications/networking/cluster/cmctl/update.sh index 70b088a6880a..16a20edb577b 100755 --- a/pkgs/applications/networking/cluster/cmctl/update.sh +++ b/pkgs/applications/networking/cluster/cmctl/update.sh @@ -7,13 +7,13 @@ NIXPKGS_PATH="$(git rev-parse --show-toplevel)" CMCTL_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" OLD_VERSION="$(nix-instantiate --eval -E "with import $NIXPKGS_PATH {}; cmctl.version or (builtins.parseDrvName cmctl.name).version" | tr -d '"')" -LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/releases" | jq '.[].tag_name' --raw-output | sed '/-/d' | sort --version-sort -r | head -n 1)" +LATEST_TAG="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/releases" | jq '.[].tag_name' --raw-output | sed '/-/d' | sort --version-sort -r | head -n 1)" LATEST_VERSION="${LATEST_TAG:1}" if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/cert-manager/cert-manager/archive/refs/tags/${LATEST_TAG}.tar.gz) - TAG_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/git/ref/tags/${LATEST_TAG}" | jq -r '.object.sha') - TAG_COMMIT_SHA=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/cert-manager/cert-manager/git/tags/${TAG_SHA}" | jq '.object.sha' --raw-output) + TAG_SHA=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/git/ref/tags/${LATEST_TAG}" | jq -r '.object.sha') + TAG_COMMIT_SHA=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/cert-manager/cert-manager/git/tags/${TAG_SHA}" | jq '.object.sha' --raw-output) setKV () { sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${CMCTL_PATH}/default.nix" diff --git a/pkgs/applications/networking/cluster/crc/update.sh b/pkgs/applications/networking/cluster/crc/update.sh index 9d3fcba7d9fd..3ac34c168bac 100755 --- a/pkgs/applications/networking/cluster/crc/update.sh +++ b/pkgs/applications/networking/cluster/crc/update.sh @@ -13,7 +13,7 @@ NIXPKGS_CRC_FOLDER=$( cd ${NIXPKGS_CRC_FOLDER} LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json -curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/code-ready/crc/releases >${LATEST_TAG_RAWFILE} LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | @@ -21,7 +21,7 @@ LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | CRC_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//') -CRC_COMMIT=$(curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +CRC_COMMIT=$(curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/code-ready/crc/tags | jq -r "map(select(.name == \"${LATEST_TAG_NAME}\")) | .[0] | .commit.sha") diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh index ac46e7ae51e5..913be71d0dee 100755 --- a/pkgs/applications/networking/cluster/k3s/update.sh +++ b/pkgs/applications/networking/cluster/k3s/update.sh @@ -11,7 +11,7 @@ NIXPKGS_K3S_PATH=$(cd $(dirname ${BASH_SOURCE[0]}); pwd -P)/ cd ${NIXPKGS_K3S_PATH} LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json -curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/k3s-io/k3s/releases > ${LATEST_TAG_RAWFILE} LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | \ @@ -19,7 +19,7 @@ LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} | \ K3S_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//') -K3S_COMMIT=$(curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +K3S_COMMIT=$(curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ https://api.github.com/repos/k3s-io/k3s/tags \ | jq -r "map(select(.name == \"${LATEST_TAG_NAME}\")) | .[0] | .commit.sha") diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix index 1a1f40e3f9f6..be9ddd9d0b6e 100644 --- a/pkgs/development/interpreters/clojure/babashka.nix +++ b/pkgs/development/interpreters/clojure/babashka.nix @@ -30,7 +30,7 @@ buildGraalvmNativeImage rec { set -euo pipefail readonly latest_version="$(curl \ - ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -s "https://api.github.com/repos/babashka/babashka/releases/latest" \ | jq -r '.tag_name')" diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix index 406c5bc15ab5..95b7d611fa94 100644 --- a/pkgs/development/interpreters/clojure/default.nix +++ b/pkgs/development/interpreters/clojure/default.nix @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { # `jq -r '.[0].name'` results in `v0.0` readonly latest_version="$(curl \ - ''${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ + ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -s "https://api.github.com/repos/clojure/brew-install/tags" \ | jq -r '.[1].name')" diff --git a/pkgs/servers/monitoring/uptime-kuma/update.sh b/pkgs/servers/monitoring/uptime-kuma/update.sh index 84d05639ae23..0eaa47fd11cb 100644 --- a/pkgs/servers/monitoring/uptime-kuma/update.sh +++ b/pkgs/servers/monitoring/uptime-kuma/update.sh @@ -3,7 +3,7 @@ set -euo pipefail -latestVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/louislam/uptime-kuma/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')" +latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/louislam/uptime-kuma/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')" currentVersion=$(nix-instantiate --eval -E "with import ./. {}; uptime-kuma.version or (lib.getVersion uptime-kuma)" | tr -d '"') if [[ "$currentVersion" == "$latestVersion" ]]; then diff --git a/pkgs/tools/misc/depotdownloader/update.sh b/pkgs/tools/misc/depotdownloader/update.sh index 44b6200c4c5d..9e6efdfceaa5 100755 --- a/pkgs/tools/misc/depotdownloader/update.sh +++ b/pkgs/tools/misc/depotdownloader/update.sh @@ -5,7 +5,7 @@ set -eou pipefail depsFile="$(realpath "$(dirname "${BASH_SOURCE[0]}")/deps.nix")" currentVersion="$(nix eval --raw -f . depotdownloader.version)" -latestVersion="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/SteamRE/DepotDownloader/releases?per_page=1" \ +latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/SteamRE/DepotDownloader/releases?per_page=1" \ | jq -r '.[].name' | cut -d' ' -f2)" if [[ "$currentVersion" = "$latestVersion" ]]; then diff --git a/pkgs/tools/virtualization/linode-cli/update.sh b/pkgs/tools/virtualization/linode-cli/update.sh index dd37e41c5373..f232dd1e03b0 100755 --- a/pkgs/tools/virtualization/linode-cli/update.sh +++ b/pkgs/tools/virtualization/linode-cli/update.sh @@ -9,7 +9,7 @@ SPEC_VERSION=$(curl -s https://www.linode.com/docs/api/openapi.yaml | yq eval '. SPEC_SHA256=$(nix-prefetch-url --quiet https://raw.githubusercontent.com/linode/linode-api-docs/v${SPEC_VERSION}/openapi.yaml) -VERSION=$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ +VERSION=$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ -H "Accept: application/vnd.github.v3+json" \ "https://api.github.com/repos/linode/linode-cli/tags" \ | jq 'map(.name)' \