diff options
Diffstat (limited to 'pkgs/tools/package-management')
49 files changed, 518 insertions, 325 deletions
diff --git a/pkgs/tools/package-management/apk-tools/default.nix b/pkgs/tools/package-management/apk-tools/default.nix index 4800a6641bd0c..55a406d595695 100644 --- a/pkgs/tools/package-management/apk-tools/default.nix +++ b/pkgs/tools/package-management/apk-tools/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "apk-tools"; - version = "2.14.1"; + version = "2.14.4"; src = fetchFromGitLab { domain = "gitlab.alpinelinux.org"; owner = "alpine"; repo = "apk-tools"; rev = "v${version}"; - sha256 = "sha256-gO7Yf60eabvAdPDSzxvxeEMsvc6ixy1iQ6/o7WWlE2Q="; + sha256 = "sha256-NaLa975AJrfvxxUkPTGLno/BoMQKBGaMIJjSbs+63NA="; }; nativeBuildInputs = [ pkg-config scdoc ] diff --git a/pkgs/tools/package-management/appimagekit/default.nix b/pkgs/tools/package-management/appimagekit/default.nix index d11cd16127589..b1a25758cbb6c 100644 --- a/pkgs/tools/package-management/appimagekit/default.nix +++ b/pkgs/tools/package-management/appimagekit/default.nix @@ -117,7 +117,7 @@ in stdenv.mkDerivation rec { }; meta = with lib; { - description = "A tool to package desktop applications as AppImages"; + description = "Tool to package desktop applications as AppImages"; longDescription = '' AppImageKit is an implementation of the AppImage format that provides tools such as appimagetool and appimaged for handling diff --git a/pkgs/tools/package-management/apx/default.nix b/pkgs/tools/package-management/apx/default.nix index 26bece879f005..1e161b805e948 100644 --- a/pkgs/tools/package-management/apx/default.nix +++ b/pkgs/tools/package-management/apx/default.nix @@ -1,33 +1,36 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, distrobox -, installShellFiles +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + distrobox, + podman, }: buildGoModule rec { pname = "apx"; - version = "2.4.0"; + version = "2.4.2"; src = fetchFromGitHub { owner = "Vanilla-OS"; repo = "apx"; rev = "v${version}"; - hash = "sha256-OLJrwibw9uX5ty7FRZ0q8zx0i1vQXRKK8reQsJFFxAI="; + hash = "sha256-X6nphUzJc/R3Egw09eRQbza1QebpLGsMIfV7BpLOXTc="; }; - vendorHash = null; + vendorHash = "sha256-hGi+M5RRUL2oyxFGVeR0sum93/CA+FGYy0m4vDmlXTc="; - nativeBuildInputs = [ installShellFiles ]; + # podman needed for apx to not error when building shell completions + nativeBuildInputs = [ installShellFiles podman ]; ldflags = [ "-s" "-w" ]; postPatch = '' substituteInPlace config/apx.json \ - --replace "/usr/share/apx/distrobox/distrobox" "${distrobox}/bin/distrobox" \ - --replace "/usr/share/apx" "$out/bin/apx" + --replace-fail "/usr/share/apx/distrobox/distrobox" "${distrobox}/bin/distrobox" \ + --replace-fail "/usr/share/apx" "$out/bin/apx" substituteInPlace settings/config.go \ - --replace "/usr/share/apx/" "$out/share/apx/" + --replace-fail "/usr/share/apx/" "$out/share/apx/" ''; postInstall = '' @@ -35,10 +38,19 @@ buildGoModule rec { installManPage man/man1/* install -Dm444 README.md -t $out/share/docs/apx install -Dm444 COPYING.md $out/share/licenses/apx/LICENSE + + # Create a temp writable home-dir so apx outputs completions without error + export HOME=$(mktemp -d) + # apx command now works (for completions) + # though complains "Error: no such file or directory" + installShellCompletion --cmd apx \ + --bash <($out/bin/apx completion bash) \ + --fish <($out/bin/apx completion fish) \ + --zsh <($out/bin/apx completion zsh) ''; meta = with lib; { - description = "The Vanilla OS package manager"; + description = "Vanilla OS package manager"; homepage = "https://github.com/Vanilla-OS/apx"; changelog = "https://github.com/Vanilla-OS/apx/releases/tag/v${version}"; license = licenses.gpl3Only; diff --git a/pkgs/tools/package-management/cde/default.nix b/pkgs/tools/package-management/cde/default.nix index 2e0ceb53e4f9c..8eefb923bcd3e 100644 --- a/pkgs/tools/package-management/cde/default.nix +++ b/pkgs/tools/package-management/cde/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/usnistgov/corr-CDE"; - description = "A packaging tool for building portable packages"; + description = "Packaging tool for building portable packages"; license = licenses.gpl3Plus; maintainers = [ maintainers.rlupton20 ]; platforms = platforms.linux; diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix index 323464847b601..424831daad977 100644 --- a/pkgs/tools/package-management/checkinstall/default.nix +++ b/pkgs/tools/package-management/checkinstall/default.nix @@ -70,10 +70,10 @@ stdenv.mkDerivation rec { meta = { homepage = "http://checkinstall.izto.org/"; - description = "A tool for automatically generating Slackware, RPM or Debian packages when doing `make install'"; + description = "Tool for automatically generating Slackware, RPM or Debian packages when doing `make install'"; maintainers = [ lib.maintainers.eelco ]; platforms = lib.platforms.linux; - license = lib.licenses.gpl2; + license = lib.licenses.gpl2Plus; knownVulnerabilities = [ "CVE-2020-25031" ]; diff --git a/pkgs/tools/package-management/ciel/default.nix b/pkgs/tools/package-management/ciel/default.nix index c5809fdca944c..5003f4dc42fe1 100644 --- a/pkgs/tools/package-management/ciel/default.nix +++ b/pkgs/tools/package-management/ciel/default.nix @@ -62,7 +62,7 @@ rustPlatform.buildRustPackage rec { ''; meta = with lib; { - description = "A tool for controlling AOSC OS packaging environments using multi-layer filesystems and containers"; + description = "Tool for controlling AOSC OS packaging environments using multi-layer filesystems and containers"; homepage = "https://github.com/AOSC-Dev/ciel-rs"; license = licenses.mit; platforms = platforms.linux; diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix index 752af3a432253..d11bc09589940 100644 --- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix +++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix @@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: { ''; meta = { - description = "A SOAP interface and client for Disnix"; + description = "SOAP interface and client for Disnix"; mainProgram = "disnix-soap-client"; homepage = "https://github.com/svanderburg/DisnixWebService"; changelog = "https://github.com/svanderburg/DisnixWebService/blob/${finalAttrs.src.rev}/NEWS.txt"; diff --git a/pkgs/tools/package-management/disnix/default.nix b/pkgs/tools/package-management/disnix/default.nix index 27f055c089cb8..e126c133108de 100644 --- a/pkgs/tools/package-management/disnix/default.nix +++ b/pkgs/tools/package-management/disnix/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, libxml2, libxslt, getopt, dysnomia, libintl, libiconv }: +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, glib, libxml2, libxslt, getopt, dysnomia, libintl, libiconv }: stdenv.mkDerivation rec { pname = "disnix"; @@ -9,11 +9,21 @@ stdenv.mkDerivation rec { sha256 = "0mc0wy8fca60w0d56cljq2cw1xigbp2dklb43fxa5xph94j3i49a"; }; + patches = [ + # https://github.com/svanderburg/disnix/pull/21 + # fix implicit function declaration + (fetchpatch { + name = "add-stdlib.h.patch"; + url = "https://github.com/svanderburg/disnix/commit/aa969f1d152acb35fc70c6c8db249b61f5a9eb41.patch"; + hash = "sha256-RZNVVdZ7Rx8n7qzbJOw8BHL8f07mvh8IKpfsWexuVLU="; + }) + ]; + nativeBuildInputs = [ pkg-config ]; buildInputs = [ glib libxml2 libxslt getopt libintl libiconv dysnomia ]; meta = { - description = "A Nix-based distributed service deployment tool"; + description = "Nix-based distributed service deployment tool"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ sander tomberek ]; platforms = lib.platforms.unix; diff --git a/pkgs/tools/package-management/disnix/dydisnix/default.nix b/pkgs/tools/package-management/disnix/dydisnix/default.nix index 0c95e41f8c9a2..e6670ff2e1142 100644 --- a/pkgs/tools/package-management/disnix/dydisnix/default.nix +++ b/pkgs/tools/package-management/disnix/dydisnix/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "A toolset enabling self-adaptive redeployment on top of Disnix"; + description = "Toolset enabling self-adaptive redeployment on top of Disnix"; longDescription = '' Dynamic Disnix is a (very experimental!) prototype extension framework for Disnix supporting dynamic (re)deployment of service-oriented systems. ''; diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix index f0f7d621414e4..b555f6d0fe8db 100644 --- a/pkgs/tools/package-management/dpkg/default.nix +++ b/pkgs/tools/package-management/dpkg/default.nix @@ -90,7 +90,7 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; meta = with lib; { - description = "The Debian package manager"; + description = "Debian package manager"; homepage = "https://wiki.debian.org/Teams/Dpkg"; license = licenses.gpl2Plus; platforms = platforms.unix; diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix index 6dd2445d6cef6..2bf3d67443edd 100644 --- a/pkgs/tools/package-management/emplace/default.nix +++ b/pkgs/tools/package-management/emplace/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "emplace"; - version = "1.5.3"; + version = "1.6.0"; src = fetchFromGitHub { owner = "tversteeg"; repo = pname; rev = "v${version}"; - sha256 = "sha256-KwA0GlZatY1DvtqSR4rwq/nODSa9n+S0gPVqS6agSzM="; + sha256 = "sha256-FZ+lvf5HRSruUdmkm/Hqz0aRa95SjfIa43WQczRCGNg="; }; - cargoHash = "sha256-eQ+T6YiYYeWaUezXB59+Ki05PXtJd7ISwnRw/x/YTZA="; + cargoHash = "sha256-0bKLN0l3ldHJizqWuSoBUxQ8I114BQz6ZTtsro3eYEI="; meta = with lib; { description = "Mirror installed software on multiple machines"; diff --git a/pkgs/tools/package-management/fpm/Gemfile.lock b/pkgs/tools/package-management/fpm/Gemfile.lock index b3e8b9d221a50..61c6a233e157a 100644 --- a/pkgs/tools/package-management/fpm/Gemfile.lock +++ b/pkgs/tools/package-management/fpm/Gemfile.lock @@ -1,26 +1,20 @@ GEM remote: https://rubygems.org/ specs: - arr-pm (0.0.11) - cabin (> 0) - backports (3.21.0) + arr-pm (0.0.12) + backports (3.24.1) cabin (0.9.0) clamp (1.0.1) - dotenv (2.7.6) - fpm (1.13.0) + dotenv (2.8.1) + fpm (1.15.1) arr-pm (~> 0.0.11) backports (>= 2.6.2) cabin (>= 0.6.0) clamp (~> 1.0.0) - git (>= 1.3.0, < 2.0) - json (>= 1.7.7, < 3.0) pleaserun (~> 0.0.29) rexml stud - git (1.8.1) - rchardet (~> 1.8) insist (1.0.0) - json (2.5.1) mustache (0.99.8) pleaserun (0.0.32) cabin (> 0) @@ -29,8 +23,7 @@ GEM insist mustache (= 0.99.8) stud - rchardet (1.8.0) - rexml (3.2.5) + rexml (3.2.6) stud (0.0.23) PLATFORMS @@ -40,4 +33,4 @@ DEPENDENCIES fpm BUNDLED WITH - 2.1.4 + 2.5.3 diff --git a/pkgs/tools/package-management/fpm/gemset.nix b/pkgs/tools/package-management/fpm/gemset.nix index dca13598e8cc0..195073f7546e6 100644 --- a/pkgs/tools/package-management/fpm/gemset.nix +++ b/pkgs/tools/package-management/fpm/gemset.nix @@ -1,24 +1,23 @@ { arr-pm = { - dependencies = ["cabin"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17qssricshzs2ml1jvn4bs2h85gxvrqm074pl5nl8vr74620iazi"; + sha256 = "0fddw0vwdrr7v3a0lfqbmnd664j48a9psrjd3wh3k4i3flplizzx"; type = "gem"; }; - version = "0.0.11"; + version = "0.0.12"; }; backports = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xqvwj3mm28g1z4npya51zjcvxaniyyzn3fwgcdwmm8xrdbl8fgr"; + sha256 = "1f3zcy0q88rw3clk0r7bai7sp4r253lndf0qmdgczq1ykbm219w3"; type = "gem"; }; - version = "3.21.0"; + version = "3.24.1"; }; cabin = { groups = ["default"]; @@ -45,32 +44,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94"; + sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565"; type = "gem"; }; - version = "2.7.6"; + version = "2.8.1"; }; fpm = { - dependencies = ["arr-pm" "backports" "cabin" "clamp" "git" "json" "pleaserun" "rexml" "stud"]; + dependencies = ["arr-pm" "backports" "cabin" "clamp" "pleaserun" "rexml" "stud"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03ss7yh628f0m6by23q3sniq660gm07mkz6wqjpvr118gc0h53sa"; + sha256 = "1grd0lb0mw1jvw6l8zqgh49m9gg2jxn98rifq2spzacwm11g7yqz"; type = "gem"; }; - version = "1.13.0"; - }; - git = { - dependencies = ["rchardet"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0vdcv93s33d9914a9nxrn2y2qv15xk7jx94007cmalp159l08cnl"; - type = "gem"; - }; - version = "1.8.1"; + version = "1.15.1"; }; insist = { groups = ["default"]; @@ -82,16 +70,6 @@ }; version = "1.0.0"; }; - json = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; - type = "gem"; - }; - version = "2.5.1"; - }; mustache = { groups = ["default"]; platforms = []; @@ -113,25 +91,15 @@ }; version = "0.0.32"; }; - rchardet = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; - type = "gem"; - }; - version = "1.8.0"; - }; rexml = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; + sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; - version = "3.2.5"; + version = "3.2.6"; }; stud = { groups = ["default"]; diff --git a/pkgs/tools/package-management/fusesoc/default.nix b/pkgs/tools/package-management/fusesoc/default.nix index 680cbc0209459..a3e397ae93915 100644 --- a/pkgs/tools/package-management/fusesoc/default.nix +++ b/pkgs/tools/package-management/fusesoc/default.nix @@ -31,7 +31,7 @@ buildPythonPackage rec { meta = with lib; { homepage = "https://github.com/olofk/fusesoc"; - description = "A package manager and build tools for HDL code"; + description = "Package manager and build tools for HDL code"; maintainers = with maintainers; [ genericnerdyusername ]; license = licenses.bsd3; mainProgram = "fusesoc"; diff --git a/pkgs/tools/package-management/gx/default.nix b/pkgs/tools/package-management/gx/default.nix index 3f757dde448c1..8d9fa95f09c57 100644 --- a/pkgs/tools/package-management/gx/default.nix +++ b/pkgs/tools/package-management/gx/default.nix @@ -16,7 +16,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; meta = with lib; { - description = "A packaging tool built around IPFS"; + description = "Packaging tool built around IPFS"; homepage = "https://github.com/whyrusleeping/gx"; license = licenses.mit; maintainers = with maintainers; [ zimbatm ]; diff --git a/pkgs/tools/package-management/gx/go/default.nix b/pkgs/tools/package-management/gx/go/default.nix index dee8861d65d6e..8f8053c99591a 100644 --- a/pkgs/tools/package-management/gx/go/default.nix +++ b/pkgs/tools/package-management/gx/go/default.nix @@ -16,7 +16,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; meta = with lib; { - description = "A tool for importing go packages into gx"; + description = "Tool for importing go packages into gx"; mainProgram = "gx-go"; homepage = "https://github.com/whyrusleeping/gx-go"; license = licenses.mit; diff --git a/pkgs/tools/package-management/harmonia/default.nix b/pkgs/tools/package-management/harmonia/default.nix deleted file mode 100644 index 8e174cf68a891..0000000000000 --- a/pkgs/tools/package-management/harmonia/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ lib -, boost -, fetchFromGitHub -, libsodium -, nixVersions -, pkg-config -, rustPlatform -, stdenv -, nix-update-script -, nixosTests -}: - -rustPlatform.buildRustPackage rec { - pname = "harmonia"; - version = "0.7.5"; - - src = fetchFromGitHub { - owner = "nix-community"; - repo = pname; - rev = "refs/tags/${pname}-v${version}"; - hash = "sha256-QqRq5maYk4hDl0MXkj9wOPWUta5b+kXG9e/kqRorNE4="; - }; - - cargoHash = "sha256-dlmSn4cWU6RqEiUoQYNJFhxu3owplkxlbtszBxm+GbU="; - - nativeBuildInputs = [ - pkg-config nixVersions.nix_2_21 - ]; - - buildInputs = [ - boost - libsodium - nixVersions.nix_2_21 - ]; - - passthru = { - updateScript = nix-update-script { - extraArgs = [ "--version-regex" "harmonia-v(.*)" ]; - }; - tests = { inherit (nixosTests) harmonia; }; - }; - - meta = with lib; { - description = "Nix binary cache"; - homepage = "https://github.com/nix-community/harmonia"; - license = licenses.mit; - maintainers = with maintainers; [ mic92 ]; - mainProgram = "harmonia"; - }; -} diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix index 79fc38eaef33d..dc5e95f7f3d98 100644 --- a/pkgs/tools/package-management/libdnf/default.nix +++ b/pkgs/tools/package-management/libdnf/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { pname = "libdnf"; - version = "0.73.1"; + version = "0.73.2"; outputs = [ "out" "dev" "py" ]; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { owner = "rpm-software-management"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-mZCrJ1fXqKE1sMYKWHLLQEPkdLwPwqJz+8n+DlNmxvM="; + hash = "sha256-tdAbkIb3BAhNKFbjIGHEdVNwh3E1sKFLP+L4MhifsQM="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/package-management/licensee/default.nix b/pkgs/tools/package-management/licensee/default.nix index b72c218cd16aa..02e5f919fb58d 100644 --- a/pkgs/tools/package-management/licensee/default.nix +++ b/pkgs/tools/package-management/licensee/default.nix @@ -8,7 +8,7 @@ bundlerApp { passthru.updateScript = bundlerUpdateScript "licensee"; meta = with lib; { - description = "A Ruby Gem to detect under what license a project is distributed"; + description = "Ruby Gem to detect under what license a project is distributed"; homepage = "https://licensee.github.io/licensee/"; license = licenses.mit; maintainers = [ maintainers.sternenseemann ]; diff --git a/pkgs/tools/package-management/lix/common.nix b/pkgs/tools/package-management/lix/common.nix new file mode 100644 index 0000000000000..8c89cf9fefda6 --- /dev/null +++ b/pkgs/tools/package-management/lix/common.nix @@ -0,0 +1,289 @@ +{ + lib, + fetchFromGitHub, + version, + suffix ? "", + hash ? null, + src ? fetchFromGitHub { + owner = "lix-project"; + repo = "lix"; + rev = version; + inherit hash; + }, + docCargoHash ? null, + docCargoLock ? null, + patches ? [ ], + maintainers ? lib.teams.lix.members, +}@args: +assert (hash == null) -> (src != null); +{ + stdenv, + meson, + bash, + bison, + boehmgc, + boost, + brotli, + busybox-sandbox-shell, + bzip2, + callPackage, + coreutils, + curl, + cmake, + docbook_xsl_ns, + docbook5, + doxygen, + editline, + flex, + git, + gnutar, + gtest, + gzip, + jq, + lib, + libarchive, + libcpuid, + libgit2, + libsodium, + libxml2, + libxslt, + lowdown, + lsof, + man, + mercurial, + mdbook, + mdbook-linkcheck, + nlohmann_json, + ninja, + openssl, + toml11, + python3, + perl, + pkg-config, + rapidcheck, + Security, + sqlite, + util-linuxMinimal, + xz, + nixosTests, + lix-doc ? callPackage ./doc { + inherit src; + version = "${version}${suffix}"; + cargoHash = docCargoHash; + cargoLock = docCargoLock; + }, + + enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, + enableStatic ? stdenv.hostPlatform.isStatic, + withAWS ? !enableStatic && (stdenv.isLinux || stdenv.isDarwin), + aws-sdk-cpp, + # RISC-V support in progress https://github.com/seccomp/libseccomp/pull/50 + withLibseccomp ? lib.meta.availableOn stdenv.hostPlatform libseccomp, + libseccomp, + + confDir, + stateDir, + storeDir, +}: +assert lib.assertMsg (docCargoHash != null || docCargoLock != null) "Either `lix-doc`'s cargoHash using `docCargoHash` or `lix-doc`'s `cargoLock.lockFile` using `docCargoLock` must be set!"; +stdenv.mkDerivation { + pname = "lix"; + + version = "${version}${suffix}"; + VERSION_SUFFIX = suffix; + + inherit src patches; + + outputs = + [ + "out" + "dev" + ] + ++ lib.optionals enableDocumentation [ + "man" + "doc" + ]; + + strictDeps = true; + + nativeBuildInputs = + [ + pkg-config + bison + flex + jq + meson + ninja + cmake + python3 + doxygen + + # Tests + git + mercurial + jq + lsof + ] + ++ lib.optionals (enableDocumentation) [ + (lib.getBin lowdown) + mdbook + mdbook-linkcheck + ] + ++ lib.optionals stdenv.isLinux [ util-linuxMinimal ]; + + buildInputs = + [ + boost + brotli + bzip2 + curl + editline + libsodium + openssl + sqlite + xz + gtest + libarchive + lowdown + rapidcheck + toml11 + lix-doc + ] + ++ lib.optionals stdenv.isDarwin [ Security ] + ++ lib.optionals (stdenv.isx86_64) [ libcpuid ] + ++ lib.optionals withLibseccomp [ libseccomp ] + ++ lib.optionals withAWS [ aws-sdk-cpp ]; + + propagatedBuildInputs = [ + boehmgc + nlohmann_json + ]; + + postPatch = '' + patchShebangs --build tests + ''; + + preConfigure = + # Copy libboost_context so we don't get all of Boost in our closure. + # https://github.com/NixOS/nixpkgs/issues/45462 + lib.optionalString (!enableStatic) '' + mkdir -p $out/lib + cp -pd ${boost}/lib/{libboost_context*,libboost_thread*,libboost_system*} $out/lib + rm -f $out/lib/*.a + ${lib.optionalString stdenv.isLinux '' + chmod u+w $out/lib/*.so.* + patchelf --set-rpath $out/lib:${stdenv.cc.cc.lib}/lib $out/lib/libboost_thread.so.* + ''} + ${lib.optionalString stdenv.hostPlatform.isDarwin '' + for LIB in $out/lib/*.dylib; do + chmod u+w $LIB + install_name_tool -id $LIB $LIB + install_name_tool -delete_rpath ${boost}/lib/ $LIB || true + done + install_name_tool -change ${boost}/lib/libboost_system.dylib $out/lib/libboost_system.dylib $out/lib/libboost_thread.dylib + ''} + ''; + + mesonBuildType = "release"; + mesonFlags = + [ + # LTO optimization + (lib.mesonBool "b_lto" (!stdenv.isDarwin)) + (lib.mesonEnable "gc" true) + (lib.mesonBool "enable-tests" true) + (lib.mesonBool "enable-docs" enableDocumentation) + (lib.mesonBool "enable-embedded-sandbox-shell" (stdenv.isLinux && stdenv.hostPlatform.isStatic)) + (lib.mesonEnable "seccomp-sandboxing" withLibseccomp) + + (lib.mesonOption "store-dir" storeDir) + (lib.mesonOption "state-dir" stateDir) + (lib.mesonOption "sysconfdir" confDir) + ] + ++ lib.optionals stdenv.isLinux [ + (lib.mesonOption "sandbox-shell" "${busybox-sandbox-shell}/bin/busybox") + ]; + + # Needed for Meson to find Boost. + # https://github.com/NixOS/nixpkgs/issues/86131. + env = { + BOOST_INCLUDEDIR = "${lib.getDev boost}/include"; + BOOST_LIBRARYDIR = "${lib.getLib boost}/lib"; + }; + + postInstall = + '' + mkdir -p $doc/nix-support + echo "doc manual $doc/share/doc/nix/manual" >> $doc/nix-support/hydra-build-products + '' + + lib.optionalString stdenv.hostPlatform.isStatic '' + mkdir -p $out/nix-support + echo "file binary-dist $out/bin/nix" >> $out/nix-support/hydra-build-products + '' + + lib.optionalString stdenv.isDarwin '' + for lib in liblixutil.dylib liblixexpr.dylib; do + install_name_tool \ + -change "${lib.getLib boost}/lib/libboost_context.dylib" \ + "$out/lib/libboost_context.dylib" \ + "$out/lib/$lib" + done + ''; + + doCheck = true; + mesonCheckFlags = [ "--suite=check" ]; + checkInputs = [ + gtest + rapidcheck + ]; + + doInstallCheck = true; + mesonInstallCheckFlags = [ "--suite=installcheck" ]; + + preInstallCheck = lib.optionalString stdenv.hostPlatform.isDarwin '' + # socket path becomes too long otherwise + export TMPDIR=$NIX_BUILD_TOP + # Prevent crashes in libcurl due to invoking Objective-C `+initialize` methods after `fork`. + # See http://sealiesoftware.com/blog/archive/2017/6/5/Objective-C_and_fork_in_macOS_1013.html. + export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES + ''; + + installCheckPhase = '' + runHook preInstallCheck + flagsArray=($mesonInstallCheckFlags "''${mesonInstallCheckFlagsArray[@]}") + meson test --no-rebuild "''${flagsArray[@]}" + runHook postInstallCheck + ''; + # strictoverflow is disabled because we trap on signed overflow instead + hardeningDisable = [ "strictoverflow" ] ++ lib.optional stdenv.hostPlatform.isStatic "pie"; + # hardeningEnable = lib.optionals (!stdenv.isDarwin) [ "pie" ]; + # hardeningDisable = lib.optional stdenv.hostPlatform.isMusl "fortify"; + separateDebugInfo = stdenv.isLinux && !enableStatic; + enableParallelBuilding = true; + + passthru = { + inherit aws-sdk-cpp boehmgc; + tests = { + misc = nixosTests.nix-misc.lix; + }; + }; + + # point 'nix edit' and ofborg at the file that defines the attribute, + # not this common file. + pos = builtins.unsafeGetAttrPos "version" args; + meta = with lib; { + description = "Powerful package manager that makes package management reliable and reproducible"; + longDescription = '' + Lix (a fork of Nix) is a powerful package manager for Linux and other Unix systems that + makes package management reliable and reproducible. It provides atomic + upgrades and rollbacks, side-by-side installation of multiple versions of + a package, multi-user package management and easy setup of build + environments. + ''; + homepage = "https://lix.systems"; + license = licenses.lgpl21Plus; + inherit maintainers; + platforms = platforms.unix; + outputsToInstall = [ "out" ] ++ optional enableDocumentation "man"; + mainProgram = "nix"; + broken = enableStatic; + }; +} diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix new file mode 100644 index 0000000000000..c262bbac48c26 --- /dev/null +++ b/pkgs/tools/package-management/lix/default.nix @@ -0,0 +1,62 @@ +{ + lib, + aws-sdk-cpp, + boehmgc, + callPackage, + fetchFromGitHub, + Security, + + storeDir ? "/nix/store", + stateDir ? "/nix/var", + confDir ? "/etc", +}: +let + boehmgc-nix_2_3 = boehmgc.override { enableLargeConfig = true; }; + + boehmgc-nix = boehmgc-nix_2_3.overrideAttrs (drv: { + patches = (drv.patches or [ ]) ++ [ + # Part of the GC solution in https://github.com/NixOS/nix/pull/4944 + ../nix/patches/boehmgc-coroutine-sp-fallback.patch + ]; + }); + + aws-sdk-cpp-nix = + (aws-sdk-cpp.override { + apis = [ + "s3" + "transfer" + ]; + customMemoryManagement = false; + }).overrideAttrs + { + # only a stripped down version is build which takes a lot less resources to build + requiredSystemFeatures = [ ]; + }; + + common = + args: + callPackage (import ./common.nix ({ inherit lib fetchFromGitHub; } // args)) { + inherit + Security + storeDir + stateDir + confDir + ; + boehmgc = boehmgc-nix; + aws-sdk-cpp = aws-sdk-cpp-nix; + }; +in +lib.makeExtensible (self: ({ + buildLix = common; + + lix_2_90 = ( + common { + version = "2.90.0-rc1"; + hash = "sha256-WY7BGnu5PnbK4O8cKKv9kvxwzZIGbIQUQLGPHFXitI0="; + docCargoHash = "sha256-V/MEC2aRlVrt/IKozyYZvZTXENrtDS/wsV08/ao4TCw="; + } + ); + + latest = self.lix_2_90; + stable = self.lix_2_90; +})) diff --git a/pkgs/tools/package-management/lix/doc/default.nix b/pkgs/tools/package-management/lix/doc/default.nix new file mode 100644 index 0000000000000..b19f3bd2a170d --- /dev/null +++ b/pkgs/tools/package-management/lix/doc/default.nix @@ -0,0 +1,13 @@ +{ + src, + rustPlatform, + version, + cargoHash ? null, + cargoLock ? null +}: + +rustPlatform.buildRustPackage { + pname = "lix-doc"; + sourceRoot = "${src.name or src}/lix-doc"; + inherit version src cargoHash cargoLock; +} diff --git a/pkgs/tools/package-management/morph/default.nix b/pkgs/tools/package-management/morph/default.nix index 71c9c285f3084..b5f6535c96ba9 100644 --- a/pkgs/tools/package-management/morph/default.nix +++ b/pkgs/tools/package-management/morph/default.nix @@ -29,7 +29,7 @@ buildGoModule rec { outputs = [ "out" "lib" ]; meta = with lib; { - description = "A NixOS host manager written in Golang"; + description = "NixOS host manager written in Golang"; license = licenses.mit; homepage = "https://github.com/dbcdk/morph"; maintainers = with maintainers; [adamt johanot]; diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix index 3b68b36403e2c..1cc00581cb980 100644 --- a/pkgs/tools/package-management/nfpm/default.nix +++ b/pkgs/tools/package-management/nfpm/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "nfpm"; - version = "2.36.1"; + version = "2.37.1"; src = fetchFromGitHub { owner = "goreleaser"; repo = pname; rev = "v${version}"; - hash = "sha256-arGTZ7GFM1kQdryPrwklY7S0B9i31eQ/MaR24mRaFAo="; + hash = "sha256-W32rjqPqMEZs7s9zi88CKm+OSVb6UKW6bEdykmOPJDw="; }; - vendorHash = "sha256-g57tLk2+WWcdG0COqkQD7eLYG0TdC0RnlhLF6Qt4woY="; + vendorHash = "sha256-zHr9NdNFlScV6GsTzwH3vsAfuP3JsNTEi/JaJEdHOck="; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; @@ -35,7 +35,7 @@ buildGoModule rec { ''; meta = with lib; { - description = "A simple deb and rpm packager written in Go"; + description = "Simple deb and rpm packager written in Go"; homepage = "https://github.com/goreleaser/nfpm"; changelog = "https://github.com/goreleaser/nfpm/releases/tag/v${version}"; maintainers = with maintainers; [ techknowlogick caarlos0 ]; diff --git a/pkgs/tools/package-management/niff/default.nix b/pkgs/tools/package-management/niff/default.nix index 9fd71964dc26f..909aaaa9413c3 100644 --- a/pkgs/tools/package-management/niff/default.nix +++ b/pkgs/tools/package-management/niff/default.nix @@ -26,7 +26,7 @@ in stdenv.mkDerivation { ''; meta = { - description = "A program that compares two Nix expressions and determines which attributes changed"; + description = "Program that compares two Nix expressions and determines which attributes changed"; homepage = "https://github.com/FRidh/niff"; license = lib.licenses.mit; mainProgram = "niff"; diff --git a/pkgs/tools/package-management/nix-doc/default.nix b/pkgs/tools/package-management/nix-doc/default.nix index 3d0069c87dba2..e07c21950b325 100644 --- a/pkgs/tools/package-management/nix-doc/default.nix +++ b/pkgs/tools/package-management/nix-doc/default.nix @@ -47,7 +47,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "sha256-CHagzXTG9AfrFd3WmHanQ+YddMgmVxSuB8vK98A1Mlw="; meta = with lib; { - description = "An interactive Nix documentation tool"; + description = "Interactive Nix documentation tool"; longDescription = "An interactive Nix documentation tool providing a CLI for function search, a Nix plugin for docs in the REPL, and a ctags implementation for Nix script"; homepage = "https://github.com/lf-/nix-doc"; license = licenses.lgpl3Plus; diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix index d8f2b79a4bbb6..5ef86d033f9ed 100644 --- a/pkgs/tools/package-management/nix-du/default.nix +++ b/pkgs/tools/package-management/nix-du/default.nix @@ -35,7 +35,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; meta = with lib; { - description = "A tool to determine which gc-roots take space in your nix store"; + description = "Tool to determine which gc-roots take space in your nix store"; homepage = "https://github.com/symphorien/nix-du"; license = licenses.lgpl3Only; maintainers = [ maintainers.symphorien ]; diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 37194739e5d18..0417b5c294dec 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -4,6 +4,7 @@ , fetchFromGitHub , meson , ninja +, curl , nix , nlohmann_json , pkg-config @@ -11,16 +12,17 @@ }: stdenv.mkDerivation rec { pname = "nix-eval-jobs"; - version = "2.21.0"; + version = "2.22.1"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; rev = "v${version}"; - hash = "sha256-StJq7Zy+/iVBUAKFzhHWlsirFucZ3gNtzXhAYXAsNnw="; + hash = "sha256-zvi2YfvlOLtui2JFhPs2qybpnJR3/2luMfp8t/eMh54="; }; buildInputs = [ boost nix + curl nlohmann_json ]; nativeBuildInputs = [ diff --git a/pkgs/tools/package-management/nix-index/default.nix b/pkgs/tools/package-management/nix-index/default.nix index 35df4f9674d67..b4b8b0832094c 100644 --- a/pkgs/tools/package-management/nix-index/default.nix +++ b/pkgs/tools/package-management/nix-index/default.nix @@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec { pname = "nix-index"; - version = "0.1.7"; + version = "0.1.8"; src = fetchFromGitHub { owner = "nix-community"; repo = "nix-index"; rev = "v${version}"; - hash = "sha256-WPWd2aMuP4L17UDFz7SI6lqyrCzrPV8c88vGyO6r6jk="; + hash = "sha256-r3Vg9ox953HdUp5Csxd2DYUyBe9u61fmA94PpcAZRqo="; }; - cargoHash = "sha256-zZhQ3pOid7BCGzcyCrl6sDm0q6IEVKF7K+d6nVs9flk="; + cargoHash = "sha256-c1Ivsj9of/cjEKU0lo4I9BfIUQZ3pPf2QF9fAlZTQn0="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl curl sqlite ] @@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec { ''; meta = with lib; { - description = "A files database for nixpkgs"; + description = "Files database for nixpkgs"; homepage = "https://github.com/nix-community/nix-index"; changelog = "https://github.com/nix-community/nix-index/blob/${src.rev}/CHANGELOG.md"; license = with licenses; [ bsd3 ]; diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix index a149b490f5aac..018fe9ffb89fb 100644 --- a/pkgs/tools/package-management/nix-serve/default.nix +++ b/pkgs/tools/package-management/nix-serve/default.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation { meta = with lib; { homepage = "https://github.com/edolstra/nix-serve"; - description = "A utility for sharing a Nix store as a binary cache"; + description = "Utility for sharing a Nix store as a binary cache"; maintainers = [ maintainers.eelco ]; license = licenses.lgpl21; platforms = nix.meta.platforms; diff --git a/pkgs/tools/package-management/nix-top/default.nix b/pkgs/tools/package-management/nix-top/default.nix deleted file mode 100644 index dc49f2a739e94..0000000000000 --- a/pkgs/tools/package-management/nix-top/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ stdenv -, lib -, fetchFromGitHub -, ruby -, makeWrapper -, getent # /etc/passwd -, ncurses # tput -, binutils-unwrapped # strings -, coreutils -, findutils -}: - -# No gems used, so mkDerivation is fine. -let - additionalPath = lib.makeBinPath [ getent ncurses binutils-unwrapped coreutils findutils ]; -in -stdenv.mkDerivation rec { - pname = "nix-top"; - version = "0.3.0"; - - src = fetchFromGitHub { - owner = "samueldr"; - repo = "nix-top"; - rev = "v${version}"; - sha256 = "sha256-w/TKzbZmMt4CX2KnLwPvR1ydp5NNlp9nNx78jJvhp54="; - }; - - nativeBuildInputs = [ - makeWrapper - ]; - - buildInputs = [ - ruby - ]; - - installPhase = '' - mkdir -p $out/libexec/nix-top - install -D -m755 ./nix-top $out/bin/nix-top - wrapProgram $out/bin/nix-top \ - --prefix PATH : "$out/libexec/nix-top:${additionalPath}" - '' + lib.optionalString stdenv.isDarwin '' - ln -s /bin/stty $out/libexec/nix-top - ''; - - meta = with lib; { - description = "Tracks what nix is building"; - homepage = "https://github.com/samueldr/nix-top"; - license = licenses.mit; - maintainers = with maintainers; [ samueldr ]; - platforms = platforms.linux ++ platforms.darwin; - mainProgram = "nix-top"; - }; -} diff --git a/pkgs/tools/package-management/nix-universal-prefetch/default.nix b/pkgs/tools/package-management/nix-universal-prefetch/default.nix deleted file mode 100644 index be31ca34ad603..0000000000000 --- a/pkgs/tools/package-management/nix-universal-prefetch/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, ruby -}: - -# No gems used, so mkDerivation is fine. -stdenv.mkDerivation rec { - pname = "nix-universal-prefetch"; - version = "0.4.0"; - - src = fetchFromGitHub { - owner = "samueldr"; - repo = "nix-universal-prefetch"; - rev = "v${version}"; - sha256 = "sha256-HGn4qHWqpUwlS3yQrD3j5oH0yOlphsoSPD2vkyyRv+0="; - }; - - installPhase = '' - mkdir -pv $out/bin - cp nix-universal-prefetch $out/bin/nix-universal-prefetch - substituteInPlace "$out/bin/nix-universal-prefetch" \ - --replace "/usr/bin/env nix-shell" "${ruby}/bin/ruby" - ''; - - meta = with lib; { - description = "Uses nixpkgs fetchers to figure out hashes"; - homepage = "https://github.com/samueldr/nix-universal-prefetch"; - license = licenses.mit; - maintainers = with maintainers; [ samueldr ]; - platforms = platforms.linux ++ platforms.darwin; - mainProgram = "nix-universal-prefetch"; - }; -} diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix index b04c59369f185..22b1cb817b691 100644 --- a/pkgs/tools/package-management/nix/common.nix +++ b/pkgs/tools/package-management/nix/common.nix @@ -5,7 +5,8 @@ , hash ? null , src ? fetchFromGitHub { owner = "NixOS"; repo = "nix"; rev = version; inherit hash; } , patches ? [ ] -, maintainers ? with lib.maintainers; [ eelco lovesegfault artturin ma27 ] +, maintainers ? with lib.maintainers; [ eelco lovesegfault artturin ] +, self_attribute_name }@args: assert (hash == null) -> (src != null); let @@ -61,6 +62,7 @@ in , mdbook , mdbook-linkcheck , nlohmann_json +, nixosTests , openssl , perl , pkg-config @@ -249,7 +251,10 @@ self = stdenv.mkDerivation { perl-bindings = perl.pkgs.toPerlModule (callPackage ./nix-perl.nix { nix = self; inherit Security; }); tests = { - nixi686 = pkgsi686Linux.nixVersions.${"nix_${lib.versions.major version}_${lib.versions.minor version}"}; + nixi686 = pkgsi686Linux.nixVersions.${self_attribute_name}; + # Basic smoke test that needs to pass when upgrading nix. + # Note that this test does only test the nixVersions.stable attribute. + misc = nixosTests.nix-misc.default; }; }; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index f36497cda34d3..87077b42d96e4 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -20,15 +20,6 @@ let patches = (drv.patches or [ ]) ++ [ # Part of the GC solution in https://github.com/NixOS/nix/pull/4944 ./patches/boehmgc-coroutine-sp-fallback.patch - - # Required since 2.20, and has always been a valid change - # Awaiting 8.2 patch release of https://github.com/ivmai/bdwgc/commit/d1d4194c010bff2dc9237223319792cae834501c - # or master release of https://github.com/ivmai/bdwgc/commit/86b3bf0c95b66f718c3cb3d35fd7387736c2a4d7 - (fetchpatch { - name = "boehmgc-traceable_allocator-public.diff"; - url = "https://github.com/NixOS/nix/raw/2.20.0/dep-patches/boehmgc-traceable_allocator-public.diff"; - hash = "sha256-FLsHY/JS46neiSyyQkVpbHZEFvWSCzWrFQu1CC71sh4="; - }) ]; }); @@ -147,7 +138,8 @@ in lib.makeExtensible (self: ({ patches = [ patch-monitorfdhup ]; - maintainers = with lib.maintainers; [ flokli raitobezarius ]; + self_attribute_name = "nix_2_3"; + maintainers = with lib.maintainers; [ flokli ]; }).override { boehmgc = boehmgc-nix_2_3; }).overrideAttrs { # https://github.com/NixOS/nix/issues/10222 # spurious test/add.sh failures @@ -155,42 +147,54 @@ in lib.makeExtensible (self: ({ }; nix_2_18 = common { - version = "2.18.2"; - hash = "sha256-8gNJlBlv2bnffRg0CejiBXc6U/S6YeCLAdHrYvTPyoY="; + version = "2.18.3"; + hash = "sha256-430V4oN1Pid0h3J1yucrik6lbDh5D+pHI455bzLPEDY="; + self_attribute_name = "nix_2_18"; }; nix_2_19 = common { version = "2.19.4"; hash = "sha256-qXjyVmDm1SFWk1az3GWIsJ0fVG0nWet2FdldFOnUydI="; + self_attribute_name = "nix_2_19"; }; nix_2_20 = common { version = "2.20.6"; hash = "sha256-BSl8Jijq1A4n1ToQy0t0jDJCXhJK+w1prL8QMHS5t54="; + self_attribute_name = "nix_2_20"; }; nix_2_21 = common { version = "2.21.2"; hash = "sha256-ObaVDDPtnOeIE0t7m4OVk5G+OS6d9qYh+ktK67Fe/zE="; + self_attribute_name = "nix_2_21"; }; nix_2_22 = common { - version = "2.22.0"; - hash = "sha256-Ugcc+lSq8nJP+mddMlGFnoG4Ix1lRFHWOal3299bqR8="; + version = "2.22.1"; + hash = "sha256-5Q1WkpTWH7fkVfYhHDc5r0A+Vc+K5xB1UhzrLzBCrB8="; + self_attribute_name = "nix_2_22"; + }; + + nix_2_23 = common { + version = "2.23.0"; + hash = "sha256-cRCwRDxR8rEQQEvGjIH8g0krJd4ZFJrdgmPXkv65S/Y="; + self_attribute_name = "nix_2_23"; }; git = common rec { version = "2.23.0"; - suffix = "pre20240426_${lib.substring 0 8 src.rev}"; + suffix = "pre20240526_${lib.substring 0 8 src.rev}"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "2f678331d59451dd6f1d9512cb6d92e4ecb9750f"; - hash = "sha256-4AwaLB/gTRgvZG4FmFY6OY52yeLAnj0a6rtJCz7TRXA="; + rev = "7de033d63fbcf97aad164e131ae3a85e5dcebce7"; + hash = "sha256-LtsyUsVpr9sM0n1L7MeTw8/6wGtGeXFvKAbPR5lqN8Q="; }; + self_attribute_name = "git"; }; - latest = self.nix_2_21; + latest = self.nix_2_23; # The minimum Nix version supported by Nixpkgs # Note that some functionality *might* have been backported into this Nix version, diff --git a/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch b/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch index 578bd325d56bd..a53b7f1f52f49 100644 --- a/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch +++ b/pkgs/tools/package-management/nix/patches/boehmgc-coroutine-sp-fallback.patch @@ -11,14 +11,23 @@ index 2b45489..0e6d8ef 100644 GC_bool found_me = FALSE; size_t nthreads = 0; int i; -@@ -868,6 +870,31 @@ GC_INNER void GC_push_all_stacks(void) +@@ -868,6 +870,40 @@ GC_INNER void GC_push_all_stacks(void) hi = p->altstack + p->altstack_size; # endif /* FIXME: Need to scan the normal stack too, but how ? */ + } else { ++ #ifdef HAVE_PTHREAD_ATTR_GET_NP ++ if (pthread_attr_init(&pattr) != 0) { ++ ABORT("GC_push_all_stacks: pthread_attr_init failed!"); ++ } ++ if (pthread_attr_get_np(p->id, &pattr) != 0) { ++ ABORT("GC_push_all_stacks: pthread_attr_get_np failed!"); ++ } ++ #else + if (pthread_getattr_np(p->id, &pattr)) { + ABORT("GC_push_all_stacks: pthread_getattr_np failed!"); + } ++ #endif + if (pthread_attr_getstacksize(&pattr, &stack_limit)) { + ABORT("GC_push_all_stacks: pthread_attr_getstacksize failed!"); + } diff --git a/pkgs/tools/package-management/nixpkgs-review/default.nix b/pkgs/tools/package-management/nixpkgs-review/default.nix index 3c3956bb94cc1..3d119f6b846ad 100644 --- a/pkgs/tools/package-management/nixpkgs-review/default.nix +++ b/pkgs/tools/package-management/nixpkgs-review/default.nix @@ -16,14 +16,14 @@ python3.pkgs.buildPythonApplication rec { pname = "nixpkgs-review"; - version = "2.10.4"; + version = "2.10.5"; format = "pyproject"; src = fetchFromGitHub { owner = "Mic92"; repo = "nixpkgs-review"; - rev = version; - hash = "sha256-+4T6Mm4YfH0wWlkNYS03H9Z9oNlYQnVUncvWGA0CKIQ="; + rev = "refs/tags/${version}"; + hash = "sha256-dRTKE8gkV298ZmMokyy3Ufer/Lp1GQYdEhIBoLhloEQ="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/package-management/opkg-utils/default.nix b/pkgs/tools/package-management/opkg-utils/default.nix index 922fa4c93e1ec..1fea0f6cc7a2f 100644 --- a/pkgs/tools/package-management/opkg-utils/default.nix +++ b/pkgs/tools/package-management/opkg-utils/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { meta = with lib; { description = "Helper scripts for use with the opkg package manager"; homepage = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/"; - license = licenses.gpl2; + license = licenses.gpl2Plus; platforms = platforms.all; maintainers = [ maintainers.bjornfor ]; }; diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix index ba45cb0835b20..bced64f20d034 100644 --- a/pkgs/tools/package-management/opkg/default.nix +++ b/pkgs/tools/package-management/opkg/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { - description = "A lightweight package management system based upon ipkg"; + description = "Lightweight package management system based upon ipkg"; homepage = "https://git.yoctoproject.org/cgit/cgit.cgi/opkg/"; changelog = "https://git.yoctoproject.org/opkg/tree/NEWS?h=v${version}"; license = licenses.gpl2Plus; diff --git a/pkgs/tools/package-management/pacman/default.nix b/pkgs/tools/package-management/pacman/default.nix index e3367ef1438db..7a5fc098bb2c2 100644 --- a/pkgs/tools/package-management/pacman/default.nix +++ b/pkgs/tools/package-management/pacman/default.nix @@ -125,7 +125,7 @@ stdenv.mkDerivation (final: { ''; meta = with lib; { - description = "A simple library-based package manager"; + description = "Simple library-based package manager"; homepage = "https://archlinux.org/pacman/"; changelog = "https://gitlab.archlinux.org/pacman/pacman/-/raw/v${final.version}/NEWS"; license = licenses.gpl2Plus; diff --git a/pkgs/tools/package-management/pacup/default.nix b/pkgs/tools/package-management/pacup/default.nix index 7afd4eb815d73..992615982ea73 100644 --- a/pkgs/tools/package-management/pacup/default.nix +++ b/pkgs/tools/package-management/pacup/default.nix @@ -4,13 +4,13 @@ }: python3.pkgs.buildPythonApplication rec { - name = "pacup"; + pname = "pacup"; version = "2.0.0"; format = "pyproject"; src = fetchFromGitHub { owner = "pacstall"; - repo = name; + repo = "pacup"; rev = "refs/tags/${version}"; hash = "sha256-ItO38QyxNHftKPQZAPO7596ddBfX0a1nfVVqgx7BfwI="; }; diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix index 523d610a9575d..2fab674ec13df 100644 --- a/pkgs/tools/package-management/pdm/default.nix +++ b/pkgs/tools/package-management/pdm/default.nix @@ -11,14 +11,14 @@ with python3.pkgs; buildPythonApplication rec { pname = "pdm"; - version = "2.15.1"; + version = "2.15.4"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-HJzQScEBZjOiPvkuwfx4LaiuB0MULvM/r31Ihy+HSzk="; + hash = "sha256-WOIlhQVn3K3OQkGNtGOJlt8rE3jNCDDNSK/aG0VdnHI="; }; nativeBuildInputs = [ @@ -50,7 +50,6 @@ buildPythonApplication rec { unearth virtualenv ] ++ httpx.optional-dependencies.socks - ++ pbs-installer.optional-dependencies.install ++ lib.optionals (pythonOlder "3.11") [ tomli ] @@ -81,11 +80,12 @@ buildPythonApplication rec { ''; nativeCheckInputs = [ + first pytestCheckHook pytest-mock pytest-xdist pytest-httpserver - ] ++ lib.optional stdenv.isLinux first; + ]; pytestFlagsArray = [ "-m 'not network'" @@ -120,7 +120,7 @@ buildPythonApplication rec { meta = with lib; { homepage = "https://pdm-project.org"; changelog = "https://github.com/pdm-project/pdm/releases/tag/${version}"; - description = "A modern Python package and dependency manager supporting the latest PEP standards"; + description = "Modern Python package and dependency manager supporting the latest PEP standards"; license = licenses.mit; maintainers = with maintainers; [ cpcloud ]; mainProgram = "pdm"; diff --git a/pkgs/tools/package-management/pkg/default.nix b/pkgs/tools/package-management/pkg/default.nix index 1d0d021809603..92a2270e2d75f 100644 --- a/pkgs/tools/package-management/pkg/default.nix +++ b/pkgs/tools/package-management/pkg/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "pkg"; - version = "1.21.2"; + version = "1.21.3"; src = fetchFromGitHub { owner = "freebsd"; repo = "pkg"; rev = finalAttrs.version; - hash = "sha256-iiekjV/X9dAqk9WTxDgi6SK/XkI0aKEfN4Hopgid3Rw="; + hash = "sha256-9LWoacjisyaiR0spF5/k5SneIo09UaCHBE1mrewftd8="; }; setOutputFlags = false; diff --git a/pkgs/tools/package-management/poetry/plugins/poetry-plugin-export.nix b/pkgs/tools/package-management/poetry/plugins/poetry-plugin-export.nix index 67cbae28e8438..08b94a0fd227f 100644 --- a/pkgs/tools/package-management/poetry/plugins/poetry-plugin-export.nix +++ b/pkgs/tools/package-management/poetry/plugins/poetry-plugin-export.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "poetry-plugin-export"; - version = "1.7.1"; + version = "1.8.0"; format = "pyproject"; src = fetchFromGitHub { owner = "python-poetry"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-HXzlfiZYDkrQRFXF1up52KrwGhrIctd3CtjQTNz8xH4="; + hash = "sha256-ZXhj9FwCCNFMzyoAtQTD8bddOvVM4KzNtd+3sBn9i+w="; }; postPatch = '' diff --git a/pkgs/tools/package-management/poetry/unwrapped.nix b/pkgs/tools/package-management/poetry/unwrapped.nix index 5e2cc63644ab6..3c27faaaf3a21 100644 --- a/pkgs/tools/package-management/poetry/unwrapped.nix +++ b/pkgs/tools/package-management/poetry/unwrapped.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { pname = "poetry"; - version = "1.8.2"; + version = "1.8.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -47,7 +47,7 @@ buildPythonPackage rec { owner = "python-poetry"; repo = "poetry"; rev = "refs/tags/${version}"; - hash = "sha256-MBWVeS/UHpzeeNUeiHMoXnLA3enRO/6yGIbg4Vf2GxU="; + hash = "sha256-PPHt9GG5XJzrhnuAS8L+0Pa3El3RNCdEbXbLnHopDWg="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/package-management/poetry2conda/default.nix b/pkgs/tools/package-management/poetry2conda/default.nix index 7aa821d678ace..9b0975bd01cf6 100644 --- a/pkgs/tools/package-management/poetry2conda/default.nix +++ b/pkgs/tools/package-management/poetry2conda/default.nix @@ -39,7 +39,7 @@ with python3.pkgs; buildPythonApplication rec { ]; meta = with lib; { - description = "A script to convert a Python project declared on a pyproject.toml to a conda environment"; + description = "Script to convert a Python project declared on a pyproject.toml to a conda environment"; homepage = "https://github.com/dojeda/poetry2conda"; license = licenses.mit; maintainers = with maintainers; [ cpcloud ]; diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix index c3c43163c6710..468a1ca75b3fb 100644 --- a/pkgs/tools/package-management/protontricks/default.nix +++ b/pkgs/tools/package-management/protontricks/default.nix @@ -12,6 +12,7 @@ , yad , pytestCheckHook , nix-update-script +, extraCompatPaths ? "" }: buildPythonApplication rec { @@ -51,7 +52,7 @@ buildPythonApplication rec { ]}" # Steam Runtime does not work outside of steam-run, so don't use it "--set STEAM_RUNTIME 0" - ]; + ] ++ lib.optional (extraCompatPaths != "") "--set STEAM_EXTRA_COMPAT_TOOLS_PATHS ${extraCompatPaths}"; nativeCheckInputs = [ pytestCheckHook ]; @@ -66,7 +67,7 @@ buildPythonApplication rec { passthru.updateScript = nix-update-script { }; meta = with lib; { - description = "A simple wrapper for running Winetricks commands for Proton-enabled games"; + description = "Simple wrapper for running Winetricks commands for Proton-enabled games"; homepage = "https://github.com/Matoking/protontricks"; license = licenses.gpl3Only; maintainers = with maintainers; [ kira-bruneau ]; diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index e931ca16de7e8..ac9c498a9c89f 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -90,7 +90,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://www.rpm.org/"; license = with licenses; [ gpl2Plus lgpl21Plus ]; - description = "The RPM Package Manager"; + description = "RPM Package Manager"; maintainers = with maintainers; [ copumpkin ]; platforms = platforms.linux; # Support for darwin was removed in https://github.com/NixOS/nixpkgs/pull/196350. diff --git a/pkgs/tools/package-management/wapm/cli/default.nix b/pkgs/tools/package-management/wapm/cli/default.nix deleted file mode 100644 index bd345ca6940d1..0000000000000 --- a/pkgs/tools/package-management/wapm/cli/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib -, fetchFromGitHub -, perl -, libiconv -, openssl -, rustPlatform -, Security -, stdenv -, SystemConfiguration -}: - -rustPlatform.buildRustPackage rec { - pname = "wapm-cli"; - version = "0.5.9"; - - src = fetchFromGitHub { - owner = "wasmerio"; - repo = "wapm-cli"; - rev = "v${version}"; - sha256 = "sha256-T7YEe8xg5iwI/npisW0m+6FLi+eaAQVgYNe6TvMlhAs="; - }; - - cargoSha256 = "sha256-r4123NJ+nxNOVIg6svWr636xbxOJQ7tp76JoAi2m9p8="; - - nativeBuildInputs = [ perl ]; - - buildInputs = [ libiconv openssl ] - ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ]; - - doCheck = false; - - meta = with lib; { - description = "A package manager for WebAssembly modules"; - mainProgram = "wapm"; - homepage = "https://docs.wasmer.io/ecosystem/wapm"; - license = with licenses; [ mit ]; - maintainers = [ maintainers.lucperkins ]; - }; -} diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix index 07aa1a7accc15..e5ada2e10268d 100644 --- a/pkgs/tools/package-management/xbps/default.nix +++ b/pkgs/tools/package-management/xbps/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://github.com/void-linux/xbps"; - description = "The X Binary Package System"; + description = "X Binary Package System"; platforms = platforms.linux; # known to not work on Darwin, at least license = licenses.bsd2; maintainers = with maintainers; [ dtzWill ]; |