diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index c10449454c50..d313187d9fe9 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -2312,8 +2312,7 @@ in environment.etc = lib.mapAttrs' makePAMService enabledServices; systemd = - lib.optionalAttrs - (lib.any (service: service.updateWtmp) (lib.attrValues config.security.pam.services)) + lib.mkIf (lib.any (service: service.updateWtmp) (lib.attrValues config.security.pam.services)) { tmpfiles.packages = [ pkgs.util-linux.lastlog ]; # /lib/tmpfiles.d/lastlog2-tmpfiles.conf services.lastlog2-import = { diff --git a/pkgs/build-support/fetchtorrent/test-hashes.sha512sum b/pkgs/build-support/fetchtorrent/test-hashes.sha512sum new file mode 100644 index 000000000000..fe378eb1c5f8 --- /dev/null +++ b/pkgs/build-support/fetchtorrent/test-hashes.sha512sum @@ -0,0 +1,11 @@ +1755c55e08aec3872db177464e0bc3f48c89aa40c1ec32605b472d88f6e92963eb08a10aa37bc47e837ae693db18652f40dfbcd6bf26f07278f0566a19c72cd5 poster.jpg +3ec33eae8153b6e2bdfff8157b332e6f0cfbc14d0c30e6a34042deecf0cff01ee19ca54314678b5ad970ae669da8cb91425e96253caf91d95ae01a62917827b7 Sintel.de.srt +ceac1ea59a9224b26946c6683acfaae27e1551c696fb2c632b55151c17f3faa8f930bbd93904cd7a13a896ad3d670b01e2f2bc1a8851060e05fedd85f804ba17 Sintel.en.srt +6efbc68f872c212f6579c5a5d42d6c2a60d775d32be8a7badcd147dbfc07b24cb2cc97e04a796af4002fcd4c8860a7061aed5d59a1280e4352d1bbd701d612a8 Sintel.es.srt +5619ad5bc7ca82e7f1f3b5e9197ab6ef6f5edd7293d396a3c036fef95d5ef592cf9e8d403e8532f4ba71a93fc9556614bfba3473eceae392d2e3175116c06f95 Sintel.fr.srt +fa93c051491b4e11f8e7a643c2138198f795315c942134b94ceace1adda4a5b28dc58b01b507e0da4c26784fc968f47bca1409f985eec2bf80c3e694662ed7c5 Sintel.it.srt +63426110ed7aa60ed3525078fa324cef4276393b4ada55e0a8cf8292500fdd59c2984e299a4e4f65e4f273b8ae2624da22700de4a55054b00e9d987f606c3c7f Sintel.mp4 +5fb04c25fda9dada8c808a9f289cec2cca001d60966b69d61ad663240a869c76dd0aff605122823ccbe199e266331f6a4b11a414bba92999a7041c4b534ef432 Sintel.nl.srt +510f052cbbda0b9fc31679b9a26cc16766df9054fc15b66cff475975725a1e8452e69a28a6f90bb965330a49e49bbf42a90efb13de07eaece7d273ef1ca7978a Sintel.pl.srt +510dc0eca608bd0fdd9633ea80365c916f8c4f0fd8e2fdf77534f455f03814401d210df47d940be4fd2fb7ab4c3ff5038a548846c5fa9badbe77b1731b3cae29 Sintel.pt.srt +57c014bd3d781a94850f85fd6c9364421e17cb2c4e25e22c0a8578f50c874e3f2eaf5a0b3da615db7dc95efbe2e6be7c7238e2e1ba27671c818b9e34b05ee1d0 Sintel.ru.srt diff --git a/pkgs/build-support/fetchtorrent/test-sintel.torrent b/pkgs/build-support/fetchtorrent/test-sintel.torrent new file mode 100644 index 000000000000..c3775deb9e2b Binary files /dev/null and b/pkgs/build-support/fetchtorrent/test-sintel.torrent differ diff --git a/pkgs/build-support/fetchtorrent/tests.nix b/pkgs/build-support/fetchtorrent/tests.nix index 18774ba1d503..c0ef386e2098 100644 --- a/pkgs/build-support/fetchtorrent/tests.nix +++ b/pkgs/build-support/fetchtorrent/tests.nix @@ -2,15 +2,29 @@ lib, testers, fetchtorrent, + emptyDirectory, ... }: let + # This meta attribute isn't used anywhere, as the actual derivation + # realizations are only empty directories. It's maintained here as a record + # of the details of the intermediate product that exists briefly while + # building the test derivations. + # + # Ideally we'd use a smaller download, but neither of the Bittorrent backends + # supported by fetchtorrent appear to support torrents that are only reliably + # seeded by HTTP sources rather than other people using Bittorrent clients. + # Sintel was the smallest torrent I could find that had a free license and + # was reliably seeded by other Bittorrent clients. + # + # For more information, see the discussion at + # https://github.com/NixOS/nixpkgs/pull/432091/files/bd13421b2b70f3f125061018c800439ef2d43e8d#r2264073113 sintel.meta = { description = "An open source short film to show off open source technologies."; longDescription = '' An independently produced short film, initiated by the Blender Foundation - as a means to further improve andvalidate the free/open source 3D + as a means to further improve and validate the free/open source 3D creation suite Blender. ''; license = lib.licenses.cc-by-30; @@ -18,74 +32,100 @@ let }; # Via https://webtorrent.io/free-torrents - http.url = "https://webtorrent.io/torrents/sintel.torrent"; + http.url = "${./test-sintel.torrent}"; magnet.url = "magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent"; - flattened.hash = "sha256-EzbmBiTEWOlFUNaV5R4eDeD9EBbp6d93rfby88ACg0s="; - unflattened.hash = "sha256-lVrlo1AwmFcxwsIsY976VYqb3hAprFH1xWYdmlTuw0U="; + # Sintel isn't a massive download, but it's not small. There's also no real + # value in storing copies of it in Nix caches, which is what happens by + # default when this test succeeds. Avoid that by verifying the downloaded + # files using `sha512sum` in the post-fetch hook, then deleting the files so + # the actual derivation result is an empty directory. + # + # Chain `&&` in the postFetch phase because the transmission backend does not + # run that phase with `errexit` enabled. + flattened.postFetch = '' + pushd "$out" && + sha512sum --check --strict ${./test-hashes.sha512sum} && + sed 's/.* //' ${./test-hashes.sha512sum} | xargs rm --verbose && + popd + ''; + unflattened.postFetch = '' + pushd "$out" && + pushd Sintel && + sha512sum --check --strict ${./test-hashes.sha512sum} && + sed 's/.* //' ${./test-hashes.sha512sum} | xargs rm --verbose && + popd && + rm --dir --verbose Sintel && + popd + ''; + + # Fixed output derivation hash is identical for all derivations: the empty + # directory. + fetchtorrentWithHash = + args: + fetchtorrent ( + { + hash = builtins.convertHash { + hash = emptyDirectory.outputHash; + toHashFormat = "sri"; + hashAlgo = emptyDirectory.outputHashAlgo; + }; + } + // args + ); in # Seems almost but not quite worth using lib.mapCartesianProduct... -builtins.mapAttrs (n: v: testers.invalidateFetcherByDrvHash fetchtorrent v) { +builtins.mapAttrs (n: v: testers.invalidateFetcherByDrvHash fetchtorrentWithHash v) { http-link = { inherit (http) url; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; http-link-transmission = { inherit (http) url; backend = "transmission"; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; magnet-link = { inherit (magnet) url; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; magnet-link-transmission = { inherit (magnet) url; backend = "transmission"; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; http-link-rqbit = { inherit (http) url; backend = "rqbit"; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; magnet-link-rqbit = { inherit (magnet) url; backend = "rqbit"; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; http-link-rqbit-flattened = { inherit (http) url; backend = "rqbit"; flatten = true; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; magnet-link-rqbit-flattened = { inherit (magnet) url; backend = "rqbit"; flatten = true; - inherit (flattened) hash; - inherit (sintel) meta; + inherit (flattened) postFetch; }; http-link-rqbit-unflattened = { inherit (http) url; backend = "rqbit"; flatten = false; - inherit (unflattened) hash; - inherit (sintel) meta; + inherit (unflattened) postFetch; }; magnet-link-rqbit-unflattened = { inherit (magnet) url; backend = "rqbit"; flatten = false; - inherit (unflattened) hash; - inherit (sintel) meta; + inherit (unflattened) postFetch; }; } diff --git a/pkgs/by-name/hd/hdr10plus/package.nix b/pkgs/by-name/hd/hdr10plus/package.nix index d0e319eb6817..d4e605998cc9 100644 --- a/pkgs/by-name/hd/hdr10plus/package.nix +++ b/pkgs/by-name/hd/hdr10plus/package.nix @@ -1,7 +1,7 @@ { lib, stdenv, - rust, + buildPackages, rustPlatform, hdr10plus_tool, cargo-c, @@ -10,7 +10,7 @@ let inherit (lib) optionals concatStringsSep; - inherit (rust.envVars) setEnv; + inherit (buildPackages.rust.envVars) setEnv; in rustPlatform.buildRustPackage (finalAttrs: { __structuredAttrs = true; diff --git a/pkgs/by-name/li/libdovi/package.nix b/pkgs/by-name/li/libdovi/package.nix index 055c90f7d9c4..a1dad59c0652 100644 --- a/pkgs/by-name/li/libdovi/package.nix +++ b/pkgs/by-name/li/libdovi/package.nix @@ -3,7 +3,7 @@ rustPlatform, fetchCrate, cargo-c, - rust, + buildPackages, stdenv, }: @@ -27,19 +27,19 @@ rustPlatform.buildRustPackage rec { buildPhase = '' runHook preBuild - ${rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} runHook postBuild ''; installPhase = '' runHook preInstall - ${rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} runHook postInstall ''; checkPhase = '' runHook preCheck - ${rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} runHook postCheck ''; diff --git a/pkgs/by-name/li/libimagequant/package.nix b/pkgs/by-name/li/libimagequant/package.nix index 10be02e685e6..687e006e47b0 100644 --- a/pkgs/by-name/li/libimagequant/package.nix +++ b/pkgs/by-name/li/libimagequant/package.nix @@ -2,7 +2,7 @@ lib, stdenv, fetchFromGitHub, - rust, + buildPackages, rustPlatform, cargo-c, python3, @@ -37,13 +37,13 @@ rustPlatform.buildRustPackage rec { postBuild = '' pushd imagequant-sys - ${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} popd ''; postInstall = '' pushd imagequant-sys - ${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} popd ''; diff --git a/pkgs/by-name/ma/mailpit/source.nix b/pkgs/by-name/ma/mailpit/source.nix index b144b483e571..9de7cff7fa03 100644 --- a/pkgs/by-name/ma/mailpit/source.nix +++ b/pkgs/by-name/ma/mailpit/source.nix @@ -1,6 +1,6 @@ { - version = "1.27.10"; - hash = "sha256-O/gU5EKeEoyQDsO1aJh3twbZzSnKb1pLt9t4GfYlHEE="; - npmDepsHash = "sha256-r4hategU6aE05fvpXkgMNtFyWTv6eumLzlevjOT0/dM="; - vendorHash = "sha256-TM8b16Y+629gBz5XlXXimDWBAfOq9w8es4v984zVUbk="; + version = "1.27.11"; + hash = "sha256-0moTf5DEI+tw6Kx6/6cWzGdgem7rAfsj4iJg9I7Pjbk="; + npmDepsHash = "sha256-P9uTFeJ8ikK3Hp9bFt33mIzqp9duvMs1fYw1ErwXg1A="; + vendorHash = "sha256-MgxpoNj8Rv98AnqvWWewoFgvHWSD16MXLlkkVoQRGTE="; } diff --git a/pkgs/by-name/py/pyglossary-gui/package.nix b/pkgs/by-name/py/pyglossary-gui/package.nix index b9f68d286190..71b74f9cb113 100644 --- a/pkgs/by-name/py/pyglossary-gui/package.nix +++ b/pkgs/by-name/py/pyglossary-gui/package.nix @@ -5,5 +5,6 @@ python3.pkgs.toPythonApplication ( python3.pkgs.pyglossary.override { enableGui = true; + enableCmd = true; } ) diff --git a/pkgs/by-name/py/pyglossary/package.nix b/pkgs/by-name/py/pyglossary/package.nix index 8c96c385d8a2..3f763dc617c0 100644 --- a/pkgs/by-name/py/pyglossary/package.nix +++ b/pkgs/by-name/py/pyglossary/package.nix @@ -2,4 +2,8 @@ python3, }: -python3.pkgs.toPythonApplication python3.pkgs.pyglossary +python3.pkgs.toPythonApplication ( + python3.pkgs.pyglossary.override { + enableCmd = true; + } +) diff --git a/pkgs/by-name/ra/rav1e/package.nix b/pkgs/by-name/ra/rav1e/package.nix index 8b79f8811ce0..60a5608aa6b2 100644 --- a/pkgs/by-name/ra/rav1e/package.nix +++ b/pkgs/by-name/ra/rav1e/package.nix @@ -1,6 +1,6 @@ { lib, - rust, + buildPackages, stdenv, rustPlatform, fetchCrate, @@ -43,11 +43,11 @@ rustPlatform.buildRustPackage rec { checkType = "debug"; postBuild = '' - ${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} ''; postInstall = '' - ${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} ''; passthru = { diff --git a/pkgs/by-name/ru/rustls-ffi/package.nix b/pkgs/by-name/ru/rustls-ffi/package.nix index d86c53fd8441..b3b78948696c 100644 --- a/pkgs/by-name/ru/rustls-ffi/package.nix +++ b/pkgs/by-name/ru/rustls-ffi/package.nix @@ -6,7 +6,7 @@ rustPlatform, cargo-c, validatePkgConfig, - rust, + buildPackages, libiconv, curl, apacheHttpd, @@ -42,19 +42,19 @@ stdenv.mkDerivation (finalAttrs: { buildPhase = '' runHook preBuild - ${rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cbuild -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} runHook postBuild ''; installPhase = '' runHook preInstall - ${rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cinstall -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} runHook postInstall ''; checkPhase = '' runHook preCheck - ${rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo ctest -j $NIX_BUILD_CORES --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} runHook postCheck ''; diff --git a/pkgs/by-name/sv/svg-term/package.nix b/pkgs/by-name/sv/svg-term/package.nix new file mode 100644 index 000000000000..403880384937 --- /dev/null +++ b/pkgs/by-name/sv/svg-term/package.nix @@ -0,0 +1,54 @@ +{ + asciinema, + fetchFromGitHub, + fetchYarnDeps, + lib, + makeWrapper, + nodejs, + stdenv, + versionCheckHook, + yarnBuildHook, + yarnConfigHook, + yarnInstallHook, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "svg-term"; + version = "2.1.1"; + + src = fetchFromGitHub { + owner = "marionebl"; + repo = "svg-term-cli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-sB4/SM48UmqaYKj6kzfjzITroL0l/QL4Gg5GSrQ+pdk="; + }; + + yarnOfflineCache = fetchYarnDeps { + inherit (finalAttrs) src; + hash = "sha256-4Q1NP3VhnACcrZ1XUFPtgSlk1Eh8Kp02rOgijoRJFcI="; + }; + + nativeBuildInputs = [ + makeWrapper + nodejs + yarnBuildHook + yarnConfigHook + yarnInstallHook + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + # Some things work without asciinema on the PATH, but --command does not. + postInstall = '' + wrapProgram $out/bin/svg-term --prefix PATH : ${lib.makeBinPath [ asciinema ]} + ''; + + meta = { + description = "Share terminal sessions as razor-sharp animated SVG everywhere"; + homepage = "https://github.com/marionebl/svg-term-cli"; + license = lib.licenses.mit; + mainProgram = "svg-term"; + maintainers = with lib.maintainers; [ samestep ]; + }; +}) diff --git a/pkgs/by-name/ya/yara-x/package.nix b/pkgs/by-name/ya/yara-x/package.nix index 43d596d448c4..46ce75adffcf 100644 --- a/pkgs/by-name/ya/yara-x/package.nix +++ b/pkgs/by-name/ya/yara-x/package.nix @@ -1,6 +1,6 @@ { lib, - rust, + buildPackages, stdenv, fetchFromGitHub, rustPlatform, @@ -29,11 +29,11 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; postBuild = '' - ${rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cbuild --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} ''; postInstall = '' - ${rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} + ${buildPackages.rust.envVars.setEnv} cargo cinstall --release --frozen --prefix=${placeholder "out"} --target ${stdenv.hostPlatform.rust.rustcTarget} '' + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd yr \ diff --git a/pkgs/development/python-modules/ax-platform/default.nix b/pkgs/development/python-modules/ax-platform/default.nix index b853ccf3858e..8808854e3550 100644 --- a/pkgs/development/python-modules/ax-platform/default.nix +++ b/pkgs/development/python-modules/ax-platform/default.nix @@ -29,14 +29,14 @@ buildPythonPackage rec { pname = "ax-platform"; - version = "1.1.2"; + version = "1.2.0"; pyproject = true; src = fetchFromGitHub { owner = "facebook"; repo = "ax"; tag = version; - hash = "sha256-DHB/BcD913gano5N7dlAbB+Tfg1dMTRP3AR1HwJjkLg="; + hash = "sha256-HZRo7jo5f3nnAha3evLTmI3caLhz7kIbP9CA6zaH4Zg="; }; env.ALLOW_BOTORCH_LATEST = "1"; diff --git a/pkgs/development/python-modules/pyglossary/default.nix b/pkgs/development/python-modules/pyglossary/default.nix index 9f9012c06d4a..6617af80e51d 100644 --- a/pkgs/development/python-modules/pyglossary/default.nix +++ b/pkgs/development/python-modules/pyglossary/default.nix @@ -21,6 +21,9 @@ # for GUI only pygobject3, gtk3, + enableCmd ? false, + prompt-toolkit, + tqdm, }: buildPythonPackage rec { @@ -58,6 +61,10 @@ buildPythonPackage rec { ] ++ lib.optionals enableGui [ pygobject3 + ] + ++ lib.optionals enableCmd [ + prompt-toolkit + tqdm ]; buildInputs = lib.optionals enableGui [ diff --git a/pkgs/development/python-modules/pyglossary/fix-install-issues.patch b/pkgs/development/python-modules/pyglossary/fix-install-issues.patch deleted file mode 100644 index d9e5db1a8111..000000000000 --- a/pkgs/development/python-modules/pyglossary/fix-install-issues.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff --git c/pyproject.toml w/pyproject.toml -index abfb59ac..8f9c2121 100644 ---- c/pyproject.toml -+++ w/pyproject.toml -@@ -416,11 +416,10 @@ version = "5.1.1" - description = "A tool for converting dictionary files aka glossaries." - readme = "README.md" - authors = [{ name = "Saeed Rasooli", email = "saeed.gnu@gmail.com" }] --license = { text = "GPLv3+" } -+license = "GPL-3.0-or-later" - keywords = ["dictionary", "glossary"] - classifiers = [ - "Development Status :: 5 - Production/Stable", -- "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", - "Operating System :: OS Independent", - "Typing :: Typed", - "Programming Language :: Python :: 3.11", -@@ -430,6 +429,9 @@ classifiers = [ - requires-python = ">= 3.11" - dependencies = [] - -+[project.scripts] -+pyglossary = "pyglossary.ui.main:main" -+ - [project.optional-dependencies] - all = ["PyICU", "lxml", "beautifulsoup4"] - -diff --git c/setup.py w/setup.py -index fd38a060..19df9ee3 100755 ---- c/setup.py -+++ w/setup.py -@@ -8,8 +8,7 @@ import sys - from glob import glob - from os.path import dirname, exists, isdir, join - --from setuptools import setup --from setuptools.command.install import install -+from setuptools import setup, find_packages - - VERSION = "5.1.1" - log = logging.getLogger("root") -@@ -46,29 +45,6 @@ def getPipSafeVersion() -> str: - return VERSION - - --class my_install(install): -- def run(self) -> None: -- install.run(self) -- if os.sep == "/": -- binPath = join(self.install_scripts, "pyglossary") -- log.info(f"creating script file {binPath!r}") -- if not exists(self.install_scripts): -- os.makedirs(self.install_scripts) -- # let it fail on wrong permissions. -- elif not isdir(self.install_scripts): -- raise OSError( -- "installation path already exists " -- f"but is not a directory: {self.install_scripts}", -- ) -- open(binPath, "w", encoding="ascii").write("""#!/usr/bin/env -S python3 -O --import sys --from os.path import dirname --sys.path.insert(0, dirname(__file__)) --from pyglossary.ui.main import main --main()""") -- os.chmod(binPath, 0o755) -- -- - root_data_file_names = [ - "about", - "LICENSE", -@@ -146,19 +122,14 @@ setup( - name="pyglossary", - version=getPipSafeVersion(), - python_requires=">=3.10.0", -- cmdclass={ -- "install": my_install, -- }, - description="A tool for converting dictionary files aka glossaries.", - long_description_content_type="text/markdown", - long_description=long_description, - author="Saeed Rasooli", - author_email="saeed.gnu@gmail.com", -- license="GPLv3+", -+ license="GPL-3.0-or-later", - url="https://github.com/ilius/pyglossary", -- packages=[ -- "pyglossary", -- ], -+ packages=find_packages(), - entry_points={ - "console_scripts": [ - "pyglossary = pyglossary.ui.main:main", diff --git a/pkgs/development/python-modules/scipp/default.nix b/pkgs/development/python-modules/scipp/default.nix index a308e8078d07..20b85a5e02ad 100644 --- a/pkgs/development/python-modules/scipp/default.nix +++ b/pkgs/development/python-modules/scipp/default.nix @@ -39,18 +39,17 @@ buildPythonPackage rec { pname = "scipp"; - version = "25.08.0"; + version = "25.11.0"; pyproject = true; src = fetchFromGitHub { owner = "scipp"; repo = "Scipp"; - # https://github.com/scipp/scipp/pull/3722 tag = version; - hash = "sha256-nLccJlFnnVTpamph2oIaMxRD5ljrw6GlCnnTx7LfrO0="; + hash = "sha256-/gCLWRpBnOjNMBEpJe0JSda496iXDFnCE+R+zIaRkWo="; }; env = { - SKIP_CONAN = "true"; + SKIP_REMOTE_SOURCES = "true"; }; build-system = [