From 73f6ce62ec98ebae1eb08df039886c041b780b85 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 6 Oct 2023 16:55:35 +0200 Subject: [PATCH 01/83] persistent-cache-cpp: init at 1.0.5 --- .../pe/persistent-cache-cpp/package.nix | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 pkgs/by-name/pe/persistent-cache-cpp/package.nix diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix new file mode 100644 index 000000000000..7461ced7f913 --- /dev/null +++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix @@ -0,0 +1,103 @@ +{ stdenv +, lib +, fetchFromGitLab +, fetchpatch +, gitUpdater +, testers +, boost +, cmake +, doxygen +, gtest +, leveldb +, lomiri +, pkg-config +, python3 +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "persistent-cache-cpp"; + version = "1.0.5"; + + src = fetchFromGitLab { + owner = "ubports"; + repo = "development/core/lib-cpp/persistent-cache-cpp"; + rev = finalAttrs.version; + hash = "sha256-MOH8ardiTliTKrtRQ5eFRhbRtnC0Yq20WJYoo1tAn3E="; + }; + + patches = [ + # Fix build on GCC 12 + # Remove when version > 1.0.5 + (fetchpatch { + url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/3ed84ee1d32a27d183de2cb5f9feffc3f48fd9a1.patch"; + hash = "sha256-aNZ6KVHAsLVYlAcPNNkjUlOPRDZxzN5tzk4/1KuVaSY="; + }) + # Fix build on current Boost + # Remove when version > 1.0.5 + (fetchpatch { + url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/a590ffcccec252caa7b19a2922c678502069b057.patch"; + hash = "sha256-OhlsnUVhclt17brkncYkJ0+lXrJO671mtwopaAGPrtY="; + }) + ]; + + postPatch = '' + # Wrong concatenation + substituteInPlace data/libpersistent-cache-cpp.pc.in \ + --replace "\''${prefix}/@CMAKE_INSTALL_LIBDIR@" "\''${prefix}/lib" + + # Runs in parallel to other tests, limit to 1 thread + substituteInPlace tests/headers/compile_headers.py \ + --replace 'multiprocessing.cpu_count()' '1' + '' + (if finalAttrs.doCheck then '' + patchShebangs tests/{headers,whitespace}/*.py + '' else '' + sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt + ''); + + nativeBuildInputs = [ + cmake + doxygen + pkg-config + ]; + + buildInputs = [ + boost + lomiri.cmake-extras + leveldb + ]; + + nativeCheckInputs = [ + python3 + ]; + + checkInputs = [ + gtest + ]; + + cmakeFlags = [ + # error: 'old_version' may be used uninitialized + "-DWerror=OFF" + ]; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + passthru = { + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + updateScript = gitUpdater { }; + }; + + meta = with lib; { + description = "Cache of key-value pairs with persistent storage for C++ 11"; + longDescription = '' + A persistent cache for arbitrary (possibly large amount of data, such as + image files) that is fast, scalable, and crash-proof. + ''; + homepage = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp"; + license = licenses.lgpl3Only; + maintainers = teams.lomiri.members; + platforms = platforms.unix; + pkgConfigModules = [ + "libpersistent-cache-cpp" + ]; + }; +}) From b89bf6f9f201868b405ef86ef22beed81b1a7bb0 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 6 Oct 2023 21:10:48 +0200 Subject: [PATCH 02/83] persistent-cache-cpp: Add patch to fix on Darwin --- ...-cpp-Lenient-exception-test-matching.patch | 41 +++++++++++++++++++ .../pe/persistent-cache-cpp/package.nix | 6 +++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch diff --git a/pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch b/pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch new file mode 100644 index 000000000000..40d1cb6bf49e --- /dev/null +++ b/pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch @@ -0,0 +1,41 @@ +From 74265493be3a4826199329d4e6ff8fc49a33850f Mon Sep 17 00:00:00 2001 +From: Puna2608 +Date: Fri, 6 Oct 2023 21:06:13 +0200 +Subject: [PATCH] persistent-cache-cpp: Lenient exception test matching + +PersistentStringCacheImpl::exceptions attempts to very precisely match a returned std::system_error exception text to an expectation. +On LLVM's libcxx, the message returned from it doesn't match the expectation. + +This patch changes the matching to only care about the part that doesn't depend on such an implementation detail. +--- + .../persistent_string_cache_impl_test.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp b/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp +index f3eee59..fedd466 100644 +--- a/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp ++++ b/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp +@@ -24,6 +24,7 @@ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" + #include ++#include + #pragma GCC diagnostic pop + + #include +@@ -1295,9 +1296,9 @@ TEST(PersistentStringCacheImpl, exceptions) + } + catch (system_error const& e) + { +- EXPECT_EQ("PersistentStringCache: check_version(): bad version: \"nan\" (cache_path: " + TEST_DB + +- "): Unknown error 666", +- e.what()); ++ EXPECT_THAT( ++ e.what(), ++ ::testing::StartsWith("PersistentStringCache: check_version(): bad version: \"nan\" (cache_path: " + TEST_DB + "): ")); + } + } + +-- +2.40.1 + diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix index 7461ced7f913..176ee80d6892 100644 --- a/pkgs/by-name/pe/persistent-cache-cpp/package.nix +++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix @@ -32,12 +32,18 @@ stdenv.mkDerivation (finalAttrs: { url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/3ed84ee1d32a27d183de2cb5f9feffc3f48fd9a1.patch"; hash = "sha256-aNZ6KVHAsLVYlAcPNNkjUlOPRDZxzN5tzk4/1KuVaSY="; }) + # Fix build on current Boost # Remove when version > 1.0.5 (fetchpatch { url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/a590ffcccec252caa7b19a2922c678502069b057.patch"; hash = "sha256-OhlsnUVhclt17brkncYkJ0+lXrJO671mtwopaAGPrtY="; }) + + # PersistentStringCacheImpl.exceptions test fails on LLVM's libcxx, it depends on std::system_error producing a very specific exception text + # Expects "Unknown error 666", gets "unspecified generic_category error" + # https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/blob/1.0.5/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp?ref_type=tags#L1298 + ./0001-persistent-cache-cpp-Lenient-exception-test-matching.patch ]; postPatch = '' From 3ddfc8671c4a16ec095eb4fa7017631b30afc747 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 6 Oct 2023 21:22:21 +0200 Subject: [PATCH 03/83] persistent-cache-cpp: Propagate leveldb libpersistent-cache-cpp is a static library that still needs to be linked with leveldb. Propagating this dependency is easier than trying & failing to link. --- pkgs/by-name/pe/persistent-cache-cpp/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix index 176ee80d6892..168f9656bdcb 100644 --- a/pkgs/by-name/pe/persistent-cache-cpp/package.nix +++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix @@ -69,6 +69,9 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost lomiri.cmake-extras + ]; + + propagatedBuildInputs = [ leveldb ]; From 4a219c8aebf8275118981db856355f88aaa84bca Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Sun, 10 Dec 2023 10:57:50 -0800 Subject: [PATCH 04/83] nut: patch nutshutdown to set a default for NUT_CONFPATH The way we build the package results in the binaries being hardcoded to look for $out/etc/ups.conf instead of /etc/nut/ups.conf (where the module places the file). This results in `upsdrvctl` failing to dispatch shutdown commands (since it cannot find the configuration) and prevents a primary monitor from cutting power to the appropriate UPS. Note that we cannot use `--sysconfdir=/etc/nut` as a configure flag since that results in the install phase trying to install directly into /etc/nut which predictably fails in the sandbox. --- pkgs/applications/misc/nut/default.nix | 7 +++++++ .../misc/nut/nutshutdown-conf-default.patch | 10 ++++++++++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/applications/misc/nut/nutshutdown-conf-default.patch diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index 5596fc6010ec..9436b14e5138 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -30,6 +30,13 @@ stdenv.mkDerivation rec { }; patches = [ + # This patch injects a default value for NUT_CONFPATH into the nutshutdown script + # since the way we build the package results in the binaries being hardcoded to check + # $out/etc/ups.conf instead of /etc/nut/ups.conf (where the module places the file). + # We also cannot use `--sysconfdir=/etc/nut` since that results in the install phase + # trying to install directly into /etc/nut which predictably fails + ./nutshutdown-conf-default.patch + (substituteAll { src = ./hardcode-paths.patch; avahi = "${avahi}/lib"; diff --git a/pkgs/applications/misc/nut/nutshutdown-conf-default.patch b/pkgs/applications/misc/nut/nutshutdown-conf-default.patch new file mode 100644 index 000000000000..28e5a286126d --- /dev/null +++ b/pkgs/applications/misc/nut/nutshutdown-conf-default.patch @@ -0,0 +1,10 @@ +diff --git a/scripts/systemd/nutshutdown.in b/scripts/systemd/nutshutdown.in +index ace2485b3..9dee869bb 100755 +--- a/scripts/systemd/nutshutdown.in ++++ b/scripts/systemd/nutshutdown.in +@@ -1,4 +1,5 @@ + #!/bin/sh ++export NUT_CONFPATH="${NUT_CONFPATH-/etc/nut}" + + # This script requires both nut-server (drivers) + # and nut-client (upsmon) to be present locally From 7d9956755e5a31d4718c949fabe786caf538fc50 Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Sun, 10 Dec 2023 11:05:18 -0800 Subject: [PATCH 05/83] nut: fix systemd unit patching The NixOS module will create a file in /etc/nut/nut.conf (not in /etc/nut.conf) so the systemd units should be patched accordingly. --- pkgs/applications/misc/nut/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index 9436b14e5138..85fe7afdaaf2 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -18,6 +18,7 @@ , substituteAll , systemd , udev +, gnused }: stdenv.mkDerivation rec { @@ -70,14 +71,18 @@ stdenv.mkDerivation rec { postInstall = '' substituteInPlace $out/lib/systemd/system-shutdown/nutshutdown \ + --replace /bin/sed "${gnused}/bin/sed" \ --replace /bin/sleep "${coreutils}/bin/sleep" \ --replace /bin/systemctl "${systemd}/bin/systemctl" for file in system/{nut-monitor.service,nut-driver-enumerator.service,nut-server.service,nut-driver@.service} system-shutdown/nutshutdown; do - substituteInPlace $out/lib/systemd/$file \ - --replace "$out/etc/nut.conf" "/etc/nut.conf" + substituteInPlace $out/lib/systemd/$file \ + --replace "$out/etc/nut.conf" "/etc/nut/nut.conf" done + substituteInPlace $out/lib/systemd/system/nut-driver-enumerator.path \ + --replace "$out/etc/ups.conf" "/etc/nut/ups.conf" + # we don't need init.d scripts rm -r $out/share/solaris-init ''; From fc004b09e5fbe0affdf4cf7c12cc856dcf214849 Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Sun, 10 Dec 2023 11:23:37 -0800 Subject: [PATCH 06/83] nixos/ups: install udev rules for nut This is necessary to allow the usbhid driver to successfully send commands to the attached UPS. It is possible to work around this by explicitly using setting the user flag (e.g. `upsdrvctl -u root shutdown`), though it is much simpler to install the udev rules rather than patch things further. --- nixos/modules/services/monitoring/ups.nix | 1 + pkgs/applications/misc/nut/default.nix | 3 +++ 2 files changed, 4 insertions(+) diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix index c9dda8a8c093..63afb5deb5bd 100644 --- a/nixos/modules/services/monitoring/ups.nix +++ b/nixos/modules/services/monitoring/ups.nix @@ -590,6 +590,7 @@ in "d /var/lib/nut 700" ]; + services.udev.packages = [ pkgs.nut ]; /* users.users.nut = diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index 85fe7afdaaf2..2f3be342a7a8 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -85,6 +85,9 @@ stdenv.mkDerivation rec { # we don't need init.d scripts rm -r $out/share/solaris-init + + # Suspicious/overly broad rule, remove it until we know better + rm $out/etc/udev/rules.d/52-nut-ipmipsu.rules ''; meta = with lib; { From 0e27b4d33fb3e373f0ff2fd957d4784591d35874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20=C5=BDlender?= Date: Tue, 12 Dec 2023 18:26:10 +0100 Subject: [PATCH 07/83] redocly-cli: fix build-docs command --- pkgs/by-name/re/redocly-cli/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/re/redocly-cli/package.nix b/pkgs/by-name/re/redocly-cli/package.nix index 18d853c58da9..d22b09b53a41 100644 --- a/pkgs/by-name/re/redocly-cli/package.nix +++ b/pkgs/by-name/re/redocly-cli/package.nix @@ -21,6 +21,10 @@ buildNpmPackage rec { nativeBuildInputs = [ makeWrapper ]; + postBuild = '' + npm --prefix packages/cli run copy-assets + ''; + postInstall = '' rm $out/lib/node_modules/@redocly/cli/node_modules/@redocly/{cli,openapi-core} cp -R packages/cli $out/lib/node_modules/@redocly/cli/node_modules/@redocly/cli From 7aa133e3ca804e6115862f9813b22c766c28c790 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 13 Dec 2023 05:04:05 +0000 Subject: [PATCH 08/83] asn: 0.75 -> 0.75.2 --- pkgs/applications/networking/asn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/asn/default.nix b/pkgs/applications/networking/asn/default.nix index e81931c619b3..694976f543c3 100644 --- a/pkgs/applications/networking/asn/default.nix +++ b/pkgs/applications/networking/asn/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "asn"; - version = "0.75"; + version = "0.75.2"; src = fetchFromGitHub { owner = "nitefood"; repo = "asn"; rev = "refs/tags/v${version}"; - hash = "sha256-XqP0Nx5pfYtM1xXxEDGooONj7nQ9UngJ9/AOZefnPV8="; + hash = "sha256-G8TDl9R5nbUzmjcr1m+eNNybSDqb64c7ZOO/viL5/Q4="; }; nativeBuildInputs = [ From c618d890bc9008aabff97d8b7882efd28c9fa237 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 15 Dec 2023 04:20:42 +0000 Subject: [PATCH 09/83] gatk: 4.4.0.0 -> 4.5.0.0 --- pkgs/applications/science/biology/gatk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/gatk/default.nix b/pkgs/applications/science/biology/gatk/default.nix index 43e5382b5d50..9884e3a77111 100644 --- a/pkgs/applications/science/biology/gatk/default.nix +++ b/pkgs/applications/science/biology/gatk/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "gatk"; - version = "4.4.0.0"; + version = "4.5.0.0"; src = fetchzip { url = "https://github.com/broadinstitute/gatk/releases/download/${version}/gatk-${version}.zip"; - sha256 = "sha256-svOtIS6gz9nwVgVmVQbk9z6Ufyobpn6bFbZY4zurvUI="; + sha256 = "sha256-c3YZsSCjZY75jooiqtc8x/xsWTvYm9labUcOydDlSRQ="; }; nativeBuildInputs = [ makeWrapper ]; From 36bf6afd42e755bf51ce9678ce2710e1b1d68f99 Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Fri, 7 Apr 2023 18:15:01 -0700 Subject: [PATCH 10/83] julia.withPackages: init on supported Julias (1.6, 1.8, 1.9) Be able to build arbitrary Julia environments in Nixpkgs, in the same style as python.withPackages. --- pkgs/development/compilers/julia/default.nix | 20 ++ pkgs/development/julia-modules/default.nix | 193 ++++++++++++++++++ pkgs/development/julia-modules/depot.nix | 85 ++++++++ pkgs/development/julia-modules/extra-libs.nix | 15 ++ .../julia-modules/extra-python-packages.nix | 22 ++ .../julia-modules/extract_artifacts.jl | 63 ++++++ .../julia-modules/extract_artifacts_16.jl | 33 +++ .../julia-modules/package-closure.nix | 180 ++++++++++++++++ pkgs/development/julia-modules/python/dag.py | 59 ++++++ .../julia-modules/python/dedup_overrides.py | 14 ++ .../julia-modules/python/extract_artifacts.py | 99 +++++++++ .../python/find_package_implications.py | 24 +++ .../julia-modules/python/format_overrides.py | 22 ++ .../julia-modules/python/minimal_registry.py | 98 +++++++++ .../julia-modules/python/sources_nix.py | 67 ++++++ pkgs/development/julia-modules/python/util.py | 12 ++ pkgs/development/julia-modules/registry.nix | 9 + pkgs/development/julia-modules/util.nix | 45 ++++ pkgs/top-level/all-packages.nix | 14 +- 19 files changed, 1067 insertions(+), 7 deletions(-) create mode 100644 pkgs/development/compilers/julia/default.nix create mode 100644 pkgs/development/julia-modules/default.nix create mode 100644 pkgs/development/julia-modules/depot.nix create mode 100644 pkgs/development/julia-modules/extra-libs.nix create mode 100644 pkgs/development/julia-modules/extra-python-packages.nix create mode 100755 pkgs/development/julia-modules/extract_artifacts.jl create mode 100755 pkgs/development/julia-modules/extract_artifacts_16.jl create mode 100644 pkgs/development/julia-modules/package-closure.nix create mode 100644 pkgs/development/julia-modules/python/dag.py create mode 100755 pkgs/development/julia-modules/python/dedup_overrides.py create mode 100755 pkgs/development/julia-modules/python/extract_artifacts.py create mode 100644 pkgs/development/julia-modules/python/find_package_implications.py create mode 100644 pkgs/development/julia-modules/python/format_overrides.py create mode 100755 pkgs/development/julia-modules/python/minimal_registry.py create mode 100755 pkgs/development/julia-modules/python/sources_nix.py create mode 100644 pkgs/development/julia-modules/python/util.py create mode 100644 pkgs/development/julia-modules/registry.nix create mode 100644 pkgs/development/julia-modules/util.nix diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix new file mode 100644 index 000000000000..d4cd0ab6b83e --- /dev/null +++ b/pkgs/development/compilers/julia/default.nix @@ -0,0 +1,20 @@ +{ callPackage }: + +let + juliaWithPackages = callPackage ../../julia-modules {}; + + wrapJulia = julia: julia.overrideAttrs (oldAttrs: { + passthru = (oldAttrs.passthru or {}) // { + withPackages = juliaWithPackages.override { inherit julia; }; + }; + }); + +in + +{ + julia_16-bin = wrapJulia (callPackage ./1.6-bin.nix {}); + julia_18-bin = wrapJulia (callPackage ./1.8-bin.nix {}); + julia_19-bin = wrapJulia (callPackage ./1.9-bin.nix {}); + julia_18 = wrapJulia (callPackage ./1.8.nix {}); + julia_19 = wrapJulia (callPackage ./1.9.nix {}); +} diff --git a/pkgs/development/julia-modules/default.nix b/pkgs/development/julia-modules/default.nix new file mode 100644 index 000000000000..973a50abe30d --- /dev/null +++ b/pkgs/development/julia-modules/default.nix @@ -0,0 +1,193 @@ +{ lib +, callPackage +, runCommand +, fetchFromGitHub +, fetchgit +, fontconfig +, git +, makeWrapper +, writeText +, writeTextFile +, python3 + +# Artifacts dependencies +, fetchurl +, glibc +, pkgs +, stdenv + +, julia + +# Special registry which is equal to JuliaRegistries/General, but every Versions.toml +# entry is augmented with a Nix sha256 hash +, augmentedRegistry ? callPackage ./registry.nix {} + +# Other overridable arguments +, extraLibs ? [] +, precompile ? true +, setDefaultDepot ? true +, makeWrapperArgs ? "" +, packageOverrides ? {} +, makeTransitiveDependenciesImportable ? false # Used to support symbol indexing +}: + +packageNames: + +let + util = callPackage ./util.nix {}; + +in + +let + # Some Julia packages require access to Python. Provide a Nixpkgs version so it + # doesn't try to install its own. + pythonToUse = let + extraPythonPackages = ((callPackage ./extra-python-packages.nix { inherit python3; }).getExtraPythonPackages packageNames); + in (if extraPythonPackages == [] then python3 + else util.addPackagesToPython python3 (map (pkg: lib.getAttr pkg python3.pkgs) extraPythonPackages)); + + # Start by wrapping Julia so it has access to Python and any other extra libs. + # Also, prevent various packages (CondaPkg.jl, PythonCall.jl) from trying to do network calls. + juliaWrapped = runCommand "julia-${julia.version}-wrapped" { buildInputs = [makeWrapper]; inherit makeWrapperArgs; } '' + mkdir -p $out/bin + makeWrapper ${julia}/bin/julia $out/bin/julia \ + --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath extraLibs}" \ + --set FONTCONFIG_FILE ${fontconfig.out}/etc/fonts/fonts.conf \ + --set PYTHONHOME "${pythonToUse}" \ + --prefix PYTHONPATH : "${pythonToUse}/${pythonToUse.sitePackages}" \ + --set PYTHON ${pythonToUse}/bin/python $makeWrapperArgs \ + --set JULIA_CONDAPKG_OFFLINE yes \ + --set JULIA_CONDAPKG_BACKEND Null \ + --set JULIA_PYTHONCALL_EXE "@PyCall" + ''; + + # If our closure ends up with certain packages, add others. + packageImplications = { + # Because we want to put PythonCall in PyCall mode so it doesn't try to download + # Python packages + PythonCall = ["PyCall"]; + }; + + # Invoke Julia resolution logic to determine the full dependency closure + packageOverridesRepoified = lib.mapAttrs util.repoifySimple packageOverrides; + closureYaml = callPackage ./package-closure.nix { + inherit augmentedRegistry julia packageNames packageImplications; + packageOverrides = packageOverridesRepoified; + }; + + # Generate a Nix file consisting of a map from dependency UUID --> package info with fetchgit call: + # { + # "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" = { + # src = fetchgit {...}; + # name = "..."; + # version = "..."; + # treehash = "..."; + # }; + # ... + # } + dependencies = runCommand "julia-sources.nix" { buildInputs = [(python3.withPackages (ps: with ps; [toml pyyaml])) git]; } '' + python ${./python}/sources_nix.py \ + "${augmentedRegistry}" \ + '${lib.generators.toJSON {} packageOverridesRepoified}' \ + "${closureYaml}" \ + "$out" + ''; + + # Import the Nix file from the previous step (IFD) and turn each dependency repo into + # a dummy Git repository, as Julia expects. Format the results as a YAML map from + # dependency UUID -> Nix store location: + # { + # "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3":"/nix/store/...-NaNMath.jl-0877504", + # ... + # } + # This is also the point where we apply the packageOverrides. + dependencyUuidToInfo = import dependencies { inherit fetchgit; }; + fillInOverrideSrc = uuid: info: + if lib.hasAttr info.name packageOverrides then (info // { src = lib.getAttr info.name packageOverrides; }) else info; + dependencyUuidToRepo = lib.mapAttrs util.repoifyInfo (lib.mapAttrs fillInOverrideSrc dependencyUuidToInfo); + dependencyUuidToRepoYaml = writeTextFile { + name = "dependency-uuid-to-repo.yml"; + text = lib.generators.toYAML {} dependencyUuidToRepo; + }; + + # Given the augmented registry, closure info yaml, and dependency path yaml, construct a complete + # Julia registry containing all the necessary packages + dependencyUuidToInfoYaml = writeTextFile { + name = "dependency-uuid-to-info.yml"; + text = lib.generators.toYAML {} dependencyUuidToInfo; + }; + fillInOverrideSrc' = uuid: info: + if lib.hasAttr info.name packageOverridesRepoified then (info // { src = lib.getAttr info.name packageOverridesRepoified; }) else info; + overridesOnly = lib.mapAttrs fillInOverrideSrc' (lib.filterAttrs (uuid: info: info.src == null) dependencyUuidToInfo); + minimalRegistry = runCommand "minimal-julia-registry" { buildInputs = [(python3.withPackages (ps: with ps; [toml pyyaml])) git]; } '' + python ${./python}/minimal_registry.py \ + "${augmentedRegistry}" \ + "${closureYaml}" \ + '${lib.generators.toJSON {} overridesOnly}' \ + "${dependencyUuidToRepoYaml}" \ + "$out" + ''; + + # Next, deal with artifacts. Scan each artifacts file individually and generate a Nix file that + # produces the desired Overrides.toml. + artifactsNix = runCommand "julia-artifacts.nix" { buildInputs = [(python3.withPackages (ps: with ps; [toml pyyaml]))]; } '' + python ${./python}/extract_artifacts.py \ + "${dependencyUuidToRepoYaml}" \ + "${closureYaml}" \ + "${juliaWrapped}/bin/julia" \ + "${if lib.versionAtLeast julia.version "1.7" then ./extract_artifacts.jl else ./extract_artifacts_16.jl}" \ + '${lib.generators.toJSON {} (import ./extra-libs.nix)}' \ + "$out" + ''; + + # Import the artifacts Nix to build Overrides.toml (IFD) + artifacts = import artifactsNix { inherit lib fetchurl pkgs glibc stdenv; }; + overridesJson = writeTextFile { + name = "Overrides.json"; + text = lib.generators.toJSON {} artifacts; + }; + overridesToml = runCommand "Overrides.toml" { buildInputs = [(python3.withPackages (ps: with ps; [toml]))]; } '' + python ${./python}/format_overrides.py \ + "${overridesJson}" \ + "$out" + ''; + + # Build a Julia project and depot. The project contains Project.toml/Manifest.toml, while the + # depot contains package build products (including the precompiled libraries, if precompile=true) + projectAndDepot = callPackage ./depot.nix { + inherit closureYaml extraLibs overridesToml packageImplications precompile; + julia = juliaWrapped; + registry = minimalRegistry; + packageNames = if makeTransitiveDependenciesImportable + then lib.mapAttrsToList (uuid: info: info.name) dependencyUuidToInfo + else packageNames; + }; + +in + +runCommand "julia-${julia.version}-env" { + buildInputs = [makeWrapper]; + + inherit julia; + inherit juliaWrapped; + + # Expose the steps we used along the way in case the user wants to use them, for example to build + # expressions and build them separately to avoid IFD. + inherit dependencies; + inherit closureYaml; + inherit dependencyUuidToInfoYaml; + inherit dependencyUuidToRepoYaml; + inherit minimalRegistry; + inherit artifactsNix; + inherit overridesJson; + inherit overridesToml; + inherit projectAndDepot; +} ('' + mkdir -p $out/bin + makeWrapper ${juliaWrapped}/bin/julia $out/bin/julia \ + --suffix JULIA_DEPOT_PATH : "${projectAndDepot}/depot" \ + --set-default JULIA_PROJECT "${projectAndDepot}/project" \ + --set-default JULIA_LOAD_PATH '@:${projectAndDepot}/project/Project.toml:@v#.#:@stdlib' +'' + lib.optionalString setDefaultDepot '' + sed -i '2 i\JULIA_DEPOT_PATH=''${JULIA_DEPOT_PATH-"$HOME/.julia"}' $out/bin/julia +'') diff --git a/pkgs/development/julia-modules/depot.nix b/pkgs/development/julia-modules/depot.nix new file mode 100644 index 000000000000..18bac9cb46a6 --- /dev/null +++ b/pkgs/development/julia-modules/depot.nix @@ -0,0 +1,85 @@ +{ lib +, runCommand + +, cacert +, curl +, git +, julia +, python3 + +, closureYaml +, extraLibs +, overridesToml +, packageNames +, packageImplications +, precompile +, registry +}: + +runCommand "julia-depot" { + nativeBuildInputs = [curl git julia (python3.withPackages (ps: with ps; [pyyaml]))] ++ extraLibs; + inherit precompile registry; + } '' + export HOME=$(pwd) + + echo "Building Julia depot and project with the following inputs" + echo "Julia: ${julia}" + echo "Registry: $registry" + echo "Overrides ${overridesToml}" + + mkdir -p $out/project + export JULIA_PROJECT="$out/project" + + mkdir -p $out/depot/artifacts + export JULIA_DEPOT_PATH="$out/depot" + cp ${overridesToml} $out/depot/artifacts/Overrides.toml + + # These can be useful to debug problems + # export JULIA_DEBUG=Pkg + # export JULIA_DEBUG=loading + + export JULIA_SSL_CA_ROOTS_PATH="${cacert}/etc/ssl/certs/ca-bundle.crt" + + # Only precompile if configured to below + export JULIA_PKG_PRECOMPILE_AUTO=0 + + # Prevent a warning where Julia tries to download package server info + export JULIA_PKG_SERVER="" + + # See if we need to add any extra package names based on the closure + # and the packageImplications. We're using the full closure YAML here since + # it's available, which is slightly weird, but it should work just as well + # for finding the extra packages we need to add + python ${./python}/find_package_implications.py "${closureYaml}" '${lib.generators.toJSON {} packageImplications}' extra_package_names.txt + + # git config --global --add safe.directory '/nix' + export JULIA_PKG_USE_CLI_GIT="true" + + julia -e ' \ + import Pkg + import Pkg.Types: PRESERVE_NONE + + Pkg.Registry.add(Pkg.RegistrySpec(path="${registry}")) + + input = ${lib.generators.toJSON {} packageNames} ::Vector{String} + + if isfile("extra_package_names.txt") + append!(input, readlines("extra_package_names.txt")) + end + + input = unique(input) + + if !isempty(input) + println("Adding packages: " * join(input, " ")) + Pkg.add(input; preserve=PRESERVE_NONE) + Pkg.instantiate() + + if "precompile" in keys(ENV) && ENV["precompile"] != "0" && ENV["precompile"] != "" + Pkg.precompile() + end + end + + # Remove the registry to save space + Pkg.Registry.rm("General") + ' +'' diff --git a/pkgs/development/julia-modules/extra-libs.nix b/pkgs/development/julia-modules/extra-libs.nix new file mode 100644 index 000000000000..815c67ac7a7d --- /dev/null +++ b/pkgs/development/julia-modules/extra-libs.nix @@ -0,0 +1,15 @@ +# A map from a Julia package (typically a JLL package) to extra libraries +# that they require from Nix. +# The libraries should be strings evaluated in a "with pkgs" context. + +{ + # Qt5Base_jll + # Needs access to dbus or you get "Cannot find libdbus-1 in your system" + # Repro: build environment with ["Plots"] + # > using Plots; plot(cos, 0, 2pi) + "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" = ["dbus.lib"]; + + # Qt6Base_jll + # Same reason as Qt5Base_jll + "c0090381-4147-56d7-9ebc-da0b1113ec56" = ["dbus.lib"]; +} diff --git a/pkgs/development/julia-modules/extra-python-packages.nix b/pkgs/development/julia-modules/extra-python-packages.nix new file mode 100644 index 000000000000..30e5179b3820 --- /dev/null +++ b/pkgs/development/julia-modules/extra-python-packages.nix @@ -0,0 +1,22 @@ +{ lib +, python3 +}: + +# This file contains an extra mapping from Julia packages to the Python packages they depend on. + +with lib; + +rec { + packageMapping = { + ExcelFiles = ["xlrd"]; + PyPlot = ["matplotlib"]; + PythonPlot = ["matplotlib"]; + SymPy = ["sympy"]; + }; + + getExtraPythonPackages = names: concatMap (name: let + allCandidates = if hasAttr name packageMapping then getAttr name packageMapping else []; + in + filter (x: hasAttr x python3.pkgs) allCandidates + ) names; +} diff --git a/pkgs/development/julia-modules/extract_artifacts.jl b/pkgs/development/julia-modules/extract_artifacts.jl new file mode 100755 index 000000000000..dd8b227c661b --- /dev/null +++ b/pkgs/development/julia-modules/extract_artifacts.jl @@ -0,0 +1,63 @@ + +import Base: UUID +import Pkg.Artifacts: artifact_meta, artifact_names, find_artifacts_toml, load_artifacts_toml, select_downloadable_artifacts +import Pkg.BinaryPlatforms: AbstractPlatform, platform_key_abi, triplet +import Pkg.Operations: gen_build_code +import TOML + +pkg_uuid = UUID(ARGS[1]) +dir = ARGS[2] + +artifacts_toml = find_artifacts_toml(dir) + +if artifacts_toml == nothing + print("") + exit() +end + +platform = platform_key_abi() + +# Using collect_artifacts (from Pkg.jl) is more reliable than calling select_downloadable_artifacts directly. +# collect_artifacts includes support for .pkg/select_artifacts.jl, which may produce different results. +# If we use select_downloadable_artifacts here, then at depot build time it may try to download a different artifact +# and fail. + +# However! The collect_artifacts from Pkg.jl doesn't allow us to pass lazy to select_downloadable_artifacts. +# So we have to paste our own version in here :( + +function collect_artifacts(pkg_root::String; platform::AbstractPlatform) + # Check to see if this package has an (Julia)Artifacts.toml + artifacts_tomls = Tuple{String,Base.TOML.TOMLDict}[] + for f in artifact_names + artifacts_toml = joinpath(pkg_root, f) + if isfile(artifacts_toml) + selector_path = joinpath(pkg_root, ".pkg", "select_artifacts.jl") + + # If there is a dynamic artifact selector, run that in an appropriate sandbox to select artifacts + if isfile(selector_path) + # Despite the fact that we inherit the project, since the in-memory manifest + # has not been updated yet, if we try to load any dependencies, it may fail. + # Therefore, this project inheritance is really only for Preferences, not dependencies. + select_cmd = Cmd(`$(gen_build_code(selector_path; inherit_project=true)) --startup-file=no $(triplet(platform))`) + meta_toml = String(read(select_cmd)) + res = TOML.tryparse(meta_toml) + if res isa TOML.ParserError + errstr = sprint(showerror, res; context=stderr) + pkgerror("failed to parse TOML output from running $(repr(selector_path)), got: \n$errstr") + else + push!(artifacts_tomls, (artifacts_toml, TOML.parse(meta_toml))) + end + else + # Otherwise, use the standard selector from `Artifacts` + artifacts = select_downloadable_artifacts(artifacts_toml; platform, include_lazy=true) + push!(artifacts_tomls, (artifacts_toml, artifacts)) + end + break + end + end + return artifacts_tomls +end + +for (artifacts_toml, artifacts) in collect_artifacts(dir; platform) + TOML.print(artifacts) +end diff --git a/pkgs/development/julia-modules/extract_artifacts_16.jl b/pkgs/development/julia-modules/extract_artifacts_16.jl new file mode 100755 index 000000000000..af3099278daa --- /dev/null +++ b/pkgs/development/julia-modules/extract_artifacts_16.jl @@ -0,0 +1,33 @@ + +import Base: UUID +import Pkg.Artifacts: artifact_meta, find_artifacts_toml, load_artifacts_toml +import Pkg.BinaryPlatforms: platform_key_abi +import TOML + +pkg_uuid = UUID(ARGS[1]) +dir = ARGS[2] + +artifacts_toml = find_artifacts_toml(dir) + +if artifacts_toml == nothing + print("") + exit() +end + +platform = platform_key_abi() + +# Older Julia doesn't provide select_downloadable_artifacts or .pkg/select_artifacts.jl, +# so gather the artifacts the old-fashioned way +artifact_dict = load_artifacts_toml(artifacts_toml; pkg_uuid=pkg_uuid) + +results = Dict() +for name in keys(artifact_dict) + # Get the metadata about this name for the requested platform + meta = artifact_meta(name, artifact_dict, artifacts_toml; platform=platform) + + # If there are no instances of this name for the desired platform, skip it + meta === nothing && continue + + results[name] = meta +end +TOML.print(results) diff --git a/pkgs/development/julia-modules/package-closure.nix b/pkgs/development/julia-modules/package-closure.nix new file mode 100644 index 000000000000..2862e30f0b8b --- /dev/null +++ b/pkgs/development/julia-modules/package-closure.nix @@ -0,0 +1,180 @@ +{ lib +, julia +, python3 +, runCommand + +, augmentedRegistry +, packageNames +, packageOverrides +, packageImplications +}: + +let + # The specific package resolution code depends on the Julia version + # These are pretty similar and could be combined to reduce duplication + resolveCode = if lib.versionOlder julia.version "1.7" then resolveCode1_6 else resolveCode1_8; + + resolveCode1_6 = '' + import Pkg.API: check_package_name + import Pkg.Types: Context!, PRESERVE_NONE, manifest_info, project_deps_resolve!, registry_resolve!, stdlib_resolve!, ensure_resolved + import Pkg.Operations: _resolve, assert_can_add, is_dep, update_package_add + + foreach(pkg -> check_package_name(pkg.name, :add), pkgs) + pkgs = deepcopy(pkgs) # deepcopy for avoid mutating PackageSpec members + Context!(ctx) + + project_deps_resolve!(ctx, pkgs) + registry_resolve!(ctx, pkgs) + stdlib_resolve!(pkgs) + ensure_resolved(ctx, pkgs, registry=true) + + assert_can_add(ctx, pkgs) + + for (i, pkg) in pairs(pkgs) + entry = manifest_info(ctx, pkg.uuid) + pkgs[i] = update_package_add(ctx, pkg, entry, is_dep(ctx, pkg)) + end + + foreach(pkg -> ctx.env.project.deps[pkg.name] = pkg.uuid, pkgs) + + pkgs, deps_map = _resolve(ctx, pkgs, PRESERVE_NONE) +''; + + resolveCode1_8 = '' + import Pkg.API: handle_package_input! + import Pkg.Types: PRESERVE_NONE, project_deps_resolve!, registry_resolve!, stdlib_resolve!, ensure_resolved + import Pkg.Operations: _resolve, assert_can_add, update_package_add + + foreach(handle_package_input!, pkgs) + + # The handle_package_input! call above clears pkg.path, so we have to apply package overrides after + overrides = Dict{String, String}(${builtins.concatStringsSep ", " (lib.mapAttrsToList (name: path: ''"${name}" => "${path}"'') packageOverrides)}) + println("Package overrides: ") + println(overrides) + for pkg in pkgs + if pkg.name in keys(overrides) + pkg.path = overrides[pkg.name] + end + end + + project_deps_resolve!(ctx.env, pkgs) + registry_resolve!(ctx.registries, pkgs) + stdlib_resolve!(pkgs) + ensure_resolved(ctx, ctx.env.manifest, pkgs, registry=true) + + assert_can_add(ctx, pkgs) + + for (i, pkg) in pairs(pkgs) + entry = Pkg.Types.manifest_info(ctx.env.manifest, pkg.uuid) + is_dep = any(uuid -> uuid == pkg.uuid, [uuid for (name, uuid) in ctx.env.project.deps]) + pkgs[i] = update_package_add(ctx, pkg, entry, is_dep) + end + + foreach(pkg -> ctx.env.project.deps[pkg.name] = pkg.uuid, pkgs) + + # Save the original pkgs for later. We might need to augment it with the weak dependencies + orig_pkgs = pkgs + + pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, pkgs, PRESERVE_NONE, ctx.julia_version) + + if VERSION >= VersionNumber("1.9") + # Check for weak dependencies, which appear on the RHS of the deps_map but not in pkgs. + # Build up weak_name_to_uuid + uuid_to_name = Dict() + for pkg in pkgs + uuid_to_name[pkg.uuid] = pkg.name + end + weak_name_to_uuid = Dict() + for (uuid, deps) in pairs(deps_map) + for (dep_name, dep_uuid) in pairs(deps) + if !haskey(uuid_to_name, dep_uuid) + weak_name_to_uuid[dep_name] = dep_uuid + end + end + end + + # If we have nontrivial weak dependencies, add each one to the initial pkgs and then re-run _resolve + if !isempty(weak_name_to_uuid) + println("Found weak dependencies: $(keys(weak_name_to_uuid))") + + orig_uuids = Set([pkg.uuid for pkg in orig_pkgs]) + + for (name, uuid) in pairs(weak_name_to_uuid) + if uuid in orig_uuids + continue + end + + pkg = PackageSpec(name, uuid) + + push!(orig_uuids, uuid) + push!(orig_pkgs, pkg) + ctx.env.project.deps[name] = uuid + entry = Pkg.Types.manifest_info(ctx.env.manifest, uuid) + orig_pkgs[length(orig_pkgs)] = update_package_add(ctx, pkg, entry, false) + end + + pkgs, deps_map = _resolve(ctx.io, ctx.env, ctx.registries, orig_pkgs, PRESERVE_NONE, ctx.julia_version) + end + end + ''; + + juliaExpression = packageNames: '' + import Pkg + Pkg.Registry.add(Pkg.RegistrySpec(path="${augmentedRegistry}")) + + import Pkg.Types: Context, PackageSpec + + input = ${lib.generators.toJSON {} packageNames} + + if isfile("extra_package_names.txt") + append!(input, readlines("extra_package_names.txt")) + end + + input = unique(input) + + println("Resolving packages: " * join(input, " ")) + + pkgs = [PackageSpec(pkg) for pkg in input] + + ctx = Context() + + ${resolveCode} + + open(ENV["out"], "w") do io + for spec in pkgs + println(io, "- name: " * spec.name) + println(io, " uuid: " * string(spec.uuid)) + println(io, " version: " * string(spec.version)) + if endswith(spec.name, "_jll") && haskey(deps_map, spec.uuid) + println(io, " depends_on: ") + for (dep_name, dep_uuid) in pairs(deps_map[spec.uuid]) + println(io, " \"$(dep_name)\": \"$(dep_uuid)\"") + end + end + end + end + ''; +in + +runCommand "julia-package-closure.yml" { buildInputs = [julia (python3.withPackages (ps: with ps; [pyyaml]))]; } '' + mkdir home + export HOME=$(pwd)/home + + echo "Resolving Julia packages with the following inputs" + echo "Julia: ${julia}" + echo "Registry: ${augmentedRegistry}" + + # Prevent a warning where Julia tries to download package server info + export JULIA_PKG_SERVER="" + + julia -e '${juliaExpression packageNames}'; + + # See if we need to add any extra package names based on the closure + # and the packageImplications + python ${./python}/find_package_implications.py "$out" '${lib.generators.toJSON {} packageImplications}' extra_package_names.txt + + if [ -f extra_package_names.txt ]; then + echo "Re-resolving with additional package names" + julia -e '${juliaExpression packageNames}'; + fi +'' diff --git a/pkgs/development/julia-modules/python/dag.py b/pkgs/development/julia-modules/python/dag.py new file mode 100644 index 000000000000..4cb775cd42cd --- /dev/null +++ b/pkgs/development/julia-modules/python/dag.py @@ -0,0 +1,59 @@ + +# This file based on a ChatGPT reponse for the following prompt: +# "can you write code in python to build up a DAG representing +# a dependency tree, and then a function that can return all the +# dependencies of a given node?" + +class Node: + def __init__(self, name): + self.name = name + self.dependencies = set() + + +class DAG: + def __init__(self): + self.nodes = {} + + def add_node(self, node_name, dependencies=None): + if node_name in self.nodes: + raise ValueError(f"Node '{node_name}' already exists in the graph.") + + node = Node(node_name) + if dependencies: + node.dependencies.update(dependencies) + + self.nodes[node_name] = node + + def add_dependency(self, node_name, dependency_name): + if node_name not in self.nodes: + raise ValueError(f"Node '{node_name}' does not exist in the graph.") + + if dependency_name not in self.nodes: + raise ValueError(f"Dependency '{dependency_name}' does not exist in the graph.") + + self.nodes[node_name].dependencies.add(dependency_name) + + def get_dependencies(self, node_name): + if node_name not in self.nodes: + raise ValueError(f"Node '{node_name}' does not exist in the graph.") + + node = self.nodes[node_name] + dependencies = set() + + def traverse_dependencies(current_node): + for dependency in current_node.dependencies: + dependencies.add(dependency) + if dependency in self.nodes: + traverse_dependencies(self.nodes[dependency]) + + traverse_dependencies(node) + return dependencies + + def has_node(self, node_name): + return node_name in self.nodes + + def __str__(self): + graph_str = "" + for node_name, node in self.nodes.items(): + graph_str += f"{node_name} -> {', '.join(node.dependencies)}\n" + return graph_str diff --git a/pkgs/development/julia-modules/python/dedup_overrides.py b/pkgs/development/julia-modules/python/dedup_overrides.py new file mode 100755 index 000000000000..d1a7337c598d --- /dev/null +++ b/pkgs/development/julia-modules/python/dedup_overrides.py @@ -0,0 +1,14 @@ + +import json +from pathlib import Path +import sys +import toml + +overrides_path = Path(sys.argv[1]) +out_path = Path(sys.argv[2]) + +with open(overrides_path, "r") as f: + overrides = json.loads(f.read()) + +with open(out_path, "w") as f: + toml.dump(overrides, f) diff --git a/pkgs/development/julia-modules/python/extract_artifacts.py b/pkgs/development/julia-modules/python/extract_artifacts.py new file mode 100755 index 000000000000..ecbdf10ed714 --- /dev/null +++ b/pkgs/development/julia-modules/python/extract_artifacts.py @@ -0,0 +1,99 @@ + +import json +from pathlib import Path +import multiprocessing +import subprocess +import sys +import toml +import yaml + +import dag + +dependencies_path = Path(sys.argv[1]) +closure_yaml_path = Path(sys.argv[2]) +julia_path = Path(sys.argv[3]) +extract_artifacts_script = Path(sys.argv[4]) +extra_libs = json.loads(sys.argv[5]) +out_path = Path(sys.argv[6]) + +with open(dependencies_path, "r") as f: + dependencies = yaml.safe_load(f) + dependency_uuids = dependencies.keys() + +with open(closure_yaml_path, "r") as f: + # Build up a map of UUID -> closure information + closure_yaml_list = yaml.safe_load(f) or [] + closure_yaml = {} + for item in closure_yaml_list: + closure_yaml[item["uuid"]] = item + + # Build up a dependency graph of UUIDs + closure_dependencies_dag = dag.DAG() + for uuid, contents in closure_yaml.items(): + if contents.get("depends_on"): + closure_dependencies_dag.add_node(uuid, dependencies=contents["depends_on"].values()) + +with open(out_path, "w") as f: + f.write("{ lib, fetchurl, glibc, pkgs, stdenv }:\n\n") + f.write("rec {\n") + + def process_item(item): + uuid, src = item + lines = [] + artifacts = toml.loads(subprocess.check_output([julia_path, extract_artifacts_script, uuid, src]).decode()) + if not artifacts: return f' uuid-{uuid} = {{}};\n' + + lines.append(f' uuid-{uuid} = {{') + + for artifact_name, details in artifacts.items(): + if len(details["download"]) == 0: continue + download = details["download"][0] + url = download["url"] + sha256 = download["sha256"] + + git_tree_sha1 = details["git-tree-sha1"] + + depends_on = set() + if closure_dependencies_dag.has_node(uuid): + depends_on = set(closure_dependencies_dag.get_dependencies(uuid)).intersection(dependency_uuids) + + other_libs = extra_libs.get(uuid, []) + + fixup = f"""fixupPhase = let + libs = lib.concatMap (lib.mapAttrsToList (k: v: v.path)) + [{" ".join(["uuid-" + x for x in depends_on])}]; + in '' + find $out -type f -executable -exec \ + patchelf --set-rpath \$ORIGIN:\$ORIGIN/../lib:${{lib.makeLibraryPath (["$out" glibc] ++ libs ++ (with pkgs; [{" ".join(other_libs)}]))}} {{}} \; + find $out -type f -executable -exec \ + patchelf --set-interpreter ${{glibc}}/lib/ld-linux-x86-64.so.2 {{}} \; + ''""" + + derivation = f"""{{ + name = "{artifact_name}"; + src = fetchurl {{ + url = "{url}"; + sha256 = "{sha256}"; + }}; + sourceRoot = "."; + dontConfigure = true; + dontBuild = true; + installPhase = "cp -r . $out"; + {fixup}; + }}""" + + lines.append(f""" "{artifact_name}" = {{ + sha1 = "{git_tree_sha1}"; + path = stdenv.mkDerivation {derivation}; + }};\n""") + + lines.append(' };\n') + + return "\n".join(lines) + + with multiprocessing.Pool(10) as pool: + for s in pool.map(process_item, dependencies.items()): + f.write(s) + + f.write(f""" +}}\n""") diff --git a/pkgs/development/julia-modules/python/find_package_implications.py b/pkgs/development/julia-modules/python/find_package_implications.py new file mode 100644 index 000000000000..f253d9c1e626 --- /dev/null +++ b/pkgs/development/julia-modules/python/find_package_implications.py @@ -0,0 +1,24 @@ + +import json +import os +from pathlib import Path +import subprocess +import sys +import yaml + +dependencies_path = Path(sys.argv[1]) +package_implications_json = sys.argv[2] +out_path = Path(sys.argv[3]) + +package_implications = json.loads(package_implications_json) +with open(dependencies_path) as f: + desired_packages = yaml.safe_load(f) or [] + +extra_package_names = [] +for pkg in desired_packages: + if pkg["name"] in package_implications: + extra_package_names.extend(package_implications[pkg["name"]]) + +if len(extra_package_names) > 0: + with open(out_path, "w") as f: + f.write("\n".join(extra_package_names)) diff --git a/pkgs/development/julia-modules/python/format_overrides.py b/pkgs/development/julia-modules/python/format_overrides.py new file mode 100644 index 000000000000..cc86ba391528 --- /dev/null +++ b/pkgs/development/julia-modules/python/format_overrides.py @@ -0,0 +1,22 @@ + +import json +from pathlib import Path +import sys +import toml + +overrides_path = Path(sys.argv[1]) +out_path = Path(sys.argv[2]) + +with open(overrides_path, "r") as f: + overrides = json.loads(f.read()) + +result = {} + +for (uuid, artifacts) in overrides.items(): + if len(artifacts) == 0: continue + + for (name, info) in artifacts.items(): + result[info["sha1"]] = info["path"] + +with open(out_path, "w") as f: + toml.dump(result, f) diff --git a/pkgs/development/julia-modules/python/minimal_registry.py b/pkgs/development/julia-modules/python/minimal_registry.py new file mode 100755 index 000000000000..c9527f0ef809 --- /dev/null +++ b/pkgs/development/julia-modules/python/minimal_registry.py @@ -0,0 +1,98 @@ + +from collections import defaultdict +import copy +import json +import os +from pathlib import Path +import shutil +import subprocess +import sys +import tempfile +import toml +import util +import yaml + + +registry_path = Path(sys.argv[1]) +desired_packages_path = Path(sys.argv[2]) +package_overrides = json.loads(sys.argv[3]) +dependencies_path = Path(sys.argv[4]) +out_path = Path(sys.argv[5]) + +with open(desired_packages_path, "r") as f: + desired_packages = yaml.safe_load(f) or [] + +uuid_to_versions = defaultdict(list) +for pkg in desired_packages: + uuid_to_versions[pkg["uuid"]].append(pkg["version"]) + +with open(dependencies_path, "r") as f: + uuid_to_store_path = yaml.safe_load(f) + +os.makedirs(out_path) + +registry = toml.load(registry_path / "Registry.toml") +registry["packages"] = {k: v for k, v in registry["packages"].items() if k in uuid_to_versions} + +for (uuid, versions) in uuid_to_versions.items(): + if uuid in package_overrides: + info = package_overrides[uuid] + + # Make a registry entry based on the info from the package override + path = Path(info["name"][0].upper()) / Path(info["name"]) + registry["packages"][uuid] = { + "name": info["name"], + "path": str(path), + } + + os.makedirs(out_path / path) + + # Read the Project.yaml from the src + project = toml.load(Path(info["src"]) / "Project.toml") + + # Generate all the registry files + with open(out_path / path / Path("Compat.toml"), "w") as f: + f.write('["%s"]\n' % info["version"]) + # Write nothing in Compat.toml, because we've already resolved everything + with open(out_path / path / Path("Deps.toml"), "w") as f: + f.write('["%s"]\n' % info["version"]) + toml.dump(project["deps"], f) + with open(out_path / path / Path("Versions.toml"), "w") as f: + f.write('["%s"]\n' % info["version"]) + f.write('git-tree-sha1 = "%s"\n' % info["treehash"]) + with open(out_path / path / Path("Package.toml"), "w") as f: + toml.dump({ + "name": info["name"], + "uuid": uuid, + "repo": "file://" + info["src"], + }, f) + + elif uuid in registry["packages"]: + registry_info = registry["packages"][uuid] + name = registry_info["name"] + path = registry_info["path"] + + os.makedirs(out_path / path) + + # Copy some files to the minimal repo unchanged + for f in ["Compat.toml", "Deps.toml"]: + if (registry_path / path / f).exists(): + shutil.copy2(registry_path / path / f, out_path / path) + + # Copy the Versions.toml file, trimming down to the versions we care about + all_versions = toml.load(registry_path / path / "Versions.toml") + versions_to_keep = {k: v for k, v in all_versions.items() if k in versions} + for k, v in versions_to_keep.items(): + del v["nix-sha256"] + with open(out_path / path / "Versions.toml", "w") as f: + toml.dump(versions_to_keep, f) + + # Fill in the local store path for the repo + if not uuid in uuid_to_store_path: continue + package_toml = toml.load(registry_path / path / "Package.toml") + package_toml["repo"] = "file://" + uuid_to_store_path[uuid] + with open(out_path / path / "Package.toml", "w") as f: + toml.dump(package_toml, f) + +with open(out_path / "Registry.toml", "w") as f: + toml.dump(registry, f) diff --git a/pkgs/development/julia-modules/python/sources_nix.py b/pkgs/development/julia-modules/python/sources_nix.py new file mode 100755 index 000000000000..99a952753e80 --- /dev/null +++ b/pkgs/development/julia-modules/python/sources_nix.py @@ -0,0 +1,67 @@ + +import json +from pathlib import Path +import re +import shutil +import sys +import toml +import util +import yaml + + +registry_path = Path(sys.argv[1]) +package_overrides = json.loads(sys.argv[2]) +desired_packages_path = Path(sys.argv[3]) +out_path = Path(sys.argv[4]) + +with open(desired_packages_path, "r") as f: + desired_packages = yaml.safe_load(f) or [] + +registry = toml.load(registry_path / "Registry.toml") + +def ensure_version_valid(version): + """ + Ensure a version string is a valid Julia-parsable version. + It doesn't really matter what it looks like as it's just used for overrides. + """ + return re.sub('[^0-9\.]','', version) + +with open(out_path, "w") as f: + f.write("{fetchgit}:\n") + f.write("{\n") + for pkg in desired_packages: + uuid = pkg["uuid"] + + if pkg["name"] in package_overrides: + treehash = util.get_commit_info(package_overrides[pkg["name"]])["tree"] + f.write(f""" "{uuid}" = {{ + src = null; # Overridden: will fill in later + name = "{pkg["name"]}"; + version = "{ensure_version_valid(pkg["version"])}"; + treehash = "{treehash}"; + }};\n""") + elif uuid in registry["packages"]: + registry_info = registry["packages"][uuid] + path = registry_info["path"] + packageToml = toml.load(registry_path / path / "Package.toml") + + all_versions = toml.load(registry_path / path / "Versions.toml") + if not pkg["version"] in all_versions: continue + version_to_use = all_versions[pkg["version"]] + + repo = packageToml["repo"] + f.write(f""" "{uuid}" = {{ + src = fetchgit {{ + url = "{repo}"; + rev = "{version_to_use["git-tree-sha1"]}"; + sha256 = "{version_to_use["nix-sha256"]}"; + }}; + name = "{pkg["name"]}"; + version = "{pkg["version"]}"; + treehash = "{version_to_use["git-tree-sha1"]}"; + }};\n""") + else: + # print("Warning: couldn't figure out what to do with pkg in sources_nix.py", pkg) + pass + + f.write("}") diff --git a/pkgs/development/julia-modules/python/util.py b/pkgs/development/julia-modules/python/util.py new file mode 100644 index 000000000000..34aaab970e59 --- /dev/null +++ b/pkgs/development/julia-modules/python/util.py @@ -0,0 +1,12 @@ + +import os +import subprocess +import tempfile + +def get_commit_info(repo): + with tempfile.TemporaryDirectory() as home_dir: + env_with_home = os.environ.copy() + env_with_home["HOME"] = home_dir + subprocess.check_output(["git", "config", "--global", "--add", "safe.directory", repo], env=env_with_home) + lines = subprocess.check_output(["git", "log", "--pretty=raw"], cwd=repo, env=env_with_home).decode().split("\n") + return dict([x.split() for x in lines if len(x.split()) == 2]) diff --git a/pkgs/development/julia-modules/registry.nix b/pkgs/development/julia-modules/registry.nix new file mode 100644 index 000000000000..929a805b48c5 --- /dev/null +++ b/pkgs/development/julia-modules/registry.nix @@ -0,0 +1,9 @@ +{ fetchFromGitHub }: + +fetchFromGitHub { + owner = "CodeDownIO"; + repo = "General"; + rev = "baf9e22ecdf97b6424a611ac4a565c6ee60d3f44"; + sha256 = "1nd3x2z8r6578149pbpkx9qw2ajln1kfy7w5kjsnv56v180h0ddf"; + # date = "2023-12-14T12:20:00+00:00"; +} diff --git a/pkgs/development/julia-modules/util.nix b/pkgs/development/julia-modules/util.nix new file mode 100644 index 000000000000..0c01fcbe8286 --- /dev/null +++ b/pkgs/development/julia-modules/util.nix @@ -0,0 +1,45 @@ +{ git +, runCommand +}: + +{ + # Add packages to a Python environment. Works if you pass something like either + # a) python3 + # b) python3.withPackages (ps: [...]) + # See https://github.com/NixOS/nixpkgs/pull/97467#issuecomment-689315186 + addPackagesToPython = python: packages: + if python ? "env" then python.override (old: { + extraLibs = old.extraLibs ++ packages; + }) + else python.withPackages (ps: packages); + + # Convert an ordinary source checkout into a repo with a single commit + repoifySimple = name: path: + runCommand ''${name}-repoified'' {buildInputs = [git];} '' + mkdir -p $out + cp -r ${path}/. $out + cd $out + chmod -R u+w . + rm -rf .git + git init + git add . -f + git config user.email "julia2nix@localhost" + git config user.name "julia2nix" + git commit -m "Dummy commit" + ''; + + # Convert an dependency source info into a repo with a single commit + repoifyInfo = uuid: info: + runCommand ''julia-${info.name}-${info.version}'' {buildInputs = [git];} '' + mkdir -p $out + cp -r ${info.src}/. $out + cd $out + chmod -R u+w . + rm -rf .git + git init + git add . -f + git config user.email "julia2nix@localhost" + git config user.name "julia2nix" + git commit -m "Dummy commit" + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8acf7e4753f0..202dd80e5aef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16517,17 +16517,17 @@ with pkgs; juniper = callPackage ../development/compilers/juniper { }; + inherit (callPackage ../development/compilers/julia { }) + julia_16-bin + julia_18-bin + julia_19-bin + julia_18 + julia_19; + julia-lts = julia_16-bin; julia-stable = julia_19; julia = julia-stable; - julia_16-bin = callPackage ../development/compilers/julia/1.6-bin.nix { }; - julia_18-bin = callPackage ../development/compilers/julia/1.8-bin.nix { }; - julia_19-bin = callPackage ../development/compilers/julia/1.9-bin.nix { }; - - julia_18 = callPackage ../development/compilers/julia/1.8.nix { }; - julia_19 = callPackage ../development/compilers/julia/1.9.nix { }; - julia-lts-bin = julia_16-bin; julia-stable-bin = julia_19-bin; julia-bin = julia-stable-bin; From c8f0d302c1a8cd893bb7a6e11f9176b54127239a Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Sun, 10 Dec 2023 23:13:24 -0800 Subject: [PATCH 11/83] julia: add documentation to manual + release note --- doc/languages-frameworks/index.md | 1 + doc/languages-frameworks/julia.section.md | 54 +++++++++++++++++++ .../manual/release-notes/rl-2405.section.md | 2 + 3 files changed, 57 insertions(+) create mode 100644 doc/languages-frameworks/julia.section.md diff --git a/doc/languages-frameworks/index.md b/doc/languages-frameworks/index.md index cdbf08f1791b..f177de507841 100644 --- a/doc/languages-frameworks/index.md +++ b/doc/languages-frameworks/index.md @@ -24,6 +24,7 @@ idris.section.md ios.section.md java.section.md javascript.section.md +julia.section.md lisp.section.md lua.section.md maven.section.md diff --git a/doc/languages-frameworks/julia.section.md b/doc/languages-frameworks/julia.section.md new file mode 100644 index 000000000000..7a1b0ce366f9 --- /dev/null +++ b/doc/languages-frameworks/julia.section.md @@ -0,0 +1,54 @@ +# Julia {#language-julia} + +## Introduction {#julia-introduction} + +Nixpkgs includes Julia as the `julia` derivation. You can get specific versions by looking at the other `julia*` top-level derivations available. For example, `julia_19` corresponds to Julia 1.9. We also provide the current stable version as `julia-stable`, and an LTS version as `julia-lts`. + +Occasionally, a Julia version has been too difficult to build from source in Nixpkgs and has been fetched prebuilt instead. These Julia versions are differentiated with the `*-bin` suffix; for example, `julia-stable-bin`. + +## julia.withPackages {#julia-withpackage} + +The basic Julia derivations only provide the built-in packages that come with the distribution. + +You can build Julia environments with additional packages using the `julia.withPackages` command. This function accepts a list of strings representing Julia package names. For example, you can build a Julia environment with the `Plots` package as follows. + +```nix +julia.withPackages ["Plots"] +``` + +Arguments can be passed using `.override`. For example: + +```nix +(julia.withPackages.override { + precompile = false; # Turn off precompilation +}) ["Plots"] +``` + +Here's a nice way to run a Julia environment with a shell one-liner: + +```sh +nix-shell -p 'julia.withPackages ["Plots"]' --run julia +``` + +### Arguments {#julia-withpackage-arguments} + +* `precompile`: Whether to run `Pkg.precompile()` on the generated environment. + + This will make package imports faster, but may fail in some cases. For example, there is an upstream issue with `Gtk.jl` that prevents precompilation from working in the Nix build sandbox, because the precompiled code tries to access a display. Packages like this will work fine if you build with `precompile=false`, and then precompile as needed once your environment starts. Defaults to `true`. + +* `extraLibs`: Extra library dependencies that will be placed on the `LD_LIBRARY_PATH` for Julia. + + Should not be needed as we try to obtain library dependencies automatically using Julia's artifacts system. + +* `makeWrapperArgs`: Extra arguments to pass to the `makeWrapper` call which we use to wrap the Julia binary. +* `setDefaultDepot`: Whether to automatically prepend `$HOME/.julia` to the `JULIA_DEPOT_PATH`. + + This is useful because Julia expects a writable depot path as the first entry, which the one we build in Nixpkgs is not. If there's no writable depot, then Julia will show a warning and be unable to save command history logs etc. Defaults to `true`. + +* `packageOverrides`: Allows you to override packages by name by passing an alternative source. + + For example, you can use a custom version of the `LanguageServer` package by passing `packageOverrides = { "LanguageServer" = fetchFromGitHub {...}; }`. + +* `augmentedRegistry`: Allows you to change the registry from which Julia packages are drawn. + + This normally points at a special augmented version of the Julia [General packages registry](https://github.com/JuliaRegistries/General). If you want to use a bleeding-edge version to pick up the latest package updates, you can plug in a later revision than the one in Nixpkgs. diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index e44369ea6f98..ad9d2212e673 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -14,6 +14,8 @@ In addition to numerous new and upgraded packages, this release has the followin - This can be disabled through the `environment.stub-ld.enable` option. - If you use `programs.nix-ld.enable`, no changes are needed. The stub will be disabled automatically. +- Julia environments can now be built with arbitrary packages from the ecosystem using the `.withPackages` function. For example: `julia.withPackages ["Plots"]`. + ## New Services {#sec-release-24.05-new-services} From fcdea38355b817b86101b9bb6f717858bc96b4eb Mon Sep 17 00:00:00 2001 From: Reed Date: Fri, 15 Dec 2023 02:14:59 -0500 Subject: [PATCH 12/83] chromium: never use libpng-apng patch --- pkgs/applications/networking/browsers/chromium/common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 50d11ff39d84..c55b14a5e775 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -195,7 +195,7 @@ let buildPlatformLlvmStdenv.cc pkg-config libuuid - libpng # needed for "host/generate_colors_info" + (libpng.override { apngSupport = false; }) # needed for "host/generate_colors_info" ] # When cross-compiling, chromium builds a huge proportion of its # components for both the `buildPlatform` (which it calls From 6e4d90f0b0351e9fd7510c2bb627b8bc2cfb5152 Mon Sep 17 00:00:00 2001 From: timothy Date: Fri, 15 Dec 2023 18:20:42 +0700 Subject: [PATCH 13/83] nvidia_x11.dc_535: 535.129.03 --- nixos/modules/hardware/video/nvidia.nix | 72 +++++++++++++------ pkgs/os-specific/linux/nvidia-x11/default.nix | 11 +++ .../linux/nvidia-x11/fabricmanager.nix | 2 +- pkgs/os-specific/linux/nvidia-x11/generic.nix | 2 +- pkgs/top-level/linux-kernels.nix | 1 + 5 files changed, 64 insertions(+), 24 deletions(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index c76883b656d4..3b983f768f91 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -47,7 +47,8 @@ in { TRUNK_LINK_FAILURE_MODE=0; NVSWITCH_FAILURE_MODE=0; ABORT_CUDA_JOBS_ON_FM_EXIT=1; - TOPOLOGY_FILE_PATH=nvidia_x11.fabricmanager + "/share/nvidia-fabricmanager/nvidia/nvswitch"; + TOPOLOGY_FILE_PATH="${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch"; + DATABASE_PATH="${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch"; }; defaultText = lib.literalExpression '' { @@ -69,7 +70,8 @@ in { TRUNK_LINK_FAILURE_MODE=0; NVSWITCH_FAILURE_MODE=0; ABORT_CUDA_JOBS_ON_FM_EXIT=1; - TOPOLOGY_FILE_PATH=nvidia_x11.fabricmanager + "/share/nvidia-fabricmanager/nvidia/nvswitch"; + TOPOLOGY_FILE_PATH="''${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch"; + DATABASE_PATH="''${nvidia_x11.fabricmanager}/share/nvidia-fabricmanager/nvidia/nvswitch"; } ''; description = lib.mdDoc '' @@ -584,24 +586,50 @@ in { boot.extraModulePackages = [ nvidia_x11.bin ]; - systemd.services.nvidia-fabricmanager = { - enable = true; - description = "Start NVIDIA NVLink Management"; - wantedBy = [ "multi-user.target" ]; - unitConfig.After = [ "network-online.target" ]; - unitConfig.Requires = [ "network-online.target" ]; - serviceConfig = { - Type = "forking"; - TimeoutStartSec = 240; - ExecStart = let - nv-fab-conf = settingsFormat.generate "fabricmanager.conf" cfg.datacenter.settings; - in - nvidia_x11.fabricmanager + "/bin/nv-fabricmanager -c " + nv-fab-conf; - LimitCORE="infinity"; - }; - }; - environment.systemPackages = - lib.optional cfg.datacenter.enable nvidia_x11.fabricmanager; - }) - ]); + + systemd = { + tmpfiles.rules = + lib.optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) + "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; + + services = lib.mkMerge [ + ({ + nvidia-fabricmanager = { + enable = true; + description = "Start NVIDIA NVLink Management"; + wantedBy = [ "multi-user.target" ]; + unitConfig.After = [ "network-online.target" ]; + unitConfig.Requires = [ "network-online.target" ]; + serviceConfig = { + Type = "forking"; + TimeoutStartSec = 240; + ExecStart = let + nv-fab-conf = settingsFormat.generate "fabricmanager.conf" cfg.datacenter.settings; + in + "${lib.getExe nvidia_x11.fabricmanager} -c ${nv-fab-conf}"; + LimitCORE="infinity"; + }; + }; + }) + (lib.mkIf cfg.nvidiaPersistenced { + "nvidia-persistenced" = { + description = "NVIDIA Persistence Daemon"; + wantedBy = ["multi-user.target"]; + serviceConfig = { + Type = "forking"; + Restart = "always"; + PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid"; + ExecStart = "${lib.getExe nvidia_x11.persistenced} --verbose"; + ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced"; + }; + }; + }) + ]; + }; + + environment.systemPackages = + lib.optional cfg.datacenter.enable nvidia_x11.fabricmanager + ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced; + }) + ]); } diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 54df7cbc6271..9385b8687e58 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -81,6 +81,17 @@ rec { useFabricmanager = true; }; + dc_535 = generic rec { + version = "535.129.03"; + url = "https://us.download.nvidia.com/tesla/${version}/NVIDIA-Linux-x86_64-${version}.run"; + sha256_64bit = "sha256-5tylYmomCMa7KgRs/LfBrzOLnpYafdkKwJu4oSb/AC4="; + persistencedSha256 = "sha256-FRMqY5uAJzq3o+YdM2Mdjj8Df6/cuUUAnh52Ne4koME="; + fabricmanagerSha256 = "sha256-5KRYS+JLVAhDkBn8Z7e0uJvULQy6dSpwnYsbBxw7Mxg="; + useSettings = false; + usePersistenced = true; + useFabricmanager = true; + }; + # Update note: # If you add a legacy driver here, also update `top-level/linux-kernels.nix`, # adding to the `nvidia_x11_legacy*` entries. diff --git a/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix b/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix index 58cf8c0e3557..d9865f00d22c 100644 --- a/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix +++ b/pkgs/os-specific/linux/nvidia-x11/fabricmanager.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { pname = "fabricmanager"; version = fmver; src = fetchurl { - url = "https://developer.download.nvidia.com/compute/cuda/redist/fabricmanager/" + + url = "https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/" + "${sys}/${pname}-${sys}-${fmver}-archive.tar.xz"; inherit sha256; }; diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix index c8957d6193a5..e05400aec276 100644 --- a/pkgs/os-specific/linux/nvidia-x11/generic.nix +++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix @@ -63,7 +63,7 @@ assert versionOlder version "391" -> sha256_32bit != null; assert useSettings -> settingsSha256 != null; assert usePersistenced -> persistencedSha256 != null; assert useFabricmanager -> fabricmanagerSha256 != null; -assert useFabricmanager -> !(useSettings || usePersistenced); +assert useFabricmanager -> !useSettings; let nameSuffix = optionalString (!libsOnly) "-${kernel.version}"; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index efd25b37fa60..feb199e765bc 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -406,6 +406,7 @@ in { nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta; nvidia_dc = nvidiaPackages.dc; nvidia_dc_520 = nvidiaPackages.dc_520; + nvidia_dc_535 = nvidiaPackages.dc_535; # this is not a replacement for nvidia_x11* # only the opensource kernel driver exposed for hydra to build From 41005dab72d29b07e64f801fe8890e4f22de6b9d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 16 Dec 2023 17:50:10 +0000 Subject: [PATCH 14/83] mediainfo-gui: 23.10 -> 23.11 --- pkgs/applications/misc/mediainfo-gui/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix index d2e8c7aa59e9..e4b734b89aac 100644 --- a/pkgs/applications/misc/mediainfo-gui/default.nix +++ b/pkgs/applications/misc/mediainfo-gui/default.nix @@ -6,11 +6,11 @@ let in stdenv.mkDerivation rec { pname = "mediainfo-gui"; - version = "23.10"; + version = "23.11"; src = fetchurl { url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - hash = "sha256-t0OuJSHZ2Oi5pYUNfCop3jC6d321JzjQ37oXzARnduc="; + hash = "sha256-gByxsNG//MEibeymISoe41Mi6LsSYwozu7B6kqioycM="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; From 84f25e21d620b0bda9ca82b9bfb5d19223ddaa14 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 16 Dec 2023 18:59:40 +0000 Subject: [PATCH 15/83] mediawriter: 5.0.8 -> 5.0.9 --- pkgs/tools/system/mediawriter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/mediawriter/default.nix b/pkgs/tools/system/mediawriter/default.nix index f0b8305bc8e8..bf2b4ce27ff4 100644 --- a/pkgs/tools/system/mediawriter/default.nix +++ b/pkgs/tools/system/mediawriter/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "mediawriter"; - version = "5.0.8"; + version = "5.0.9"; src = fetchFromGitHub { owner = "FedoraQt"; repo = "MediaWriter"; rev = "refs/tags/${version}"; - hash = "sha256-6c2RXBIsJiW/xk+Q89RGibh6CIqIWHlBDBLb5o/mIGQ="; + hash = "sha256-FmMiv78r95shCpqN5PV6Oxms/hQY9ycqRn9L61aR8n4="; }; nativeBuildInputs = [ From 2e46cf395733f48b5f6c41e4039dffc4f98ec474 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 17 Dec 2023 10:11:31 +0000 Subject: [PATCH 16/83] onlyoffice-documentserver: 7.5.0 -> 7.5.1 --- pkgs/servers/onlyoffice-documentserver/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/onlyoffice-documentserver/default.nix b/pkgs/servers/onlyoffice-documentserver/default.nix index ea5a35eeb78f..bc5a41750f55 100644 --- a/pkgs/servers/onlyoffice-documentserver/default.nix +++ b/pkgs/servers/onlyoffice-documentserver/default.nix @@ -15,11 +15,11 @@ let # var/www/onlyoffice/documentserver/server/DocService/docservice onlyoffice-documentserver = stdenv.mkDerivation rec { pname = "onlyoffice-documentserver"; - version = "7.5.0"; + version = "7.5.1"; src = fetchurl { url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version))}/onlyoffice-documentserver_amd64.deb"; - sha256 = "sha256-0rtxKSVIyCzYnhRneLOEu1e1qtAO6dGBAUr/oKq95Hw="; + sha256 = "sha256-191PYpxs/TbVXoBPHvuyTp81ZMtw1YaFznY1hUSbh+0="; }; preferLocalBuild = true; From 48a5a0fe538ad02dcf039fb91b28082679b68dc0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 17 Dec 2023 13:15:56 +0000 Subject: [PATCH 17/83] ouch: 0.5.0 -> 0.5.1 --- pkgs/tools/compression/ouch/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/compression/ouch/default.nix b/pkgs/tools/compression/ouch/default.nix index 5321982f189e..07a5302b5a17 100644 --- a/pkgs/tools/compression/ouch/default.nix +++ b/pkgs/tools/compression/ouch/default.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "ouch"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "ouch-org"; repo = "ouch"; rev = version; - hash = "sha256-WqV04GhX7lIla5BEdHRgRZsAWBSweb1HFAC9XZYqpYo="; + hash = "sha256-WO1fetu39fcLGcrbzFh+toHpnyxWuDVHtmjuH203hzQ="; }; - cargoHash = "sha256-A3YcgHed5mp7//FMoC/02KAU7Y+7YiG50eWE9tP5mF8="; + cargoHash = "sha256-OdAu7fStTJCF1JGJG9TRE1Qosy6yjKsWq01MYpbXZcg="; nativeBuildInputs = [ installShellFiles pkg-config ]; From 8d578326dbe94709d7801a750a6c57abc3eaaee7 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 17 Dec 2023 21:48:54 +0800 Subject: [PATCH 18/83] cinnamon.nemo-extensions: 6.0.0 -> 6.0.1 https://github.com/linuxmint/nemo-extensions/compare/6.0.0...6.0.1 --- .../cinnamon/nemo-extensions/nemo-emblems/default.nix | 4 ++++ .../cinnamon/nemo-extensions/nemo-fileroller/default.nix | 4 +++- pkgs/desktops/cinnamon/nemo-extensions/srcs.nix | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix b/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix index d298827487e9..bd9f808638f2 100644 --- a/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix +++ b/pkgs/desktops/cinnamon/nemo-extensions/nemo-emblems/default.nix @@ -1,6 +1,7 @@ { python3 , lib , fetchFromGitHub +, cinnamon-translations }: let @@ -17,6 +18,9 @@ python3.pkgs.buildPythonApplication rec { postPatch = '' substituteInPlace setup.py \ --replace "/usr/share" "share" + + substituteInPlace nemo-extension/nemo-emblems.py \ + --replace "/usr/share/locale" "${cinnamon-translations}/share/locale" ''; meta = with lib; { diff --git a/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix b/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix index 71c61db992a8..7bf706f83b5f 100644 --- a/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix +++ b/pkgs/desktops/cinnamon/nemo-extensions/nemo-fileroller/default.nix @@ -8,6 +8,7 @@ , gtk3 , nemo , gnome +, cinnamon-translations }: let @@ -33,7 +34,8 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace src/nemo-fileroller.c \ - --replace "file-roller" "${lib.getExe gnome.file-roller}" + --replace "file-roller" "${lib.getExe gnome.file-roller}" \ + --replace "GNOMELOCALEDIR" "${cinnamon-translations}/share/locale" ''; PKG_CONFIG_LIBNEMO_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/${nemo.extensiondir}"; diff --git a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix index c59538a40a44..a5ab9dfe9b3e 100644 --- a/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix +++ b/pkgs/desktops/cinnamon/nemo-extensions/srcs.nix @@ -4,12 +4,12 @@ rec { # When you bump this, you should make sure all nemo-extensions # are actually using this file since we try to deal with tags # like nemo-fileroller-5.6.1 according to upstream's wishes. - version = "6.0.0"; + version = "6.0.1"; src = fetchFromGitHub { owner = "linuxmint"; repo = "nemo-extensions"; rev = version; - sha256 = "sha256-M8ImntyfFfSL591UpqZosE7F8ydbpfrBhcLOBtW/sGQ="; + sha256 = "sha256-zuE0SO5VJ2kKjK7JgsSf+wJgfyffTHhfICslEoPKK8Q="; }; } From 3b322aed7a7f2b29103160f92d5bafb25afbcd74 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 17 Dec 2023 21:50:53 +0800 Subject: [PATCH 19/83] cinnamon.folder-color-switcher: 1.6.0 -> 1.6.1 https://github.com/linuxmint/folder-color-switcher/compare/826df0b71c7c3b686421437eac86883945dc595...ebab2114649cc688a05e30857f6706f16fe82307 --- pkgs/desktops/cinnamon/folder-color-switcher/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/cinnamon/folder-color-switcher/default.nix b/pkgs/desktops/cinnamon/folder-color-switcher/default.nix index c9dd7759cb0c..69a3aade31d7 100644 --- a/pkgs/desktops/cinnamon/folder-color-switcher/default.nix +++ b/pkgs/desktops/cinnamon/folder-color-switcher/default.nix @@ -7,14 +7,14 @@ stdenvNoCC.mkDerivation rec { pname = "folder-color-switcher"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; # They don't really do tags, this is just a named commit. - rev = "826df0b71c7c3b686421437eac86883945dc5956"; - sha256 = "sha256-WdOTyladZ0U39wbhqsXzg9l3mJ5UGV99yVg1PWscP2w="; + rev = "ebab2114649cc688a05e30857f6706f16fe82307"; + sha256 = "sha256-/VbgFuSoeDIiJG4owXbn7yT0ILrAdKkkhSkScnnJa+8="; }; nativeBuildInputs = [ @@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation rec { postPatch = '' substituteInPlace usr/share/nemo-python/extensions/nemo-folder-color-switcher.py \ - --replace "/usr/share/locale" "$out/share" \ + --replace "/usr/share/locale" "$out/share/locale" \ --replace "/usr/share/folder-color-switcher/colors.d" "/run/current-system/sw/share/folder-color-switcher/colors.d" \ --replace "/usr/share/folder-color-switcher/color.svg" "$out/share/folder-color-switcher/color.svg" From 7394781ddeedbf137ff280ae807aa6a5f407ac7a Mon Sep 17 00:00:00 2001 From: Yifei Sun Date: Sun, 17 Dec 2023 12:57:16 -0500 Subject: [PATCH 20/83] aldente: 1.24 -> 1.24.1 --- pkgs/os-specific/darwin/aldente/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/darwin/aldente/default.nix b/pkgs/os-specific/darwin/aldente/default.nix index 245ba81e2914..a67efd3367d4 100644 --- a/pkgs/os-specific/darwin/aldente/default.nix +++ b/pkgs/os-specific/darwin/aldente/default.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "aldente"; - version = "1.24"; + version = "1.24.1"; src = fetchurl { url = "https://github.com/davidwernhart/aldente-charge-limiter/releases/download/${finalAttrs.version}/AlDente.dmg"; - hash = "sha256-5byGKtVgKiE8m0+GXDtUpTwQpuUj4lv0hPOl4jhH9wk="; + hash = "sha256-vOv52SrUki2f9vGzYy8dhVJVxna2ZvhtG6WbKjCv3gA="; }; dontBuild = true; From 96937447e73f0034993df01dc37d04313f408a1d Mon Sep 17 00:00:00 2001 From: nat Date: Sun, 17 Dec 2023 20:28:59 +0100 Subject: [PATCH 21/83] bc-ur: init at 0.3.0 --- pkgs/by-name/bc/bc-ur/package.nix | 38 +++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 pkgs/by-name/bc/bc-ur/package.nix diff --git a/pkgs/by-name/bc/bc-ur/package.nix b/pkgs/by-name/bc/bc-ur/package.nix new file mode 100644 index 000000000000..2e7cda7764b5 --- /dev/null +++ b/pkgs/by-name/bc/bc-ur/package.nix @@ -0,0 +1,38 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, fetchpatch +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "bc-ur"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "BlockchainCommons"; + repo = "bc-ur"; + rev = finalAttrs.version; + hash = "sha256-j7nmAZH1OL7R5H3jqQomg7kwPOvIHMqrfSk7mq/f7Cg="; + }; + + patches = [ + # Fix missing includes, building on gcc13, add CMakeList.txt + (fetchpatch { + url = "https://raw.githubusercontent.com/feather-wallet/feather/632963a9e22bf4c8bbe6b5b4d895e31bda17bafd/contrib/depends/patches/bc-ur/build-fix.patch"; + hash = "sha256-F53/z0maUGfdzJ7qjcLjTzn6+80oxu4sqfQPsDo4HZ0="; + }) + ]; + + nativeBuildInputs = [ + cmake + ]; + + meta = with lib; { + homepage = "https://github.com/BlockchainCommons/bc-ur"; + description = "UR reference library in C++"; + license = licenses.bsd2Patent; + maintainers = with maintainers; [ surfaceflinger ]; + platforms = platforms.linux; + }; +}) From 0fa9ae6b544ccb9fbc4613c05f7ba27471397080 Mon Sep 17 00:00:00 2001 From: nat Date: Sun, 17 Dec 2023 20:29:20 +0100 Subject: [PATCH 22/83] feather: 2.5.2 -> 2.6.1 --- pkgs/by-name/fe/feather/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fe/feather/package.nix b/pkgs/by-name/fe/feather/package.nix index 5224d5157a96..f2ebe7582ddb 100644 --- a/pkgs/by-name/fe/feather/package.nix +++ b/pkgs/by-name/fe/feather/package.nix @@ -1,4 +1,5 @@ -{ boost +{ bc-ur +, boost , cmake , fetchFromGitHub , hidapi @@ -20,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "feather"; - version = "2.5.2"; + version = "2.6.1"; src = fetchFromGitHub { owner = "feather-wallet"; repo = "feather"; rev = finalAttrs.version; - hash = "sha256-OSBG2W35GYlViwz5eXokpScrMTtPSaWAgEUNw2urm6w="; + hash = "sha256-szMNSqkocf/aVs1aF+TLV1qu0MDHTNDiO4V1j4ySBvQ="; fetchSubmodules = true; }; @@ -37,6 +38,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ + bc-ur boost hidapi libsodium From 50bf72a24901303d6f1f31b15e4509af3ee4adda Mon Sep 17 00:00:00 2001 From: psondej Date: Sun, 17 Dec 2023 22:28:17 +0100 Subject: [PATCH 23/83] unicorn: fix build on riscv --- pkgs/development/libraries/unicorn/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/unicorn/default.nix b/pkgs/development/libraries/unicorn/default.nix index 89adbc102578..b6a91a7367a4 100644 --- a/pkgs/development/libraries/unicorn/default.nix +++ b/pkgs/development/libraries/unicorn/default.nix @@ -29,6 +29,9 @@ stdenv.mkDerivation rec { IOKit ]; + # Ensure the linker is using atomic when compiling for RISC-V, otherwise fails + NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isRiscV "-latomic"; + cmakeFlags = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ # Some x86 tests are interrupted by signal 10 "-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;test_x86" From 12f105ce2562e01470c80ca13695172f836c6c40 Mon Sep 17 00:00:00 2001 From: Thea Heinen Date: Sun, 17 Dec 2023 11:06:49 -0500 Subject: [PATCH 24/83] sassc: set meta.mainProgram --- pkgs/development/tools/sassc/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/tools/sassc/default.nix b/pkgs/development/tools/sassc/default.nix index 54f744a1608e..15995303748f 100644 --- a/pkgs/development/tools/sassc/default.nix +++ b/pkgs/development/tools/sassc/default.nix @@ -23,6 +23,7 @@ stdenv.mkDerivation rec { description = "A front-end for libsass"; homepage = "https://github.com/sass/sassc/"; license = licenses.mit; + mainProgram = "sassc"; maintainers = with maintainers; [ codyopel pjones ]; platforms = platforms.unix; }; From e476dfaab3561ed663f43db81394c04107eeb182 Mon Sep 17 00:00:00 2001 From: "Ian M. Jones" Date: Fri, 24 Nov 2023 16:48:16 +0000 Subject: [PATCH 25/83] snippetexpander: init at 1.0.1 --- pkgs/by-name/sn/snippetexpander/package.nix | 47 +++++++++++++ pkgs/by-name/sn/snippetexpanderd/package.nix | 63 +++++++++++++++++ .../by-name/sn/snippetexpandergui/package.nix | 70 +++++++++++++++++++ pkgs/by-name/sn/snippetexpanderx/package.nix | 64 +++++++++++++++++ 4 files changed, 244 insertions(+) create mode 100644 pkgs/by-name/sn/snippetexpander/package.nix create mode 100644 pkgs/by-name/sn/snippetexpanderd/package.nix create mode 100644 pkgs/by-name/sn/snippetexpandergui/package.nix create mode 100644 pkgs/by-name/sn/snippetexpanderx/package.nix diff --git a/pkgs/by-name/sn/snippetexpander/package.nix b/pkgs/by-name/sn/snippetexpander/package.nix new file mode 100644 index 000000000000..1f5f3a954ec0 --- /dev/null +++ b/pkgs/by-name/sn/snippetexpander/package.nix @@ -0,0 +1,47 @@ +{ lib +, buildGoModule +, fetchFromSourcehut +, scdoc +, installShellFiles +, snippetexpanderd +}: + +buildGoModule rec { + inherit (snippetexpanderd) src version; + + pname = "snippetexpander"; + + vendorHash = "sha256-wSAho59yxcXTu1zQ5x783HT4gtfSM4GdsOEeC1wfHhE="; + + proxyVendor = true; + + modRoot = "cmd/snippetexpander"; + + nativeBuildInputs = [ + scdoc + installShellFiles + ]; + + buildInputs = [ + snippetexpanderd + ]; + + ldflags = [ + "-s" + "-w" + ]; + + postInstall = '' + make man + installManPage snippetexpander.1 + ''; + + meta = with lib; { + description = "Your little expandable text snippet helper CLI"; + homepage = "https://snippetexpander.org"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ianmjones ]; + platforms = platforms.linux; + mainProgram = "snippetexpander"; + }; +} diff --git a/pkgs/by-name/sn/snippetexpanderd/package.nix b/pkgs/by-name/sn/snippetexpanderd/package.nix new file mode 100644 index 000000000000..308803ad9eec --- /dev/null +++ b/pkgs/by-name/sn/snippetexpanderd/package.nix @@ -0,0 +1,63 @@ +{ lib +, stdenv +, buildGoModule +, fetchFromSourcehut +, pkg-config +, makeWrapper +, scdoc +, installShellFiles +, xorg +, gtk3 +}: + +buildGoModule rec { + pname = "snippetexpanderd"; + version = "1.0.1"; + + src = fetchFromSourcehut { + owner = "~ianmjones"; + repo = "snippetexpander"; + rev = "v${version}"; + hash = "sha256-y3TJ+L3kXYfZFzAD1vmhvP6Yarctu5LHq/74005h8sI="; + }; + + vendorHash = "sha256-QX8HI8I1ZJI6HJ1sl86OiJ4nxwFAjHH8h1zB9ASJaQs="; + + modRoot = "cmd/snippetexpanderd"; + + nativeBuildInputs = [ + pkg-config + makeWrapper + scdoc + installShellFiles + ]; + + buildInputs = [ + xorg.libX11 + gtk3 + ]; + + ldflags = [ + "-s" + "-w" + ]; + + postInstall = '' + make man + installManPage snippetexpanderd.1 snippetexpander-placeholders.5 + ''; + + postFixup = '' + wrapProgram $out/bin/snippetexpanderd \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ xorg.libX11 ]} + ''; + + meta = with lib; { + description = "Your little expandable text snippet helper daemon"; + homepage = "https://snippetexpander.org"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ianmjones ]; + platforms = platforms.linux; + mainProgram = "snippetexpanderd"; + }; +} diff --git a/pkgs/by-name/sn/snippetexpandergui/package.nix b/pkgs/by-name/sn/snippetexpandergui/package.nix new file mode 100644 index 000000000000..1ce5f5d9cbe5 --- /dev/null +++ b/pkgs/by-name/sn/snippetexpandergui/package.nix @@ -0,0 +1,70 @@ +{ lib +, buildGoModule +, fetchFromSourcehut +, makeWrapper +, wails +, scdoc +, installShellFiles +, xorg +, gtk3 +, webkitgtk +, gsettings-desktop-schemas +, snippetexpanderd +}: + +buildGoModule rec { + inherit (snippetexpanderd) src version; + + pname = "snippetexpandergui"; + + vendorHash = "sha256-iZfZdT8KlfZMVLQcYmo6EooIdsSGrpO/ojwT9Ft1GQI="; + + proxyVendor = true; + + modRoot = "cmd/snippetexpandergui"; + + nativeBuildInputs = [ + makeWrapper + wails + scdoc + installShellFiles + ]; + + buildInputs = [ + xorg.libX11 + gtk3 + webkitgtk + gsettings-desktop-schemas + snippetexpanderd + ]; + + ldflags = [ + "-s" + "-w" + ]; + + tags = [ + "desktop" + "production" + ]; + + postInstall = '' + mv build/linux/share $out/share + make man + installManPage snippetexpandergui.1 + ''; + + postFixup = '' + wrapProgram $out/bin/snippetexpandergui \ + --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name} + ''; + + meta = with lib; { + description = "Your little expandable text snippet helper GUI"; + homepage = "https://snippetexpander.org"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ianmjones ]; + platforms = platforms.linux; + mainProgram = "snippetexpandergui"; + }; +} diff --git a/pkgs/by-name/sn/snippetexpanderx/package.nix b/pkgs/by-name/sn/snippetexpanderx/package.nix new file mode 100644 index 000000000000..3c91adbbbc0c --- /dev/null +++ b/pkgs/by-name/sn/snippetexpanderx/package.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchFromSourcehut +, pkg-config +, vala +, wrapGAppsHook +, installShellFiles +, scdoc +, at-spi2-atk +, at-spi2-core +, dbus +, gtk3 +, ibus +, libgee +, xorg +, snippetexpanderd +}: + +stdenv.mkDerivation rec { + inherit (snippetexpanderd) src version; + + pname = "snippetexpanderx"; + + sourceRoot = "source/cmd/snippetexpanderx"; + + nativeBuildInputs = [ + pkg-config + vala + wrapGAppsHook + installShellFiles + scdoc + ]; + + buildInputs = [ + at-spi2-atk + at-spi2-core + dbus + gtk3 + ibus + libgee + xorg.libX11 + snippetexpanderd + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + install -m555 snippetexpanderx $out/bin/ + installManPage snippetexpanderx.1 + runHook postInstall + ''; + + # There are no tests. + doCheck = false; + + meta = with lib; { + description = "Your little expandable text snippet helper auto expander daemon"; + homepage = "https://snippetexpander.org"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ianmjones ]; + platforms = platforms.linux; + mainProgram = "snippetexpanderx"; + }; +} From 7008524735942a6296f1d18f1b52c4082c24b275 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 17 Dec 2023 22:49:43 +0000 Subject: [PATCH 26/83] postgresql12JitPackages.pg_uuidv7: 1.4.0 -> 1.4.1 --- pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix b/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix index a405a1c764d6..7abeba5adda1 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_uuidv7.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { pname = "pg_uuidv7"; - version = "1.4.0"; + version = "1.4.1"; buildInputs = [ postgresql ]; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "fboulnois"; repo = "pg_uuidv7"; rev = "v${version}"; - hash = "sha256-GwjaFEXlJI72V07ukWPB3LeRBWAL6STq866f/rRCVoo="; + hash = "sha256-1qEsDCcULceMqvR3DIC5rOfpzn2PYbFGq0H8p2+9GR4="; }; installPhase = '' From a9e9acff4f561c9d75f05b93c621a6d7f75f35ba Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 17 Dec 2023 20:24:38 +0100 Subject: [PATCH 27/83] lomiri.lomiri-notifications: init at 1.3.0 --- pkgs/desktops/lomiri/default.nix | 1 + .../qml/lomiri-notifications/default.nix | 92 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 7c65c7bddc89..fb25823d6a39 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -23,6 +23,7 @@ let #### QML / QML-related lomiri-action-api = callPackage ./qml/lomiri-action-api { }; + lomiri-notifications = callPackage ./qml/lomiri-notifications { }; lomiri-settings-components = callPackage ./qml/lomiri-settings-components { }; lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; diff --git a/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix b/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix new file mode 100644 index 000000000000..56b86eaa3918 --- /dev/null +++ b/pkgs/desktops/lomiri/qml/lomiri-notifications/default.nix @@ -0,0 +1,92 @@ +{ stdenv +, lib +, fetchFromGitLab +, fetchpatch +, gitUpdater +, cmake +, dbus +, libqtdbustest +, lomiri-api +, pkg-config +, qtbase +, qtdeclarative +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "lomiri-notifications"; + version = "1.3.0"; + + src = fetchFromGitLab { + owner = "ubports"; + repo = "development/core/lomiri-notifications"; + rev = finalAttrs.version; + hash = "sha256-EGslfTgfADrmVGhNLG7HWqcDKhu52H/r41j7fxoliko="; + }; + + patches = [ + # Drop use of deprecated qt5_use_modules + # Remove when https://gitlab.com/ubports/development/core/lomiri-notifications/-/merge_requests/11 merged & in release + (fetchpatch { + url = "https://gitlab.com/OPNA2608/lomiri-notifications/-/commit/5d164d6d8d68efe1d14154eca4d0d736ce2a1265.patch"; + hash = "sha256-nUg0zUft1n4AlotOaZgDqWbiVDvWvMizdlClavwygoI="; + }) + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" + + # Need to replace prefix to not try to install into lomiri-api prefix + substituteInPlace src/CMakeLists.txt \ + --replace '--variable=plugindir' '--define-variable=prefix=''${CMAKE_INSTALL_PREFIX} --variable=plugindir' + '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' + sed -i CMakeLists.txt -e '/add_subdirectory(test)/d' + ''; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + lomiri-api + qtbase + qtdeclarative + ]; + + nativeCheckInputs = [ + dbus + ]; + + checkInputs = [ + libqtdbustest + ]; + + dontWrapQtApps = true; + + cmakeFlags = [ + # In case anything still depends on deprecated hints + "-DENABLE_UBUNTU_COMPAT=ON" + ]; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + # Deals with DBus + enableParallelChecking = false; + + preCheck = '' + export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix} + ''; + + passthru.updateScript = gitUpdater { }; + + meta = with lib; { + description = "Free Desktop Notification server QML implementation for Lomiri"; + homepage = "https://gitlab.com/ubports/development/core/lomiri-notifications"; + license = licenses.gpl3Only; + maintainers = teams.lomiri.members; + platforms = platforms.linux; + }; +}) From ee4c8f509ac3abddfbe5da8a5c27ee0384d43cfe Mon Sep 17 00:00:00 2001 From: kashw2 Date: Mon, 18 Dec 2023 09:14:22 +1000 Subject: [PATCH 28/83] act: 0.2.55 -> 0.2.56 --- pkgs/development/tools/misc/act/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix index 26337b0dcc7d..f4540cdacc63 100644 --- a/pkgs/development/tools/misc/act/default.nix +++ b/pkgs/development/tools/misc/act/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "act"; - version = "0.2.55"; + version = "0.2.56"; src = fetchFromGitHub { owner = "nektos"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-OFtzqnXKj03papfBDQlgUonOA7eKGWDJeVZmfFkPUcc="; + hash = "sha256-Lco14Zwnad9AlujmPwhT5zRhsrifbQ3oi0AftjqsUQk="; }; - vendorHash = "sha256-45UPm7ThTSRTgzaD4tXoTaeT4hRlMKn01mvgJS1I7zI="; + vendorHash = "sha256-rQCxRUIzTJtL8gC9nYV+HKzB7hozyR24TCb+1y/qKM4="; doCheck = false; From f9a71d8cf33db22a81fe2d182188dce55f7da76a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 17 Dec 2023 23:51:31 +0000 Subject: [PATCH 29/83] process-compose: 0.77.4 -> 0.77.6 --- pkgs/applications/misc/process-compose/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/process-compose/default.nix b/pkgs/applications/misc/process-compose/default.nix index a7c37aeb964b..bd60eb62379d 100644 --- a/pkgs/applications/misc/process-compose/default.nix +++ b/pkgs/applications/misc/process-compose/default.nix @@ -8,13 +8,13 @@ let config-module = "github.com/f1bonacc1/process-compose/src/config"; in buildGoModule rec { pname = "process-compose"; - version = "0.77.4"; + version = "0.77.6"; src = fetchFromGitHub { owner = "F1bonacc1"; repo = pname; rev = "v${version}"; - hash = "sha256-uouF43SokBD+LCMqSDWJ3pj2LznfJYJoUkoTQ1TyYyI="; + hash = "sha256-sTRKk74R60TPuYtAvmc1o0YA934SZx39DrjyGkc0smc="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; From 8db5a1a6b911cf32e95cdb351a6aeab1812fc7b6 Mon Sep 17 00:00:00 2001 From: Alex James Date: Sun, 17 Dec 2023 17:21:54 -0600 Subject: [PATCH 30/83] pcl: fix configurePhase with withCuda=true NixOS/nixpkgs#271078 caused the configurePhase of pcl to fail when withCuda is set to true. Fix NixOS/nixpkgs#275090 by replacing cudatoolkit with cudaPackages.cuda_nvcc. --- pkgs/development/libraries/pcl/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix index 635422fd9b99..31198124faac 100644 --- a/pkgs/development/libraries/pcl/default.nix +++ b/pkgs/development/libraries/pcl/default.nix @@ -18,7 +18,8 @@ , Cocoa , AGL , OpenGL -, withCuda ? false, cudatoolkit +, config +, withCuda ? config.cudaSupport, cudaPackages }: stdenv.mkDerivation rec { @@ -38,7 +39,13 @@ stdenv.mkDerivation rec { sed -i '/-ffloat-store/d' cmake/pcl_find_sse.cmake ''; - nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ]; + nativeBuildInputs = [ + pkg-config + cmake + wrapQtAppsHook + ] + ++ lib.optionals withCuda [ cudaPackages.cuda_nvcc ]; + buildInputs = [ eigen libusb1 @@ -46,8 +53,7 @@ stdenv.mkDerivation rec { qtbase libXt ] - ++ lib.optionals stdenv.isDarwin [ Cocoa AGL ] - ++ lib.optionals withCuda [ cudatoolkit ]; + ++ lib.optionals stdenv.isDarwin [ Cocoa AGL ]; propagatedBuildInputs = [ boost From d2006e25fd53c06853a752426da3ae1b69edb906 Mon Sep 17 00:00:00 2001 From: kashw2 Date: Mon, 18 Dec 2023 10:37:08 +1000 Subject: [PATCH 31/83] bruno: 1.4.0 -> 1.5.0 --- pkgs/by-name/br/bruno/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix index 3725e8c502d9..1d8476c1142c 100644 --- a/pkgs/by-name/br/bruno/package.nix +++ b/pkgs/by-name/br/bruno/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "bruno"; - version = "1.4.0"; + version = "1.5.0"; src = fetchurl { url = "https://github.com/usebruno/bruno/releases/download/v${version}/bruno_${version}_amd64_linux.deb"; - hash = "sha256-yCYI2c9M19d1+BpnM7YJLkZk8Vdix+YSWCa5qsCMBxw="; + hash = "sha256-ptrayWDnRXGUC/mgSnQ/8sIEdey+6uoa3LGBGPQYuY8="; }; nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ]; From 8cb044684fcaa1296049ad5e60026ee7f38bc3d1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 01:14:09 +0000 Subject: [PATCH 32/83] prometheus-graphite-exporter: 0.14.0 -> 0.15.0 --- pkgs/servers/monitoring/prometheus/graphite-exporter.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/graphite-exporter.nix b/pkgs/servers/monitoring/prometheus/graphite-exporter.nix index fa0998b31772..3c27d018d781 100644 --- a/pkgs/servers/monitoring/prometheus/graphite-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/graphite-exporter.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "graphite-exporter"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "prometheus"; repo = "graphite_exporter"; rev = "v${version}"; - hash = "sha256-UaflfU27GR8VK6AduPDBcQyO3u1uX6YlGP9O4LFwn9A="; + hash = "sha256-2u8grG5n0XkBS6zNxYrPyL+HP5/jEe/bXLt/1l759o4="; }; - vendorHash = "sha256-cIl35wbdPCQJLudXphMbjO2Ztd/H1clI43xaMU6T0D4="; + vendorHash = "sha256-wt2eDCNZAss3zSqvXeKTlsrPfj8pMXKWa3Yb33uuW0M="; preCheck = let skippedTests = [ From 5079ef293082fd890601c05e602e1420a7555032 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Mon, 18 Dec 2023 02:17:04 +0100 Subject: [PATCH 33/83] persistent-cache-cpp: 1.0.5 -> 1.0.6 --- .../pe/persistent-cache-cpp/package.nix | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix index 168f9656bdcb..8f21ab46c6cb 100644 --- a/pkgs/by-name/pe/persistent-cache-cpp/package.nix +++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitLab -, fetchpatch , gitUpdater , testers , boost @@ -16,30 +15,22 @@ stdenv.mkDerivation (finalAttrs: { pname = "persistent-cache-cpp"; - version = "1.0.5"; + version = "1.0.6"; src = fetchFromGitLab { owner = "ubports"; repo = "development/core/lib-cpp/persistent-cache-cpp"; rev = finalAttrs.version; - hash = "sha256-MOH8ardiTliTKrtRQ5eFRhbRtnC0Yq20WJYoo1tAn3E="; + hash = "sha256-RLZiYY0Y9LT+ajM4Va4MpVVDBlu2yvCpn8bNGMB8ydo="; }; + outputs = [ + "out" + "dev" + "doc" + ]; + patches = [ - # Fix build on GCC 12 - # Remove when version > 1.0.5 - (fetchpatch { - url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/3ed84ee1d32a27d183de2cb5f9feffc3f48fd9a1.patch"; - hash = "sha256-aNZ6KVHAsLVYlAcPNNkjUlOPRDZxzN5tzk4/1KuVaSY="; - }) - - # Fix build on current Boost - # Remove when version > 1.0.5 - (fetchpatch { - url = "https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/commit/a590ffcccec252caa7b19a2922c678502069b057.patch"; - hash = "sha256-OhlsnUVhclt17brkncYkJ0+lXrJO671mtwopaAGPrtY="; - }) - # PersistentStringCacheImpl.exceptions test fails on LLVM's libcxx, it depends on std::system_error producing a very specific exception text # Expects "Unknown error 666", gets "unspecified generic_category error" # https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/blob/1.0.5/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp?ref_type=tags#L1298 @@ -54,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { # Runs in parallel to other tests, limit to 1 thread substituteInPlace tests/headers/compile_headers.py \ --replace 'multiprocessing.cpu_count()' '1' - '' + (if finalAttrs.doCheck then '' + '' + (if finalAttrs.finalPackage.doCheck then '' patchShebangs tests/{headers,whitespace}/*.py '' else '' sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt From 1f4a878c1944e01abd219b138a539e4567412c2e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 01:29:56 +0000 Subject: [PATCH 34/83] prometheus-influxdb-exporter: 0.11.4 -> 0.11.5 --- pkgs/servers/monitoring/prometheus/influxdb-exporter.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix b/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix index 2951530d2259..9eccbd666ca7 100644 --- a/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/influxdb-exporter.nix @@ -6,17 +6,17 @@ buildGoModule rec { pname = "influxdb_exporter"; - version = "0.11.4"; + version = "0.11.5"; rev = "v${version}"; src = fetchFromGitHub { inherit rev; owner = "prometheus"; repo = "influxdb_exporter"; - hash = "sha256-q6Pe7rw5BP1IUdokwlTqjiz2nB8+pC6u9al164EgAbM="; + hash = "sha256-5jKwUuM3JL0zzXFesXTUBNMkA7bhd37BhqxZ/RzG20Q="; }; - vendorHash = "sha256-sU2jxmXuSN5D+btjzUU51WXWxmj+2Qqp28NQvEyIUbM="; + vendorHash = "sha256-VQ8MkzT8caPR1gpLXvNzWD5/pO0IKw8d+bT8gohAiJo="; ldflags = [ "-s" From 07130e98563c9467969815060b7f7891a4922ff3 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Mon, 18 Dec 2023 02:37:22 +0100 Subject: [PATCH 35/83] persistent-cache-cpp: Fetch upstream-submitted patches --- ...-cpp-Lenient-exception-test-matching.patch | 41 ------------------ .../pe/persistent-cache-cpp/package.nix | 42 +++++++++++++++---- 2 files changed, 35 insertions(+), 48 deletions(-) delete mode 100644 pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch diff --git a/pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch b/pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch deleted file mode 100644 index 40d1cb6bf49e..000000000000 --- a/pkgs/by-name/pe/persistent-cache-cpp/0001-persistent-cache-cpp-Lenient-exception-test-matching.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 74265493be3a4826199329d4e6ff8fc49a33850f Mon Sep 17 00:00:00 2001 -From: Puna2608 -Date: Fri, 6 Oct 2023 21:06:13 +0200 -Subject: [PATCH] persistent-cache-cpp: Lenient exception test matching - -PersistentStringCacheImpl::exceptions attempts to very precisely match a returned std::system_error exception text to an expectation. -On LLVM's libcxx, the message returned from it doesn't match the expectation. - -This patch changes the matching to only care about the part that doesn't depend on such an implementation detail. ---- - .../persistent_string_cache_impl_test.cpp | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp b/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp -index f3eee59..fedd466 100644 ---- a/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp -+++ b/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp -@@ -24,6 +24,7 @@ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" - #include -+#include - #pragma GCC diagnostic pop - - #include -@@ -1295,9 +1296,9 @@ TEST(PersistentStringCacheImpl, exceptions) - } - catch (system_error const& e) - { -- EXPECT_EQ("PersistentStringCache: check_version(): bad version: \"nan\" (cache_path: " + TEST_DB + -- "): Unknown error 666", -- e.what()); -+ EXPECT_THAT( -+ e.what(), -+ ::testing::StartsWith("PersistentStringCache: check_version(): bad version: \"nan\" (cache_path: " + TEST_DB + "): ")); - } - } - --- -2.40.1 - diff --git a/pkgs/by-name/pe/persistent-cache-cpp/package.nix b/pkgs/by-name/pe/persistent-cache-cpp/package.nix index 8f21ab46c6cb..c7d212a477af 100644 --- a/pkgs/by-name/pe/persistent-cache-cpp/package.nix +++ b/pkgs/by-name/pe/persistent-cache-cpp/package.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchFromGitLab +, fetchpatch , gitUpdater , testers , boost @@ -31,10 +32,38 @@ stdenv.mkDerivation (finalAttrs: { ]; patches = [ + # Version in CMakeLists.txt didn't get bumped, emits wrong version in pkg-config + # Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/13 merged & in release + (fetchpatch { + name = "0001-persistent-cache-cpp-CMakeLists-txt-Update-version.patch"; + url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/20d5d3f61563c62bcbe85e71ddc4fe16d7c995d5.patch"; + hash = "sha256-BKovtT9OvV+xEwBO8AZTxAzL9kqyDB9ip32t2Xx4eIk="; + }) + # PersistentStringCacheImpl.exceptions test fails on LLVM's libcxx, it depends on std::system_error producing a very specific exception text # Expects "Unknown error 666", gets "unspecified generic_category error" - # https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/blob/1.0.5/tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp?ref_type=tags#L1298 - ./0001-persistent-cache-cpp-Lenient-exception-test-matching.patch + # Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/14 merged & in release + (fetchpatch { + name = "0002-persistent-cache-cpp-persistent_string_cache_impl_test-libcxx-fix.patch"; + url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/a696dbd3093b8333f9ee1f0cad846b2256c729c5.patch"; + hash = "sha256-SJxdXeM7W+WKEmiLTwnQYAM7YmPayEk6vPb46y4thv4="; + }) + + # Enable usage of BUILD_TESTING to opting out of tests + # Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/15 merged & in release + (fetchpatch { + name = "0003-persistent-cache-cpp-Enable-opting-out-of-tests.patch"; + url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/1fb06d28c16325e90046e93662c0f5fd16c29b4a.patch"; + hash = "sha256-2/6EYBh71S4dzqWEde+3dLOGp015fN6IifAj1bI1XAI="; + }) + + # Enable linking based on stdenv (static or dynamic) + # Remove when https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/merge_requests/16 merged & in release + (fetchpatch { + name = "0004-persistent-cache-cpp-Un-hardcode-static-linking.patch"; + url = "https://gitlab.com/OPNA2608/persistent-cache-cpp/-/commit/45cd84fe76e3a0e1da41a662df695009a6f4f07e.patch"; + hash = "sha256-1UjdhzrjnIUO1ySaZTm0vkdNgok0RNlGtNOWUoAUlzU="; + }) ]; postPatch = '' @@ -45,11 +74,9 @@ stdenv.mkDerivation (finalAttrs: { # Runs in parallel to other tests, limit to 1 thread substituteInPlace tests/headers/compile_headers.py \ --replace 'multiprocessing.cpu_count()' '1' - '' + (if finalAttrs.finalPackage.doCheck then '' + '' + lib.optionalString finalAttrs.finalPackage.doCheck '' patchShebangs tests/{headers,whitespace}/*.py - '' else '' - sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt - ''); + ''; nativeBuildInputs = [ cmake @@ -76,7 +103,8 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ # error: 'old_version' may be used uninitialized - "-DWerror=OFF" + (lib.cmakeBool "Werror" false) + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; From fa80274f38d473ba34aeefb696e4da34df765f79 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 17 Dec 2023 20:40:00 -0500 Subject: [PATCH 36/83] trunk: fix build on darwin --- pkgs/development/tools/trunk/default.nix | 5 ++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/trunk/default.nix b/pkgs/development/tools/trunk/default.nix index c19936b2bf64..b5a1c90926fb 100644 --- a/pkgs/development/tools/trunk/default.nix +++ b/pkgs/development/tools/trunk/default.nix @@ -4,11 +4,10 @@ rustPlatform, fetchFromGitHub, pkg-config, openssl, -libiconv, jq, moreutils, CoreServices, -Security +SystemConfiguration }: rustPlatform.buildRustPackage rec { @@ -24,7 +23,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config ]; buildInputs = if stdenv.isDarwin - then [ libiconv CoreServices Security ] + then [ CoreServices SystemConfiguration ] else [ openssl ]; # requires network checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e27b5c511b9b..6185cbedd221 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14068,7 +14068,7 @@ with pkgs; trezor-suite = callPackage ../applications/blockchains/trezor-suite { }; trunk = callPackage ../development/tools/trunk { - inherit (darwin.apple_sdk.frameworks) CoreServices Security; + inherit (darwin.apple_sdk.frameworks) CoreServices SystemConfiguration; }; trunk-io = callPackage ../development/tools/trunk-io { }; From 9578e89eef096bd619488d224a4b22c4d1cded17 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 02:39:36 +0000 Subject: [PATCH 37/83] prometheus-nut-exporter: 3.0.0 -> 3.1.1 --- pkgs/servers/monitoring/prometheus/nut-exporter.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/nut-exporter.nix b/pkgs/servers/monitoring/prometheus/nut-exporter.nix index fee6bd1f4dbb..7b1ea2087bed 100644 --- a/pkgs/servers/monitoring/prometheus/nut-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/nut-exporter.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "nut-exporter"; - version = "3.0.0"; + version = "3.1.1"; src = fetchFromGitHub { owner = "DRuggeri"; repo = "nut_exporter"; rev = "v${version}"; - sha256 = "sha256-Y8G8nFhZ9Onxx40DJSTi0rnef8ulNTkj4bsPfqylOjQ="; + sha256 = "sha256-izD2Ks29/4/FBsZoH0raFzqb0DgPR8hXRYBZQEvET+s="; }; vendorHash = "sha256-DGCNYklINPPzC7kCdEUS7TqVvg2SnKFqe0qHs5RSmzY="; From 9e46efb828420a9735bd945bc43086020338bdb1 Mon Sep 17 00:00:00 2001 From: rewine Date: Mon, 18 Dec 2023 10:50:47 +0800 Subject: [PATCH 38/83] deepin.deepin-desktop-base: 2022.11.15-deepin -> 2023.09.05 --- pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix index d82d758adf3b..aa31bf975ad0 100644 --- a/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix +++ b/pkgs/desktops/deepin/misc/deepin-desktop-base/default.nix @@ -4,13 +4,13 @@ }: stdenvNoCC.mkDerivation rec { pname = "deepin-desktop-base"; - version = "2022.11.15-deepin"; + version = "2023.09.05"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "sha256-GTgIHWz+x1Pl3F4zKA9V8o2oq6c53OK94q95WoMG+Qo="; + hash = "sha256-Gqp56TbkuTOI3aT7UmRuYBjUwRiOoIUHiRf0DaY0yew="; }; makeFlags = [ "DESTDIR=${placeholder "out"}" ]; From 620c89f58e707b4c562cae3c9e5eb83b86302988 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 03:24:55 +0000 Subject: [PATCH 39/83] prometheus-statsd-exporter: 0.25.0 -> 0.26.0 --- pkgs/servers/monitoring/prometheus/statsd-exporter.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix index 666b8ed9bdc7..ca650c53475d 100644 --- a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "statsd_exporter"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "prometheus"; repo = "statsd_exporter"; rev = "v${version}"; - hash = "sha256-H5ckrDAs9gwQCkVe4TKF4yuqLh2S/+dPaaRH+5aoj+o="; + hash = "sha256-C7+4v40T667KJHEQ3ebLDg2wJNrxD/nossfT6rMlER8="; }; - vendorHash = "sha256-LhPfOc83/IWkTk3C1DZggWngPJWobZFeCl4cum/aIQo="; + vendorHash = "sha256-scBpRZeECgAtpu9lnkIk1I2c8UmAkEL8LYNPUeUNYto="; meta = with lib; { description = "Receives StatsD-style metrics and exports them to Prometheus"; From 63f6c1d3f9dc3df015926c396d51b6b73a3e712d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 05:15:20 +0000 Subject: [PATCH 40/83] goeland: 0.16.0 -> 0.17.0 --- .../applications/networking/feedreaders/goeland/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/feedreaders/goeland/default.nix b/pkgs/applications/networking/feedreaders/goeland/default.nix index 0c97ad68b824..82f16223a1a3 100644 --- a/pkgs/applications/networking/feedreaders/goeland/default.nix +++ b/pkgs/applications/networking/feedreaders/goeland/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "goeland"; - version = "0.16.0"; + version = "0.17.0"; src = fetchFromGitHub { owner = "slurdge"; repo = pname; rev = "v${version}"; - sha256 = "sha256-bjPmhNJFkN0N0Mx3Q4RJuNfeqFy9v8KphiAU1WyKCo4="; + sha256 = "sha256-ISAaV1MgqnzO2fMgoZZKT8FSDq6XIRvjWG72dALY+rU="; }; - vendorHash = "sha256-jYrPsVagGgvpQ9Zj3o2kB82xgw/yaJS9BXxuqMkNjEA="; + vendorHash = "sha256-uk1Ew77XaS/k7QXqNa70Nyynb+6pzs7B5jhusz3ffZY="; ldflags = [ "-s" From e1c9282d161c7cee44c46a120f19db87079ba2f9 Mon Sep 17 00:00:00 2001 From: rewine Date: Mon, 18 Dec 2023 11:41:04 +0800 Subject: [PATCH 41/83] deepin.deepin-voice-note: 6.0.13 -> 6.0.15 https://github.com/linuxdeepin/deepin-voice-note/compare/6.0.13...6.0.15 --- .../deepin/apps/deepin-voice-note/default.nix | 23 ++++++++----------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/deepin/apps/deepin-voice-note/default.nix b/pkgs/desktops/deepin/apps/deepin-voice-note/default.nix index dce0807faa97..13124f82b7aa 100644 --- a/pkgs/desktops/deepin/apps/deepin-voice-note/default.nix +++ b/pkgs/desktops/deepin/apps/deepin-voice-note/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitHub -, fetchpatch , cmake , pkg-config , qttools @@ -10,6 +9,7 @@ , dtkwidget , qt5integration , qt5platform-plugins +, qtsvg , dde-qt-dbus-factory , qtmultimedia , qtwebengine @@ -20,27 +20,17 @@ stdenv.mkDerivation rec { pname = "deepin-voice-note"; - version = "6.0.13"; + version = "6.0.15"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - hash = "sha256-yDlWyMGkSToGCN7tuZNR8Mz7MUOZ7355w4H0OzeHBrs="; + hash = "sha256-k6LFMs2/OQQyeGI5WXBGWkAAY4GeP8LaA8hTXFwbaCM="; }; patches = [ ./use_v23_dbus_interface.diff - (fetchpatch { - name = "Adjust-the-audio-port-available-range.patch"; - url = "https://github.com/linuxdeepin/deepin-voice-note/commit/a876e4c4cf7d77e50071246f9fb6998aa62def77.patch"; - hash = "sha256-J/PPdj1Am/v2Sw2Dv2XvZJAy/6Tf7OoTfrbOB9rc5m8="; - }) - (fetchpatch { - name = "fix-build-error-with-new-dtk.patch"; - url = "https://github.com/linuxdeepin/deepin-voice-note/commit/9ce211f603deaff21b881e1c4f43d53e33a85347.patch"; - hash = "sha256-oP+AzMniONxjYIFust8fGaD8/UOjKr4yZiRUkdTMd5w="; - }) ]; postPatch = '' @@ -59,8 +49,8 @@ stdenv.mkDerivation rec { buildInputs = [ qtbase + qtsvg dtkwidget - qt5integration qt5platform-plugins dde-qt-dbus-factory qtmultimedia @@ -77,6 +67,11 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DVERSION=${version}" ]; + # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH + qtWrapperArgs = [ + "--prefix QT_PLUGIN_PATH : ${qt5integration}/${qtbase.qtPluginPrefix}" + ]; + preFixup = '' qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") ''; From 330eb2ded430e9032cdd0b8c3a3d38e1d42427a8 Mon Sep 17 00:00:00 2001 From: zaporter Date: Mon, 18 Dec 2023 00:35:58 -0500 Subject: [PATCH 42/83] pithos: 1.6.0 -> 1.6.1 --- pkgs/applications/audio/pithos/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix index ed861f12468b..6de3da92db8a 100644 --- a/pkgs/applications/audio/pithos/default.nix +++ b/pkgs/applications/audio/pithos/default.nix @@ -4,13 +4,13 @@ pythonPackages.buildPythonApplication rec { pname = "pithos"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - hash = "sha256-cFmsdQXfGxgpKe32dw1lgoANU9Drhu5Mecyz37BVP4g="; + hash = "sha256-GPDbFlwiGT/B2paX33d3mUCV77q+fPM0LMaKFsQQjjQ="; }; format = "other"; From 4f352d93119983a1fc6e55590ed6ffa22e451d9d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 06:25:02 +0000 Subject: [PATCH 43/83] nuclei: 3.1.1 -> 3.1.2 --- pkgs/tools/security/nuclei/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix index cad235dafb25..d5bccc8dd8cd 100644 --- a/pkgs/tools/security/nuclei/default.nix +++ b/pkgs/tools/security/nuclei/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "nuclei"; - version = "3.1.1"; + version = "3.1.2"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-/oTZIjLWLOUSzv36qa57Q1YpIJEz0fIaLsYkuuQ2Y6o="; + hash = "sha256-mQzZohEwalTXeNEPfLk5TqT2R7p4DAiyK5HlQmX+dwI="; }; - vendorHash = "sha256-e7iaR1u1EubWrq9Ktkz4b3GJGDdvnLfguym+r2qAYS0="; + vendorHash = "sha256-Os3Vx18H0e+yd0/BeDf3MbnPdIZGNPhzrRfu7Dky5to="; subPackages = [ "cmd/nuclei/" From f6282232de5d0c869889c5f7016f02db04b3336b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 18 Dec 2023 07:33:03 +0100 Subject: [PATCH 44/83] python311Packages.dvc-http: 2.30.2 -> 2.32.0 Diff: https://github.com/iterative/dvc-http/compare/refs/tags/2.30.2...2.32.0 Changelog: https://github.com/iterative/dvc-http/releases/tag/2.32.0 --- pkgs/development/python-modules/dvc-http/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dvc-http/default.nix b/pkgs/development/python-modules/dvc-http/default.nix index cb812d850c16..49737d9b21ce 100644 --- a/pkgs/development/python-modules/dvc-http/default.nix +++ b/pkgs/development/python-modules/dvc-http/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "dvc-http"; - version = "2.30.2"; + version = "2.32.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "iterative"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-IlgJEnS+rHSg5cw7SCc3vVtG1mJA5voGViya7nkpL2M="; + hash = "sha256-ru/hOFv/RcS/7SBpTJU8xFxdllmaiH4dV1ouS6GGKkY="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 8ee808a74259f960ef88ad7d34310ceb9f24baf0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 18 Dec 2023 07:35:46 +0100 Subject: [PATCH 45/83] python311Packages.minidump: 0.0.22 -> 0.0.23 Changelog: https://github.com/skelsec/minidump/releases/tag/0.0.23 --- pkgs/development/python-modules/minidump/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/minidump/default.nix b/pkgs/development/python-modules/minidump/default.nix index 9168d3297b11..2829a6351ace 100644 --- a/pkgs/development/python-modules/minidump/default.nix +++ b/pkgs/development/python-modules/minidump/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "minidump"; - version = "0.0.22"; + version = "0.0.23"; pyproject = true; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-PPvvvHz3WA67Vn2P7MIY+ChkjXrCOuTgj0KXr4B2mZ0="; + hash = "sha256-R+tza5C/2egkajScmilp/8qowoSklYVfEB+f0KMNBqQ="; }; nativeBuildInputs = [ From 9c75a2d29b780c8ac0bf90b6119f602ef512cd9e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 07:17:08 +0000 Subject: [PATCH 46/83] python310Packages.adafruit-io: 2.7.0 -> 2.7.1 --- pkgs/development/python-modules/adafruit-io/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/adafruit-io/default.nix b/pkgs/development/python-modules/adafruit-io/default.nix index 382fea4601cc..59bdcc46e8bb 100644 --- a/pkgs/development/python-modules/adafruit-io/default.nix +++ b/pkgs/development/python-modules/adafruit-io/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "adafruit-io"; - version = "2.7.0"; + version = "2.7.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "adafruit"; repo = "Adafruit_IO_Python"; rev = "refs/tags/${version}"; - hash = "sha256-BIquSrhtRv2NEOn/G6TTfYMrL2OBwwJQYZ455fznwdU="; + hash = "sha256-vfjyU+czLtUA0WDEvc0iYmJ2Tn75o/OsX909clfDsUE="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 9291f1591febdcbf34134acaa7e845e620d02c8f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 07:19:25 +0000 Subject: [PATCH 47/83] python310Packages.adafruit-platformdetect: 3.56.0 -> 3.57.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 080717e1a2cc..96d688e31b17 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.56.0"; + version = "3.57.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "Adafruit-PlatformDetect"; inherit version; - hash = "sha256-PApfNjW7sfVmYT0NcEKs5MZJG65P7WQ5WVpQuOj8EV4="; + hash = "sha256-tw95VnxsK57KBMw0fzzgJnFe8O8Ef0rQ9qBMIeYrkHQ="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 1ede548b027748858593e288636c89671e9de502 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 07:39:08 +0000 Subject: [PATCH 48/83] python310Packages.aioambient: 2023.10.1 -> 2023.12.0 --- pkgs/development/python-modules/aioambient/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix index 7ec26592696b..4e2fb299eb67 100644 --- a/pkgs/development/python-modules/aioambient/default.nix +++ b/pkgs/development/python-modules/aioambient/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "aioambient"; - version = "2023.10.1"; + version = "2023.12.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-Q7jb0tJsbVM2vEqKgjXOWJN2OwR9qLchU/4ShOUGPT4="; + hash = "sha256-O9MlXtX7UzFN1w/vxpcZ/nRPDFPK5wFKBl42rhaAu94="; }; postPatch = '' From e7323a5be5ab57e8810f62c1329fc17c52e2accb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 07:48:42 +0000 Subject: [PATCH 49/83] python310Packages.aiocomelit: 0.6.2 -> 0.7.0 --- pkgs/development/python-modules/aiocomelit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiocomelit/default.nix b/pkgs/development/python-modules/aiocomelit/default.nix index 3be83f060564..9d90db9e1c20 100644 --- a/pkgs/development/python-modules/aiocomelit/default.nix +++ b/pkgs/development/python-modules/aiocomelit/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "aiocomelit"; - version = "0.6.2"; + version = "0.7.0"; format = "pyproject"; disabled = pythonOlder "3.10"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "chemelli74"; repo = "aiocomelit"; rev = "refs/tags/v${version}"; - hash = "sha256-Pqds4RwDxaUyZUIGTK0JOjsKbyB7j3uOfunbLXsKANk="; + hash = "sha256-xUtLRHNsv1q6QV6dYsS2OBQj/HsiZDfPhqMPDwNKS7A="; }; postPatch = '' From 97dbea90865930041e2d6b3ee753f98181b4e18a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 08:24:47 +0000 Subject: [PATCH 50/83] python310Packages.aiooss2: 0.2.7 -> 0.2.8 --- pkgs/development/python-modules/aiooss2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiooss2/default.nix b/pkgs/development/python-modules/aiooss2/default.nix index 85561d6472b1..91c71fb2bcd6 100644 --- a/pkgs/development/python-modules/aiooss2/default.nix +++ b/pkgs/development/python-modules/aiooss2/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "aiooss2"; - version = "0.2.7"; + version = "0.2.8"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "karajan1001"; repo = "aiooss2"; rev = "refs/tags/${version}"; - hash = "sha256-eMmJpX7bjX5r6GW9N5KmLQpo5V8i6F95TfInct34a2g="; + hash = "sha256-PwgbUZAuk2woEmLYDdWF5hTs19DASxxUv3Ga844ai7g="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; From 36c8c2530d3534a7810cf64cf25ccac856698c51 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 08:24:54 +0000 Subject: [PATCH 51/83] python310Packages.aiolyric: 1.1.0 -> 1.1.1 --- pkgs/development/python-modules/aiolyric/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiolyric/default.nix b/pkgs/development/python-modules/aiolyric/default.nix index b6346a511aa5..989c704d3659 100644 --- a/pkgs/development/python-modules/aiolyric/default.nix +++ b/pkgs/development/python-modules/aiolyric/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "aiolyric"; - version = "1.1.0"; + version = "1.1.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "timmo001"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-LDLpNuwkoPacI/a2NSlqUABRgwy+jAjGwOxmShLskso="; + hash = "sha256-FZhLjVrLzLv6CZz/ROlvbtBK9XnpO8pG48aSIoBxhCo="; }; propagatedBuildInputs = [ From 84421478e83744513e168f23951d50f58623ce1c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 08:47:06 +0000 Subject: [PATCH 52/83] python310Packages.aioridwell: 2023.10.0 -> 2023.12.0 --- pkgs/development/python-modules/aioridwell/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioridwell/default.nix b/pkgs/development/python-modules/aioridwell/default.nix index c5b1c9bb70fa..d96add82b7d2 100644 --- a/pkgs/development/python-modules/aioridwell/default.nix +++ b/pkgs/development/python-modules/aioridwell/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "aioridwell"; - version = "2023.10.0"; + version = "2023.12.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-psynooRbX34EFYY7FTqy3KdFsv939z/qYfIfyNTVkiM="; + hash = "sha256-Lg5O9xwEEgGFIrQoS4r4EMmYDX3yAkcMwHNMHMhLapI="; }; nativeBuildInputs = [ From afa523cfbe29fd80bd5a2f37e93f013c4c8fa164 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 08:47:08 +0000 Subject: [PATCH 53/83] python310Packages.aiorecollect: 2023.11.0 -> 2023.12.0 --- pkgs/development/python-modules/aiorecollect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiorecollect/default.nix b/pkgs/development/python-modules/aiorecollect/default.nix index c2b6f3609e53..4d3aae9dc1b8 100644 --- a/pkgs/development/python-modules/aiorecollect/default.nix +++ b/pkgs/development/python-modules/aiorecollect/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "aiorecollect"; - version = "2023.11.0"; + version = "2023.12.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-CRiYde3FKVXhqB3W5rD7T3v93PAcsXBj0gG0L0umHSg="; + hash = "sha256-Rj0+r7eERLY5VzmuDQH/TeVLfmvmKwPqcvd1b/To0Ts="; }; postPatch = '' From 87eee26dfeae6e265d8e4ee316ef66d426067159 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 08:47:14 +0000 Subject: [PATCH 54/83] python310Packages.aiortm: 0.8.6 -> 0.8.7 --- pkgs/development/python-modules/aiortm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiortm/default.nix b/pkgs/development/python-modules/aiortm/default.nix index b04e55251dea..dbbaea2d3903 100644 --- a/pkgs/development/python-modules/aiortm/default.nix +++ b/pkgs/development/python-modules/aiortm/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "aiortm"; - version = "0.8.6"; + version = "0.8.7"; pyproject = true; disabled = pythonOlder "3.9"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "MartinHjelmare"; repo = "aiortm"; rev = "refs/tags/v${version}"; - hash = "sha256-bchfFtggmKXjAVTeFFy+3YXF3PCfAcFPC5fanw3l/RE="; + hash = "sha256-rWULiyQGBA01hWfRDulDuHX0c1LPo6CTZ9HFOn3MD+E="; }; postPatch = '' From eb6ef047e9fb7f4a4ad8475e4a8990c4fb3f21ab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 09:39:26 +0000 Subject: [PATCH 55/83] python310Packages.appthreat-vulnerability-db: 5.5.4 -> 5.5.6 --- .../python-modules/appthreat-vulnerability-db/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix index e42ae97e2b4e..bedd0f367851 100644 --- a/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix +++ b/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "appthreat-vulnerability-db"; - version = "5.5.4"; + version = "5.5.6"; pyproject = true; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "AppThreat"; repo = "vulnerability-db"; rev = "refs/tags/v${version}"; - hash = "sha256-LWlB7ZIcGoNXq6WodJE6hinGDBFgUqP4tXa51T5yI8c="; + hash = "sha256-jPbYbyVOfn5XCVdzLEEtMcRnGQzzHiea0GZ+YatswEM="; }; postPatch = '' From 2710a8e084e592a231d05184a4577839cdec6258 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 10:32:12 +0000 Subject: [PATCH 56/83] python310Packages.asf-search: 6.7.1 -> 6.7.2 --- pkgs/development/python-modules/asf-search/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/asf-search/default.nix b/pkgs/development/python-modules/asf-search/default.nix index 39c458a42e7b..e9c6e376b10e 100644 --- a/pkgs/development/python-modules/asf-search/default.nix +++ b/pkgs/development/python-modules/asf-search/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "asf-search"; - version = "6.7.1"; + version = "6.7.2"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "asfadmin"; repo = "Discovery-asf_search"; rev = "refs/tags/v${version}"; - hash = "sha256-Gks2PsHqwQqH6CcLc9yF2eAeOwncCPzEphbvR2t3j3Q="; + hash = "sha256-cgd+OrBhMCc0UAYF1y5FiUSuKf3l3/7i8Y6JjhWnR0M="; }; propagatedBuildInputs = [ From 1a5f1c6a217cbc9adb2e90f8b21db35c4b6ea750 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 10:32:36 +0000 Subject: [PATCH 57/83] python310Packages.argilla: 1.19.0 -> 1.20.0 --- pkgs/development/python-modules/argilla/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/argilla/default.nix b/pkgs/development/python-modules/argilla/default.nix index 26a527eb4f8f..0a0e784ce629 100644 --- a/pkgs/development/python-modules/argilla/default.nix +++ b/pkgs/development/python-modules/argilla/default.nix @@ -65,7 +65,7 @@ }: let pname = "argilla"; - version = "1.19.0"; + version = "1.20.0"; optional-dependencies = { server = [ fastapi @@ -126,7 +126,7 @@ buildPythonPackage { owner = "argilla-io"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-Idl5Tm1XWgBLVgHPbXiyt9MW4J5wZdPb2J7iIDBnorg="; + hash = "sha256-LYtudVk4FJMMCMDwCW38DBFsHA2xGd2ScvXogy6zRdI="; }; pythonRelaxDeps = [ From 2e1347c9a7aa77b0972d00e5694ef2734a821394 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 10:32:47 +0000 Subject: [PATCH 58/83] python310Packages.asana: 4.0.11 -> 5.0.3 --- pkgs/development/python-modules/asana/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/asana/default.nix b/pkgs/development/python-modules/asana/default.nix index 87a996a45523..a37a70844d6e 100644 --- a/pkgs/development/python-modules/asana/default.nix +++ b/pkgs/development/python-modules/asana/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "asana"; - version = "4.0.11"; + version = "5.0.3"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,8 +19,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "asana"; repo = "python-asana"; - rev = "refs/tags/${version}"; - hash = "sha256-B98X8ErmoMIpXu4KKvRGgtElPs/va2+UIR+ARUgafgo="; + rev = "refs/tags/v${version}"; + hash = "sha256-9F63DvwMh9NwlTqFuhiXfgRRRxAFjjRYmYzsuOhlQJ0="; }; propagatedBuildInputs = [ From 3cf84a5706eee907338ac5578d889dc1d025a68b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20Reyrol?= Date: Mon, 18 Dec 2023 11:42:09 +0100 Subject: [PATCH 59/83] mailpit: 1.11.0 -> 1.11.1 --- pkgs/servers/mail/mailpit/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/mail/mailpit/default.nix b/pkgs/servers/mail/mailpit/default.nix index 2e7b90d8dce9..5aa5ae67e988 100644 --- a/pkgs/servers/mail/mailpit/default.nix +++ b/pkgs/servers/mail/mailpit/default.nix @@ -12,13 +12,13 @@ }: let - version = "1.11.0"; + version = "1.11.1"; src = fetchFromGitHub { owner = "axllent"; repo = "mailpit"; rev = "v${version}"; - hash = "sha256-+PtyoItn9Dwf7HU3OjzldqfYgdu0LatPmijXK3gAKYY="; + hash = "sha256-K/B2FRzAtVdXa+lTi0bhkHjBe0rbAc4yFNv9uNDvB4Y="; }; # Separate derivation, because if we mix this in buildGoModule, the separate @@ -30,7 +30,7 @@ let npmDeps = fetchNpmDeps { inherit src; - hash = "sha256-zx6B6kDVdKJMQQPONC/KWRXK2i+4l5w9hzrAqatrKTE="; + hash = "sha256-2WA4mqY/bO/K3m19T5/xGbUbcR95DXQnywkjjzstmd4="; }; env = lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) { @@ -56,7 +56,7 @@ buildGoModule { pname = "mailpit"; inherit src version; - vendorHash = "sha256-UQms3YWXJRP1u1ERlsFNpo6ei86qaH6pgfvCLnB3AAk="; + vendorHash = "sha256-1go3lkNaar9HSjJxKqqR+RII7V7Ufj1gYLalxyvJaVE="; CGO_ENABLED = 0; From 33ccd9438ce6f32a809f84dd0f1f63c349e7a356 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 11:11:10 +0000 Subject: [PATCH 60/83] python310Packages.asyncsleepiq: 1.3.7 -> 1.4.0 --- pkgs/development/python-modules/asyncsleepiq/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/asyncsleepiq/default.nix b/pkgs/development/python-modules/asyncsleepiq/default.nix index 5ffe2e769cc9..7e556d5be622 100644 --- a/pkgs/development/python-modules/asyncsleepiq/default.nix +++ b/pkgs/development/python-modules/asyncsleepiq/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "asyncsleepiq"; - version = "1.3.7"; + version = "1.4.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-nKXZXOpwVN8Xe1vwwPGPucvyffiIQ8I4D+0A3qGco5w="; + hash = "sha256-H5Zg1I7+/vG5U9Tnr/qXVg/tTPMtuCWQGfEgug9ehEM="; }; propagatedBuildInputs = [ From 44909a1816cc9ee1b0fa8bdd184b16fc82f76e49 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 11:11:42 +0000 Subject: [PATCH 61/83] python310Packages.auth0-python: 4.6.1 -> 4.7.0 --- pkgs/development/python-modules/auth0-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix index 5d7498c794a9..c6f3eaef552f 100644 --- a/pkgs/development/python-modules/auth0-python/default.nix +++ b/pkgs/development/python-modules/auth0-python/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "auth0-python"; - version = "4.6.1"; + version = "4.7.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "auth0"; repo = "auth0-python"; rev = "refs/tags/${version}"; - hash = "sha256-weXEwrOP+TKVwhqCeFVqUw4x+q2Wplr0QWVUzpbNPSc="; + hash = "sha256-Z89T0HXB66MZTYNKSK8fHunUBFuI1wT5jcy+P3+9tIk="; }; nativeBuildInputs = [ From 6aefc8503f17395fcdc57abf20922d8c6009ce82 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 11:11:45 +0000 Subject: [PATCH 62/83] python310Packages.authcaptureproxy: 1.3.0 -> 1.3.2 --- pkgs/development/python-modules/authcaptureproxy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/authcaptureproxy/default.nix b/pkgs/development/python-modules/authcaptureproxy/default.nix index 37e640ca6a8d..3b65404bde72 100644 --- a/pkgs/development/python-modules/authcaptureproxy/default.nix +++ b/pkgs/development/python-modules/authcaptureproxy/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "authcaptureproxy"; - version = "1.3.0"; + version = "1.3.2"; pyproject = true; src = fetchFromGitHub { owner = "alandtse"; repo = "auth_capture_proxy"; rev = "refs/tags/v${version}"; - hash = "sha256-qkvr8uYI6+lbNsAPw2PAnPyWRQTE4AEHf3djBfSp3XU="; + hash = "sha256-gdu0Ror/epu6huTEpBrqHD62O9uaL6273pKnpqPKskc="; }; nativeBuildInputs = [ From e2d75f43bf829cd3165dcf9606a590bc904efa8d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 11:58:14 +0000 Subject: [PATCH 63/83] python310Packages.aws-lambda-builders: 1.43.0 -> 1.44.0 --- .../python-modules/aws-lambda-builders/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix index ffa17294fc2f..15b1c698d4dc 100644 --- a/pkgs/development/python-modules/aws-lambda-builders/default.nix +++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "aws-lambda-builders"; - version = "1.43.0"; + version = "1.44.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "awslabs"; repo = "aws-lambda-builders"; rev = "refs/tags/v${version}"; - hash = "sha256-rwyhcoVVMdSmv/YqUk/sR4EMSRJHHB99v7aE8P4l8wE="; + hash = "sha256-97NhNlYaxBwUdBmg6qzpGdtGyE86rO/PXl9pDfyitbI="; }; postPatch = '' From aef183b8ae0163a23f057d6679666bf144768c93 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 11:58:17 +0000 Subject: [PATCH 64/83] python310Packages.azure-mgmt-network: 25.1.0 -> 25.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 61e979ee10a7..a9e55d0e775a 100644 --- a/pkgs/development/python-modules/azure-mgmt-network/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "azure-mgmt-network"; - version = "25.1.0"; + version = "25.2.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-+Tn3W/E54D0sRXpPB6XrrbWv/dcKpUvpoK9EuOUhMvw="; + hash = "sha256-EUxCktIjsdHiR7Qa9luNWjeTVn5q2/ojB3IFUiP0GCo="; }; propagatedBuildInputs = [ From a2157e6284e625b31243a6385cfd959411a7b6ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 11:58:26 +0000 Subject: [PATCH 65/83] python310Packages.azure-mgmt-compute: 30.3.0 -> 30.4.0 --- .../development/python-modules/azure-mgmt-compute/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix index 495b448c4c99..eb95a00de2a0 100644 --- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "azure-mgmt-compute"; - version = "30.3.0"; + version = "30.4.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-5Sl4Y0D4YqpqIYp61qW+trn7VYM8XKoIUcwzFNBJO2M="; + hash = "sha256-C3Qo/YvRXHy9fGa5uwEOClyzeoBs7x9JSNkHGRV2kzQ="; }; propagatedBuildInputs = [ From 8529c05a2338da2e22525e93fcf18ac65b47b36a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 12:57:25 +0000 Subject: [PATCH 66/83] python310Packages.boto3-stubs: 1.29.7 -> 1.34.2 --- pkgs/development/python-modules/boto3-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index ad74f787e7ab..397dffa6e432 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -363,12 +363,12 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.29.7"; + version = "1.34.2"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-PrVsWs8ESCmq3eAj1Ox3WPzByx0S6Uy0vIL20HvAruM="; + hash = "sha256-PNsE3SPM9k8La03h+d9wNRskjzMy4uaDEFVf+MefaZU="; }; propagatedBuildInputs = [ From 1776cc26a20dc680b055e26cc7a6b7ae4e6821e4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 13:01:25 +0000 Subject: [PATCH 67/83] python310Packages.botocore-stubs: 1.33.8 -> 1.34.2 --- pkgs/development/python-modules/botocore-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index a6407cf27244..088782775d61 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "botocore-stubs"; - version = "1.33.8"; + version = "1.34.2"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "botocore_stubs"; inherit version; - hash = "sha256-A1b/D8kY2N74vfx4UjeR60zlXCVcHr5JuhBeFoyBfc0="; + hash = "sha256-+2DKdWGyqdHdq9xe65YRKy+Xjd+mopS74x0r/1pOZYo="; }; nativeBuildInputs = [ From 6421e18125c03863f76dbeb26689008cd1521f63 Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Mon, 18 Dec 2023 14:19:52 +0100 Subject: [PATCH 68/83] mmtf-cpp: 1.0.0 -> 1.1.0 --- .../libraries/science/chemistry/mmtf-cpp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix b/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix index ec1fed68ff93..a93b8f32cef2 100644 --- a/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix +++ b/pkgs/development/libraries/science/chemistry/mmtf-cpp/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "mmtf-cpp"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "rcsb"; repo = pname; rev = "v${version}"; - sha256= "17ylramda69plf5w0v5hxbl4ggkdi5s15z55cv0pljl12yvyva8l"; + hash = "sha256-8JrNobvekMggS8L/VORKA32DNUdXiDrYMObjd29wQmc="; }; nativeBuildInputs = [ cmake ]; From da1f5eab0f6014d30fcaf0ab8eaf6b2fe88a8b15 Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Mon, 18 Dec 2023 14:20:14 +0100 Subject: [PATCH 69/83] molequeue: cmake fixes --- .../libraries/science/chemistry/molequeue/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/science/chemistry/molequeue/default.nix b/pkgs/development/libraries/science/chemistry/molequeue/default.nix index 1e8ca2d961d3..b560ac16c698 100644 --- a/pkgs/development/libraries/science/chemistry/molequeue/default.nix +++ b/pkgs/development/libraries/science/chemistry/molequeue/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { owner = "OpenChemistry"; repo = pname; rev = version; - sha256 = "+NoY8YVseFyBbxc3ttFWiQuHQyy1GN8zvV1jGFjmvLg="; + hash = "sha256-+NoY8YVseFyBbxc3ttFWiQuHQyy1GN8zvV1jGFjmvLg="; }; nativeBuildInputs = [ @@ -18,9 +18,10 @@ stdenv.mkDerivation rec { buildInputs = [ qttools ]; - postFixup = '' - substituteInPlace $out/lib/cmake/molequeue/MoleQueueConfig.cmake \ - --replace "''${MoleQueue_INSTALL_PREFIX}/$out" "''${MoleQueue_INSTALL_PREFIX}" + # Fix the broken CMake files to use the correct paths + postInstall = '' + substituteInPlace $out/lib/cmake/${pname}/MoleQueueConfig.cmake \ + --replace "$out/" "" ''; meta = with lib; { From 817612c13a0da4b3925a0d6776cb1dfb15ed4fdd Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Mon, 18 Dec 2023 14:20:44 +0100 Subject: [PATCH 70/83] avogadrolibs: 1.97.0 -> 1.98.1 --- .../science/chemistry/avogadrolibs/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix b/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix index e23fba7fb0eb..7966cd4be5f6 100644 --- a/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix +++ b/pkgs/development/libraries/science/chemistry/avogadrolibs/default.nix @@ -21,13 +21,13 @@ let in stdenv.mkDerivation rec { pname = "avogadrolibs"; - version = "1.97.0"; + version = "1.98.1"; src = fetchFromGitHub { owner = "OpenChemistry"; repo = pname; rev = version; - hash = "sha256-ZGFyUlFyI403aw/6GVze/gronT67XlEOKuw5sfHeVy8="; + hash = "sha256-BuBMWW7N5Cu9tw5Vpwk+aoIaMWwHViRzLtIG7XDWjN4="; }; postUnpack = '' @@ -53,9 +53,13 @@ in stdenv.mkDerivation rec { qttools ]; - postFixup = '' + # Fix the broken CMake files to use the correct paths + postInstall = '' substituteInPlace $out/lib/cmake/${pname}/AvogadroLibsConfig.cmake \ - --replace "''${AvogadroLibs_INSTALL_PREFIX}/$out" "''${AvogadroLibs_INSTALL_PREFIX}" + --replace "$out/" "" + + substituteInPlace $out/lib/cmake/${pname}/AvogadroLibsTargets.cmake \ + --replace "_IMPORT_PREFIX}/$out" "_IMPORT_PREFIX}/" ''; meta = with lib; { From 1d2d308e2e25d5a5c38a2b44d4d2d4fe83416a0a Mon Sep 17 00:00:00 2001 From: Phillip Seeber Date: Mon, 18 Dec 2023 14:21:12 +0100 Subject: [PATCH 71/83] avogadro2: 1.97.0 -> 1.98.1 --- pkgs/applications/science/chemistry/avogadro2/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/chemistry/avogadro2/default.nix b/pkgs/applications/science/chemistry/avogadro2/default.nix index 2ff0cab1847a..dad31b738a84 100644 --- a/pkgs/applications/science/chemistry/avogadro2/default.nix +++ b/pkgs/applications/science/chemistry/avogadro2/default.nix @@ -6,19 +6,19 @@ let avogadroI18N = fetchFromGitHub { owner = "OpenChemistry"; repo = "avogadro-i18n"; - rev = "3b8a86cc37e988b043d1503d2f11068389b0aca3"; - sha256 = "9wLY7/EJyIZYnlUAMsViCwD5kGc1vCNbk8vUhb90LMQ="; + rev = "7eef0b83ded6221a3ddb85c0118cc26f9a35375c"; + hash = "sha256-AR/y70zeYR9xBzWDB5JXjJdDM+NLOX6yxCQte2lYN/U="; }; in stdenv.mkDerivation rec { pname = "avogadro2"; - version = "1.97.0"; + version = "1.98.1"; src = fetchFromGitHub { owner = "OpenChemistry"; repo = "avogadroapp"; rev = version; - hash = "sha256-gZpMgFSPz70QNfd8gH5Jb9RTxQfQalWx33LkgXLEqOQ="; + hash = "sha256-N35WGYZbgfjKnorzGKCnbBvlrlt9Vr04YIG2R3k+b8A="; }; postUnpack = '' From 8372ba53e80eb4965e36dc3884d3cc30b2d64f51 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 18 Dec 2023 14:32:06 +0100 Subject: [PATCH 72/83] broot: 1.30.0 -> 1.30.1 Diff: https://github.com/Canop/broot/compare/v1.30.0...v1.30.1 Changelog: https://github.com/Canop/broot/releases/tag/v1.30.1 --- pkgs/tools/misc/broot/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix index a540a0c7d495..1b5f53385d51 100644 --- a/pkgs/tools/misc/broot/default.nix +++ b/pkgs/tools/misc/broot/default.nix @@ -17,16 +17,16 @@ rustPlatform.buildRustPackage rec { pname = "broot"; - version = "1.30.0"; + version = "1.30.1"; src = fetchFromGitHub { owner = "Canop"; repo = pname; rev = "v${version}"; - hash = "sha256-2uHsmxD0pn39DvESdVzm0qHEvpmMpE2GD1R3p7XMJEI="; + hash = "sha256-AGdP60eOrkFsey5BrIG0mkbNE3Ba+/2Q8HlKmEqrHug="; }; - cargoHash = "sha256-3UW1zSklxi4Ot3h7N8sEevYJMQydkxW9lPcfUouDSy8="; + cargoHash = "sha256-Pnobq/m/K0+YL5FDFbSAWSoSPdmFvcL3zPVbI2IPgvs="; nativeBuildInputs = [ installShellFiles From c75a348b43f69dfb5f6d50597a672ee1f2b67734 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 13:33:36 +0000 Subject: [PATCH 73/83] python310Packages.censys: 2.2.9 -> 2.2.10 --- pkgs/development/python-modules/censys/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/censys/default.nix b/pkgs/development/python-modules/censys/default.nix index 9c24281e8d62..cd10de569882 100644 --- a/pkgs/development/python-modules/censys/default.nix +++ b/pkgs/development/python-modules/censys/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "censys"; - version = "2.2.9"; + version = "2.2.10"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "censys"; repo = "censys-python"; rev = "refs/tags/v${version}"; - hash = "sha256-Q6Ii2fsJYNABhuaRK4nZ6bjjvNsoIcgNVFBXdBgTXIo="; + hash = "sha256-rjLTEaHSBB6igffNGt4qJZeSyIn1Cc1ZGEGfEoMj7OQ="; }; nativeBuildInputs = [ From dfe67681d9299aca1174a5a4828cc446a02cfdda Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 18 Dec 2023 14:45:35 +0100 Subject: [PATCH 74/83] python310Packages.adafruit-platformdetect: refactor --- .../python-modules/adafruit-platformdetect/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix index 96d688e31b17..672854ce6a98 100644 --- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix +++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "adafruit-platformdetect"; version = "3.57.0"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; From 6430b7a181ddbe4774da00b30df9cf35d37ada30 Mon Sep 17 00:00:00 2001 From: Fugi Date: Fri, 15 Dec 2023 22:01:56 +0100 Subject: [PATCH 75/83] nixos/prometheus-sabnzbd-exporter: use LoadCredential for apiKeyFile --- .../prometheus/exporters/sabnzbd.nix | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix b/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix index 411277494013..b9ab305f7c08 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/sabnzbd.nix @@ -19,7 +19,11 @@ in }; apiKeyFile = mkOption { type = types.str; - description = "File containing the API key."; + description = '' + The path to a file containing the API key. + The file is securely passed to the service by leveraging systemd credentials. + No special permissions need to be set on this file. + ''; example = "/run/secrets/sabnzbd_apikey"; }; }; @@ -30,18 +34,24 @@ in serviceOpts = let servers = lib.zipAttrs cfg.servers; - apiKeys = lib.concatStringsSep "," (builtins.map (file: "$(cat ${file})") servers.apiKeyFile); + credentials = lib.imap0 (i: v: { name = "apikey-${toString i}"; path = v; }) servers.apiKeyFile; in { + serviceConfig.LoadCredential = builtins.map ({ name, path }: "${name}:${path}") credentials; + environment = { METRICS_PORT = toString cfg.port; METRICS_ADDR = cfg.listenAddress; SABNZBD_BASEURLS = lib.concatStringsSep "," servers.baseUrl; }; - script = '' - export SABNZBD_APIKEYS="${apiKeys}" - exec ${lib.getExe pkgs.prometheus-sabnzbd-exporter} - ''; + script = + let + apiKeys = lib.concatStringsSep "," (builtins.map (cred: "$(< $CREDENTIALS_DIRECTORY/${cred.name})") credentials); + in + '' + export SABNZBD_APIKEYS="${apiKeys}" + exec ${lib.getExe pkgs.prometheus-sabnzbd-exporter} + ''; }; } From ae8dc8248110973e15a16fdf179f34b05889b5b7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 18 Dec 2023 14:50:45 +0100 Subject: [PATCH 76/83] python311Packages.aioambient: refactor --- pkgs/development/python-modules/aioambient/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/aioambient/default.nix b/pkgs/development/python-modules/aioambient/default.nix index 4e2fb299eb67..4044f1b8a07e 100644 --- a/pkgs/development/python-modules/aioambient/default.nix +++ b/pkgs/development/python-modules/aioambient/default.nix @@ -16,22 +16,17 @@ buildPythonPackage rec { pname = "aioambient"; version = "2023.12.0"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "bachya"; - repo = pname; + repo = "aioambient"; rev = "refs/tags/${version}"; hash = "sha256-O9MlXtX7UzFN1w/vxpcZ/nRPDFPK5wFKBl42rhaAu94="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace 'websockets = ">=11.0.1"' 'websockets = "*"' - ''; - nativeBuildInputs = [ poetry-core ]; From 73f58904034cecc77f429ee8aa0baa59f1d49466 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 18 Dec 2023 14:49:53 +0000 Subject: [PATCH 77/83] python310Packages.confight: 1.3.1 -> 2.0 --- pkgs/development/python-modules/confight/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/confight/default.nix b/pkgs/development/python-modules/confight/default.nix index 0a5df6aa3e20..8ee09009fb97 100644 --- a/pkgs/development/python-modules/confight/default.nix +++ b/pkgs/development/python-modules/confight/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "confight"; - version = "1.3.1"; + version = "2.0"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-fJr7f9Y/zEpCedWYd04AMuhkOFqZLJOw4sDiz8SDQ/Y="; + hash = "sha256-iodoexnh9tG4dgkjDXCUzWRFDhRlJ3HRgaNhxG2lwPY="; }; propagatedBuildInputs = [ From f54152d2a509df6f6e4c9852baf25113f857c086 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 18 Dec 2023 16:03:37 +0100 Subject: [PATCH 78/83] python311Packages.censys: refactor --- pkgs/development/python-modules/censys/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/censys/default.nix b/pkgs/development/python-modules/censys/default.nix index cd10de569882..f4b1f97f8cfa 100644 --- a/pkgs/development/python-modules/censys/default.nix +++ b/pkgs/development/python-modules/censys/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "censys"; version = "2.2.10"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; From a0f94525b0c387c9e311031873b3d4d33ab5d204 Mon Sep 17 00:00:00 2001 From: Valentin Gagarin Date: Mon, 18 Dec 2023 16:18:32 +0100 Subject: [PATCH 79/83] julia docs: one line per sentence this implements the documentation team's style guide new material --- doc/languages-frameworks/julia.section.md | 29 +++++++++++++++++------ 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/doc/languages-frameworks/julia.section.md b/doc/languages-frameworks/julia.section.md index 7a1b0ce366f9..235861ac528f 100644 --- a/doc/languages-frameworks/julia.section.md +++ b/doc/languages-frameworks/julia.section.md @@ -2,21 +2,28 @@ ## Introduction {#julia-introduction} -Nixpkgs includes Julia as the `julia` derivation. You can get specific versions by looking at the other `julia*` top-level derivations available. For example, `julia_19` corresponds to Julia 1.9. We also provide the current stable version as `julia-stable`, and an LTS version as `julia-lts`. +Nixpkgs includes Julia as the `julia` derivation. +You can get specific versions by looking at the other `julia*` top-level derivations available. +For example, `julia_19` corresponds to Julia 1.9. +We also provide the current stable version as `julia-stable`, and an LTS version as `julia-lts`. -Occasionally, a Julia version has been too difficult to build from source in Nixpkgs and has been fetched prebuilt instead. These Julia versions are differentiated with the `*-bin` suffix; for example, `julia-stable-bin`. +Occasionally, a Julia version has been too difficult to build from source in Nixpkgs and has been fetched prebuilt instead. +These Julia versions are differentiated with the `*-bin` suffix; for example, `julia-stable-bin`. ## julia.withPackages {#julia-withpackage} The basic Julia derivations only provide the built-in packages that come with the distribution. -You can build Julia environments with additional packages using the `julia.withPackages` command. This function accepts a list of strings representing Julia package names. For example, you can build a Julia environment with the `Plots` package as follows. +You can build Julia environments with additional packages using the `julia.withPackages` command. +This function accepts a list of strings representing Julia package names. +For example, you can build a Julia environment with the `Plots` package as follows. ```nix julia.withPackages ["Plots"] ``` -Arguments can be passed using `.override`. For example: +Arguments can be passed using `.override`. +For example: ```nix (julia.withPackages.override { @@ -34,7 +41,11 @@ nix-shell -p 'julia.withPackages ["Plots"]' --run julia * `precompile`: Whether to run `Pkg.precompile()` on the generated environment. - This will make package imports faster, but may fail in some cases. For example, there is an upstream issue with `Gtk.jl` that prevents precompilation from working in the Nix build sandbox, because the precompiled code tries to access a display. Packages like this will work fine if you build with `precompile=false`, and then precompile as needed once your environment starts. Defaults to `true`. + This will make package imports faster, but may fail in some cases. + For example, there is an upstream issue with `Gtk.jl` that prevents precompilation from working in the Nix build sandbox, because the precompiled code tries to access a display. + Packages like this will work fine if you build with `precompile=false`, and then precompile as needed once your environment starts. + + Defaults: `true` * `extraLibs`: Extra library dependencies that will be placed on the `LD_LIBRARY_PATH` for Julia. @@ -43,7 +54,10 @@ nix-shell -p 'julia.withPackages ["Plots"]' --run julia * `makeWrapperArgs`: Extra arguments to pass to the `makeWrapper` call which we use to wrap the Julia binary. * `setDefaultDepot`: Whether to automatically prepend `$HOME/.julia` to the `JULIA_DEPOT_PATH`. - This is useful because Julia expects a writable depot path as the first entry, which the one we build in Nixpkgs is not. If there's no writable depot, then Julia will show a warning and be unable to save command history logs etc. Defaults to `true`. + This is useful because Julia expects a writable depot path as the first entry, which the one we build in Nixpkgs is not. + If there's no writable depot, then Julia will show a warning and be unable to save command history logs etc. + + Default: `true` * `packageOverrides`: Allows you to override packages by name by passing an alternative source. @@ -51,4 +65,5 @@ nix-shell -p 'julia.withPackages ["Plots"]' --run julia * `augmentedRegistry`: Allows you to change the registry from which Julia packages are drawn. - This normally points at a special augmented version of the Julia [General packages registry](https://github.com/JuliaRegistries/General). If you want to use a bleeding-edge version to pick up the latest package updates, you can plug in a later revision than the one in Nixpkgs. + This normally points at a special augmented version of the Julia [General packages registry](https://github.com/JuliaRegistries/General). + If you want to use a bleeding-edge version to pick up the latest package updates, you can plug in a later revision than the one in Nixpkgs. From 59302f4a91eb5dc408587a911dac56fc3354fb41 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 18 Dec 2023 17:49:47 +0100 Subject: [PATCH 80/83] python311Packages.auth0-python: update disabled --- pkgs/development/python-modules/auth0-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix index c6f3eaef552f..03f2cb571b15 100644 --- a/pkgs/development/python-modules/auth0-python/default.nix +++ b/pkgs/development/python-modules/auth0-python/default.nix @@ -16,9 +16,9 @@ buildPythonPackage rec { pname = "auth0-python"; version = "4.7.0"; - format = "pyproject"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "auth0"; From 1791eeb7bd782b49b33998fa9152710f4117ffc2 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 18 Dec 2023 07:15:50 +0100 Subject: [PATCH 81/83] cgal: default to version 5 --- pkgs/applications/graphics/cloudcompare/default.nix | 4 ++-- pkgs/applications/graphics/meshlab/default.nix | 4 ++-- pkgs/applications/graphics/openscad/default.nix | 4 ++-- pkgs/applications/misc/prusa-slicer/default.nix | 4 ++-- pkgs/applications/science/electronics/csxcad/default.nix | 4 ++-- pkgs/development/python-modules/gudhi/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix index f2d008f7492b..7f8d9be53b85 100644 --- a/pkgs/applications/graphics/cloudcompare/default.nix +++ b/pkgs/applications/graphics/cloudcompare/default.nix @@ -4,7 +4,7 @@ , fetchFromGitHub , cmake , boost -, cgal_5 +, cgal , eigen , flann , gdal @@ -41,7 +41,7 @@ mkDerivation rec { buildInputs = [ boost - cgal_5 + cgal flann gdal gmp diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix index 3da49cf80109..656713fb25e4 100644 --- a/pkgs/applications/graphics/meshlab/default.nix +++ b/pkgs/applications/graphics/meshlab/default.nix @@ -14,7 +14,7 @@ , levmar , qhull , cmake -, cgal_5 +, cgal , boost179 , mpfr , xercesc @@ -45,7 +45,7 @@ mkDerivation rec { gmp levmar qhull - cgal_5 + cgal boost179 mpfr xercesc diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index fc048d4acae8..24d1fdc06ae8 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -11,7 +11,7 @@ , libGLU, libGL , glew , opencsg -, cgal +, cgal_4 , mpfr , gmp , glib @@ -60,7 +60,7 @@ mkDerivation rec { nativeBuildInputs = [ bison flex pkg-config gettext qmake ]; buildInputs = [ - eigen boost glew opencsg cgal mpfr gmp glib + eigen boost glew opencsg cgal_4 mpfr gmp glib harfbuzz lib3mf libzip double-conversion freetype fontconfig qtbase qtmultimedia qscintilla cairo ] ++ lib.optionals stdenv.isLinux [ libGLU libGL wayland wayland-protocols qtwayland ] diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix index 8114f2ecb416..fa1a5c20e633 100644 --- a/pkgs/applications/misc/prusa-slicer/default.nix +++ b/pkgs/applications/misc/prusa-slicer/default.nix @@ -10,7 +10,7 @@ , wrapGAppsHook , boost , cereal -, cgal_5 +, cgal , curl , dbus , eigen @@ -90,7 +90,7 @@ stdenv.mkDerivation (finalAttrs: { binutils boost cereal - cgal_5 + cgal curl dbus eigen diff --git a/pkgs/applications/science/electronics/csxcad/default.nix b/pkgs/applications/science/electronics/csxcad/default.nix index abdb0716f370..83ee992f4b28 100644 --- a/pkgs/applications/science/electronics/csxcad/default.nix +++ b/pkgs/applications/science/electronics/csxcad/default.nix @@ -4,7 +4,7 @@ , fparser , tinyxml , hdf5 -, cgal_5 +, cgal , vtk , boost , gmp @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { patches = [./searchPath.patch ]; buildInputs = [ - cgal_5 + cgal boost gmp mpfr diff --git a/pkgs/development/python-modules/gudhi/default.nix b/pkgs/development/python-modules/gudhi/default.nix index c58872ca5bdd..8989320fdf4b 100644 --- a/pkgs/development/python-modules/gudhi/default.nix +++ b/pkgs/development/python-modules/gudhi/default.nix @@ -5,7 +5,7 @@ , boost , eigen , gmp -, cgal_5 # see https://github.com/NixOS/nixpkgs/pull/94875 about cgal +, cgal # see https://github.com/NixOS/nixpkgs/pull/94875 about cgal , mpfr , tbb , numpy @@ -33,7 +33,7 @@ buildPythonPackage rec { patches = [ ./remove_explicit_PYTHONPATH.patch ]; nativeBuildInputs = [ cmake numpy cython pybind11 matplotlib ]; - buildInputs = [ boost eigen gmp cgal_5 mpfr ] + buildInputs = [ boost eigen gmp cgal mpfr ] ++ lib.optionals enableTBB [ tbb ]; propagatedBuildInputs = [ numpy scipy ]; nativeCheckInputs = [ pytest ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fcd4abdc3931..91535dc67b97 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20818,7 +20818,7 @@ with pkgs; # CGAL 5 has API changes cgal_4 = callPackage ../development/libraries/CGAL/4.nix { }; cgal_5 = callPackage ../development/libraries/CGAL { }; - cgal = cgal_4; + cgal = cgal_5; cgui = callPackage ../development/libraries/cgui { }; From b9704019c99bfa358712debe86d91d3fe58d442d Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 18 Dec 2023 07:30:05 +0100 Subject: [PATCH 82/83] =?UTF-8?q?cgal=5F4:=204.14.2=20=E2=86=92=204.14.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/libraries/CGAL/4.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/CGAL/4.nix b/pkgs/development/libraries/CGAL/4.nix index d30492c89061..d04a7bccded6 100644 --- a/pkgs/development/libraries/CGAL/4.nix +++ b/pkgs/development/libraries/CGAL/4.nix @@ -1,14 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, gmp, mpfr }: +{ lib, stdenv, fetchurl, fetchpatch, cmake, boost, gmp, mpfr }: stdenv.mkDerivation rec { - version = "4.14.2"; + version = "4.14.3"; pname = "cgal"; - src = fetchFromGitHub { - owner = "CGAL"; - repo = "releases"; - rev = "CGAL-${version}"; - sha256 = "1p1xyws2s9h2c8hlkz1af4ix48qma160av24by6lcm8al1g44pca"; + src = fetchurl { + url = "https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-${version}/CGAL-${version}.tar.xz"; + hash = "sha256-W6/nq+hDW+yhehCCBi02M2jsHj8NZYG7DaiwEPs4n+Q="; }; patches = [ From b69c73444956b5386a5b029f0cf6b5ff1112b9cf Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 18 Dec 2023 09:27:25 -0800 Subject: [PATCH 83/83] gitlab-runner: 16.6.0 -> 16.6.1 (#274415) --- .../tools/continuous-integration/gitlab-runner/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix index 479f319c5426..ac8e06cf8570 100644 --- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix +++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -1,7 +1,7 @@ { lib, buildGoModule, fetchFromGitLab, fetchurl, bash }: let - version = "16.6.0"; + version = "16.6.1"; in buildGoModule rec { inherit version; @@ -23,7 +23,7 @@ buildGoModule rec { owner = "gitlab-org"; repo = "gitlab-runner"; rev = "v${version}"; - sha256 = "sha256-4N00+yO7Ps0+jy7WmHhm4Eh4MXt3beH00ScZ1RWNByE="; + sha256 = "sha256-z/W4mqC6524ocBR0c2UpMrlo5njXoewgBOulPoe2UBY="; }; patches = [