diff options
Diffstat (limited to 'pkgs/tools/package-management')
63 files changed, 472 insertions, 782 deletions
diff --git a/pkgs/tools/package-management/akku/default.nix b/pkgs/tools/package-management/akku/default.nix index e1baf2e0b1eb..68ee94d3f94e 100644 --- a/pkgs/tools/package-management/akku/default.nix +++ b/pkgs/tools/package-management/akku/default.nix @@ -37,5 +37,6 @@ stdenv.mkDerivation rec { platforms = platforms.all; license = licenses.gpl3Plus; maintainers = with maintainers; [ marsam ]; + mainProgram = "akku"; }; } diff --git a/pkgs/tools/package-management/apk-tools/default.nix b/pkgs/tools/package-management/apk-tools/default.nix index 5b37982e83f5..4a460adfd0ff 100644 --- a/pkgs/tools/package-management/apk-tools/default.nix +++ b/pkgs/tools/package-management/apk-tools/default.nix @@ -44,5 +44,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ qyliss ]; license = licenses.gpl2Only; platforms = platforms.linux; + mainProgram = "apk"; }; } diff --git a/pkgs/tools/package-management/apkg/default.nix b/pkgs/tools/package-management/apkg/default.nix index 901a7aeff2b4..18b52f0bcdb8 100644 --- a/pkgs/tools/package-management/apkg/default.nix +++ b/pkgs/tools/package-management/apkg/default.nix @@ -47,5 +47,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://pkg.labs.nic.cz/pages/apkg"; license = licenses.gpl3Plus; maintainers = [ maintainers.vcunat /* close to upstream */ ]; + mainProgram = "apkg"; }; } diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix deleted file mode 100644 index 6991a5a3cd64..000000000000 --- a/pkgs/tools/package-management/apt/default.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ lib -, stdenv -, fetchurl -, bzip2 -, cmake -, curl -, db -, docbook_xml_dtd_45 -, docbook_xsl -, dpkg -, gnutls -, gtest -, libgcrypt -, libseccomp -, libtasn1 -, libxslt -, lz4 -, perlPackages -, pkg-config -, triehash -, udev -, xxHash -, xz -, zstd -, withDocs ? true , w3m, doxygen -, withNLS ? true , gettext -}: - -stdenv.mkDerivation rec { - pname = "apt"; - version = "2.7.6"; - - src = fetchurl { - url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz"; - hash = "sha256-hoP1Tv8L9U5R4CWzSL0HdND9Q3eZYW9IUSlWzxXAX2c="; - }; - - nativeBuildInputs = [ - cmake - gtest - libxslt.bin - pkg-config - triehash - ]; - - buildInputs = [ - bzip2 - curl - db - dpkg - gnutls - libgcrypt - libseccomp - libtasn1 - lz4 - perlPackages.perl - udev - xxHash - xz - zstd - ] ++ lib.optionals withDocs [ - docbook_xml_dtd_45 - doxygen - perlPackages.Po4a - w3m - ] ++ lib.optionals withNLS [ - gettext - ]; - - cmakeFlags = [ - "-DBERKELEY_INCLUDE_DIRS=${db.dev}/include" - "-DDOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl" - "-DGNUTLS_INCLUDE_DIR=${gnutls.dev}/include" - "-DROOT_GROUP=root" - "-DUSE_NLS=${if withNLS then "ON" else "OFF"}" - "-DWITH_DOC=${if withDocs then "ON" else "OFF"}" - ]; - - meta = with lib; { - homepage = "https://salsa.debian.org/apt-team/apt"; - description = "Command-line package management tools used on Debian-based systems"; - changelog = "https://salsa.debian.org/apt-team/apt/-/raw/${version}/debian/changelog"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ ]; - }; -} diff --git a/pkgs/tools/package-management/apx/default.nix b/pkgs/tools/package-management/apx/default.nix index 8671cb611dc8..d24a5bc07106 100644 --- a/pkgs/tools/package-management/apx/default.nix +++ b/pkgs/tools/package-management/apx/default.nix @@ -2,34 +2,37 @@ , buildGoModule , fetchFromGitHub , distrobox +, installShellFiles }: buildGoModule rec { pname = "apx"; - version = "2.0.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "Vanilla-OS"; - repo = pname; + repo = "apx"; rev = "v${version}"; - hash = "sha256-3CelqEntpfld0n+Ewg7NCkowVjgCf5b6StfSkYbgV5k="; + hash = "sha256-/RGL2mCfJiJInnt5zgc1xXPqZxXCAcoWIbky99okvL0="; }; vendorHash = null; + nativeBuildInputs = [ installShellFiles ]; + ldflags = [ "-s" "-w" ]; postPatch = '' substituteInPlace config/apx.json \ - --replace "/usr/share/apx/distrobox" "${distrobox}/bin/distrobox" \ + --replace "/usr/share/apx/distrobox/distrobox" "${distrobox}/bin/distrobox" \ --replace "/usr/share/apx" "$out/bin/apx" substituteInPlace settings/config.go \ --replace "/usr/share/apx/" "$out/share/apx/" ''; postInstall = '' - install -D config/apx.json -t $out/share/apx/ - install -D man/man1/apx.1 -t $out/man/man1/ + install -m 444 -D config/apx.json -t $out/share/apx/ + installManPage man/man1/* ''; meta = with lib; { @@ -37,6 +40,7 @@ buildGoModule rec { homepage = "https://github.com/Vanilla-OS/apx"; changelog = "https://github.com/Vanilla-OS/apx/releases/tag/v${version}"; license = licenses.gpl3Only; - maintainers = with maintainers; [ dit7ya jgarcia ]; + maintainers = with maintainers; [ dit7ya chewblacka ]; + mainProgram = "apx"; }; } diff --git a/pkgs/tools/package-management/auditwheel/default.nix b/pkgs/tools/package-management/auditwheel/default.nix deleted file mode 100644 index 6ea176ab1ca4..000000000000 --- a/pkgs/tools/package-management/auditwheel/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ lib -, bzip2 -, patchelf -, python3 -, fetchPypi -, gnutar -, unzip -}: - -python3.pkgs.buildPythonApplication rec { - pname = "auditwheel"; - version = "5.1.2"; - format = "setuptools"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-PuWDABSTHqhK9c0GXGN7ZhTvoD2biL2Pv8kk5+0B1ro="; - }; - - nativeBuildInputs = with python3.pkgs; [ - pbr - ]; - - propagatedBuildInputs = with python3.pkgs; [ - pyelftools - setuptools - ]; - - nativeCheckInputs = with python3.pkgs; [ - pretend - pytestCheckHook - ]; - - # Integration tests require docker and networking - disabledTestPaths = [ - "tests/integration" - ]; - - # Ensure that there are no undeclared deps - postCheck = '' - PATH= PYTHONPATH= $out/bin/auditwheel --version > /dev/null - ''; - - makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ bzip2 gnutar patchelf unzip ]) - ]; - - meta = with lib; { - description = "Auditing and relabeling cross-distribution Linux wheels"; - homepage = "https://github.com/pypa/auditwheel"; - license = with licenses; [ - mit # auditwheel and nibabel - bsd2 # from https://github.com/matthew-brett/delocate - bsd3 # from https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-projects/pax-utils/lddtree.py - ]; - maintainers = with maintainers; [ davhau ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/tools/package-management/ciel/default.nix b/pkgs/tools/package-management/ciel/default.nix index d6040c4a0763..c5809fdca944 100644 --- a/pkgs/tools/package-management/ciel/default.nix +++ b/pkgs/tools/package-management/ciel/default.nix @@ -62,10 +62,11 @@ rustPlatform.buildRustPackage rec { ''; meta = with lib; { - description = "A tool for controlling AOSC OS packaging environments using multi-layer filesystems and containers."; + description = "A 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; maintainers = with maintainers; [ yisuidenghua ]; + mainProgram = "ciel"; }; } diff --git a/pkgs/tools/package-management/conda/default.nix b/pkgs/tools/package-management/conda/default.nix index b20165a07861..5638676838f7 100644 --- a/pkgs/tools/package-management/conda/default.nix +++ b/pkgs/tools/package-management/conda/default.nix @@ -77,7 +77,11 @@ in export QTCOMPOSE=${xorg.libX11}/share/X11/locale export LIBARCHIVE=${libarchive.lib}/lib/libarchive.so # Allows `conda activate` to work properly - source ${installationPath}/etc/profile.d/conda.sh + condaSh=${installationPath}/etc/profile.d/conda.sh + if [ ! -f $condaSh ]; then + conda-install + fi + source $condaSh ''; runScript = "bash -l"; diff --git a/pkgs/tools/package-management/deploy-rs/default.nix b/pkgs/tools/package-management/deploy-rs/default.nix index 7f4aeac5a45a..72eacb558bb8 100644 --- a/pkgs/tools/package-management/deploy-rs/default.nix +++ b/pkgs/tools/package-management/deploy-rs/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage { pname = "deploy-rs"; - version = "unstable-2023-09-12"; + version = "unstable-2023-12-20"; src = fetchFromGitHub { owner = "serokell"; repo = "deploy-rs"; - rev = "31c32fb2959103a796e07bbe47e0a5e287c343a8"; - hash = "sha256-wE5kHco3+FQjc+MwTPwLVqYz4hM7uno2CgXDXUFMCpc="; + rev = "b709d63debafce9f5645a5ba550c9e0983b3d1f7"; + hash = "sha256-0VUbWBW8VyiDRuimMuLsEO4elGuUw/nc2WDeuO1eN1M="; }; - cargoHash = "sha256-WqZnDWMrqWy1rzR6n+acFW6VHWbDnQmoxtPDA5B37JU="; + cargoHash = "sha256-PVeCB1g3JSYE6PKWHyE3hfN/CKlb9XErt8uaD/ZyxIs="; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices diff --git a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix index 9fd10a3aba08..461c0cacc06a 100644 --- a/pkgs/tools/package-management/disnix/DisnixWebService/default.nix +++ b/pkgs/tools/package-management/disnix/DisnixWebService/default.nix @@ -1,12 +1,25 @@ -{lib, stdenv, fetchurl, apacheAnt, jdk, axis2, dbus_java }: +{lib, stdenv, fetchFromGitHub, fetchpatch, apacheAnt, jdk, axis2, dbus_java }: stdenv.mkDerivation rec { pname = "DisnixWebService"; version = "0.10.1"; - src = fetchurl { - url = "https://github.com/svanderburg/DisnixWebService/releases/download/DisnixWebService-${version}/DisnixWebService-${version}.tar.gz"; - sha256 = "02jxbgn9a0c9cr6knzp78bp9wiywzczy89wav7yxhg79vff8a1gr"; + + src = fetchFromGitHub { + owner = "svanderburg"; + repo = "DisnixWebService"; + rev = "refs/tags/DisnixWebService-${version}"; + hash = "sha256-zcYr2Ytx4pevSthTQLpnQ330wDxN9dWsZA20jbO6PxQ="; }; + + patches = [ + # Correct the DisnixWebService build for compatibility with Axis2 1.8.1 + # See https://github.com/svanderburg/DisnixWebService/pull/2 + (fetchpatch { + url = "https://github.com/svanderburg/DisnixWebService/commit/cee99c6af744b5dda16728a70ebd2800f61871a0.patch"; + hash = "sha256-4rSEN8AwivUXUCIUYFBRIoE19jVDv+Vpgakmy8fR06A="; + }) + ]; + buildInputs = [ apacheAnt jdk ]; PREFIX = "\${env.out}"; AXIS2_LIB = "${axis2}/lib"; @@ -22,6 +35,8 @@ stdenv.mkDerivation rec { meta = { description = "A SOAP interface and client for Disnix"; + homepage = "https://github.com/svanderburg/DisnixWebService"; + changelog = "https://github.com/svanderburg/DisnixWebService/blob/DisnixWebService-${version}/NEWS.txt"; license = lib.licenses.mit; maintainers = [ lib.maintainers.sander ]; platforms = lib.platforms.linux; diff --git a/pkgs/tools/package-management/dnf5/default.nix b/pkgs/tools/package-management/dnf5/default.nix index 97c9ba29b6a7..31a19b542e70 100644 --- a/pkgs/tools/package-management/dnf5/default.nix +++ b/pkgs/tools/package-management/dnf5/default.nix @@ -3,9 +3,11 @@ , fetchFromGitHub , cmake , createrepo_c +, doxygen , gettext , help2man , pkg-config +, python3Packages , cppunit , fmt , json_c @@ -14,27 +16,45 @@ , libsmartcols , libsolv , libxml2 +, libyaml , pcre2 , rpm , sdbus-cpp +, sphinx , sqlite , systemd +, testers , toml11 , zchunk }: stdenv.mkDerivation (finalAttrs: { pname = "dnf5"; - version = "5.1.7"; + version = "5.1.10"; + + outputs = [ "out" "man" ]; src = fetchFromGitHub { owner = "rpm-software-management"; repo = "dnf5"; rev = finalAttrs.version; - hash = "sha256-SXgl4YFWl1A3N2/IkDftvBl6Rwhnymxe8AqqaekGHTc="; + hash = "sha256-u+UiiCl67VtIedW4kn3fycafkgBVsFFkWQcN3NXQKl4="; }; - nativeBuildInputs = [ cmake createrepo_c gettext help2man pkg-config ]; + nativeBuildInputs = [ + cmake + createrepo_c + doxygen + gettext + help2man + pkg-config + sphinx + ] ++ (with python3Packages; [ + breathe + sphinx-autoapi + sphinx-rtd-theme + ]); + buildInputs = [ cppunit fmt @@ -44,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: { libsmartcols libsolv libxml2 + libyaml pcre2.dev rpm sdbus-cpp @@ -60,9 +81,6 @@ stdenv.mkDerivation (finalAttrs: { "-DWITH_PERL5=OFF" "-DWITH_PYTHON3=OFF" "-DWITH_RUBY=OFF" - "-DWITH_TESTS=OFF" - # TODO: fix man installation paths - "-DWITH_MAN=OFF" "-DWITH_PLUGIN_RHSM=OFF" # Red Hat Subscription Manager plugin # the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly # (setting it to an absolute path causes include files to go to $out/$out/include, @@ -71,6 +89,10 @@ stdenv.mkDerivation (finalAttrs: { "-DCMAKE_INSTALL_LIBDIR=lib" ]; + postBuild = '' + make doc + ''; + prePatch = '' substituteInPlace dnf5daemon-server/dbus/CMakeLists.txt \ --replace '/etc' "$out/etc" \ @@ -83,6 +105,10 @@ stdenv.mkDerivation (finalAttrs: { dontFixCmake = true; + passthru.tests = { + version = testers.testVersion { package = finalAttrs.finalPackage; }; + }; + meta = with lib; { description = "Next-generation RPM package management system"; homepage = "https://github.com/rpm-software-management/dnf5"; diff --git a/pkgs/tools/package-management/elm-github-install/default.nix b/pkgs/tools/package-management/elm-github-install/default.nix index f86cdc55ecc1..3c77af2b82bf 100644 --- a/pkgs/tools/package-management/elm-github-install/default.nix +++ b/pkgs/tools/package-management/elm-github-install/default.nix @@ -17,5 +17,6 @@ bundlerEnv rec { license = licenses.unfree; maintainers = with maintainers; [ roberth nicknovitski ]; platforms = platforms.all; + mainProgram = "elm-install"; }; } diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix index 07f17343cb7b..0a2656e12932 100644 --- a/pkgs/tools/package-management/emplace/default.nix +++ b/pkgs/tools/package-management/emplace/default.nix @@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/tversteeg/emplace"; license = licenses.agpl3Plus; maintainers = with maintainers; [ Br1ght0ne ]; + mainProgram = "emplace"; }; } diff --git a/pkgs/tools/package-management/fortran-fpm/default.nix b/pkgs/tools/package-management/fortran-fpm/default.nix index 6e7c68aa17f1..0945b0c67e32 100644 --- a/pkgs/tools/package-management/fortran-fpm/default.nix +++ b/pkgs/tools/package-management/fortran-fpm/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { pname = "fortran-fpm"; - version = "0.9.0"; + version = "0.10.0"; src = fetchurl { url = "https://github.com/fortran-lang/fpm/releases/download/v${version}/fpm-${version}.F90"; - sha256 = "sha256-VWs4g7odtv1iyZunFD8el+u0CXKcQgnwOqPG/JcMzj8="; + sha256 = "sha256-SOVj23Sva5OW6+Sme9NxIQ4uqMbis8wjDmgYPOdQlCI="; }; dontUnpack = true; @@ -44,5 +44,6 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.proofconstruction ]; license = licenses.mit; platforms = platforms.all; + mainProgram = "fortran-fpm"; }; } diff --git a/pkgs/tools/package-management/fpm/default.nix b/pkgs/tools/package-management/fpm/default.nix index 4eab1556d954..6be2687d67ad 100644 --- a/pkgs/tools/package-management/fpm/default.nix +++ b/pkgs/tools/package-management/fpm/default.nix @@ -13,5 +13,6 @@ bundlerApp { license = licenses.mit; maintainers = with maintainers; [ manveru nicknovitski ]; platforms = platforms.unix; + mainProgram = "fpm"; }; } diff --git a/pkgs/tools/package-management/fusesoc/default.nix b/pkgs/tools/package-management/fusesoc/default.nix index 99926fd5c047..680cbc020945 100644 --- a/pkgs/tools/package-management/fusesoc/default.nix +++ b/pkgs/tools/package-management/fusesoc/default.nix @@ -34,5 +34,6 @@ buildPythonPackage rec { description = "A 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 e53fdf48413f..3f757dde448c 100644 --- a/pkgs/tools/package-management/gx/default.nix +++ b/pkgs/tools/package-management/gx/default.nix @@ -20,5 +20,6 @@ buildGoModule rec { homepage = "https://github.com/whyrusleeping/gx"; license = licenses.mit; maintainers = with maintainers; [ zimbatm ]; + mainProgram = "gx"; }; } diff --git a/pkgs/tools/package-management/harmonia/default.nix b/pkgs/tools/package-management/harmonia/default.nix index fd1ce1063245..9830570a07fd 100644 --- a/pkgs/tools/package-management/harmonia/default.nix +++ b/pkgs/tools/package-management/harmonia/default.nix @@ -2,36 +2,42 @@ , boost , fetchFromGitHub , libsodium -, nix +, nixVersions , pkg-config , rustPlatform +, stdenv , nix-update-script , nixosTests }: rustPlatform.buildRustPackage rec { pname = "harmonia"; - version = "0.7.3"; + version = "0.7.4"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; rev = "refs/tags/${pname}-v${version}"; - hash = "sha256-XtnK54HvZMKZGSCrVD0FO5PQLMo3Vkj8ezUlsfqStq0="; + hash = "sha256-72JMrXmxw/FuGjqXXxMIGiAbUUOqXEERdQwch+s3iwU="; }; - cargoHash = "sha256-oQVHrfNPhslYk6APB/bhW+h+vk/gNTW/ZypoGGb5zPk="; + cargoHash = "sha256-Q5Y5v7mmJpfZFGRgurTcRBRtbApFRrwqOBHdZTJbyzc="; nativeBuildInputs = [ - pkg-config nix + pkg-config nixVersions.nix_2_19 ]; buildInputs = [ boost libsodium - nix + nixVersions.nix_2_19 ]; + # Workaround for https://github.com/NixOS/nixpkgs/issues/166205 + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}"; + }; + passthru = { updateScript = nix-update-script { extraArgs = [ "--version-regex" "harmonia-v(.*)" ]; diff --git a/pkgs/tools/package-management/holo-build/default.nix b/pkgs/tools/package-management/holo-build/default.nix index fca55807f516..41444e8533d5 100644 --- a/pkgs/tools/package-management/holo-build/default.nix +++ b/pkgs/tools/package-management/holo-build/default.nix @@ -55,5 +55,6 @@ buildGoModule rec { homepage = "https://holocm.org/"; license = licenses.gpl3Plus; maintainers = with maintainers; [ ]; + mainProgram = "holo-build"; }; } diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/tools/package-management/home-manager/default.nix index fa642cff5dd5..e1c3b781fc85 100644 --- a/pkgs/tools/package-management/home-manager/default.nix +++ b/pkgs/tools/package-management/home-manager/default.nix @@ -16,14 +16,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "home-manager"; - version = "2023-09-14"; + version = "unstable-2024-01-23"; src = fetchFromGitHub { name = "home-manager-source"; owner = "nix-community"; repo = "home-manager"; - rev = "d9b88b43524db1591fb3d9410a21428198d75d49"; - hash = "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE="; + rev = "3df2a80f3f85f91ea06e5e91071fa74ba92e5084"; + hash = "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4="; }; nativeBuildInputs = [ @@ -88,5 +88,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ AndersonTorres ]; platforms = lib.platforms.unix; + mainProgram = "home-manager"; }; }) diff --git a/pkgs/tools/package-management/libcomps/default.nix b/pkgs/tools/package-management/libcomps/default.nix new file mode 100644 index 000000000000..89c2982497df --- /dev/null +++ b/pkgs/tools/package-management/libcomps/default.nix @@ -0,0 +1,65 @@ +{ lib +, check +, cmake +, doxygen +, expat +, fetchFromGitHub +, libxml2 +, python +, sphinx +, stdenv +, zlib +}: + +stdenv.mkDerivation rec { + pname = "libcomps"; + version = "0.1.20"; + + outputs = [ "out" "dev" "py" ]; + + src = fetchFromGitHub { + owner = "rpm-software-management"; + repo = "libcomps"; + rev = version; + hash = "sha256-IX4du1+G7lwWrGnllydnBDap2aqK5pzos1Mdyu4MzOU="; + }; + + patches = [ + ./fix-python-install-dir.patch + ]; + + postPatch = '' + substituteInPlace libcomps/src/python/src/CMakeLists.txt \ + --replace "@PYTHON_INSTALL_DIR@" "$out/${python.sitePackages}" + ''; + + nativeBuildInputs = [ + check + cmake + doxygen + python + sphinx + ]; + + buildInputs = [ + expat + libxml2 + zlib + ]; + + dontUseCmakeBuildDir = true; + cmakeDir = "libcomps"; + + postFixup = '' + ls $out/lib + moveToOutput "lib/${python.libPrefix}" "$py" + ''; + + meta = with lib; { + description = "Comps XML file manipulation library"; + homepage = "https://github.com/rpm-software-management/libcomps"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ katexochen ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch b/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch new file mode 100644 index 000000000000..958b4c80843c --- /dev/null +++ b/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch @@ -0,0 +1,13 @@ +diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt +index d22b84e..57bd1c2 100644 +--- a/libcomps/src/python/src/CMakeLists.txt ++++ b/libcomps/src/python/src/CMakeLists.txt +@@ -85,7 +85,7 @@ IF (SKBUILD) + INSTALL(FILES libcomps/__init__.py DESTINATION libcomps/src/python/src/libcomps) + INSTALL(TARGETS pycomps LIBRARY DESTINATION libcomps/src/python/src/libcomps) + ELSE () +- EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) ++ SET(PYTHON_INSTALL_DIR "@PYTHON_INSTALL_DIR@") + + INSTALL(FILES ${pycomps_SRCDIR}/libcomps/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/libcomps) + #INSTALL(FILES ${pycomps_SRCDIR}/tests/__test.py DESTINATION diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix index 739210ce9240..e7ecfc9c94db 100644 --- a/pkgs/tools/package-management/libdnf/default.nix +++ b/pkgs/tools/package-management/libdnf/default.nix @@ -15,12 +15,19 @@ , libyaml , rpm , zchunk +, cppunit +, python +, swig +, glib +, sphinx }: stdenv.mkDerivation rec { pname = "libdnf"; version = "0.72.0"; + outputs = [ "out" "dev" "py" ]; + src = fetchFromGitHub { owner = "rpm-software-management"; repo = pname; @@ -36,12 +43,16 @@ stdenv.mkDerivation rec { buildInputs = [ check + cppunit openssl json_c libsmartcols libyaml libmodulemd zchunk + python + swig + sphinx ]; propagatedBuildInputs = [ @@ -56,29 +67,38 @@ stdenv.mkDerivation rec { cp ${libsolv}/share/cmake/Modules/FindLibSolv.cmake cmake/modules/ ''; - postPatch = '' - # See https://github.com/NixOS/nixpkgs/issues/107428 - substituteInPlace CMakeLists.txt \ - --replace "enable_testing()" "" \ - --replace "add_subdirectory(tests)" "" + patches = [ + ./fix-python-install-dir.patch + ]; + postPatch = '' # https://github.com/rpm-software-management/libdnf/issues/1518 substituteInPlace libdnf/libdnf.pc.in \ --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ + substituteInPlace cmake/modules/FindPythonInstDir.cmake \ + --replace "@PYTHON_INSTALL_DIR@" "$out/${python.sitePackages}" ''; cmakeFlags = [ "-DWITH_GTKDOC=OFF" "-DWITH_HTML=OFF" - "-DWITH_BINDINGS=OFF" + "-DPYTHON_DESIRED=${lib.head (lib.splitString ["."] python.version)}" ]; + postInstall = '' + rm -r $out/${python.sitePackages}/hawkey/test + ''; + + postFixup = '' + moveToOutput "lib/${python.libPrefix}" "$py" + ''; + meta = with lib; { description = "Package management library"; homepage = "https://github.com/rpm-software-management/libdnf"; changelog = "https://github.com/rpm-software-management/libdnf/releases/tag/${version}"; license = licenses.gpl2Plus; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ rb2k ]; + maintainers = with maintainers; [ rb2k katexochen ]; }; } diff --git a/pkgs/tools/package-management/libdnf/fix-python-install-dir.patch b/pkgs/tools/package-management/libdnf/fix-python-install-dir.patch new file mode 100644 index 000000000000..d08ec9deec02 --- /dev/null +++ b/pkgs/tools/package-management/libdnf/fix-python-install-dir.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/modules/FindPythonInstDir.cmake b/cmake/modules/FindPythonInstDir.cmake +index ed098ded..2a2e1543 100644 +--- a/cmake/modules/FindPythonInstDir.cmake ++++ b/cmake/modules/FindPythonInstDir.cmake +@@ -1,6 +1 @@ +-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c " +-from sys import stdout +-from sysconfig import get_path +-path=get_path(name='platlib', vars={'platbase':'${CMAKE_INSTALL_PREFIX}'}) +-stdout.write(path)" +-OUTPUT_VARIABLE PYTHON_INSTALL_DIR) ++SET(PYTHON_INSTALL_DIR "@PYTHON_INSTALL_DIR@") diff --git a/pkgs/tools/package-management/licensee/Gemfile.lock b/pkgs/tools/package-management/licensee/Gemfile.lock index 487224bf5da2..6bfe70664bd1 100644 --- a/pkgs/tools/package-management/licensee/Gemfile.lock +++ b/pkgs/tools/package-management/licensee/Gemfile.lock @@ -1,36 +1,38 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.1) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) + base64 (0.2.0) dotenv (2.8.1) - faraday (2.7.2) + faraday (2.8.1) + base64 faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) - licensee (9.16.0) + licensee (9.16.1) dotenv (~> 2.0) - octokit (>= 4.20, < 7.0) + octokit (>= 4.20, < 9.0) reverse_markdown (>= 1, < 3) rugged (>= 0.24, < 2.0) thor (>= 0.19, < 2.0) - mini_portile2 (2.8.1) - nokogiri (1.13.10) - mini_portile2 (~> 2.8.0) + mini_portile2 (2.8.5) + nokogiri (1.16.0) + mini_portile2 (~> 2.8.2) racc (~> 1.4) - octokit (6.0.1) + octokit (8.0.0) faraday (>= 1, < 3) sawyer (~> 0.9) - public_suffix (5.0.1) - racc (1.6.2) + public_suffix (5.0.4) + racc (1.7.3) reverse_markdown (2.1.1) nokogiri ruby2_keywords (0.0.5) - rugged (1.5.0.1) + rugged (1.7.1) sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - thor (1.2.1) + thor (1.3.0) PLATFORMS ruby @@ -39,4 +41,4 @@ DEPENDENCIES licensee BUNDLED WITH - 2.3.26 + 2.4.22 diff --git a/pkgs/tools/package-management/licensee/default.nix b/pkgs/tools/package-management/licensee/default.nix index fb33f498bbc3..b72c218cd16a 100644 --- a/pkgs/tools/package-management/licensee/default.nix +++ b/pkgs/tools/package-management/licensee/default.nix @@ -13,5 +13,6 @@ bundlerApp { license = licenses.mit; maintainers = [ maintainers.sternenseemann ]; platforms = platforms.unix; + mainProgram = "licensee"; }; } diff --git a/pkgs/tools/package-management/licensee/gemset.nix b/pkgs/tools/package-management/licensee/gemset.nix index 25726d2ac5c2..0a850ba8758b 100644 --- a/pkgs/tools/package-management/licensee/gemset.nix +++ b/pkgs/tools/package-management/licensee/gemset.nix @@ -5,10 +5,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw"; + sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; - version = "2.8.1"; + version = "2.8.6"; + }; + base64 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; + type = "gem"; + }; + version = "0.2.0"; }; dotenv = { groups = ["default"]; @@ -21,15 +31,15 @@ version = "2.8.1"; }; faraday = { - dependencies = ["faraday-net_http" "ruby2_keywords"]; + dependencies = ["base64" "faraday-net_http" "ruby2_keywords"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17lacy6n0hsayafvgxgzmngfq2x62b2arbn32bj2yyzmgxwyxhqn"; + sha256 = "19p45ryrvxff6ggdj4fq76dk7wlkfgrh474c3kwzdsjx3xpdq8x8"; type = "gem"; }; - version = "2.7.2"; + version = "2.8.1"; }; faraday-net_http = { groups = ["default"]; @@ -47,20 +57,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0i4hs0vbgp0w3pdddr37zhydm16af122rmr0w39v3nqrj1ir65kv"; + sha256 = "05g5w9c4jlfhwn0hfz117s1c7hfdm5yn7cywr4mah7xr41yvbh04"; type = "gem"; }; - version = "9.16.0"; + version = "9.16.1"; }; mini_portile2 = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp"; + sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; type = "gem"; }; - version = "2.8.1"; + version = "2.8.5"; }; nokogiri = { dependencies = ["mini_portile2" "racc"]; @@ -68,10 +78,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk"; + sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; type = "gem"; }; - version = "1.13.10"; + version = "1.16.0"; }; octokit = { dependencies = ["faraday" "sawyer"]; @@ -79,30 +89,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0a5iy1v1n8f5ggp6q601mn8dz1n08ffs4gv0zsh5ca68j8dfmpx5"; + sha256 = "11fhv1a43c51jkgmqf62aypf9yw74lc6ph4qmzsh2bydwwzbwqn3"; type = "gem"; }; - version = "6.0.1"; + version = "8.0.0"; }; public_suffix = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35"; + sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; type = "gem"; }; - version = "5.0.1"; + version = "5.0.4"; }; racc = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq"; + sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; - version = "1.6.2"; + version = "1.7.3"; }; reverse_markdown = { dependencies = ["nokogiri"]; @@ -130,10 +140,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02h1cv73znwfgy61mqmfylcfvwyyp3lddiz3njgivfx234mpz50x"; + sha256 = "02m9zksfy3dwzhbv56xq2wwmlghca5209hdg895pi2x2d2sbkahi"; type = "gem"; }; - version = "1.5.0.1"; + version = "1.7.1"; }; sawyer = { dependencies = ["addressable" "faraday"]; @@ -151,9 +161,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; + sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s"; type = "gem"; }; - version = "1.2.1"; + version = "1.3.0"; }; } diff --git a/pkgs/tools/package-management/microdnf/default.nix b/pkgs/tools/package-management/microdnf/default.nix index be3041f253d8..79fcdf0300c2 100644 --- a/pkgs/tools/package-management/microdnf/default.nix +++ b/pkgs/tools/package-management/microdnf/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with lib.maintainers; [ rb2k ]; platforms = platforms.linux ++ platforms.darwin; + mainProgram = "microdnf"; }; } diff --git a/pkgs/tools/package-management/micromamba/default.nix b/pkgs/tools/package-management/micromamba/default.nix index b60edf0b0426..5ff23ec7188d 100644 --- a/pkgs/tools/package-management/micromamba/default.nix +++ b/pkgs/tools/package-management/micromamba/default.nix @@ -35,13 +35,13 @@ let in stdenv.mkDerivation rec { pname = "micromamba"; - version = "1.4.4"; + version = "1.5.4"; src = fetchFromGitHub { owner = "mamba-org"; repo = "mamba"; rev = "micromamba-" + version; - hash = "sha256-Z6hED0fiXzEKpVm8tUBR9ynqWCvHGXkXHzAXbbWlq9Y="; + hash = "sha256-29SuR4RDW0+yNR1RHlm3I4avy0CjBTGxv1FKxMDZxO0="; }; nativeBuildInputs = [ cmake ]; @@ -74,5 +74,6 @@ stdenv.mkDerivation rec { license = licenses.bsd3; platforms = platforms.all; maintainers = with maintainers; [ mausch ]; + mainProgram = "micromamba"; }; } diff --git a/pkgs/tools/package-management/morph/default.nix b/pkgs/tools/package-management/morph/default.nix index dfb41df33708..71c9c285f308 100644 --- a/pkgs/tools/package-management/morph/default.nix +++ b/pkgs/tools/package-management/morph/default.nix @@ -33,5 +33,6 @@ buildGoModule rec { license = licenses.mit; homepage = "https://github.com/dbcdk/morph"; maintainers = with maintainers; [adamt johanot]; + mainProgram = "morph"; }; } diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix index 9d04dd026404..12facbb5fdba 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.34.0"; + version = "2.35.2"; src = fetchFromGitHub { owner = "goreleaser"; repo = pname; rev = "v${version}"; - hash = "sha256-O7qxJ2TE62XDYljqvNsO3ssD/YhfOLfy9zF0W++T0Hw="; + hash = "sha256-ic6SOgIE+g7ccvg163xCwTmz960mWYcxN8ghEdB11To="; }; - vendorHash = "sha256-qihPtpygHoIfGf2wj+klDWwL4sTHqDxi1jxjv57vUx4="; + vendorHash = "sha256-rIgEctBGff5/pzbPPaDgqZCwmIVDjF98wmLBD17KXTM="; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; @@ -40,5 +40,6 @@ buildGoModule rec { changelog = "https://github.com/goreleaser/nfpm/releases/tag/v${version}"; maintainers = with maintainers; [ marsam techknowlogick caarlos0 ]; license = with licenses; [ mit ]; + mainProgram = "nfpm"; }; } diff --git a/pkgs/tools/package-management/niff/default.nix b/pkgs/tools/package-management/niff/default.nix index 93406095df25..827d4353f283 100644 --- a/pkgs/tools/package-management/niff/default.nix +++ b/pkgs/tools/package-management/niff/default.nix @@ -30,5 +30,6 @@ in stdenv.mkDerivation { homepage = "https://github.com/FRidh/niff"; license = lib.licenses.mit; maintainers = [ lib.maintainers.fridh ]; + mainProgram = "niff"; }; } diff --git a/pkgs/tools/package-management/nix-doc/default.nix b/pkgs/tools/package-management/nix-doc/default.nix index 2d0815e8af9b..8a4e523e98b5 100644 --- a/pkgs/tools/package-management/nix-doc/default.nix +++ b/pkgs/tools/package-management/nix-doc/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "nix-doc"; - version = "0.6.2"; + version = "0.6.4"; src = fetchFromGitHub { rev = "v${version}"; owner = "lf-"; repo = "nix-doc"; - sha256 = "sha256-H81U0gR/7oWjP1z7JC8tTek+tqzTwyJWgaJQOSyNn5M="; + sha256 = "sha256-yL0oG0NiQ7OdGQ/kZxQbSbNphKapu5HBFNP5E2fVe+Y="; }; doCheck = true; @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec { RUSTFLAGS = "-Z relro-level=partial"; }; - cargoSha256 = "sha256-yYVDToPLhGUYLrPNyyKwsYXe3QOTR26wtl3SCw4Za5s="; + cargoSha256 = "sha256-4bzLZt45ZLTZyZPZ4Nkvz7mNe4oqOIoaZUbCbNWBKG0="; meta = with lib; { description = "An interactive Nix documentation tool"; @@ -38,5 +38,6 @@ rustPlatform.buildRustPackage rec { license = licenses.lgpl3Plus; maintainers = [ maintainers.lf- ]; platforms = platforms.unix; + mainProgram = "nix-doc"; }; } diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix index dcd1e24ff34a..a3a1f0d97108 100644 --- a/pkgs/tools/package-management/nix-du/default.nix +++ b/pkgs/tools/package-management/nix-du/default.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "nix-du"; - version = "1.1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "symphorien"; repo = "nix-du"; rev = "v${version}"; - sha256 = "sha256-LI9XWqi3ihcmUBjScQVQbn30e5eLaCYwkmnbj7Y8kuU="; + sha256 = "sha256-HfmMZVlsdg9hTWGUihl6OlQAp/n1XRvPLfAKJ8as8Ew="; }; - cargoSha256 = "sha256-AM89yYeEsYOcHtbSiQgz5qVQhFvDibVxA0ACaE8Gw2Y="; + cargoSha256 = "sha256-oUxxuBqec4aI2h8BAn1WSA44UU7f5APkv0DIwuSun0M="; doCheck = true; nativeCheckInputs = [ nix graphviz ]; @@ -34,11 +34,17 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; + # Workaround for https://github.com/NixOS/nixpkgs/issues/166205 + env = lib.optionalAttrs stdenv.cc.isClang { + NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}"; + }; + meta = with lib; { description = "A 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 ]; platforms = platforms.unix; + mainProgram = "nix-du"; }; } diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 95cfa9a447d2..bf2d48e4adfb 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -11,12 +11,12 @@ }: stdenv.mkDerivation rec { pname = "nix-eval-jobs"; - version = "2.18.0"; + version = "2.19.4"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; rev = "v${version}"; - hash = "sha256-k/yMWbtMHpiNHeR0ihNPV/idOUSRJuhf0RSCodxmOhc="; + hash = "sha256-97ZqhTMqnAr1rzEy96faceWzFyWexnYbH1aTfc1y0JE="; }; buildInputs = [ boost @@ -42,5 +42,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ adisbladis mic92 ]; platforms = lib.platforms.unix; + mainProgram = "nix-eval-jobs"; }; } diff --git a/pkgs/tools/package-management/nix-pin/default.nix b/pkgs/tools/package-management/nix-pin/default.nix index b924c8c07f4a..59422ff22cc2 100644 --- a/pkgs/tools/package-management/nix-pin/default.nix +++ b/pkgs/tools/package-management/nix-pin/default.nix @@ -46,5 +46,6 @@ let self = stdenv.mkDerivation rec { license = licenses.mit; maintainers = [ maintainers.timbertson ]; platforms = platforms.all; + mainProgram = "nix-pin"; }; }; in self diff --git a/pkgs/tools/package-management/nix-prefetch/default.nix b/pkgs/tools/package-management/nix-prefetch/default.nix index ee537733e7cb..8ed71d078b78 100644 --- a/pkgs/tools/package-management/nix-prefetch/default.nix +++ b/pkgs/tools/package-management/nix-prefetch/default.nix @@ -76,5 +76,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ msteen ]; homepage = "https://github.com/msteen/nix-prefetch"; platforms = platforms.all; + mainProgram = "nix-prefetch"; }; } diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix index 20f374b8d108..a149b490f5aa 100644 --- a/pkgs/tools/package-management/nix-serve/default.nix +++ b/pkgs/tools/package-management/nix-serve/default.nix @@ -46,5 +46,6 @@ stdenv.mkDerivation { maintainers = [ maintainers.eelco ]; license = licenses.lgpl21; platforms = nix.meta.platforms; + mainProgram = "nix-serve"; }; } diff --git a/pkgs/tools/package-management/nix-simple-deploy/default.nix b/pkgs/tools/package-management/nix-simple-deploy/default.nix index 0077c6c01895..647a11b01fdc 100644 --- a/pkgs/tools/package-management/nix-simple-deploy/default.nix +++ b/pkgs/tools/package-management/nix-simple-deploy/default.nix @@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec { platforms = platforms.unix; license = with licenses; [ asl20 /* OR */ mit ]; maintainers = with maintainers; [ misuzu ]; + mainProgram = "nix-simple-deploy"; }; } diff --git a/pkgs/tools/package-management/nix-template/default.nix b/pkgs/tools/package-management/nix-template/default.nix index 84afede50fe2..e1431532f857 100644 --- a/pkgs/tools/package-management/nix-template/default.nix +++ b/pkgs/tools/package-management/nix-template/default.nix @@ -47,5 +47,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/jonringer/nix-template/releases/tag/v${version}"; license = licenses.cc0; maintainers = with maintainers; [ jonringer ]; + mainProgram = "nix-template"; }; } diff --git a/pkgs/tools/package-management/nix-top/default.nix b/pkgs/tools/package-management/nix-top/default.nix index 523f15bd4662..dc49f2a739e9 100644 --- a/pkgs/tools/package-management/nix-top/default.nix +++ b/pkgs/tools/package-management/nix-top/default.nix @@ -48,5 +48,6 @@ stdenv.mkDerivation rec { 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 index 69ebf1c7cd00..be31ca34ad60 100644 --- a/pkgs/tools/package-management/nix-universal-prefetch/default.nix +++ b/pkgs/tools/package-management/nix-universal-prefetch/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ samueldr ]; platforms = platforms.linux ++ platforms.darwin; + mainProgram = "nix-universal-prefetch"; }; } diff --git a/pkgs/tools/package-management/nix-update-source/default.nix b/pkgs/tools/package-management/nix-update-source/default.nix index ebfd730544e1..533f487e3974 100644 --- a/pkgs/tools/package-management/nix-update-source/default.nix +++ b/pkgs/tools/package-management/nix-update-source/default.nix @@ -54,5 +54,6 @@ python3Packages.buildPythonApplication rec { description = "Utility to automate updating of nix derivation sources"; maintainers = with lib.maintainers; [ timbertson ]; license = lib.licenses.mit; + mainProgram = "nix-update-source"; }; } diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix index 798c7cc918d5..670e2282aa20 100644 --- a/pkgs/tools/package-management/nix/common.nix +++ b/pkgs/tools/package-management/nix/common.nix @@ -1,10 +1,12 @@ -{ lib, fetchFromGitHub +{ lib +, fetchFromGitHub , version , suffix ? "" , hash ? null , src ? fetchFromGitHub { owner = "NixOS"; repo = "nix"; rev = version; inherit hash; } , patches ? [ ] -}: +, maintainers ? with lib.maintainers; [ eelco lovesegfault artturin ] +}@args: assert (hash == null) -> (src != null); let atLeast24 = lib.versionAtLeast version "2.4pre"; @@ -27,6 +29,8 @@ in , callPackage , coreutils , curl +, docbook_xsl_ns +, docbook5 , editline , flex , gnutar @@ -37,6 +41,8 @@ in , libarchive , libcpuid , libsodium +, libxml2 +, libxslt , lowdown , mdbook , mdbook-linkcheck @@ -86,13 +92,17 @@ self = stdenv.mkDerivation { nativeBuildInputs = [ pkg-config - ] ++ lib.optionals atLeast24 [ autoconf-archive autoreconfHook bison flex jq - ] ++ lib.optionals (atLeast24 && enableDocumentation) [ + ] ++ lib.optionals (enableDocumentation && !atLeast24) [ + libxslt + libxml2 + docbook_xsl_ns + docbook5 + ] ++ lib.optionals (enableDocumentation && atLeast24) [ (lib.getBin lowdown) mdbook ] ++ lib.optionals (atLeast213 && enableDocumentation) [ @@ -111,13 +121,12 @@ self = stdenv.mkDerivation { openssl sqlite xz - ] ++ lib.optionals stdenv.isDarwin [ - Security - ] ++ lib.optionals atLeast24 [ gtest libarchive lowdown - ] ++ lib.optionals (atLeast24 && stdenv.isx86_64) [ + ] ++ lib.optionals stdenv.isDarwin [ + Security + ] ++ lib.optionals (stdenv.isx86_64) [ libcpuid ] ++ lib.optionals atLeast214 [ rapidcheck @@ -133,13 +142,6 @@ self = stdenv.mkDerivation { nlohmann_json ]; - NIX_LDFLAGS = lib.optionals (!atLeast24) [ - # https://github.com/NixOS/nix/commit/3e85c57a6cbf46d5f0fe8a89b368a43abd26daba - (lib.optionalString enableStatic "-lssl -lbrotlicommon -lssh2 -lz -lnghttp2 -lcrypto") - # https://github.com/NixOS/nix/commits/74b4737d8f0e1922ef5314a158271acf81cd79f8 - (lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux" || stdenv.hostPlatform.system == "armv6l-linux") "-latomic") - ]; - postPatch = '' patchShebangs --build tests ''; @@ -180,11 +182,6 @@ self = stdenv.mkDerivation { "--enable-gc" ] ++ lib.optionals (!enableDocumentation) [ "--disable-doc-gen" - ] ++ lib.optionals (!atLeast24) [ - # option was removed in 2.4 - "--disable-init-state" - ] ++ lib.optionals atLeast214 [ - "CXXFLAGS=-I${lib.getDev rapidcheck}/extras/gtest/include" ] ++ lib.optionals stdenv.isLinux [ "--with-sandbox-shell=${busybox-sandbox-shell}/bin/busybox" ] ++ lib.optionals (atLeast210 && stdenv.isLinux && stdenv.hostPlatform.isStatic) [ @@ -216,6 +213,11 @@ self = stdenv.mkDerivation { preInstallCheck = lib.optionalString stdenv.isDarwin '' 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. + + lib.optionalString stdenv.isDarwin '' + export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES + '' # See https://github.com/NixOS/nix/issues/5687 + lib.optionalString (atLeast25 && stdenv.isDarwin) '' echo "exit 99" > tests/gc-non-blocking.sh @@ -235,6 +237,9 @@ self = stdenv.mkDerivation { }; }; + # 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 = '' @@ -246,7 +251,7 @@ self = stdenv.mkDerivation { ''; homepage = "https://nixos.org/"; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ eelco lovesegfault artturin ]; + inherit maintainers; platforms = platforms.unix; outputsToInstall = [ "out" ] ++ optional enableDocumentation "man"; mainProgram = "nix"; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 2bf354fbc69f..c3f970f78fb3 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -4,7 +4,6 @@ , boehmgc , callPackage , fetchFromGitHub -, fetchurl , fetchpatch , fetchpatch2 , runCommand @@ -113,6 +112,13 @@ let hash = "sha256-s1ybRFCjQaSGj7LKu0Z5g7UiHqdJGeD+iPoQL0vaiS0="; }; + patch-rapidcheck-shared = fetchpatch2 { + # https://github.com/NixOS/nix/pull/9431 + name = "fix-missing-librapidcheck.patch"; + url = "https://github.com/NixOS/nix/commit/46131567da96ffac298b9ec54016b37114b0dfd5.patch"; + hash = "sha256-lShYxYKRDWwBqCysAFmFBudhhAL1eendWcL8sEFLCGg="; + }; + # Intentionally does not support overrideAttrs etc # Use only for tests that are about the package relation to `pkgs` and/or NixOS. addTestsShallowly = tests: pkg: pkg // { @@ -145,15 +151,13 @@ let pkg; in lib.makeExtensible (self: ({ - nix_2_3 = (common rec { - version = "2.3.16"; - src = fetchurl { - url = "https://nixos.org/releases/nix/nix-${version}/nix-${version}.tar.xz"; - hash = "sha256-fuaBtp8FtSVJLSAsO+3Nne4ZYLuBj2JpD2xEk7fCqrw="; - }; + nix_2_3 = (common { + version = "2.3.17"; + hash = "sha256-EK0pgHDekJFqr0oMj+8ANIjq96WPjICe2s0m4xkUdH4="; patches = [ patch-monitorfdhup ]; + maintainers = with lib.maintainers; [ flokli raitobezarius ]; }).override { boehmgc = boehmgc-nix_2_3; }; nix_2_10 = common { @@ -196,26 +200,46 @@ in lib.makeExtensible (self: ({ nix_2_14 = common { version = "2.14.1"; hash = "sha256-5aCmGZbsFcLIckCDfvnPD4clGPQI7qYAqHYlttN/Wkg="; + patches = [ + patch-rapidcheck-shared + ]; }; nix_2_15 = common { version = "2.15.3"; hash = "sha256-sfFXbjC5iIdSAbctZIuFozxX0uux/KFBNr9oh33xINs="; + patches = [ + patch-rapidcheck-shared + ]; }; nix_2_16 = common { version = "2.16.2"; hash = "sha256-VXIYCDkvAWeMoU0W2ZI0TeOszCZA1o8trz6YCPFD5ac="; + patches = [ + patch-rapidcheck-shared + ]; }; nix_2_17 = common { version = "2.17.1"; hash = "sha256-Q5L+rHzjp0bYuR2ogg+YPCn6isjmlQ4CJVT0zpn/hFc="; + patches = [ + patch-rapidcheck-shared + ]; }; nix_2_18 = common { version = "2.18.1"; hash = "sha256-WNmifcTsN9aG1ONkv+l2BC4sHZZxtNKy0keqBHXXQ7w="; + patches = [ + patch-rapidcheck-shared + ]; + }; + + nix_2_19 = common { + version = "2.19.3"; + hash = "sha256-EtL6M0H5+0mFbFh+teVjm+0B+xmHoKwtBvigS5NMWoo="; }; # The minimum Nix version supported by Nixpkgs @@ -237,7 +261,7 @@ in lib.makeExtensible (self: ({ stable = addFallbackPathsCheck self.nix_2_18; - unstable = self.nix_2_18; + unstable = self.nix_2_19; } // lib.optionalAttrs config.allowAliases { nix_2_4 = throw "nixVersions.nix_2_4 has been removed"; diff --git a/pkgs/tools/package-management/npm-check-updates/default.nix b/pkgs/tools/package-management/npm-check-updates/default.nix index 93585593a494..7f88dc4e4e00 100644 --- a/pkgs/tools/package-management/npm-check-updates/default.nix +++ b/pkgs/tools/package-management/npm-check-updates/default.nix @@ -5,16 +5,16 @@ buildNpmPackage rec { pname = "npm-check-updates"; - version = "16.13.0"; + version = "16.14.12"; src = fetchFromGitHub { owner = "raineorshine"; repo = "npm-check-updates"; rev = "v${version}"; - hash = "sha256-RrNO1TAPNFB/6JWY8xZjNCZ+FDgM0MCn7vaDXoCSIfI="; + hash = "sha256-3/DaEgPF9+wofYqA1XrJul4/cNGuGeXAeRg0HW0O+Ok="; }; - npmDepsHash = "sha256-aghW4d3/8cJmwpmI5PcHioCnc91Yu4N5EfwuoaB5Xqw="; + npmDepsHash = "sha256-zUJKuiMycVCuXMh6caMzmi6qpgknVsvmqV3XykhlSBI="; meta = { changelog = "https://github.com/raineorshine/npm-check-updates/blob/${src.rev}/CHANGELOG.md"; diff --git a/pkgs/tools/package-management/packagekit/qt.nix b/pkgs/tools/package-management/packagekit/qt.nix index 72045735cba3..897f8d9e7b4a 100644 --- a/pkgs/tools/package-management/packagekit/qt.nix +++ b/pkgs/tools/package-management/packagekit/qt.nix @@ -1,7 +1,9 @@ -{ stdenv, fetchFromGitHub, cmake, pkg-config +{ stdenv, lib, fetchFromGitHub, cmake, pkg-config , qttools, packagekit }: -stdenv.mkDerivation rec { +let + isQt6 = lib.versions.major qttools.version == "6"; +in stdenv.mkDerivation rec { pname = "packagekit-qt"; version = "1.1.1"; @@ -16,6 +18,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config qttools ]; + cmakeFlags = [ (lib.cmakeBool "BUILD_WITH_QT6" isQt6) ]; + dontWrapQtApps = true; meta = packagekit.meta // { diff --git a/pkgs/tools/package-management/pacman/default.nix b/pkgs/tools/package-management/pacman/default.nix index f9a7fcdcde59..800e392f0f24 100644 --- a/pkgs/tools/package-management/pacman/default.nix +++ b/pkgs/tools/package-management/pacman/default.nix @@ -48,9 +48,12 @@ stdenv.mkDerivation rec { hash = "sha256-fY4+jFEhrsCWXfcfWb7fRgUsbPFPljZcRBHsPeCkwaU="; }; + strictDeps = true; + nativeBuildInputs = [ asciidoc installShellFiles + libarchive makeWrapper meson ninja diff --git a/pkgs/tools/package-management/pacup/default.nix b/pkgs/tools/package-management/pacup/default.nix index 70c1fba6c698..7afd4eb815d7 100644 --- a/pkgs/tools/package-management/pacup/default.nix +++ b/pkgs/tools/package-management/pacup/default.nix @@ -41,5 +41,6 @@ python3.pkgs.buildPythonApplication rec { changelog = "https://github.com/pacstall/pacup/releases/tag/${version}"; license = licenses.gpl3Plus; maintainers = with maintainers; [ zahrun ]; + mainProgram = "pacup"; }; } diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix index aabdf1724411..7395bffd8458 100644 --- a/pkgs/tools/package-management/pdm/default.nix +++ b/pkgs/tools/package-management/pdm/default.nix @@ -32,25 +32,16 @@ in with python.pkgs; buildPythonApplication rec { pname = "pdm"; - version = "2.10.1"; - format = "pyproject"; - disabled = pythonOlder "3.7"; + version = "2.12.2"; + pyproject = true; + + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-0WZTHGWfxJBZM1RlRN0uFs9kjCum2JjIISatakIReoE="; + hash = "sha256-s8pKsQetZbV/4TEuQ2Dh97PXxe2BqEG27Uizd3hi7Vc="; }; - patches = [ - # https://github.com/NixOS/nixpkgs/issues/265883 - # https://github.com/pdm-project/pdm/pull/2379 - (fetchpatch { - name = "fix-template-permission.patch"; - url = "https://github.com/pdm-project/pdm/commit/f0efdcefe589bc58c28ccf6ce2d23cad9a81dccc.patch"; - hash = "sha256-NnHDSz2N63JzSzh2t9a5f/QQWM6Hyd5Cn5JY2zem6Ac="; - }) - ]; - nativeBuildInputs = [ pdm-backend ]; @@ -59,6 +50,7 @@ buildPythonApplication rec { blinker certifi cachecontrol + dep-logic findpython installer packaging @@ -79,6 +71,9 @@ buildPythonApplication rec { ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata + ] + ++ lib.optionals (pythonAtLeast "3.10") [ + truststore ]; nativeCheckInputs = [ diff --git a/pkgs/tools/package-management/pkg/default.nix b/pkgs/tools/package-management/pkg/default.nix index 9ca25dd31c38..b100b9984915 100644 --- a/pkgs/tools/package-management/pkg/default.nix +++ b/pkgs/tools/package-management/pkg/default.nix @@ -32,5 +32,6 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with maintainers; [ qyliss ]; platforms = with platforms; darwin ++ freebsd ++ linux ++ netbsd ++ openbsd; license = licenses.bsd2; + mainProgram = "pkg"; }; }) diff --git a/pkgs/tools/package-management/poetry/default.nix b/pkgs/tools/package-management/poetry/default.nix index f4a10a8ff2ef..75cede5df7d3 100644 --- a/pkgs/tools/package-management/poetry/default.nix +++ b/pkgs/tools/package-management/poetry/default.nix @@ -1,8 +1,8 @@ -{ python3, fetchFromGitHub }: +{ lib, python3, fetchFromGitHub }: let - python = python3.override { - packageOverrides = self: super: rec { + newPackageOverrides = + self: super: { poetry = self.callPackage ./unwrapped.nix { }; # The versions of Poetry and poetry-core need to match exactly, @@ -12,16 +12,19 @@ let # We keep the override around even when the versions match, as # it's likely to become relevant again after the next Poetry update. poetry-core = super.poetry-core.overridePythonAttrs (old: rec { - version = poetry.version; + version = "1.8.1"; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry-core"; rev = version; - hash = "sha256-OfY2zc+5CgOrgbiPVnvMdT4h1S7Aek8S7iThl6azmsk="; + hash = "sha256-RnCJ67jaL2knwv+Uo7p0zOejHAT73f40weaJnfqOYoM="; }; }); } // (plugins self); - }; + python = python3.override (old: { + packageOverrides = lib.composeManyExtensions + ((if old ? packageOverrides then [ old.packageOverrides ] else [ ]) ++ [ newPackageOverrides ]); + }); plugins = ps: with ps; { poetry-audit-plugin = callPackage ./plugins/poetry-audit-plugin.nix { }; 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 d040c32c4834..b4ede0bdedaa 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.5.0"; + version = "1.6.0"; format = "pyproject"; src = fetchFromGitHub { owner = "python-poetry"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-bX7Mqpe7SYQQVrPNVOl8Bwmeiq7owIiUhw0sp5+Gwck="; + hash = "sha256-6U96O0mCQpviBr4I67ZfHytsooXG4oCNTx8YqrrIzYo="; }; postPatch = '' @@ -33,6 +33,6 @@ buildPythonPackage rec { description = "Poetry plugin to export the dependencies to various formats"; license = licenses.mit; homepage = "https://github.com/python-poetry/poetry-plugin-export"; - maintainers = with maintainers; [ hexa ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix b/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix index e737173a857e..77b6e44c9273 100644 --- a/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix +++ b/pkgs/tools/package-management/poetry/plugins/poetry-plugin-up.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "poetry-plugin-up"; - version = "0.7.0"; + version = "0.7.1"; format = "pyproject"; src = fetchFromGitHub { owner = "MousaZeidBaker"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-RjyRnCrHLKBJm8WMzQd0WcfpO8Ve+ydvUTN4EnVunlI="; + hash = "sha256-ProwMnkg8LaPvb4aYyO1PR30iMSNE9oyKgCIX4O5j+E="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/package-management/poetry/unwrapped.nix b/pkgs/tools/package-management/poetry/unwrapped.nix index 751db3ceec99..f13a7715464b 100644 --- a/pkgs/tools/package-management/poetry/unwrapped.nix +++ b/pkgs/tools/package-management/poetry/unwrapped.nix @@ -3,7 +3,6 @@ , buildPythonPackage , pythonOlder , fetchFromGitHub -, fetchpatch , installShellFiles , pythonRelaxDepsHook , build @@ -11,8 +10,8 @@ , cleo , crashtest , dulwich +, fastjsonschema , installer -, jsonschema , keyring , packaging , pexpect @@ -38,11 +37,12 @@ , pytest-mock , pytest-xdist , pythonAtLeast +, darwin }: buildPythonPackage rec { pname = "poetry"; - version = "1.6.1"; + version = "1.7.1"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -51,26 +51,19 @@ buildPythonPackage rec { owner = "python-poetry"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-/OvYT4Vix1t5Yx/Tx0z3E9L9qJ4OdI4maQqUVl8H524="; + hash = "sha256-PM3FIZYso7p0Oe0RpiPuxHrQrgnMlkT5SVeaJPK/J94="; }; - patches = [ - # Backport patch to fix pypa/build 1.0 incompatibility - # FIXME: remove in next release - (fetchpatch { - url = "https://github.com/python-poetry/poetry/commit/a16863d1a448ff91a7cc4e48042d3a8669b78b34.patch"; - hash = "sha256-dWa5W1jFS7h5cTgoFy89o1Rbtmyddvme4sus+lld058="; - }) - ]; - nativeBuildInputs = [ installShellFiles pythonRelaxDepsHook ]; pythonRelaxDeps = [ - # only pinned to avoid dependency on Rust - "jsonschema" + # platformdirs 4.x is backwards compatible; https://github.com/python-poetry/poetry/commit/eb80d10846f7336b0b2a66ce2964e72dffee9a1c + "platformdirs" + # xattr 1.0 is backwards compatible modulo dropping Python 2 support: https://github.com/xattr/xattr/compare/v0.10.0...v1.0.0 + "xattr" ]; propagatedBuildInputs = [ @@ -79,8 +72,8 @@ buildPythonPackage rec { cleo crashtest dulwich + fastjsonschema installer - jsonschema keyring packaging pexpect @@ -118,6 +111,8 @@ buildPythonPackage rec { httpretty pytest-mock pytest-xdist + ] ++ lib.optionals stdenv.isDarwin [ + darwin.ps ]; preCheck = ('' @@ -132,6 +127,8 @@ buildPythonPackage rec { ''; disabledTests = [ + "test_env_system_packages_are_relative_to_lib" + "test_install_warning_corrupt_root" "test_installer_with_pypi_repository" # touches network "git" @@ -148,6 +145,7 @@ buildPythonPackage rec { # fs permission errors "test_builder_should_execute_build_scripts" # poetry.installation.chef.ChefBuildError: Backend 'poetry.core.masonry.api' is not available. + "test_isolated_env_install_success" "test_prepare_sdist" "test_prepare_directory" "test_prepare_directory_with_extensions" @@ -173,5 +171,6 @@ buildPythonPackage rec { description = "Python dependency management and packaging made easy"; license = licenses.mit; maintainers = with maintainers; [ jakewaksbaum dotlambda ]; + mainProgram = "poetry"; }; } diff --git a/pkgs/tools/package-management/poetry2conda/default.nix b/pkgs/tools/package-management/poetry2conda/default.nix index 86e66def4868..7aa821d678ac 100644 --- a/pkgs/tools/package-management/poetry2conda/default.nix +++ b/pkgs/tools/package-management/poetry2conda/default.nix @@ -43,5 +43,6 @@ with python3.pkgs; buildPythonApplication rec { homepage = "https://github.com/dojeda/poetry2conda"; license = licenses.mit; maintainers = with maintainers; [ cpcloud ]; + mainProgram = "poetry2conda"; }; } diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix index b8689fdf9966..462a2546ff5d 100644 --- a/pkgs/tools/package-management/protontricks/default.nix +++ b/pkgs/tools/package-management/protontricks/default.nix @@ -4,7 +4,9 @@ , setuptools-scm , setuptools , vdf -, bash +, pillow +, substituteAll +, writeShellScript , steam-run , winetricks , yad @@ -14,36 +16,41 @@ buildPythonApplication rec { pname = "protontricks"; - version = "1.10.1"; + version = "1.11.0"; src = fetchFromGitHub { owner = "Matoking"; repo = pname; rev = version; - sha256 = "sha256-gKrdUwX5TzeHHXuwhUyI4REPE6TNiZ6lhonyMCHcBCA="; + sha256 = "sha256-5FpcIaQodvNjdqUfD9hvXlrdhszr98j0zm3MCCpZFoc="; }; patches = [ # Use steam-run to run Proton binaries - ./steam-run.patch + (substituteAll { + src = ./steam-run.patch; + steamRun = lib.getExe steam-run; + bash = writeShellScript "steam-run-bash" '' + exec ${lib.getExe steam-run} bash "$@" + ''; + }) ]; - SETUPTOOLS_SCM_PRETEND_VERSION = version; - nativeBuildInputs = [ setuptools-scm ]; propagatedBuildInputs = [ setuptools # implicit dependency, used to find data/icon_placeholder.png vdf + pillow ]; makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ - bash - steam-run winetricks yad ]}" + # Steam Runtime does not work outside of steam-run, so don't use it + "--set STEAM_RUNTIME 0" ]; nativeCheckInputs = [ pytestCheckHook ]; diff --git a/pkgs/tools/package-management/protontricks/steam-run.patch b/pkgs/tools/package-management/protontricks/steam-run.patch index bcc1fc989836..3c865746377a 100644 --- a/pkgs/tools/package-management/protontricks/steam-run.patch +++ b/pkgs/tools/package-management/protontricks/steam-run.patch @@ -1,470 +1,65 @@ -diff --git a/src/protontricks/cli/main.py b/src/protontricks/cli/main.py -index c77d287..236c2a9 100755 ---- a/src/protontricks/cli/main.py -+++ b/src/protontricks/cli/main.py -@@ -17,8 +17,7 @@ from ..flatpak import (FLATPAK_BWRAP_COMPATIBLE_VERSION, - get_running_flatpak_version) - from ..gui import (prompt_filesystem_access, select_steam_app_with_gui, - select_steam_installation) --from ..steam import (find_legacy_steam_runtime_path, find_proton_app, -- find_steam_installations, get_steam_apps, -+from ..steam import (find_proton_app, find_steam_installations, get_steam_apps, - get_steam_lib_paths) - from ..util import run_command - from ..winetricks import get_winetricks_path -@@ -67,8 +66,7 @@ def main(args=None, steam_path=None, steam_root=None): - "WINE: path to a custom 'wine' executable\n" - "WINESERVER: path to a custom 'wineserver' executable\n" - "STEAM_RUNTIME: 1 = enable Steam Runtime, 0 = disable Steam " -- "Runtime, valid path = custom Steam Runtime path, " -- "empty = enable automatically (default)\n" -+ "Runtime, empty = enable automatically (default)\n" - "PROTONTRICKS_GUI: GUI provider to use, accepts either 'yad' " - "or 'zenity'" - ), -@@ -204,17 +202,9 @@ def main(args=None, steam_path=None, steam_root=None): - if not steam_path: - exit_("No Steam installation was selected.") - -- # 2. Find the pre-installed legacy Steam Runtime if enabled -- legacy_steam_runtime_path = None -- use_steam_runtime = True -- -+ # 2. Use Steam Runtime if enabled - if os.environ.get("STEAM_RUNTIME", "") != "0" and not args.no_runtime: -- legacy_steam_runtime_path = find_legacy_steam_runtime_path( -- steam_root=steam_root -- ) -- -- if not legacy_steam_runtime_path: -- exit_("Steam Runtime was enabled but couldn't be found!") -+ use_steam_runtime = True - else: - use_steam_runtime = False - logger.info("Steam Runtime disabled.") -@@ -281,7 +271,6 @@ def main(args=None, steam_path=None, steam_root=None): - proton_app=proton_app, - steam_app=steam_app, - use_steam_runtime=use_steam_runtime, -- legacy_steam_runtime_path=legacy_steam_runtime_path, - command=[str(winetricks_path), "--gui"], - use_bwrap=use_bwrap, - start_wineserver=start_background_wineserver -@@ -361,7 +350,6 @@ def main(args=None, steam_path=None, steam_root=None): - proton_app=proton_app, - steam_app=steam_app, - use_steam_runtime=use_steam_runtime, -- legacy_steam_runtime_path=legacy_steam_runtime_path, - use_bwrap=use_bwrap, - start_wineserver=start_background_wineserver, - command=[str(winetricks_path)] + args.winetricks_command -@@ -373,7 +361,6 @@ def main(args=None, steam_path=None, steam_root=None): - steam_app=steam_app, - command=args.command, - use_steam_runtime=use_steam_runtime, -- legacy_steam_runtime_path=legacy_steam_runtime_path, - use_bwrap=use_bwrap, - start_wineserver=start_background_wineserver, - # Pass the command directly into the shell *without* diff --git a/src/protontricks/data/scripts/bwrap_launcher.sh b/src/protontricks/data/scripts/bwrap_launcher.sh -index b5552e1..b11bc99 100644 +index 922c59d..54742a4 100644 --- a/src/protontricks/data/scripts/bwrap_launcher.sh +++ b/src/protontricks/data/scripts/bwrap_launcher.sh @@ -1,4 +1,4 @@ -#!/bin/bash -+#!/usr/bin/env bash ++#!@bash@ # Helper script set -o errexit -@@ -80,6 +80,8 @@ done - log_info "Following directories will be mounted inside container: ${mount_dirs[*]}" - log_info "Using temporary directory: $PROTONTRICKS_TEMP_PATH" - --exec "$STEAM_RUNTIME_PATH"/run --share-pid --launcher \ -+exec steam-run "$STEAM_RUNTIME_PATH"/pressure-vessel/bin/pressure-vessel-wrap \ -+--variable-dir="${PRESSURE_VESSEL_VARIABLE_DIR:-$STEAM_RUNTIME_PATH/var}" \ -+--share-pid --launcher \ - "${mount_params[@]}" -- \ - --bus-name="com.github.Matoking.protontricks.App${STEAM_APPID}_${PROTONTRICKS_SESSION_ID}" diff --git a/src/protontricks/data/scripts/wine_launch.sh b/src/protontricks/data/scripts/wine_launch.sh -index 1f8a432..2d82f2b 100644 +index 1b0a0ce..127f13e 100644 --- a/src/protontricks/data/scripts/wine_launch.sh +++ b/src/protontricks/data/scripts/wine_launch.sh @@ -1,4 +1,4 @@ -#!/bin/bash -+#!/usr/bin/env -S steam-run bash ++#!@bash@ # Helper script created by Protontricks to run Wine binaries using Steam Runtime set -o errexit -@@ -158,8 +158,8 @@ if [[ -n "$PROTONTRICKS_INSIDE_STEAM_RUNTIME" - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PROTON_LD_LIBRARY_PATH" - log_info "Appending to LD_LIBRARY_PATH: $PROTON_LD_LIBRARY_PATH" - elif [[ "$PROTONTRICKS_STEAM_RUNTIME" = "legacy" ]]; then -- export LD_LIBRARY_PATH="$PROTON_LD_LIBRARY_PATH" -- log_info "LD_LIBRARY_PATH set to $LD_LIBRARY_PATH" -+ export LD_LIBRARY_PATH="$PROTON_LD_LIBRARY_PATH":"$LD_LIBRARY_PATH" -+ log_info "Inserting to head of LD_LIBRARY_PATH: $PROTON_LD_LIBRARY_PATH" - fi - exec "$PROTON_DIST_PATH"/bin/@@name@@ "$@" || : - elif [[ "$PROTONTRICKS_STEAM_RUNTIME" = "bwrap" ]]; then diff --git a/src/protontricks/data/scripts/wineserver_keepalive.sh b/src/protontricks/data/scripts/wineserver_keepalive.sh -index 8168dae..559de33 100644 +index 8168dae..cb3e7d9 100644 --- a/src/protontricks/data/scripts/wineserver_keepalive.sh +++ b/src/protontricks/data/scripts/wineserver_keepalive.sh @@ -1,4 +1,4 @@ -#!/bin/bash -+#!/usr/bin/env bash ++#!@bash@ # A simple keepalive script that will ensure a wineserver process is kept alive # for the duration of the Protontricks session. # This is accomplished by launching a simple Windows batch script that will -diff --git a/src/protontricks/steam.py b/src/protontricks/steam.py -index c39b51d..79de098 100644 ---- a/src/protontricks/steam.py -+++ b/src/protontricks/steam.py -@@ -14,9 +14,8 @@ from .util import lower_dict - - __all__ = ( - "COMMON_STEAM_DIRS", "SteamApp", "find_steam_installations", -- "find_steam_path", "find_legacy_steam_runtime_path", -- "iter_appinfo_sections", "get_appinfo_sections", "get_tool_appid", -- "find_steam_compat_tool_app", "find_appid_proton_prefix", -+ "find_steam_path", "iter_appinfo_sections", "get_appinfo_sections", -+ "get_tool_appid", "find_steam_compat_tool_app", "find_appid_proton_prefix", - "find_proton_app", "get_steam_lib_paths", "get_compat_tool_dirs", - "get_custom_compat_tool_installations_in_dir", - "get_custom_compat_tool_installations", "find_current_steamid3", -@@ -393,37 +392,6 @@ def find_steam_path(): - return None, None - - --def find_legacy_steam_runtime_path(steam_root): -- """ -- Find the legacy Steam Runtime either using the STEAM_RUNTIME env or -- steam_root -- """ -- env_steam_runtime = os.environ.get("STEAM_RUNTIME", "") -- -- if env_steam_runtime == "0": -- # User has disabled Steam Runtime -- logger.info("STEAM_RUNTIME is 0. Disabling Steam Runtime.") -- return None -- elif env_steam_runtime and Path(env_steam_runtime).is_dir(): -- # User has a custom Steam Runtime -- logger.info( -- "Using custom Steam Runtime at %s", env_steam_runtime) -- return Path(env_steam_runtime) -- elif env_steam_runtime in ["1", ""]: -- # User has enabled Steam Runtime or doesn't have STEAM_RUNTIME set; -- # default to enabled Steam Runtime in either case -- steam_runtime_path = steam_root / "ubuntu12_32" / "steam-runtime" -- -- logger.info( -- "Using default Steam Runtime at %s", str(steam_runtime_path)) -- return steam_runtime_path -- -- logger.error( -- "Path in STEAM_RUNTIME doesn't point to a valid Steam Runtime!") -- -- return None -- -- - APPINFO_STRUCT_HEADER = "<4sL" - APPINFO_V27_STRUCT_SECTION = "<LLLLQ20sL" - APPINFO_V28_STRUCT_SECTION = "<LLLLQ20sL20s" diff --git a/src/protontricks/util.py b/src/protontricks/util.py -index 7e95af5..7dc9a29 100644 +index 9262cd0..00b2b2f 100644 --- a/src/protontricks/util.py +++ b/src/protontricks/util.py -@@ -8,14 +8,14 @@ import shutil - import tempfile - import re - from pathlib import Path --from subprocess import PIPE, check_output, run, Popen, DEVNULL -+from subprocess import PIPE, run, Popen, DEVNULL - - import pkg_resources - - __all__ = ( - "SUPPORTED_STEAM_RUNTIMES", "lower_dict", -- "get_legacy_runtime_library_paths", "get_host_library_paths", -- "RUNTIME_ROOT_GLOB_PATTERNS", "get_runtime_library_paths", -+ "get_host_library_paths", "RUNTIME_ROOT_GLOB_PATTERNS", -+ "get_runtime_library_paths", - "WINE_SCRIPT_TEMPLATE", "create_wine_bin_dir", "run_command" - ) - -@@ -43,24 +43,6 @@ def lower_dict(d): - return {k.lower(): _lower_value(v) for k, v in d.items()} - - --def get_legacy_runtime_library_paths(legacy_steam_runtime_path, proton_app): -- """ -- Get LD_LIBRARY_PATH value to use when running a command using Steam Runtime -- """ -- steam_runtime_paths = check_output([ -- str(legacy_steam_runtime_path / "run.sh"), -- "--print-steam-runtime-library-paths" -- ]) -- steam_runtime_paths = str(steam_runtime_paths, "utf-8") -- # Add Proton installation directory first into LD_LIBRARY_PATH -- # so that libwine.so.1 is picked up correctly (see issue #3) -- return "".join([ -- str(proton_app.proton_dist_path / "lib"), os.pathsep, -- str(proton_app.proton_dist_path / "lib64"), os.pathsep, -- steam_runtime_paths -- ]) -- -- - def get_host_library_paths(): - """ - Get host library paths to use when creating the LD_LIBRARY_PATH environment -@@ -72,7 +54,7 @@ def get_host_library_paths(): +@@ -99,7 +99,7 @@ def get_host_library_paths(): # Since that command is unavailable with newer Steam Runtime releases, # do it ourselves here. result = run( - ["/sbin/ldconfig", "-XNv"], -+ ["steam-run", "ldconfig", "-XNv"], ++ ["@steamRun@", "/sbin/ldconfig", "-XNv"], check=True, stdout=PIPE, stderr=PIPE ) lines = result.stdout.decode("utf-8").split("\n") -@@ -90,7 +72,7 @@ RUNTIME_ROOT_GLOB_PATTERNS = ( - ) - - --def get_runtime_library_paths(proton_app, use_bwrap=True): -+def get_runtime_library_paths(proton_app, proton_app_only=True): - """ - Get LD_LIBRARY_PATH value to use when running a command using Steam Runtime - """ -@@ -111,7 +93,7 @@ def get_runtime_library_paths(proton_app, use_bwrap=True): - f"Could not find Steam Runtime runtime root for {runtime_app.name}" - ) - -- if use_bwrap: -+ if proton_app_only: - return "".join([ - str(proton_app.proton_dist_path / "lib"), os.pathsep, - str(proton_app.proton_dist_path / "lib64"), os.pathsep -@@ -313,7 +295,7 @@ def run_command( - wine_environ["STEAM_RUNTIME_PATH"] = \ - str(proton_app.required_tool_app.install_path) - wine_environ["PROTON_LD_LIBRARY_PATH"] = \ -- get_runtime_library_paths(proton_app, use_bwrap=use_bwrap) -+ get_runtime_library_paths(proton_app, proton_app_only=use_bwrap) - - runtime_name = proton_app.required_tool_app.name - logger.info( -@@ -337,13 +319,9 @@ def run_command( - "Current Steam Runtime not recognized by Protontricks." - ) - else: -- # Legacy Steam Runtime requires a different LD_LIBRARY_PATH -- # that is produced by a script. - wine_environ["PROTONTRICKS_STEAM_RUNTIME"] = "legacy" - wine_environ["PROTON_LD_LIBRARY_PATH"] = \ -- get_legacy_runtime_library_paths( -- legacy_steam_runtime_path, proton_app -- ) -+ get_runtime_library_paths(proton_app, proton_app_only=True) - - # bwrap is not available, so ensure it is not launched even if the - # user configured it so -@@ -353,7 +331,6 @@ def run_command( - # configuring the environment and Wine before launching the underlying - # Wine binaries. - wine_bin_dir = create_wine_bin_dir(proton_app) -- wine_environ["LEGACY_STEAM_RUNTIME_PATH"] = str(legacy_steam_runtime_path) - wine_environ["PATH"] = os.pathsep.join( - [str(wine_bin_dir), wine_environ["PATH"]] - ) -diff --git a/tests/cli/test_main.py b/tests/cli/test_main.py -index 0a35f8d..9b96629 100644 ---- a/tests/cli/test_main.py -+++ b/tests/cli/test_main.py -@@ -121,15 +121,10 @@ class TestCLIRun: - assert str(command.args[0]).endswith(".local/bin/winetricks") - assert command.args[1] == "winecfg" - assert command.env["PATH"].startswith(str(wine_bin_dir)) -- assert ( -- "fake_steam_runtime/lib64" in command.env["PROTON_LD_LIBRARY_PATH"] -- ) - assert command.env["WINE"] == str(wine_bin_dir / "wine") - assert command.env["WINELOADER"] == str(wine_bin_dir / "wine") - assert command.env["WINESERVER"] == str(wine_bin_dir / "wineserver") - -- assert command.env["LEGACY_STEAM_RUNTIME_PATH"] == \ -- str(steam_runtime_dir / "steam-runtime") - assert command.env["PROTONTRICKS_STEAM_RUNTIME"] == "legacy" - assert "STEAM_RUNTIME_PATH" not in command.env - -@@ -180,16 +175,14 @@ class TestCLIRun: - assert command.env["PATH"].startswith(str(wine_bin_dir)) - - # Compared to the traditional Steam Runtime, PROTON_LD_LIBRARY_PATH -- # will be different -+ # will be the same (it would be different without steam-run.patch) - proton_install_path = Path(proton_app.install_path) - assert command.env["PROTON_LD_LIBRARY_PATH"] == "".join([ - str(proton_install_path / "dist" / "lib"), os.pathsep, - str(proton_install_path / "dist" / "lib64"), os.pathsep - ]) - -- # Environment variables for both legacy and new Steam Runtime exist -- assert command.env["LEGACY_STEAM_RUNTIME_PATH"] == \ -- str(steam_runtime_dir / "steam-runtime") -+ # Environment variable for new Steam Runtime exists - assert command.env["STEAM_RUNTIME_PATH"] == \ - str(steam_runtime_soldier.install_path) - assert command.env["PROTONTRICKS_STEAM_RUNTIME"] == "bwrap" -@@ -254,9 +247,7 @@ class TestCLIRun: - str(runtime_root / "lib" / "x86_64-linux-gnu") - ])) - -- # Environment variables for both legacy and new Steam Runtime exist -- assert command.env["LEGACY_STEAM_RUNTIME_PATH"] == \ -- str(steam_runtime_dir / "steam-runtime") -+ # Environment variable for new Steam Runtime exists - assert command.env["STEAM_RUNTIME_PATH"] == \ - str(steam_runtime_soldier.install_path) - assert command.env["PROTONTRICKS_STEAM_RUNTIME"] == "legacy" -@@ -407,7 +398,6 @@ class TestCLIRun: - - # Also ensure log messages are included in the error message - assert b"Found Steam directory at" in message -- assert b"Using default Steam Runtime" in message - - def test_run_gui_provider_not_found(self, cli, home_dir, steam_app_factory): - """ -@@ -421,20 +411,6 @@ class TestCLIRun: - - assert "YAD or Zenity is not installed" in result - -- def test_run_steam_runtime_not_found( -- self, cli, steam_dir, steam_app_factory): -- """ -- Try performing a command with Steam Runtime enabled but no -- available Steam Runtime installation -- """ -- steam_app_factory(name="Fake game 1", appid=10) -- result = cli( -- ["10", "winecfg"], env={"STEAM_RUNTIME": "invalid/path"}, -- expect_returncode=1 -- ) -- -- assert "Steam Runtime was enabled but couldn't be found" in result -- - def test_run_proton_not_found(self, cli, steam_dir, steam_app_factory): - steam_app_factory(name="Fake game 1", appid=10) - result = cli(["10", "winecfg"], expect_returncode=1) diff --git a/tests/conftest.py b/tests/conftest.py -index 106e0d9..8236f3a 100644 +index a516437..88bf804 100644 --- a/tests/conftest.py +++ b/tests/conftest.py -@@ -169,7 +169,7 @@ def steam_runtime_dir(steam_dir): +@@ -170,7 +170,7 @@ def steam_runtime_dir(steam_dir): """ (steam_dir.parent / "root" / "ubuntu12_32" / "steam-runtime").mkdir(parents=True) (steam_dir.parent / "root" / "ubuntu12_32" / "steam-runtime" / "run.sh").write_text( - "#!/bin/bash\n" -+ "#!/usr/bin/env -S steam-run bash\n" ++ "#!/bin/sh\n" """if [ "$1" = "--print-steam-runtime-library-paths" ]; then\n""" " echo 'fake_steam_runtime/lib:fake_steam_runtime/lib64'\n" "fi" -@@ -735,7 +735,7 @@ def xdg_user_dir_bin(home_dir): +@@ -764,7 +764,7 @@ def xdg_user_dir_bin(home_dir): # Only mock PICTURES and DOWNLOAD; mocking everything isn't necessary # for the tests. (home_dir / ".local" / "bin" / "xdg-user-dir").write_text( - '#!/bin/bash\n' -+ '#!/usr/bin/env -S steam-run bash\n' ++ '#!/bin/sh\n' 'if [[ "$1" == "PICTURES" ]]; then\n' ' echo "$HOME/Pictures"\n' 'elif [[ "$1" == "DOWNLOAD" ]]; then\n' -diff --git a/tests/test_flatpak.py b/tests/test_flatpak.py -index cb2b9bb..440b704 100644 ---- a/tests/test_flatpak.py -+++ b/tests/test_flatpak.py -@@ -159,36 +159,6 @@ class TestGetInaccessiblePaths: - - assert len(inaccessible_paths) == 0 - -- @pytest.mark.usefixtures("xdg_user_dir_bin") -- def test_flatpak_xdg_user_dir(self, monkeypatch, tmp_path, home_dir): -- """ -- Test that XDG filesystem permissions such as 'xdg-pictures' and -- 'xdg-download' are detected correctly -- """ -- flatpak_info_path = tmp_path / "flatpak-info" -- -- flatpak_info_path.write_text( -- "[Application]\n" -- "name=fake.flatpak.Protontricks\n" -- "\n" -- "[Instance]\n" -- "flatpak-version=1.12.1\n" -- "\n" -- "[Context]\n" -- "filesystems=xdg-pictures;" -- ) -- monkeypatch.setattr( -- "protontricks.flatpak.FLATPAK_INFO_PATH", str(flatpak_info_path) -- ) -- -- inaccessible_paths = get_inaccessible_paths([ -- str(home_dir / "Pictures"), -- str(home_dir / "Download") -- ]) -- -- assert len(inaccessible_paths) == 1 -- assert str(inaccessible_paths[0]) == str(home_dir / "Download") -- - def test_flatpak_unknown_permission(self, monkeypatch, tmp_path, caplog): - """ - Test that unknown filesystem permissions are ignored -diff --git a/tests/test_util.py b/tests/test_util.py -index ec5f4f3..0b0a66c 100644 ---- a/tests/test_util.py -+++ b/tests/test_util.py -@@ -98,44 +98,6 @@ class TestRunCommand: - assert command.env["WINELOADER"] == "/fake/wine" - assert command.env["WINESERVER"] == "/fake/wineserver" - -- def test_unknown_steam_runtime_detected( -- self, home_dir, proton_factory, runtime_app_factory, -- steam_app_factory, caplog): -- """ -- Test that Protontricks will log a warning if it encounters a Steam -- Runtime it does not recognize -- """ -- steam_runtime_medic = runtime_app_factory( -- name="Steam Linux Runtime - Medic", -- appid=14242420, -- runtime_dir_name="medic" -- ) -- proton_app = proton_factory( -- name="Proton 5.20", appid=100, compat_tool_name="proton_520", -- is_default_proton=True, required_tool_app=steam_runtime_medic -- ) -- steam_app = steam_app_factory(name="Fake game", appid=10) -- -- run_command( -- winetricks_path=Path("/usr/bin/winetricks"), -- proton_app=proton_app, -- steam_app=steam_app, -- command=["echo", "nothing"], -- shell=True, -- use_steam_runtime=True -- ) -- -- # Warning will be logged since Protontricks does not recognize -- # Steam Runtime Medic and can't ensure it's being configured correctly -- warning = next( -- record for record in caplog.records -- if record.levelname == "WARNING" -- and "not recognized" in record.getMessage() -- ) -- assert warning.getMessage() == \ -- "Current Steam Runtime not recognized by Protontricks." -- -- - class TestLowerDict: - def test_lower_nested_dict(self): - """ diff --git a/pkgs/tools/package-management/repro-get/default.nix b/pkgs/tools/package-management/repro-get/default.nix index bb619874d7b0..95d5902be006 100644 --- a/pkgs/tools/package-management/repro-get/default.nix +++ b/pkgs/tools/package-management/repro-get/default.nix @@ -69,5 +69,6 @@ buildGoModule rec { homepage = "https://github.com/reproducible-containers/repro-get"; license = licenses.asl20; maintainers = with maintainers; [ matthewcroughan ]; + mainProgram = "repro-get"; }; } diff --git a/pkgs/tools/package-management/reuse/default.nix b/pkgs/tools/package-management/reuse/default.nix deleted file mode 100644 index 8ba5be3e7795..000000000000 --- a/pkgs/tools/package-management/reuse/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, python3Packages, fetchFromGitHub }: - -python3Packages.buildPythonApplication rec { - pname = "reuse"; - version = "2.1.0"; - format = "pyproject"; - - src = fetchFromGitHub { - owner = "fsfe"; - repo = "reuse-tool"; - rev = "refs/tags/v${version}"; - hash = "sha256-MEQiuBxe/ctHlAnmLhQY4QH62uAcHb7CGfZz+iZCRSk="; - }; - - nativeBuildInputs = with python3Packages; [ - poetry-core - ]; - - propagatedBuildInputs = with python3Packages; [ - binaryornot - boolean-py - debian - jinja2 - license-expression - ]; - - nativeCheckInputs = with python3Packages; [ pytestCheckHook ]; - - disabledTestPaths = [ - # pytest wants to execute the actual source files for some reason, which fails with ImportPathMismatchError() - "src/reuse" - ]; - - meta = with lib; { - description = "A tool for compliance with the REUSE Initiative recommendations"; - homepage = "https://github.com/fsfe/reuse-tool"; - license = with licenses; [ asl20 cc-by-sa-40 cc0 gpl3Plus ]; - maintainers = with maintainers; [ FlorianFranzen Luflosi ]; - }; -} diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index 9418244212ac..541787942a0e 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -1,7 +1,28 @@ -{ stdenv, lib -, pkg-config, autoreconfHook, pandoc -, fetchurl, cpio, zlib, bzip2, file, elfutils, libbfd, libgcrypt, libarchive, nspr, nss, popt, db, xz, python, lua, llvmPackages -, sqlite, zstd, libcap +{ stdenv +, lib +, pkg-config +, autoreconfHook +, pandoc +, fetchurl +, cpio +, zlib +, bzip2 +, file +, elfutils +, libbfd +, libgcrypt +, libarchive +, nspr +, nss +, popt +, db +, xz +, python +, lua +, llvmPackages +, sqlite +, zstd +, libcap }: stdenv.mkDerivation rec { @@ -18,8 +39,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkg-config pandoc ]; buildInputs = [ cpio zlib zstd bzip2 file libarchive libgcrypt nspr nss db xz python lua sqlite ] - ++ lib.optional stdenv.cc.isClang llvmPackages.openmp - ++ lib.optional stdenv.isLinux libcap; + ++ lib.optional stdenv.cc.isClang llvmPackages.openmp + ++ lib.optional stdenv.isLinux libcap; # rpm/rpmlib.h includes popt.h, and then the pkg-config file mentions these as linkage requirements propagatedBuildInputs = [ popt nss db bzip2 libarchive libbfd ] @@ -72,5 +93,8 @@ stdenv.mkDerivation rec { description = "The RPM Package Manager"; maintainers = with maintainers; [ copumpkin ]; platforms = platforms.linux; + # Support for darwin was removed in https://github.com/NixOS/nixpkgs/pull/196350. + # This can be re-enables for apple_sdk.version >= 13.0. + badPlatforms = platforms.darwin; }; } diff --git a/pkgs/tools/package-management/smlpkg/default.nix b/pkgs/tools/package-management/smlpkg/default.nix index 4bf75c126149..be7592c1c6d8 100644 --- a/pkgs/tools/package-management/smlpkg/default.nix +++ b/pkgs/tools/package-management/smlpkg/default.nix @@ -39,5 +39,6 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = mlton.meta.platforms; maintainers = with maintainers; [ athas ]; + mainProgram = "smlpkg"; }; } diff --git a/pkgs/tools/package-management/yarn-lock-converter/default.nix b/pkgs/tools/package-management/yarn-lock-converter/default.nix index 2f3ebff74108..70f5b143ebe8 100644 --- a/pkgs/tools/package-management/yarn-lock-converter/default.nix +++ b/pkgs/tools/package-management/yarn-lock-converter/default.nix @@ -45,5 +45,6 @@ buildNpmPackage rec { homepage = "https://github.com/VHT/yarn-lock-converter"; license = licenses.mit; maintainers = with maintainers; [ gador ]; + mainProgram = "yarn-lock-converter"; }; } |