From 212f8b0cfc4dc5321a7d14827b035f40556b1d02 Mon Sep 17 00:00:00 2001 From: Kamila Borowska Date: Wed, 22 Nov 2023 15:07:42 +0100 Subject: [PATCH 01/30] python3Packages.skytemple-files: fix build (cherry picked from commit 885db56d0e8a0fd755920293f352727d2c6e1880) --- .../python-modules/skytemple-files/default.nix | 15 +++++++++++++++ .../python-modules/skytemple-rust/default.nix | 13 ++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/skytemple-files/default.nix b/pkgs/development/python-modules/skytemple-files/default.nix index d6a56883bc46..a02b04675b1e 100644 --- a/pkgs/development/python-modules/skytemple-files/default.nix +++ b/pkgs/development/python-modules/skytemple-files/default.nix @@ -2,6 +2,7 @@ , lib , buildPythonPackage , fetchFromGitHub +, fetchpatch , appdirs , dungeon-eos , explorerscript @@ -38,6 +39,20 @@ buildPythonPackage rec { fetchSubmodules = true; }; + patches = [ + # Necessary for skytemple-files to work with Pillow 10.1.0. + # https://github.com/SkyTemple/skytemple-files/issues/449 + (fetchpatch { + url = "https://github.com/SkyTemple/skytemple-files/commit/5dc6477d5411b43b80ba79cdaf3521d75d924233.patch"; + hash = "sha256-0511IRjOcQikhnbu3FkXn92mLAkO+kV9J94Z3f7EBcU="; + includes = ["skytemple_files/graphics/kao/_model.py"]; + }) + (fetchpatch { + url = "https://github.com/SkyTemple/skytemple-files/commit/9548f7cf3b1d834555b41497cfc0bddab10fd3f6.patch"; + hash = "sha256-a3GeR5IxXRIKY7I6rhKbOcQnoKxtH7Xf3Wx/BRFQHSc="; + }) + ]; + postPatch = '' substituteInPlace skytemple_files/patch/arm_patcher.py skytemple_files/data/data_cd/armips_importer.py \ --replace "exec_name = os.getenv(\"SKYTEMPLE_ARMIPS_EXEC\", f\"{prefix}armips\")" "exec_name = \"${armips}/bin/armips\"" diff --git a/pkgs/development/python-modules/skytemple-rust/default.nix b/pkgs/development/python-modules/skytemple-rust/default.nix index ddf1866a1056..d10ad3b7d18d 100644 --- a/pkgs/development/python-modules/skytemple-rust/default.nix +++ b/pkgs/development/python-modules/skytemple-rust/default.nix @@ -3,6 +3,7 @@ , buildPythonPackage , cargo , fetchFromGitHub +, fetchpatch , libiconv , Foundation , rustPlatform @@ -28,13 +29,23 @@ buildPythonPackage rec { hash = "sha256-KQA8dfHnuysx9EUySJXZ/52Hfq6AbALwkBp3B1WJJuc="; }; + patches = [ + # Necessary for python3Packages.skytemple-files tests to pass. + # https://github.com/SkyTemple/skytemple-files/issues/449 + (fetchpatch { + url = "https://github.com/SkyTemple/skytemple-rust/commit/eeeac215c58eda2375dc499aaa1950df0e859802.patch"; + hash = "sha256-9oUrwI+ZMI0Pg8F/nzLkf0YNkO9WSMkUAqDk4GuGfQo="; + includes = [ "src/st_kao.rs" ]; + }) + ]; + buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ]; nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ]; propagatedBuildInputs = [ range-typed-integers ]; GETTEXT_SYSTEM = true; - doCheck = false; # there are no tests + doCheck = false; # tests for this package are in skytemple-files package pythonImportsCheck = [ "skytemple_rust" ]; meta = with lib; { From 3ca15d7e371cd996bb194d613c0b0d33aa85e150 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Wed, 22 Nov 2023 09:53:44 -0500 Subject: [PATCH 02/30] sequoia-chameleon-gnupg: 0.3.2 -> unstable-2023-11-22 Diff: https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/compare/v0.3.2...fd9df5a4e1ec3c3ca986a1a25bacf13f024c934a (cherry picked from commit d09234229f514b2ff4965ae8369ca07c29ef8e64) --- pkgs/tools/security/sequoia-chameleon-gnupg/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/security/sequoia-chameleon-gnupg/default.nix b/pkgs/tools/security/sequoia-chameleon-gnupg/default.nix index 95d0426729e0..96d15250e163 100644 --- a/pkgs/tools/security/sequoia-chameleon-gnupg/default.nix +++ b/pkgs/tools/security/sequoia-chameleon-gnupg/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "sequoia-chameleon-gnupg"; - version = "0.3.2"; + version = "unstable-2023-11-22"; src = fetchFromGitLab { owner = "sequoia-pgp"; repo = pname; - rev = "v${version}"; - hash = "sha256-Qe9KKZh0Zim/BdPn2aMxkH6FBOBB6zijkp5ft9YfzzU="; + rev = "fd9df5a4e1ec3c3ca986a1a25bacf13f024c934a"; + hash = "sha256-OxWlkOQxuuCFyLMx+ucervyqIduUpyJ9lCGFQlfEUFc="; }; - cargoHash = "sha256-KuVSpbAfLVIy5YJ/8qb+Rfw1TgZkWfR+Ai9gDcf4EQ4="; + cargoHash = "sha256-4+PA1kYJgn8yDAYr88DQYg6sdgSN3MWzKAUATW3VO6I="; nativeBuildInputs = [ rustPlatform.bindgenHook @@ -33,6 +33,7 @@ rustPlatform.buildRustPackage rec { sqlite ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration ]; # gpgconf: error creating socket directory From 1eed75763e33831dfc58eeaab3c195c4f3ac0824 Mon Sep 17 00:00:00 2001 From: Bryan Lai Date: Wed, 22 Nov 2023 17:39:23 +0800 Subject: [PATCH 03/30] python2Packages.pycairo: backport test fix Fix pytest failure of `test_svg_surface_get_document_unit`. This fix is backported to python 2 from upstream. Upstream has dropped support for python 2, but the fix works regardless of python versions. Hence we backport the fix for python 2, since many nix packages still depend on python2Packages.pycairo. Upstream: https://github.com/pygobject/pycairo/commit/678edd94d8a6dfb5d51f9c3549e6ee8c90a73744 Co-authored-by: Brian Leung <29217594+leungbk@users.noreply.github.com> (cherry picked from commit 8a3eb935ace310015422cfd0954dbd404704771b) --- pkgs/development/python2-modules/pycairo/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python2-modules/pycairo/default.nix b/pkgs/development/python2-modules/pycairo/default.nix index f90031e048fb..97fe85a99907 100644 --- a/pkgs/development/python2-modules/pycairo/default.nix +++ b/pkgs/development/python2-modules/pycairo/default.nix @@ -1,5 +1,6 @@ { lib , fetchFromGitHub +, fetchpatch , meson , ninja , buildPythonPackage @@ -22,6 +23,13 @@ buildPythonPackage rec { sha256 = "142145a2whvlk92jijrbf3i2bqrzmspwpysj0bfypw0krzi0aa6j"; }; + patches = [ + (fetchpatch { + url = "https://github.com/pygobject/pycairo/commit/678edd94d8a6dfb5d51f9c3549e6ee8c90a73744.patch"; + sha256 = "sha256-HmP69tUGYxZvJ/M9FJHwHTCjb9Kf4aWRyMT4wSymrT0="; + }) + ]; + nativeBuildInputs = [ meson ninja From a8585e705288ecfa8637e1b881f969c9183c4f5c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 03:04:40 +0100 Subject: [PATCH 04/30] aws2cli: fix urllib3 build (#269351) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes the build by setting up the PEP517 builder to satisfy the format/pyproject requirement of python derivations. > assert (pyproject != null) -> (format == null); Co-authored-by: Carl Hjerpe Co-authored-by: P. Co-authored-by: André Vitor de Lima Matos --- pkgs/tools/admin/awscli2/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index b59f702701f7..5582f63ffc0c 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -19,10 +19,14 @@ let hash = "sha256-i3zml6LyEnUqNcGsQURx3BbEJMlXO+SSa1b/P10jt68="; }; }); - urllib3 = prev.urllib3.overridePythonAttrs (prev: { - format = "setuptools"; + urllib3 = prev.urllib3.overridePythonAttrs (prev: rec { + pyproject = true; + version = "1.26.18"; + nativeBuildInputs = with final; [ + setuptools + ]; src = prev.src.override { - version = "1.26.18"; + inherit version; hash = "sha256-+OzBu6VmdBNFfFKauVW/jGe0XbeZ0VkGYmFxnjKFgKA="; }; }); From 63eb681a6dfc214b2828e7ec7cb59fad680da1f2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 03:12:03 +0100 Subject: [PATCH 05/30] [Backport release-23.11] python311Packages.homeassistant-stubs: 2023.11.2 -> 2023.11.3 (#269352) https://github.com/KapJI/homeassistant-stubs/releases/tag/2023.11.3 (cherry picked from commit badb35e7308ea0103fcdb6043523ba8650be9809) Co-authored-by: Martin Weinelt --- pkgs/servers/home-assistant/stubs.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index b3652e734f19..b6d6d1517af8 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2023.11.2"; + version = "2023.11.3"; format = "pyproject"; disabled = python.version != home-assistant.python.version; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-stVfFXb5QfC+wZUSk53+jt/hb8kO1gCcgeOnHHpNlWE="; + hash = "sha256-x3FcUmbUYAUKGAPb85SqJk1kTWFKxpJSX2J+rTRj1KY="; }; nativeBuildInputs = [ From 1316a755dd584dd23c0889f786034261f438de1d Mon Sep 17 00:00:00 2001 From: natsukium Date: Thu, 23 Nov 2023 00:59:10 +0900 Subject: [PATCH 06/30] python311Packages.bqscales: fix build (cherry picked from commit e9fda01ca9779be81a049124db2bb9330181e675) --- .../python-modules/bqscales/default.nix | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/pkgs/development/python-modules/bqscales/default.nix b/pkgs/development/python-modules/bqscales/default.nix index c8fa7879bd75..a5fae24a13eb 100644 --- a/pkgs/development/python-modules/bqscales/default.nix +++ b/pkgs/development/python-modules/bqscales/default.nix @@ -5,7 +5,6 @@ , hatchling , hatch-jupyter-builder , jupyterlab -, jupyter-packaging , ipywidgets , numpy , traitlets @@ -15,7 +14,7 @@ buildPythonPackage rec { pname = "bqscales"; version = "0.3.3"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.6"; src = fetchPypi { @@ -23,24 +22,10 @@ buildPythonPackage rec { hash = "sha256-SlnNw4dWOzRedwIN3kCyl95qVqkY92QGOMS3Eyoqk0I="; }; - # We relax dependencies here instead of pulling in a patch because upstream - # has released a new version using hatch-jupyter-builder, but it is not yet - # trivial to upgrade to that. - # - # Per https://github.com/bqplot/bqscales/issues/76, jupyterlab is not needed - # as a build dependency right now. - # - postPatch = '' - substituteInPlace pyproject.toml \ - --replace '"jupyterlab==3.*",' "" \ - --replace 'jupyter_packaging~=' 'jupyter_packaging>=' - ''; - nativeBuildInputs = [ hatch-jupyter-builder hatchling jupyterlab - jupyter-packaging ]; propagatedBuildInputs = [ @@ -50,6 +35,8 @@ buildPythonPackage rec { traittypes ]; + env.SKIP_JUPYTER_BUILDER = 1; + # no tests in PyPI dist doCheck = false; From 8e3adbd6c61f2150180cd35ef7e8e3ea481d594f Mon Sep 17 00:00:00 2001 From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com> Date: Wed, 22 Nov 2023 21:47:44 +0000 Subject: [PATCH 07/30] python311Packages.polars: remove patch for rustc < 1.73; fix build (cherry picked from commit ea4c2e92bcdd19d2df5490d441f11141e3e98b29) --- .../python-modules/polars/all_horizontal.patch | 13 ------------- pkgs/development/python-modules/polars/default.nix | 7 ------- 2 files changed, 20 deletions(-) delete mode 100644 pkgs/development/python-modules/polars/all_horizontal.patch diff --git a/pkgs/development/python-modules/polars/all_horizontal.patch b/pkgs/development/python-modules/polars/all_horizontal.patch deleted file mode 100644 index 3caf548d4ac0..000000000000 --- a/pkgs/development/python-modules/polars/all_horizontal.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/crates/polars-lazy/src/frame/mod.rs b/crates/polars-lazy/src/frame/mod.rs -index 2d2ede651..be24b8809 100644 ---- a/crates/polars-lazy/src/frame/mod.rs -+++ b/crates/polars-lazy/src/frame/mod.rs -@@ -25,7 +25,7 @@ pub use parquet::*; - use polars_core::frame::explode::MeltArgs; - use polars_core::prelude::*; - use polars_io::RowCount; --use polars_plan::dsl::all_horizontal; -+use polars_plan::dsl::functions::all_horizontal; - pub use polars_plan::frame::{AllowedOptimizations, OptState}; - use polars_plan::global::FETCH_ROWS; - #[cfg(any(feature = "ipc", feature = "parquet", feature = "csv"))] diff --git a/pkgs/development/python-modules/polars/default.nix b/pkgs/development/python-modules/polars/default.nix index fc82d8638569..991a3a3684cd 100644 --- a/pkgs/development/python-modules/polars/default.nix +++ b/pkgs/development/python-modules/polars/default.nix @@ -32,13 +32,6 @@ buildPythonPackage { disabled = pythonOlder "3.6"; src = rootSource; - patches = [ - # workaround for apparent rustc bug - # remove when we're at Rust 1.73 - # https://github.com/pola-rs/polars/issues/12050 - ./all_horizontal.patch - ]; - # Cargo.lock file is sometimes behind actual release which throws an error, # thus the `sed` command # Make sure to check that the right substitutions are made when updating the package From 7b89a21a73ab77b36db7a729f965e095de3fa25b Mon Sep 17 00:00:00 2001 From: natsukium Date: Sun, 22 Oct 2023 18:09:20 +0900 Subject: [PATCH 08/30] python311Packages.jupyter-server: 2.7.3 -> 2.10.1 Changelog: https://github.com/jupyter-server/jupyter_server/blob/v2.10.1/CHANGELOG.md (cherry picked from commit c2bc209600f63794c089bf3670f9b6e0370841b0) --- pkgs/development/python-modules/jupyter-server/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/jupyter-server/default.nix b/pkgs/development/python-modules/jupyter-server/default.nix index fbb9f0cacd83..5a61b06c5026 100644 --- a/pkgs/development/python-modules/jupyter-server/default.nix +++ b/pkgs/development/python-modules/jupyter-server/default.nix @@ -34,14 +34,14 @@ buildPythonPackage rec { pname = "jupyter-server"; - version = "2.7.3"; + version = "2.10.1"; format = "pyproject"; disabled = pythonOlder "3.8"; src = fetchPypi { pname = "jupyter_server"; inherit version; - hash = "sha256-1JFshYHE67xTTOvaqOyiR42fO/3Yjq4p/KsBIOrFdkk="; + hash = "sha256-5tomV6lUp4ee7SjMCOCBewH/2B1+q4Y0ZgOXtV+SZHI="; }; nativeBuildInputs = [ @@ -90,9 +90,9 @@ buildPythonPackage rec { ''; disabledTests = [ - "test_server_extension_list" "test_cull_idle" "test_server_extension_list" + "test_subscribe_websocket" ] ++ lib.optionals stdenv.isDarwin [ # attempts to use trashcan, build env doesn't allow this "test_delete" From ec234b6e28827bdc2bb7a8d68ee6fdd9c5f34172 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 22 Nov 2023 14:55:02 +0100 Subject: [PATCH 09/30] python3Packages.plum-py: unbreak by disabling a test (cherry picked from commit eb7e8003be23b12b41c458ca2a4cc43248c214c7) --- pkgs/development/python-modules/plum-py/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/plum-py/default.nix b/pkgs/development/python-modules/plum-py/default.nix index b0cd4c4aea5b..721786e608d9 100644 --- a/pkgs/development/python-modules/plum-py/default.nix +++ b/pkgs/development/python-modules/plum-py/default.nix @@ -38,6 +38,12 @@ buildPythonPackage rec { "tests" ]; + disabledTestPaths = [ + # tests enum.IntFlag behaviour which has been disallowed in python 3.11.6 + # https://gitlab.com/dangass/plum/-/issues/150 + "tests/flag/test_flag_invalid.py" + ]; + meta = with lib; { description = "Classes and utilities for packing/unpacking bytes"; homepage = "https://plum-py.readthedocs.io/"; From cbceb3ce28d2cf2faa43e4936ee2f26c6d7b6cf8 Mon Sep 17 00:00:00 2001 From: nicoo Date: Wed, 22 Nov 2023 12:22:51 +0000 Subject: [PATCH 10/30] python3Packages.types-appdirs: Fix typo in `meta.homepage` (cherry picked from commit 63869ecd540a748ff94975ee55838b8c9ee903b5) --- pkgs/development/python-modules/types-appdirs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/types-appdirs/default.nix b/pkgs/development/python-modules/types-appdirs/default.nix index 7d316400a041..f6fe4cf6e1b3 100644 --- a/pkgs/development/python-modules/types-appdirs/default.nix +++ b/pkgs/development/python-modules/types-appdirs/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { meta = { description = "This is a PEP 561 type stub package for the appdirs package. It can be used by type-checking tools like mypy, pyright, pytype, PyCharm, etc. to check code that uses appdirs. "; - homepage = "https://pypi.org/project/types-appdirss"; + homepage = "https://pypi.org/project/types-appdirs"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ]; }; From 00d02da898499846b65079d11661638fa6cc7bdf Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 23 Nov 2023 09:58:46 +0300 Subject: [PATCH 11/30] wireplumber: 0.4.15 -> 0.4.16 Diff: https://gitlab.freedesktop.org/pipewire/wireplumber/-/compare/0.4.15...0.4.16 (cherry picked from commit 80dff67e7bcd6ab5a4a2533b8f2f4d00455acb29) --- pkgs/development/libraries/pipewire/wireplumber.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix index 37dea2ece86a..c58ff8399aec 100644 --- a/pkgs/development/libraries/pipewire/wireplumber.nix +++ b/pkgs/development/libraries/pipewire/wireplumber.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { pname = "wireplumber"; - version = "0.4.15"; + version = "0.4.16"; outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc"; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { owner = "pipewire"; repo = "wireplumber"; rev = version; - hash = "sha256-VwzpPAVfoaV47O7OjXtPQj5s8zfH5rkB22Pdlg7u5Fg="; + hash = "sha256-BJ4Q34wLGQNxoihH+M8NBY5ZDw/D9RMda9GvFw7BemY="; }; nativeBuildInputs = [ From c98c75ad4346af213326d100fccee4cc82d995b0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 11:01:41 +0100 Subject: [PATCH 12/30] Revert "chromium: add libglvnd to rpath" (#269413) (cherry picked from commit c65f18b1865e2b6869dd30785e7841c3176640cf) Co-authored-by: Yureka --- pkgs/applications/networking/browsers/chromium/common.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 020d902a9812..50e211e0c50d 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -47,7 +47,6 @@ , glibc # gconv + locale # postFixup: , vulkan-loader -, libglvnd # Package customization: , cupsSupport ? true, cups ? null @@ -494,7 +493,7 @@ let # libpci (from pciutils) is needed by dlopen in angle/src/gpu_info_util/SystemInfo_libpci.cpp chromiumBinary="$libExecPath/$packageName" origRpath="$(patchelf --print-rpath "$chromiumBinary")" - patchelf --set-rpath "${lib.makeLibraryPath [ libGL libglvnd vulkan-loader pciutils ]}:$origRpath" "$chromiumBinary" + patchelf --set-rpath "${lib.makeLibraryPath [ libGL vulkan-loader pciutils ]}:$origRpath" "$chromiumBinary" ''; passthru = { From afd5b1f3a15b694ae1593b8401fd884300c6b9cb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 11:02:47 +0100 Subject: [PATCH 13/30] chromium: add rpath to libGLESv2.so from libANGLE (#269414) (cherry picked from commit 1a7856976554fcdc27027c02bfd4b2c626d563be) Co-authored-by: Lily Foster --- pkgs/applications/networking/browsers/chromium/common.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 50e211e0c50d..249c8b45f3f5 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -489,11 +489,11 @@ let ''; postFixup = '' - # Make sure that libGLESv2 and libvulkan are found by dlopen. + # Make sure that libGLESv2 and libvulkan are found by dlopen in both chromium binary and ANGLE libGLESv2.so. # libpci (from pciutils) is needed by dlopen in angle/src/gpu_info_util/SystemInfo_libpci.cpp - chromiumBinary="$libExecPath/$packageName" - origRpath="$(patchelf --print-rpath "$chromiumBinary")" - patchelf --set-rpath "${lib.makeLibraryPath [ libGL vulkan-loader pciutils ]}:$origRpath" "$chromiumBinary" + for chromiumBinary in "$libExecPath/$packageName" "$libExecPath/libGLESv2.so"; do + patchelf --set-rpath "${lib.makeLibraryPath [ libGL vulkan-loader pciutils ]}:$(patchelf --print-rpath "$chromiumBinary")" "$chromiumBinary" + done ''; passthru = { From 376a09b8f90273e30f913b8ab1dc3aab83361f34 Mon Sep 17 00:00:00 2001 From: nicoo Date: Wed, 18 Oct 2023 08:34:17 +0000 Subject: [PATCH 14/30] mpvScripts.thumbfast: Refactor with `buildLua` (cherry picked from commit d518566a3076800978a2593c5f96cbf891983a26) --- .../video/mpv/scripts/default.nix | 2 +- .../video/mpv/scripts/thumbfast.nix | 19 ++++--------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/video/mpv/scripts/default.nix b/pkgs/applications/video/mpv/scripts/default.nix index cdc641043f37..772194651748 100644 --- a/pkgs/applications/video/mpv/scripts/default.nix +++ b/pkgs/applications/video/mpv/scripts/default.nix @@ -20,7 +20,7 @@ in lib.recurseIntoAttrs quality-menu = callPackage ./quality-menu.nix { inherit buildLua; }; simple-mpv-webui = callPackage ./simple-mpv-webui.nix { }; sponsorblock = callPackage ./sponsorblock.nix { }; - thumbfast = callPackage ./thumbfast.nix { }; + thumbfast = callPackage ./thumbfast.nix { inherit buildLua; }; thumbnail = callPackage ./thumbnail.nix { inherit buildLua; }; uosc = callPackage ./uosc.nix { }; visualizer = callPackage ./visualizer.nix { }; diff --git a/pkgs/applications/video/mpv/scripts/thumbfast.nix b/pkgs/applications/video/mpv/scripts/thumbfast.nix index 88209f049f6b..f7a692efb3bc 100644 --- a/pkgs/applications/video/mpv/scripts/thumbfast.nix +++ b/pkgs/applications/video/mpv/scripts/thumbfast.nix @@ -1,7 +1,7 @@ -{ lib, stdenvNoCC, fetchFromGitHub, mpv-unwrapped }: +{ lib, fetchFromGitHub, buildLua, mpv-unwrapped }: -stdenvNoCC.mkDerivation { - name = "mpv-thumbfast"; +buildLua { + pname = "mpv-thumbfast"; version = "unstable-2023-06-04"; src = fetchFromGitHub { @@ -16,18 +16,7 @@ stdenvNoCC.mkDerivation { --replace 'mpv_path = "mpv"' 'mpv_path = "${lib.getExe mpv-unwrapped}"' ''; - dontBuild = true; - - installPhase = '' - runHook preInstall - - mkdir -p $out/share/mpv/scripts - cp -r thumbfast.lua $out/share/mpv/scripts/thumbfast.lua - - runHook postInstall - ''; - - passthru.scriptName = "thumbfast.lua"; + scriptPath = "thumbfast.lua"; meta = { description = "High-performance on-the-fly thumbnailer for mpv"; From 77d8247502c0b4c4d7bb16f6718fcc3584bfa405 Mon Sep 17 00:00:00 2001 From: nicoo Date: Thu, 9 Nov 2023 15:36:20 +0000 Subject: [PATCH 15/30] =?UTF-8?q?mpvScripts.thumbfast:=20unstable-2023-06-?= =?UTF-8?q?06=20=E2=86=92=202023-06-08?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Includes a bugfix for `audio=no` case. (cherry picked from commit 9a360a73c083476000b9a8c7a5b367aedffaf919) --- pkgs/applications/video/mpv/scripts/thumbfast.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/mpv/scripts/thumbfast.nix b/pkgs/applications/video/mpv/scripts/thumbfast.nix index f7a692efb3bc..0226074ca31b 100644 --- a/pkgs/applications/video/mpv/scripts/thumbfast.nix +++ b/pkgs/applications/video/mpv/scripts/thumbfast.nix @@ -7,8 +7,8 @@ buildLua { src = fetchFromGitHub { owner = "po5"; repo = "thumbfast"; - rev = "6f1d92da25a7b807427f55f085e7ad4d60c4e0d7"; - hash = "sha256-7CCxMPmZZRDIcWn+YbV4xzZFL80qZS5UFA25E+Y2P2Q="; + rev = "4241c7daa444d3859b51b65a39d30e922adb87e9"; + hash = "sha256-7EnFJVjEzqhWXAvhzURoOp/kad6WzwyidWxug6u8lVw="; }; postPatch = '' From 2127e0cfb2b96264695411ce67dd47d3da5777f5 Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Wed, 22 Nov 2023 15:18:16 -0500 Subject: [PATCH 16/30] prefetch-npm-deps: detect and error out when generating an empty cache (cherry picked from commit ec51a56dfc26f29b6ae3183b5e3132d529e01678) --- .../node/fetch-npm-deps/src/cacache.rs | 7 +++++++ .../node/fetch-npm-deps/src/main.rs | 7 ++++++- .../node/fetch-npm-deps/src/parse/mod.rs | 18 ++++++++++++++++-- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs index b7efedac59bd..75133b1b03ea 100644 --- a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs +++ b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs @@ -43,6 +43,13 @@ impl Cache { Cache(path) } + pub fn init(&self) -> anyhow::Result<()> { + fs::create_dir_all(self.0.join("content-v2"))?; + fs::create_dir_all(self.0.join("index-v5"))?; + + Ok(()) + } + pub fn put( &self, key: String, diff --git a/pkgs/build-support/node/fetch-npm-deps/src/main.rs b/pkgs/build-support/node/fetch-npm-deps/src/main.rs index 9d86bd8091a7..2b28e290ad51 100644 --- a/pkgs/build-support/node/fetch-npm-deps/src/main.rs +++ b/pkgs/build-support/node/fetch-npm-deps/src/main.rs @@ -234,9 +234,14 @@ fn main() -> anyhow::Result<()> { (out_tempdir.path(), true) }; - let packages = parse::lockfile(&lock_content, env::var("FORCE_GIT_DEPS").is_ok())?; + let packages = parse::lockfile( + &lock_content, + env::var("FORCE_GIT_DEPS").is_ok(), + env::var("FORCE_EMPTY_CACHE").is_ok(), + )?; let cache = Cache::new(out.join("_cacache")); + cache.init()?; packages.into_par_iter().try_for_each(|package| { eprintln!("{}", package.name); diff --git a/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs b/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs index 86e9120de02f..880a972e80e9 100644 --- a/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs +++ b/pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs @@ -14,7 +14,11 @@ use crate::util; pub mod lock; -pub fn lockfile(content: &str, force_git_deps: bool) -> anyhow::Result> { +pub fn lockfile( + content: &str, + force_git_deps: bool, + force_empty_cache: bool, +) -> anyhow::Result> { let mut packages = lock::packages(content) .context("failed to extract packages from lockfile")? .into_par_iter() @@ -25,6 +29,10 @@ pub fn lockfile(content: &str, force_git_deps: bool) -> anyhow::Result>>()?; + if packages.is_empty() && !force_empty_cache { + bail!("No cacheable dependencies were found. Please inspect the upstream `package-lock.json` file and ensure that remote dependencies have `resolved` URLs and `integrity` hashes. If the lockfile is missing this data, attempt to get upstream to fix it via a tool like . If generating an empty cache is intentional and you would like to do it anyways, set `forceEmptyCache = true`."); + } + let mut new = Vec::new(); for pkg in packages @@ -64,7 +72,13 @@ pub fn lockfile(content: &str, force_git_deps: bool) -> anyhow::Result Date: Wed, 22 Nov 2023 15:18:39 -0500 Subject: [PATCH 17/30] fetchNpmDeps: add forceEmptyCache option (cherry picked from commit 05dc145e807dd0f04c7057c2f433ab4abc105e0a) --- .../node/fetch-npm-deps/default.nix | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/node/fetch-npm-deps/default.nix b/pkgs/build-support/node/fetch-npm-deps/default.nix index 67a4c337c0d2..cfa3366491f2 100644 --- a/pkgs/build-support/node/fetch-npm-deps/default.nix +++ b/pkgs/build-support/node/fetch-npm-deps/default.nix @@ -36,8 +36,8 @@ ''; }; - makeTest = { name, src, hash, forceGitDeps ? false }: testers.invalidateFetcherByDrvHash fetchNpmDeps { - inherit name hash forceGitDeps; + makeTest = { name, src, hash, forceGitDeps ? false, forceEmptyCache ? false }: testers.invalidateFetcherByDrvHash fetchNpmDeps { + inherit name hash forceGitDeps forceEmptyCache; src = makeTestSrc { inherit name src; }; }; @@ -98,6 +98,20 @@ hash = "sha256-VzQhArHoznYSXUT7l9HkJV4yoSOmoP8eYTLel1QwmB4="; }; + # This package has no resolved deps whatsoever, which will not actually work but does test the forceEmptyCache option. + emptyCache = makeTest { + name = "empty-cache"; + + src = fetchurl { + url = "https://raw.githubusercontent.com/bufbuild/protobuf-es/v1.2.1/package-lock.json"; + hash = "sha256-UdBUEb4YRHsbvyjymIyjemJEiaI9KQRirqt+SFSK0wA="; + }; + + hash = "sha256-Cdv40lQjRszzJtJydZt25uYfcJVeJGwH54A+agdH9wI="; + + forceEmptyCache = true; + }; + # This package contains both hosted Git shorthand, and a bundled dependency that happens to override an existing one. etherpadLite1818 = makeTest { name = "etherpad-lite-1.8.18"; @@ -124,6 +138,7 @@ { name ? "npm-deps" , hash ? "" , forceGitDeps ? false + , forceEmptyCache ? false , ... } @ args: let @@ -136,6 +151,7 @@ }; forceGitDeps_ = lib.optionalAttrs forceGitDeps { FORCE_GIT_DEPS = true; }; + forceEmptyCache_ = lib.optionalAttrs forceEmptyCache { FORCE_EMPTY_CACHE = true; }; in stdenvNoCC.mkDerivation (args // { inherit name; @@ -174,5 +190,5 @@ else "/no-cert-file.crt"; outputHashMode = "recursive"; - } // hash_ // forceGitDeps_); + } // hash_ // forceGitDeps_ // forceEmptyCache_); } From a4955a67ff2d4567dfccccf2b97add03a96d170c Mon Sep 17 00:00:00 2001 From: Lily Foster Date: Fri, 14 Jul 2023 08:03:54 -0400 Subject: [PATCH 18/30] buildNpmPackage: add forceEmptyCache option (cherry picked from commit 8e3009d95c3334369a59ac9b02dab4393bb7c1c7) --- pkgs/build-support/node/build-npm-package/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/node/build-npm-package/default.nix b/pkgs/build-support/node/build-npm-package/default.nix index eecea8b76758..42c6a9c065b2 100644 --- a/pkgs/build-support/node/build-npm-package/default.nix +++ b/pkgs/build-support/node/build-npm-package/default.nix @@ -21,6 +21,9 @@ # Whether to force the usage of Git dependencies that have install scripts, but not a lockfile. # Use with care. , forceGitDeps ? false + # Whether to force allow an empty dependency cache. + # This can be enabled if there are truly no remote dependencies, but generally an empty cache indicates something is wrong. +, forceEmptyCache ? false # Whether to make the cache writable prior to installing dependencies. # Don't set this unless npm tries to write to the cache directory, as it can slow down the build. , makeCacheWritable ? false @@ -42,7 +45,7 @@ , npmWorkspace ? null , nodejs ? topLevelArgs.nodejs , npmDeps ? fetchNpmDeps { - inherit forceGitDeps src srcs sourceRoot prePatch patches postPatch; + inherit forceGitDeps forceEmptyCache src srcs sourceRoot prePatch patches postPatch; name = "${name}-npm-deps"; hash = npmDepsHash; } From d0f248a98255b8305af7bbdc4c1c94c643859165 Mon Sep 17 00:00:00 2001 From: traxys Date: Tue, 14 Nov 2023 23:41:17 +0100 Subject: [PATCH 19/30] fit-trackee: pin flask-sqlalchemy to 3.0.5 FitTrackee currently requires SQLAlchemy 1.4.49 (upstream has plans to upgrade). The commit `e3c822682230` updated flask-sqlalchemy to 3.1.1, and that version dropped support for pre 2.0 SQLAlchemy. As such we pin the flask-sqlalchemy dependency to the last version supporting the required SQLAlchemy version. (cherry picked from commit 2be3382a1df0d813a6c313f926b5917424a7ce47) --- pkgs/servers/geospatial/fit-trackee/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/servers/geospatial/fit-trackee/default.nix b/pkgs/servers/geospatial/fit-trackee/default.nix index c7bc7fbc2e5b..266747622db9 100644 --- a/pkgs/servers/geospatial/fit-trackee/default.nix +++ b/pkgs/servers/geospatial/fit-trackee/default.nix @@ -21,6 +21,15 @@ let "test/ext/mypy" ]; }); + flask-sqlalchemy = super.flask-sqlalchemy.overridePythonAttrs (oldAttrs: rec { + version = "3.0.5"; + + src = fetchPypi { + pname = "flask_sqlalchemy"; + inherit version; + hash = "sha256-xXZeWMoUVAG1IQbA9GF4VpJDxdolVWviwjHsxghnxbE="; + }; + }); }; }; From f2555ae98db915328594f0801af63dba26121b4e Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Thu, 23 Nov 2023 10:46:19 +0100 Subject: [PATCH 20/30] teams-for-linux: 1.3.19 -> 1.3.22 https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.3.20 https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.3.21 https://github.com/IsmaelMartinez/teams-for-linux/releases/tag/v1.3.22 (cherry picked from commit dc2ac086bbd31b081183e89dbe7259f9767200e8) --- .../instant-messengers/teams-for-linux/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix index a30f5be4ce9f..cfd2ce320aa2 100644 --- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix +++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix @@ -19,18 +19,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "teams-for-linux"; - version = "1.3.19"; + version = "1.3.22"; src = fetchFromGitHub { owner = "IsmaelMartinez"; repo = "teams-for-linux"; rev = "v${finalAttrs.version}"; - hash = "sha256-+n26VTNRymPdzMbSz8AZsQ73xOHizOFAstw6toKfZQM="; + hash = "sha256-nyhAq06k0nNrGSbD0N1RNwcplYf5vO1BvnvEfNYGG0A="; }; offlineCache = fetchYarnDeps { yarnLock = "${finalAttrs.src}/yarn.lock"; - hash = "sha256-SxUdTzk8WngkKwT05U8HJsK8+8ezcJWdiT/ettxpeEE="; + hash = "sha256-ydhJXAvz3k6GwpnSL6brl9xFpb+ooi8Am89TkcE00hc="; }; nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ]; From 1f885ef065c540bbd59f7fd2877a021a759641b7 Mon Sep 17 00:00:00 2001 From: "Yang, Bo" Date: Thu, 23 Nov 2023 10:31:34 -0800 Subject: [PATCH 21/30] [Backport release-23.11] nixos/nvidia: load `nvidia-uvm` kernel module via `softdep` (#269473) (cherry picked from commit 932441c86d7918f1033f651db3637021d87fa3f5) --- nixos/modules/hardware/video/nvidia.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index c36775dd24bb..c76883b656d4 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -261,7 +261,16 @@ in { ]; boot = { blacklistedKernelModules = ["nouveau" "nvidiafb"]; - kernelModules = [ "nvidia-uvm" ]; + + # Don't add `nvidia-uvm` to `kernelModules`, because we want + # `nvidia-uvm` be loaded only after `udev` rules for `nvidia` kernel + # module are applied. + # + # Instead, we use `softdep` to lazily load `nvidia-uvm` kernel module + # after `nvidia` kernel module is loaded and `udev` rules are applied. + extraModprobeConfig = '' + softdep nvidia post: nvidia-uvm + ''; }; systemd.tmpfiles.rules = lib.optional config.virtualisation.docker.enableNvidia From 13b987dc257a30ac29ace6c3766b2dc2f2246d65 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Thu, 23 Nov 2023 03:51:17 +0100 Subject: [PATCH 22/30] treewide: add mainProgram (cherry picked from commit 737ef800f17f36cde3599aed7c976fcea79bd43c) --- pkgs/tools/X11/xidlehook/default.nix | 1 + pkgs/tools/backup/awsbck/default.nix | 1 + pkgs/tools/backup/bdsync/default.nix | 1 + pkgs/tools/backup/conserve/default.nix | 1 + pkgs/tools/cd-dvd/bchunk/default.nix | 1 + pkgs/tools/cd-dvd/bootiso/default.nix | 1 + pkgs/tools/cd-dvd/brasero/default.nix | 1 + pkgs/tools/cd-dvd/ccd2iso/default.nix | 1 + pkgs/tools/cd-dvd/cdi2iso/default.nix | 1 + pkgs/tools/cd-dvd/cue2pops/default.nix | 1 + pkgs/tools/cd-dvd/dvd-vr/default.nix | 1 + pkgs/tools/cd-dvd/dvdisaster/default.nix | 1 + pkgs/tools/cd-dvd/iat/default.nix | 1 + pkgs/tools/cd-dvd/isolyzer/default.nix | 1 + pkgs/tools/cd-dvd/lsdvd/default.nix | 1 + pkgs/tools/cd-dvd/mdf2iso/default.nix | 1 + pkgs/tools/cd-dvd/mkcue/default.nix | 1 + pkgs/tools/cd-dvd/nrg2iso/default.nix | 1 + pkgs/tools/cd-dvd/sacd/default.nix | 1 + pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix | 1 + pkgs/tools/cd-dvd/uif2iso/default.nix | 1 + pkgs/tools/cd-dvd/unetbootin/default.nix | 1 + pkgs/tools/cd-dvd/vobcopy/default.nix | 1 + pkgs/tools/cd-dvd/vobsub2srt/default.nix | 1 + pkgs/tools/compression/brotli/default.nix | 1 + pkgs/tools/compression/bsc/default.nix | 1 + pkgs/tools/compression/crabz/default.nix | 1 + pkgs/tools/compression/dejsonlz4/default.nix | 1 + pkgs/tools/compression/dtrx/default.nix | 1 + pkgs/tools/compression/efficient-compression-tool/default.nix | 1 + pkgs/tools/compression/flips/default.nix | 1 + pkgs/tools/compression/hacpack/default.nix | 1 + pkgs/tools/compression/hactool/default.nix | 1 + pkgs/tools/compression/heatshrink/default.nix | 1 + pkgs/tools/compression/imagelol/default.nix | 1 + pkgs/tools/compression/lzbench/default.nix | 1 + pkgs/tools/compression/lzfse/default.nix | 1 + pkgs/tools/compression/lzip/default.nix | 1 + pkgs/tools/compression/lziprecover/default.nix | 1 + pkgs/tools/compression/lzop/default.nix | 1 + pkgs/tools/compression/mozlz4a/default.nix | 1 + pkgs/tools/compression/nx2elf/default.nix | 1 + pkgs/tools/compression/offzip/default.nix | 1 + pkgs/tools/compression/orz/default.nix | 1 + pkgs/tools/compression/ouch/default.nix | 1 + pkgs/tools/compression/pbzx/default.nix | 1 + pkgs/tools/compression/pixz/default.nix | 1 + pkgs/tools/compression/plzip/default.nix | 1 + pkgs/tools/compression/rzip/default.nix | 1 + pkgs/tools/compression/unzrip/default.nix | 1 + pkgs/tools/compression/upx/default.nix | 1 + pkgs/tools/compression/xar/default.nix | 1 + pkgs/tools/compression/zfp/default.nix | 1 + pkgs/tools/graphics/aaphoto/default.nix | 1 + pkgs/tools/graphics/adriconf/default.nix | 1 + pkgs/tools/graphics/blockhash/default.nix | 1 + pkgs/tools/graphics/blur-effect/default.nix | 1 + pkgs/tools/graphics/briss/default.nix | 1 + pkgs/tools/graphics/cfdg/default.nix | 1 + pkgs/tools/graphics/cuneiform/default.nix | 1 + pkgs/tools/graphics/didder/default.nix | 1 + pkgs/tools/graphics/ditaa/default.nix | 1 + pkgs/tools/graphics/dnglab/default.nix | 1 + pkgs/tools/graphics/dpic/default.nix | 1 + pkgs/tools/graphics/editres/default.nix | 1 + pkgs/tools/graphics/epstool/default.nix | 1 + pkgs/tools/graphics/escrotum/default.nix | 1 + pkgs/tools/graphics/esshader/default.nix | 1 + pkgs/tools/graphics/exif/default.nix | 1 + pkgs/tools/graphics/facedetect/default.nix | 1 + pkgs/tools/graphics/fbv/default.nix | 1 + pkgs/tools/graphics/feedgnuplot/default.nix | 1 + pkgs/tools/graphics/fgallery/default.nix | 1 + pkgs/tools/graphics/ggobi/default.nix | 1 + pkgs/tools/graphics/gnuplot/default.nix | 1 + pkgs/tools/graphics/goverlay/default.nix | 1 + pkgs/tools/graphics/graph-cli/default.nix | 1 + pkgs/tools/graphics/graph-easy/default.nix | 1 + pkgs/tools/graphics/gromit-mpx/default.nix | 1 + pkgs/tools/graphics/guff/default.nix | 1 + pkgs/tools/graphics/ibniz/default.nix | 1 + pkgs/tools/graphics/imgur-screenshot/default.nix | 1 + pkgs/tools/graphics/imgurbash2/default.nix | 1 + pkgs/tools/graphics/jhead/default.nix | 1 + pkgs/tools/graphics/jpegexiforient/default.nix | 1 + pkgs/tools/graphics/leela/default.nix | 1 + pkgs/tools/graphics/logstalgia/default.nix | 1 + pkgs/tools/graphics/lsix/default.nix | 1 + pkgs/tools/graphics/mscgen/default.nix | 1 + pkgs/tools/graphics/nifskope/default.nix | 1 + pkgs/tools/graphics/nip2/default.nix | 1 + pkgs/tools/graphics/optipng/default.nix | 1 + pkgs/tools/graphics/oxipng/default.nix | 1 + pkgs/tools/graphics/pdf2svg/default.nix | 1 + pkgs/tools/graphics/pdftag/default.nix | 1 + pkgs/tools/graphics/pdftoipe/default.nix | 1 + pkgs/tools/graphics/perceptualdiff/default.nix | 1 + pkgs/tools/graphics/piglit/default.nix | 1 + pkgs/tools/graphics/pixel2svg/default.nix | 1 + pkgs/tools/graphics/pngcheck/default.nix | 1 + pkgs/tools/graphics/pngcrush/default.nix | 1 + pkgs/tools/graphics/pngloss/default.nix | 1 + pkgs/tools/graphics/pngout/default.nix | 1 + pkgs/tools/graphics/pngtoico/default.nix | 1 + pkgs/tools/graphics/povray/default.nix | 1 + pkgs/tools/graphics/pstoedit/default.nix | 1 + pkgs/tools/graphics/qrcode/default.nix | 1 + pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix | 1 + pkgs/tools/graphics/s2png/default.nix | 1 + pkgs/tools/graphics/sanjuuni/default.nix | 1 + pkgs/tools/graphics/shot-scraper/default.nix | 1 + pkgs/tools/graphics/shotgun/default.nix | 1 + pkgs/tools/graphics/smartcrop/default.nix | 1 + pkgs/tools/graphics/sng/default.nix | 1 + pkgs/tools/graphics/spirv-cross/default.nix | 1 + pkgs/tools/graphics/steghide/default.nix | 1 + pkgs/tools/graphics/stegsolve/default.nix | 1 + pkgs/tools/graphics/svg2pdf/default.nix | 1 + pkgs/tools/graphics/svgbob/default.nix | 1 + pkgs/tools/graphics/svgcleaner/default.nix | 1 + pkgs/tools/graphics/textplots/default.nix | 1 + pkgs/tools/graphics/texture-synthesis/default.nix | 1 + pkgs/tools/graphics/twilight/default.nix | 1 + pkgs/tools/graphics/viu/default.nix | 1 + pkgs/tools/graphics/vkbasalt-cli/default.nix | 1 + pkgs/tools/graphics/vkdisplayinfo/default.nix | 1 + pkgs/tools/graphics/vkmark/default.nix | 1 + pkgs/tools/graphics/vulkan-helper/default.nix | 1 + pkgs/tools/graphics/waifu2x-converter-cpp/default.nix | 1 + pkgs/tools/graphics/xcolor/default.nix | 1 + pkgs/tools/graphics/xcur2png/default.nix | 1 + pkgs/tools/graphics/yaxg/default.nix | 1 + pkgs/tools/llm/gorilla-cli/default.nix | 1 + pkgs/tools/security/agebox/default.nix | 1 + pkgs/tools/security/apkleaks/default.nix | 1 + pkgs/tools/security/bao/default.nix | 1 + pkgs/tools/security/bettercap/default.nix | 1 + pkgs/tools/security/ctmg/default.nix | 1 + pkgs/tools/security/cyclonedx-gomod/default.nix | 1 + pkgs/tools/security/dalfox/default.nix | 1 + pkgs/tools/security/dismember/default.nix | 1 + pkgs/tools/security/erosmb/default.nix | 1 + pkgs/tools/security/feroxbuster/default.nix | 1 + pkgs/tools/security/fscan/default.nix | 1 + pkgs/tools/security/gen-oath-safe/default.nix | 1 + pkgs/tools/security/go-dork/default.nix | 1 + pkgs/tools/security/hash-identifier/default.nix | 1 + pkgs/tools/security/hcxdumptool/default.nix | 1 + pkgs/tools/security/ic-keysmith/default.nix | 1 + pkgs/tools/security/jwt-hack/default.nix | 1 + pkgs/tools/security/kepler/default.nix | 1 + pkgs/tools/security/kube-hunter/default.nix | 1 + pkgs/tools/security/kubestroyer/default.nix | 1 + pkgs/tools/security/ldapnomnom/default.nix | 1 + pkgs/tools/security/lethe/default.nix | 1 + pkgs/tools/security/libmodsecurity/default.nix | 1 + pkgs/tools/security/lmp/default.nix | 1 + pkgs/tools/security/log4jcheck/default.nix | 1 + pkgs/tools/security/log4shell-detector/default.nix | 1 + pkgs/tools/security/logmap/default.nix | 1 + pkgs/tools/security/mantra/default.nix | 1 + pkgs/tools/security/minisign/default.nix | 1 + pkgs/tools/security/mongoaudit/default.nix | 1 + pkgs/tools/security/nsjail/default.nix | 1 + pkgs/tools/security/oath-toolkit/default.nix | 1 + pkgs/tools/security/onesixtyone/default.nix | 1 + pkgs/tools/security/parsero/default.nix | 1 + pkgs/tools/security/prs/default.nix | 1 + pkgs/tools/security/routersploit/default.nix | 1 + pkgs/tools/security/rucredstash/default.nix | 1 + pkgs/tools/security/shellz/default.nix | 1 + pkgs/tools/security/silenthound/default.nix | 1 + pkgs/tools/security/slowhttptest/default.nix | 1 + pkgs/tools/security/smbscan/default.nix | 1 + pkgs/tools/security/stegseek/default.nix | 1 + pkgs/tools/security/stricat/default.nix | 1 + pkgs/tools/security/sx-go/default.nix | 1 + pkgs/tools/security/tessen/default.nix | 1 + pkgs/tools/security/vaultwarden/default.nix | 1 + pkgs/tools/security/webanalyze/default.nix | 1 + pkgs/tools/security/xcrawl3r/default.nix | 1 + pkgs/tools/security/yatas/default.nix | 1 + pkgs/tools/security/yubihsm-connector/default.nix | 1 + pkgs/tools/typesetting/asciidoctorj/default.nix | 1 + pkgs/tools/typesetting/biber-ms/default.nix | 1 + pkgs/tools/typesetting/biber/default.nix | 1 + pkgs/tools/typesetting/biblatex-check/default.nix | 1 + pkgs/tools/typesetting/coq2html/default.nix | 1 + pkgs/tools/typesetting/djvu2pdf/default.nix | 1 + pkgs/tools/typesetting/docbook2odf/default.nix | 1 + pkgs/tools/typesetting/fop/default.nix | 1 + pkgs/tools/typesetting/git-latexdiff/default.nix | 1 + pkgs/tools/typesetting/halibut/default.nix | 1 + pkgs/tools/typesetting/hayagriva/default.nix | 1 + pkgs/tools/typesetting/htmldoc/default.nix | 1 + pkgs/tools/typesetting/kramdown-asciidoc/default.nix | 1 + pkgs/tools/typesetting/mmark/default.nix | 1 + pkgs/tools/typesetting/pdf2djvu/default.nix | 1 + pkgs/tools/typesetting/pdfchain/default.nix | 1 + pkgs/tools/typesetting/pdfgrep/default.nix | 1 + pkgs/tools/typesetting/pdfsandwich/default.nix | 1 + pkgs/tools/typesetting/pdftk/default.nix | 1 + pkgs/tools/typesetting/pulldown-cmark/default.nix | 1 + pkgs/tools/typesetting/rfc-bibtex/default.nix | 1 + pkgs/tools/typesetting/satysfi/default.nix | 1 + pkgs/tools/typesetting/sile/default.nix | 1 + pkgs/tools/typesetting/sshlatex/default.nix | 1 + pkgs/tools/typesetting/tikzit/default.nix | 1 + pkgs/tools/typesetting/typstfmt/default.nix | 1 + pkgs/tools/typesetting/xmlroff/default.nix | 1 + pkgs/tools/video/dvgrab/default.nix | 1 + pkgs/tools/video/go2rtc/default.nix | 1 + pkgs/tools/video/gopro/default.nix | 1 + pkgs/tools/video/harvid/default.nix | 1 + pkgs/tools/video/lux/default.nix | 1 + pkgs/tools/video/play-with-mpv/default.nix | 1 + pkgs/tools/video/rav1e/default.nix | 1 + pkgs/tools/video/replay-sorcery/default.nix | 1 + pkgs/tools/video/swfmill/default.nix | 1 + pkgs/tools/video/vcsi/default.nix | 1 + pkgs/tools/video/vncrec/default.nix | 1 + pkgs/tools/video/wtwitch/default.nix | 1 + pkgs/tools/video/yamdi/default.nix | 1 + pkgs/tools/video/yaydl/default.nix | 1 + 224 files changed, 224 insertions(+) diff --git a/pkgs/tools/X11/xidlehook/default.nix b/pkgs/tools/X11/xidlehook/default.nix index bb86014257b8..c23acbedafdf 100644 --- a/pkgs/tools/X11/xidlehook/default.nix +++ b/pkgs/tools/X11/xidlehook/default.nix @@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec { maintainers = with maintainers; [ ]; platforms = platforms.unix; badPlatforms = platforms.darwin; + mainProgram = "xidlehook"; }; } diff --git a/pkgs/tools/backup/awsbck/default.nix b/pkgs/tools/backup/awsbck/default.nix index d8d54dad392d..3b2bf517a404 100644 --- a/pkgs/tools/backup/awsbck/default.nix +++ b/pkgs/tools/backup/awsbck/default.nix @@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/beeb/awsbck"; license = with licenses; [ mit asl20 ]; maintainers = with maintainers; [ beeb ]; + mainProgram = "awsbck"; }; } diff --git a/pkgs/tools/backup/bdsync/default.nix b/pkgs/tools/backup/bdsync/default.nix index bf3afacb9496..8018a1b7cfdf 100644 --- a/pkgs/tools/backup/bdsync/default.nix +++ b/pkgs/tools/backup/bdsync/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; platforms = platforms.linux; maintainers = with maintainers; [ jluttine ]; + mainProgram = "bdsync"; }; } diff --git a/pkgs/tools/backup/conserve/default.nix b/pkgs/tools/backup/conserve/default.nix index 345bd06e23c0..8b6e7e072226 100644 --- a/pkgs/tools/backup/conserve/default.nix +++ b/pkgs/tools/backup/conserve/default.nix @@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/sourcefrog/conserve"; license = licenses.gpl2Only; maintainers = with maintainers; [ happysalada ]; + mainProgram = "conserve"; }; } diff --git a/pkgs/tools/cd-dvd/bchunk/default.nix b/pkgs/tools/cd-dvd/bchunk/default.nix index df8ca279107e..a3677b984818 100644 --- a/pkgs/tools/cd-dvd/bchunk/default.nix +++ b/pkgs/tools/cd-dvd/bchunk/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { description = "A program that converts CD images in BIN/CUE format into a set of ISO and CDR tracks"; platforms = platforms.unix; license = licenses.gpl2; + mainProgram = "bchunk"; }; } diff --git a/pkgs/tools/cd-dvd/bootiso/default.nix b/pkgs/tools/cd-dvd/bootiso/default.nix index ee5d4fd8456f..243989d04948 100644 --- a/pkgs/tools/cd-dvd/bootiso/default.nix +++ b/pkgs/tools/cd-dvd/bootiso/default.nix @@ -56,5 +56,6 @@ stdenvNoCC.mkDerivation rec { license = licenses.gpl3; maintainers = with maintainers; [ muscaln ]; platforms = platforms.all; + mainProgram = "bootiso"; }; } diff --git a/pkgs/tools/cd-dvd/brasero/default.nix b/pkgs/tools/cd-dvd/brasero/default.nix index decd4352ad45..fb57e2d7decb 100644 --- a/pkgs/tools/cd-dvd/brasero/default.nix +++ b/pkgs/tools/cd-dvd/brasero/default.nix @@ -45,5 +45,6 @@ in stdenv.mkDerivation rec { maintainers = [ maintainers.bdimcheff ]; license = licenses.gpl2Plus; platforms = platforms.linux; + mainProgram = "brasero"; }; } diff --git a/pkgs/tools/cd-dvd/ccd2iso/default.nix b/pkgs/tools/cd-dvd/ccd2iso/default.nix index 1fe606e6acc2..4885b16aa065 100644 --- a/pkgs/tools/cd-dvd/ccd2iso/default.nix +++ b/pkgs/tools/cd-dvd/ccd2iso/default.nix @@ -15,5 +15,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = with maintainers; [ yana ]; platforms = platforms.unix; + mainProgram = "ccd2iso"; }; } diff --git a/pkgs/tools/cd-dvd/cdi2iso/default.nix b/pkgs/tools/cd-dvd/cdi2iso/default.nix index 26768747a46c..f6d0b4e1175f 100644 --- a/pkgs/tools/cd-dvd/cdi2iso/default.nix +++ b/pkgs/tools/cd-dvd/cdi2iso/default.nix @@ -24,5 +24,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = with maintainers; [ hrdinka ]; platforms = platforms.all; + mainProgram = "cdi2iso"; }; } diff --git a/pkgs/tools/cd-dvd/cue2pops/default.nix b/pkgs/tools/cd-dvd/cue2pops/default.nix index 795589a64ec2..6cb93b3e04be 100644 --- a/pkgs/tools/cd-dvd/cue2pops/default.nix +++ b/pkgs/tools/cd-dvd/cue2pops/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation { homepage = "https://github.com/makefu/cue2pops-linux"; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.all; + mainProgram = "cue2pops"; }; } diff --git a/pkgs/tools/cd-dvd/dvd-vr/default.nix b/pkgs/tools/cd-dvd/dvd-vr/default.nix index 4375aebe2990..88703b28b582 100644 --- a/pkgs/tools/cd-dvd/dvd-vr/default.nix +++ b/pkgs/tools/cd-dvd/dvd-vr/default.nix @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { description = "A utility to identify and optionally copy recordings from a DVD-VR format disc"; license = licenses.gpl2; maintainers = with maintainers; [ fgaz ]; + mainProgram = "dvd-vr"; }; } diff --git a/pkgs/tools/cd-dvd/dvdisaster/default.nix b/pkgs/tools/cd-dvd/dvdisaster/default.nix index 55e0e51e5f44..abbda3512e5f 100644 --- a/pkgs/tools/cd-dvd/dvdisaster/default.nix +++ b/pkgs/tools/cd-dvd/dvdisaster/default.nix @@ -93,5 +93,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = with maintainers; [ ]; + mainProgram = "dvdisaster"; }; } diff --git a/pkgs/tools/cd-dvd/iat/default.nix b/pkgs/tools/cd-dvd/iat/default.nix index 083ff35acd78..0f7a1ad442a7 100644 --- a/pkgs/tools/cd-dvd/iat/default.nix +++ b/pkgs/tools/cd-dvd/iat/default.nix @@ -18,5 +18,6 @@ stdenv.mkDerivation (finalAttr: { license = licenses.gpl2Plus; maintainers = with maintainers; [ hughobrien ]; platforms = platforms.linux; + mainProgram = "iat"; }; }) diff --git a/pkgs/tools/cd-dvd/isolyzer/default.nix b/pkgs/tools/cd-dvd/isolyzer/default.nix index f13a17e01f79..6f231430fa86 100644 --- a/pkgs/tools/cd-dvd/isolyzer/default.nix +++ b/pkgs/tools/cd-dvd/isolyzer/default.nix @@ -21,5 +21,6 @@ python3.pkgs.buildPythonApplication rec { description = "Verify size of ISO 9660 image against Volume Descriptor fields"; license = licenses.asl20; maintainers = with maintainers; [ mkg20001 ]; + mainProgram = "isolyzer"; }; } diff --git a/pkgs/tools/cd-dvd/lsdvd/default.nix b/pkgs/tools/cd-dvd/lsdvd/default.nix index 59e8bf8843a4..3fd116faea5b 100644 --- a/pkgs/tools/cd-dvd/lsdvd/default.nix +++ b/pkgs/tools/cd-dvd/lsdvd/default.nix @@ -16,5 +16,6 @@ stdenv.mkDerivation rec { description = "Display information about audio, video, and subtitle tracks on a DVD"; license = licenses.gpl2; platforms = platforms.linux; + mainProgram = "lsdvd"; }; } diff --git a/pkgs/tools/cd-dvd/mdf2iso/default.nix b/pkgs/tools/cd-dvd/mdf2iso/default.nix index e737e38d1bd6..b5fcc557b4e1 100644 --- a/pkgs/tools/cd-dvd/mdf2iso/default.nix +++ b/pkgs/tools/cd-dvd/mdf2iso/default.nix @@ -16,5 +16,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; platforms = platforms.unix; maintainers = [ maintainers.oxij ]; + mainProgram = "mdf2iso"; }; } diff --git a/pkgs/tools/cd-dvd/mkcue/default.nix b/pkgs/tools/cd-dvd/mkcue/default.nix index 596164f13ffa..575adecbd521 100644 --- a/pkgs/tools/cd-dvd/mkcue/default.nix +++ b/pkgs/tools/cd-dvd/mkcue/default.nix @@ -17,5 +17,6 @@ stdenv.mkDerivation rec { license = licenses.lgpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ pSub ]; + mainProgram = "mkcue"; }; } diff --git a/pkgs/tools/cd-dvd/nrg2iso/default.nix b/pkgs/tools/cd-dvd/nrg2iso/default.nix index fdde54b596f1..8807466d05a6 100644 --- a/pkgs/tools/cd-dvd/nrg2iso/default.nix +++ b/pkgs/tools/cd-dvd/nrg2iso/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { homepage = "http://gregory.kokanosky.free.fr/v4/linux/nrg2iso.en.html"; license = licenses.gpl2; platforms = platforms.all; + mainProgram = "nrg2iso"; }; } diff --git a/pkgs/tools/cd-dvd/sacd/default.nix b/pkgs/tools/cd-dvd/sacd/default.nix index 948c51428402..c24a5e7c15c7 100644 --- a/pkgs/tools/cd-dvd/sacd/default.nix +++ b/pkgs/tools/cd-dvd/sacd/default.nix @@ -39,5 +39,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.gpl3; maintainers = [ maintainers.doronbehar ]; platforms = [ "x86_64-linux" ]; + mainProgram = "sacd"; }; }) diff --git a/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix b/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix index 80e456d072ce..b0868c885edd 100644 --- a/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix +++ b/pkgs/tools/cd-dvd/srt-to-vtt-cl/default.nix @@ -27,5 +27,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ ericdallo ]; homepage = "https://github.com/nwoltman/srt-to-vtt-cl"; platforms = platforms.unix; + mainProgram = "srt-vtt"; }; } diff --git a/pkgs/tools/cd-dvd/uif2iso/default.nix b/pkgs/tools/cd-dvd/uif2iso/default.nix index 7a8a6569e533..ae1eff26568f 100644 --- a/pkgs/tools/cd-dvd/uif2iso/default.nix +++ b/pkgs/tools/cd-dvd/uif2iso/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { homepage = "http://aluigi.org/mytoolz.htm#uif2iso"; license = lib.licenses.gpl1Plus; platforms = lib.platforms.linux; + mainProgram = "uif2iso"; }; } diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix index 88fab512b0b8..fb12968aa728 100644 --- a/pkgs/tools/cd-dvd/unetbootin/default.nix +++ b/pkgs/tools/cd-dvd/unetbootin/default.nix @@ -80,5 +80,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ ebzzry ]; platforms = platforms.linux; + mainProgram = "unetbootin"; }; } diff --git a/pkgs/tools/cd-dvd/vobcopy/default.nix b/pkgs/tools/cd-dvd/vobcopy/default.nix index 2ebe9e5e0a35..dbe192e039bd 100644 --- a/pkgs/tools/cd-dvd/vobcopy/default.nix +++ b/pkgs/tools/cd-dvd/vobcopy/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { maintainers = [ lib.maintainers.bluescreen303 ]; platforms = lib.platforms.all; + mainProgram = "vobcopy"; }; } diff --git a/pkgs/tools/cd-dvd/vobsub2srt/default.nix b/pkgs/tools/cd-dvd/vobsub2srt/default.nix index d56cfdf86c8e..2847c68899fe 100644 --- a/pkgs/tools/cd-dvd/vobsub2srt/default.nix +++ b/pkgs/tools/cd-dvd/vobsub2srt/default.nix @@ -23,5 +23,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3Plus; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.ttuegel ]; + mainProgram = "vobsub2srt"; }; } diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix index 263478e4ba3c..60429f435ec6 100644 --- a/pkgs/tools/compression/brotli/default.nix +++ b/pkgs/tools/compression/brotli/default.nix @@ -73,5 +73,6 @@ stdenv.mkDerivation (finalAttrs: { "libbrotlienc" ]; platforms = platforms.all; + mainProgram = "brotli"; }; }) diff --git a/pkgs/tools/compression/bsc/default.nix b/pkgs/tools/compression/bsc/default.nix index 93b715f853cf..7d2af1c4898f 100644 --- a/pkgs/tools/compression/bsc/default.nix +++ b/pkgs/tools/compression/bsc/default.nix @@ -29,5 +29,6 @@ stdenv.mkDerivation rec { # Later commits changed the licence to Apache2 (no release yet, though) license = with licenses; [ lgpl3Plus ]; platforms = platforms.unix; + mainProgram = "bsc"; }; } diff --git a/pkgs/tools/compression/crabz/default.nix b/pkgs/tools/compression/crabz/default.nix index b68d3af1a844..f8cb155f272e 100644 --- a/pkgs/tools/compression/crabz/default.nix +++ b/pkgs/tools/compression/crabz/default.nix @@ -25,5 +25,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/sstadick/crabz/blob/v${version}/CHANGELOG.md"; license = with licenses; [ unlicense /* or */ mit ]; maintainers = with maintainers; [ figsoda ]; + mainProgram = "crabz"; }; } diff --git a/pkgs/tools/compression/dejsonlz4/default.nix b/pkgs/tools/compression/dejsonlz4/default.nix index 0dd703035fa9..51c5d485cfa9 100644 --- a/pkgs/tools/compression/dejsonlz4/default.nix +++ b/pkgs/tools/compression/dejsonlz4/default.nix @@ -26,5 +26,6 @@ stdenv.mkDerivation rec { license = licenses.bsd2; maintainers = with maintainers; [ mt-caret ]; platforms = platforms.all; + mainProgram = "dejsonlz4"; }; } diff --git a/pkgs/tools/compression/dtrx/default.nix b/pkgs/tools/compression/dtrx/default.nix index 2bfe975d033c..9890112171d8 100644 --- a/pkgs/tools/compression/dtrx/default.nix +++ b/pkgs/tools/compression/dtrx/default.nix @@ -51,5 +51,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/dtrx-py/dtrx"; license = licenses.gpl3Plus; maintainers = [ ]; + mainProgram = "dtrx"; }; } diff --git a/pkgs/tools/compression/efficient-compression-tool/default.nix b/pkgs/tools/compression/efficient-compression-tool/default.nix index 6a9615601276..17c1bfcbcf2b 100644 --- a/pkgs/tools/compression/efficient-compression-tool/default.nix +++ b/pkgs/tools/compression/efficient-compression-tool/default.nix @@ -35,5 +35,6 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = [ maintainers.lunik1 ]; platforms = platforms.linux; + mainProgram = "ect"; }; } diff --git a/pkgs/tools/compression/flips/default.nix b/pkgs/tools/compression/flips/default.nix index 4ba618556a70..6ee1c03cabce 100644 --- a/pkgs/tools/compression/flips/default.nix +++ b/pkgs/tools/compression/flips/default.nix @@ -27,5 +27,6 @@ stdenv.mkDerivation { license = licenses.gpl3Plus; maintainers = [ maintainers.xfix ]; platforms = platforms.linux; + mainProgram = "flips"; }; } diff --git a/pkgs/tools/compression/hacpack/default.nix b/pkgs/tools/compression/hacpack/default.nix index 34722d52ccfd..8d44660898cf 100644 --- a/pkgs/tools/compression/hacpack/default.nix +++ b/pkgs/tools/compression/hacpack/default.nix @@ -29,5 +29,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Only; maintainers = [ maintainers.ivar ]; platforms = platforms.linux; + mainProgram = "hacpack"; }; } diff --git a/pkgs/tools/compression/hactool/default.nix b/pkgs/tools/compression/hactool/default.nix index 2e6e7437fff2..11adbe3ced1b 100644 --- a/pkgs/tools/compression/hactool/default.nix +++ b/pkgs/tools/compression/hactool/default.nix @@ -31,5 +31,6 @@ stdenv.mkDerivation rec { license = licenses.isc; maintainers = with maintainers; [ ivar ]; platforms = platforms.unix; + mainProgram = "hactool"; }; } diff --git a/pkgs/tools/compression/heatshrink/default.nix b/pkgs/tools/compression/heatshrink/default.nix index 290e2dc9d8ca..49ef7354cbc9 100644 --- a/pkgs/tools/compression/heatshrink/default.nix +++ b/pkgs/tools/compression/heatshrink/default.nix @@ -39,5 +39,6 @@ stdenv.mkDerivation rec { license = licenses.isc; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; + mainProgram = "heatshrink"; }; } diff --git a/pkgs/tools/compression/imagelol/default.nix b/pkgs/tools/compression/imagelol/default.nix index 857de32ad886..950b12826b33 100644 --- a/pkgs/tools/compression/imagelol/default.nix +++ b/pkgs/tools/compression/imagelol/default.nix @@ -54,5 +54,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = [ maintainers.ivar ]; platforms = platforms.unix; + mainProgram = "ImageLOL"; }; } diff --git a/pkgs/tools/compression/lzbench/default.nix b/pkgs/tools/compression/lzbench/default.nix index 93ccc67f7d14..c35f738b2bde 100644 --- a/pkgs/tools/compression/lzbench/default.nix +++ b/pkgs/tools/compression/lzbench/default.nix @@ -23,5 +23,6 @@ stdenv.mkDerivation rec { description = "In-memory benchmark of open-source LZ77/LZSS/LZMA compressors"; license = licenses.free; platforms = platforms.all; + mainProgram = "lzbench"; }; } diff --git a/pkgs/tools/compression/lzfse/default.nix b/pkgs/tools/compression/lzfse/default.nix index 13764971bb51..e5f104a9aef2 100644 --- a/pkgs/tools/compression/lzfse/default.nix +++ b/pkgs/tools/compression/lzfse/default.nix @@ -24,5 +24,6 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.bsd3; maintainers = with maintainers; [ ]; + mainProgram = "lzfse"; }; } diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix index b41b3c843da6..526e3f8c12fc 100644 --- a/pkgs/tools/compression/lzip/default.nix +++ b/pkgs/tools/compression/lzip/default.nix @@ -33,5 +33,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = with maintainers; [ vlaci ]; platforms = lib.platforms.all; + mainProgram = "lzip"; }; } diff --git a/pkgs/tools/compression/lziprecover/default.nix b/pkgs/tools/compression/lziprecover/default.nix index 38840a07092d..38051d8efbad 100644 --- a/pkgs/tools/compression/lziprecover/default.nix +++ b/pkgs/tools/compression/lziprecover/default.nix @@ -27,5 +27,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = with maintainers; [ vlaci ]; platforms = lib.platforms.all; + mainProgram = "lziprecover"; }; } diff --git a/pkgs/tools/compression/lzop/default.nix b/pkgs/tools/compression/lzop/default.nix index 8bf58d9cc356..64061647667a 100644 --- a/pkgs/tools/compression/lzop/default.nix +++ b/pkgs/tools/compression/lzop/default.nix @@ -17,5 +17,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ ]; license = licenses.gpl2; platforms = platforms.unix; + mainProgram = "lzop"; }; } diff --git a/pkgs/tools/compression/mozlz4a/default.nix b/pkgs/tools/compression/mozlz4a/default.nix index 834b7698cf85..a9ab74bc7a59 100644 --- a/pkgs/tools/compression/mozlz4a/default.nix +++ b/pkgs/tools/compression/mozlz4a/default.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ kira-bruneau pshirshov raskin ]; platforms = python3.meta.platforms; homepage = "https://gist.github.com/Tblue/62ff47bef7f894e92ed5"; + mainProgram = "mozlz4a"; }; } diff --git a/pkgs/tools/compression/nx2elf/default.nix b/pkgs/tools/compression/nx2elf/default.nix index d4963487ada1..a068788dc1d8 100644 --- a/pkgs/tools/compression/nx2elf/default.nix +++ b/pkgs/tools/compression/nx2elf/default.nix @@ -29,5 +29,6 @@ stdenv.mkDerivation rec { license = licenses.unfree; # No license specified upstream platforms = [ "x86_64-linux" ]; # Should work on Darwin as well, but this is untested. aarch64-linux fails. maintainers = [ maintainers.ivar ]; + mainProgram = "nx2elf"; }; } diff --git a/pkgs/tools/compression/offzip/default.nix b/pkgs/tools/compression/offzip/default.nix index cc79d29a91d9..e756d4257264 100644 --- a/pkgs/tools/compression/offzip/default.nix +++ b/pkgs/tools/compression/offzip/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = with maintainers; [ r-burns ]; platforms = platforms.unix; + mainProgram = "offzip"; }; } diff --git a/pkgs/tools/compression/orz/default.nix b/pkgs/tools/compression/orz/default.nix index a0c9a4653ca5..b760b0132ef7 100644 --- a/pkgs/tools/compression/orz/default.nix +++ b/pkgs/tools/compression/orz/default.nix @@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/richox/orz"; license = licenses.mit; maintainers = with maintainers; [ figsoda ]; + mainProgram = "orz"; }; } diff --git a/pkgs/tools/compression/ouch/default.nix b/pkgs/tools/compression/ouch/default.nix index 2c645bf56ebf..b2e4bafc3af1 100644 --- a/pkgs/tools/compression/ouch/default.nix +++ b/pkgs/tools/compression/ouch/default.nix @@ -41,5 +41,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/ouch-org/ouch/blob/${version}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ figsoda psibi ]; + mainProgram = "ouch"; }; } diff --git a/pkgs/tools/compression/pbzx/default.nix b/pkgs/tools/compression/pbzx/default.nix index 03b984bb6435..44555cd6ddbc 100644 --- a/pkgs/tools/compression/pbzx/default.nix +++ b/pkgs/tools/compression/pbzx/default.nix @@ -22,5 +22,6 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.gpl3; maintainers = [ maintainers.matthewbauer ]; + mainProgram = "pbzx"; }; } diff --git a/pkgs/tools/compression/pixz/default.nix b/pkgs/tools/compression/pixz/default.nix index a8463f8abc4e..9eb1d6539cdf 100644 --- a/pkgs/tools/compression/pixz/default.nix +++ b/pkgs/tools/compression/pixz/default.nix @@ -47,5 +47,6 @@ stdenv.mkDerivation rec { license = licenses.bsd2; maintainers = [ maintainers.raskin ]; platforms = platforms.unix; + mainProgram = "pixz"; }; } diff --git a/pkgs/tools/compression/plzip/default.nix b/pkgs/tools/compression/plzip/default.nix index f8af3a26c8e1..310ae2074973 100644 --- a/pkgs/tools/compression/plzip/default.nix +++ b/pkgs/tools/compression/plzip/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; platforms = platforms.all; maintainers = with maintainers; [ _360ied ]; + mainProgram = "plzip"; }; } diff --git a/pkgs/tools/compression/rzip/default.nix b/pkgs/tools/compression/rzip/default.nix index 5f878f8c494f..24f59d25a91f 100644 --- a/pkgs/tools/compression/rzip/default.nix +++ b/pkgs/tools/compression/rzip/default.nix @@ -24,5 +24,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ ]; license = licenses.gpl2Plus; platforms = platforms.unix; + mainProgram = "rzip"; }; } diff --git a/pkgs/tools/compression/unzrip/default.nix b/pkgs/tools/compression/unzrip/default.nix index 78b1278d8411..2e92fadd39a9 100644 --- a/pkgs/tools/compression/unzrip/default.nix +++ b/pkgs/tools/compression/unzrip/default.nix @@ -31,5 +31,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/quininer/unzrip"; license = licenses.mit; maintainers = with maintainers; [ figsoda ]; + mainProgram = "unzrip"; }; } diff --git a/pkgs/tools/compression/upx/default.nix b/pkgs/tools/compression/upx/default.nix index 09aab8258a81..9af509100e00 100644 --- a/pkgs/tools/compression/upx/default.nix +++ b/pkgs/tools/compression/upx/default.nix @@ -18,5 +18,6 @@ stdenv.mkDerivation rec { description = "The Ultimate Packer for eXecutables"; license = licenses.gpl2Plus; platforms = platforms.unix; + mainProgram = "upx"; }; } diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix index d4baab17b91f..fa680ebcf51c 100644 --- a/pkgs/tools/compression/xar/default.nix +++ b/pkgs/tools/compression/xar/default.nix @@ -42,5 +42,6 @@ stdenv.mkDerivation rec { license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ copumpkin ]; platforms = lib.platforms.all; + mainProgram = "xar"; }; } diff --git a/pkgs/tools/compression/zfp/default.nix b/pkgs/tools/compression/zfp/default.nix index fdb005007f1e..145f33a1cf8e 100644 --- a/pkgs/tools/compression/zfp/default.nix +++ b/pkgs/tools/compression/zfp/default.nix @@ -52,5 +52,6 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.spease ]; # 64-bit only platforms = platforms.aarch64 ++ platforms.x86_64; + mainProgram = "zfp"; }; } diff --git a/pkgs/tools/graphics/aaphoto/default.nix b/pkgs/tools/graphics/aaphoto/default.nix index 6df3ed916613..57744eb6b8ec 100644 --- a/pkgs/tools/graphics/aaphoto/default.nix +++ b/pkgs/tools/graphics/aaphoto/default.nix @@ -48,5 +48,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.unix; + mainProgram = "aaphoto"; }; } diff --git a/pkgs/tools/graphics/adriconf/default.nix b/pkgs/tools/graphics/adriconf/default.nix index 35de292a36c8..3d516f8ee113 100644 --- a/pkgs/tools/graphics/adriconf/default.nix +++ b/pkgs/tools/graphics/adriconf/default.nix @@ -45,5 +45,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ muscaln ]; platforms = platforms.linux; + mainProgram = "adriconf"; }; } diff --git a/pkgs/tools/graphics/blockhash/default.nix b/pkgs/tools/graphics/blockhash/default.nix index 0a08e0cd31ff..a58fcc4e8ec6 100644 --- a/pkgs/tools/graphics/blockhash/default.nix +++ b/pkgs/tools/graphics/blockhash/default.nix @@ -26,5 +26,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = [ maintainers.infinisil ]; platforms = platforms.unix; + mainProgram = "blockhash"; }; } diff --git a/pkgs/tools/graphics/blur-effect/default.nix b/pkgs/tools/graphics/blur-effect/default.nix index e393da508323..cc88bb088949 100644 --- a/pkgs/tools/graphics/blur-effect/default.nix +++ b/pkgs/tools/graphics/blur-effect/default.nix @@ -29,5 +29,6 @@ stdenv.mkDerivation rec { platforms = platforms.unix; broken = stdenv.hostPlatform.isDarwin; # packages 'libdrm' and 'gbm' not found maintainers = with maintainers; [ romildo ]; + mainProgram = "blur_image"; }; } diff --git a/pkgs/tools/graphics/briss/default.nix b/pkgs/tools/graphics/briss/default.nix index f95c9b527c14..801b8f5a4862 100644 --- a/pkgs/tools/graphics/briss/default.nix +++ b/pkgs/tools/graphics/briss/default.nix @@ -25,5 +25,6 @@ stdenv.mkDerivation rec { sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.gpl3; platforms = lib.platforms.unix; + mainProgram = "briss"; }; } diff --git a/pkgs/tools/graphics/cfdg/default.nix b/pkgs/tools/graphics/cfdg/default.nix index 2f8b506c65bd..496255c57953 100644 --- a/pkgs/tools/graphics/cfdg/default.nix +++ b/pkgs/tools/graphics/cfdg/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; homepage = "https://contextfreeart.org/"; license = licenses.gpl2Only; + mainProgram = "cfdg"; }; } diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix index 1a1b52502f7d..fa4cb75d174b 100644 --- a/pkgs/tools/graphics/cuneiform/default.nix +++ b/pkgs/tools/graphics/cuneiform/default.nix @@ -40,5 +40,6 @@ stdenv.mkDerivation { license = licenses.bsd3; platforms = platforms.linux; maintainers = [ maintainers.raskin ]; + mainProgram = "cuneiform"; }; } diff --git a/pkgs/tools/graphics/didder/default.nix b/pkgs/tools/graphics/didder/default.nix index e42a89c72d62..10e97e356daf 100644 --- a/pkgs/tools/graphics/didder/default.nix +++ b/pkgs/tools/graphics/didder/default.nix @@ -29,5 +29,6 @@ buildGoModule rec { "An extensive, fast, and accurate command-line image dithering tool"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ ehmry ]; + mainProgram = "didder"; }; } diff --git a/pkgs/tools/graphics/ditaa/default.nix b/pkgs/tools/graphics/ditaa/default.nix index ab1c6ff74ec3..c6823fbed369 100644 --- a/pkgs/tools/graphics/ditaa/default.nix +++ b/pkgs/tools/graphics/ditaa/default.nix @@ -31,5 +31,6 @@ stdenv.mkDerivation rec { license = licenses.lgpl3; platforms = platforms.unix; maintainers = [ maintainers.bjornfor ]; + mainProgram = "ditaa"; }; } diff --git a/pkgs/tools/graphics/dnglab/default.nix b/pkgs/tools/graphics/dnglab/default.nix index cb865e51a9c5..9088a1110b7b 100644 --- a/pkgs/tools/graphics/dnglab/default.nix +++ b/pkgs/tools/graphics/dnglab/default.nix @@ -24,5 +24,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/dnglab/dnglab"; license = licenses.lgpl21Only; maintainers = with maintainers; [ dit7ya ]; + mainProgram = "dnglab"; }; } diff --git a/pkgs/tools/graphics/dpic/default.nix b/pkgs/tools/graphics/dpic/default.nix index 1a4161dd6206..fb3e0c19bf82 100644 --- a/pkgs/tools/graphics/dpic/default.nix +++ b/pkgs/tools/graphics/dpic/default.nix @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { license = licenses.bsd2; maintainers = with maintainers; [ aespinosa ]; platforms = platforms.all; + mainProgram = "dpic"; }; } diff --git a/pkgs/tools/graphics/editres/default.nix b/pkgs/tools/graphics/editres/default.nix index ca9be631942a..ce8b2e0a4ff6 100644 --- a/pkgs/tools/graphics/editres/default.nix +++ b/pkgs/tools/graphics/editres/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { description = "A dynamic resource editor for X Toolkit applications"; license = licenses.mit; platforms = platforms.linux; + mainProgram = "editres"; }; } diff --git a/pkgs/tools/graphics/epstool/default.nix b/pkgs/tools/graphics/epstool/default.nix index cdb1f75cb2c3..5952734e4582 100644 --- a/pkgs/tools/graphics/epstool/default.nix +++ b/pkgs/tools/graphics/epstool/default.nix @@ -25,5 +25,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = [ maintainers.asppsa ]; platforms = platforms.all; + mainProgram = "epstool"; }; } diff --git a/pkgs/tools/graphics/escrotum/default.nix b/pkgs/tools/graphics/escrotum/default.nix index 04c245dbd9a6..c2e5a7ec9a71 100644 --- a/pkgs/tools/graphics/escrotum/default.nix +++ b/pkgs/tools/graphics/escrotum/default.nix @@ -47,5 +47,6 @@ with python3Packages; buildPythonApplication { platforms = platforms.linux; maintainers = with maintainers; [ rasendubi ]; license = licenses.gpl3; + mainProgram = "escrotum"; }; } diff --git a/pkgs/tools/graphics/esshader/default.nix b/pkgs/tools/graphics/esshader/default.nix index 2e2e9ddbd65e..38bd4d1b7f0a 100644 --- a/pkgs/tools/graphics/esshader/default.nix +++ b/pkgs/tools/graphics/esshader/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation { platforms = lib.platforms.unix; # never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs broken = stdenv.isDarwin; + mainProgram = "esshader"; }; } diff --git a/pkgs/tools/graphics/exif/default.nix b/pkgs/tools/graphics/exif/default.nix index f07f3d05541e..437ae29a2f50 100644 --- a/pkgs/tools/graphics/exif/default.nix +++ b/pkgs/tools/graphics/exif/default.nix @@ -41,5 +41,6 @@ stdenv.mkDerivation rec { description = "A utility to read and manipulate EXIF data in digital photographs"; platforms = platforms.unix; license = licenses.lgpl21Plus; + mainProgram = "exif"; }; } diff --git a/pkgs/tools/graphics/facedetect/default.nix b/pkgs/tools/graphics/facedetect/default.nix index d62f077e06d7..d83501d26da6 100644 --- a/pkgs/tools/graphics/facedetect/default.nix +++ b/pkgs/tools/graphics/facedetect/default.nix @@ -41,5 +41,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; platforms = platforms.all; maintainers = [ maintainers.rycee ]; + mainProgram = "facedetect"; }; } diff --git a/pkgs/tools/graphics/fbv/default.nix b/pkgs/tools/graphics/fbv/default.nix index 5b46d5d2268d..659a661fded8 100644 --- a/pkgs/tools/graphics/fbv/default.nix +++ b/pkgs/tools/graphics/fbv/default.nix @@ -32,5 +32,6 @@ stdenv.mkDerivation rec { homepage = "http://s-tech.elsat.net.pl/fbv/"; license = licenses.gpl2Only; maintainers = with maintainers; [ peterhoeg ]; + mainProgram = "fbv"; }; } diff --git a/pkgs/tools/graphics/feedgnuplot/default.nix b/pkgs/tools/graphics/feedgnuplot/default.nix index 827481af497c..6503a2887ab2 100644 --- a/pkgs/tools/graphics/feedgnuplot/default.nix +++ b/pkgs/tools/graphics/feedgnuplot/default.nix @@ -62,5 +62,6 @@ perlPackages.buildPerlPackage rec { license = with licenses; [ artistic1 gpl1Plus ]; platforms = platforms.unix; maintainers = with maintainers; [ mnacamura ]; + mainProgram = "feedgnuplot"; }; } diff --git a/pkgs/tools/graphics/fgallery/default.nix b/pkgs/tools/graphics/fgallery/default.nix index 7af5c6129f25..be8bc4eb6eab 100644 --- a/pkgs/tools/graphics/fgallery/default.nix +++ b/pkgs/tools/graphics/fgallery/default.nix @@ -49,5 +49,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; platforms = platforms.all; maintainers = [ maintainers.bjornfor ]; + mainProgram = "fgallery"; }; } diff --git a/pkgs/tools/graphics/ggobi/default.nix b/pkgs/tools/graphics/ggobi/default.nix index 4e1b851735f0..2bd5abf00666 100644 --- a/pkgs/tools/graphics/ggobi/default.nix +++ b/pkgs/tools/graphics/ggobi/default.nix @@ -22,5 +22,6 @@ stdenv.mkDerivation rec { license = licenses.cpl10; platforms = platforms.linux; maintainers = [ maintainers.michelk ]; + mainProgram = "ggobi"; }; } diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index f0fa45e59e4d..1d07707b57e4 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -88,5 +88,6 @@ in url = "https://sourceforge.net/p/gnuplot/gnuplot-main/ci/master/tree/Copyright"; }; maintainers = with maintainers; [ lovek323 ]; + mainProgram = "gnuplot"; }; } diff --git a/pkgs/tools/graphics/goverlay/default.nix b/pkgs/tools/graphics/goverlay/default.nix index d4f88a770a01..b73216a7875c 100644 --- a/pkgs/tools/graphics/goverlay/default.nix +++ b/pkgs/tools/graphics/goverlay/default.nix @@ -113,5 +113,6 @@ in stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ kira-bruneau ]; platforms = platforms.linux; + mainProgram = "goverlay"; }; } diff --git a/pkgs/tools/graphics/graph-cli/default.nix b/pkgs/tools/graphics/graph-cli/default.nix index c504d6b27156..be6769d85e9a 100644 --- a/pkgs/tools/graphics/graph-cli/default.nix +++ b/pkgs/tools/graphics/graph-cli/default.nix @@ -28,5 +28,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/mcastorina/graph-cli/"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ leungbk ]; + mainProgram = "graph"; }; } diff --git a/pkgs/tools/graphics/graph-easy/default.nix b/pkgs/tools/graphics/graph-easy/default.nix index 4f3b89eea917..668c7527e9e4 100644 --- a/pkgs/tools/graphics/graph-easy/default.nix +++ b/pkgs/tools/graphics/graph-easy/default.nix @@ -13,5 +13,6 @@ perlPackages.buildPerlPackage { license = licenses.gpl1Only; platforms = platforms.unix; maintainers = [ maintainers.jensbin ]; + mainProgram = "graph-easy"; }; } diff --git a/pkgs/tools/graphics/gromit-mpx/default.nix b/pkgs/tools/graphics/gromit-mpx/default.nix index d98ee8733a04..0a54626419b5 100644 --- a/pkgs/tools/graphics/gromit-mpx/default.nix +++ b/pkgs/tools/graphics/gromit-mpx/default.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ pjones ]; platforms = platforms.linux; license = licenses.gpl2Plus; + mainProgram = "gromit-mpx"; }; } diff --git a/pkgs/tools/graphics/guff/default.nix b/pkgs/tools/graphics/guff/default.nix index daca6f4344eb..2ca68376baa2 100644 --- a/pkgs/tools/graphics/guff/default.nix +++ b/pkgs/tools/graphics/guff/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { license = licenses.isc; maintainers = [ maintainers.marsam ]; platforms = platforms.all; + mainProgram = "guff"; }; } diff --git a/pkgs/tools/graphics/ibniz/default.nix b/pkgs/tools/graphics/ibniz/default.nix index a74267846c1d..04aadf911e1e 100644 --- a/pkgs/tools/graphics/ibniz/default.nix +++ b/pkgs/tools/graphics/ibniz/default.nix @@ -22,5 +22,6 @@ stdenv.mkDerivation rec { license = licenses.zlib; platforms = platforms.linux; maintainers = [ maintainers.dezgeg ]; + mainProgram = "ibniz"; }; } diff --git a/pkgs/tools/graphics/imgur-screenshot/default.nix b/pkgs/tools/graphics/imgur-screenshot/default.nix index 885638c28b8c..fe23866bda0b 100644 --- a/pkgs/tools/graphics/imgur-screenshot/default.nix +++ b/pkgs/tools/graphics/imgur-screenshot/default.nix @@ -25,5 +25,6 @@ in stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.mit; maintainers = with maintainers; [ lw ]; + mainProgram = "imgur-screenshot"; }; } diff --git a/pkgs/tools/graphics/imgurbash2/default.nix b/pkgs/tools/graphics/imgurbash2/default.nix index 6c0e827a8488..e577c8be5a3d 100644 --- a/pkgs/tools/graphics/imgurbash2/default.nix +++ b/pkgs/tools/graphics/imgurbash2/default.nix @@ -27,5 +27,6 @@ stdenv.mkDerivation rec { platforms = platforms.all; maintainers = with maintainers; [ abbradar ]; homepage = "https://github.com/ram-on/imgurbash2"; + mainProgram = "imgurbash2"; }; } diff --git a/pkgs/tools/graphics/jhead/default.nix b/pkgs/tools/graphics/jhead/default.nix index 35000088fea9..391780a4df35 100644 --- a/pkgs/tools/graphics/jhead/default.nix +++ b/pkgs/tools/graphics/jhead/default.nix @@ -45,5 +45,6 @@ stdenv.mkDerivation rec { license = licenses.publicDomain; maintainers = with maintainers; [ rycee ]; platforms = platforms.all; + mainProgram = "jhead"; }; } diff --git a/pkgs/tools/graphics/jpegexiforient/default.nix b/pkgs/tools/graphics/jpegexiforient/default.nix index 09d096e7b687..bdf2ce12e837 100644 --- a/pkgs/tools/graphics/jpegexiforient/default.nix +++ b/pkgs/tools/graphics/jpegexiforient/default.nix @@ -23,5 +23,6 @@ stdenv.mkDerivation { license = licenses.free; platforms = platforms.all; maintainers = with maintainers; [ infinisil ]; + mainProgram = "jpegexiforient"; }; } diff --git a/pkgs/tools/graphics/leela/default.nix b/pkgs/tools/graphics/leela/default.nix index 6676e47ad492..7ddf02d16369 100644 --- a/pkgs/tools/graphics/leela/default.nix +++ b/pkgs/tools/graphics/leela/default.nix @@ -22,5 +22,6 @@ stdenv.mkDerivation { license = lib.licenses.gpl3; maintainers = [ lib.maintainers.puffnfresh ]; platforms = lib.platforms.linux; + mainProgram = "leela"; }; } diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix index 8edde6e3f428..69084a8b5370 100644 --- a/pkgs/tools/graphics/logstalgia/default.nix +++ b/pkgs/tools/graphics/logstalgia/default.nix @@ -40,5 +40,6 @@ stdenv.mkDerivation rec { platforms = platforms.gnu ++ platforms.linux; maintainers = with maintainers; [ pSub ]; + mainProgram = "logstalgia"; }; } diff --git a/pkgs/tools/graphics/lsix/default.nix b/pkgs/tools/graphics/lsix/default.nix index dcf078654b82..7cbe2ee8626c 100644 --- a/pkgs/tools/graphics/lsix/default.nix +++ b/pkgs/tools/graphics/lsix/default.nix @@ -32,5 +32,6 @@ stdenvNoCC.mkDerivation rec { license = licenses.gpl3Only; platforms = platforms.all; maintainers = with maintainers; [ kidonng ]; + mainProgram = "lsix"; }; } diff --git a/pkgs/tools/graphics/mscgen/default.nix b/pkgs/tools/graphics/mscgen/default.nix index 7eb1d6cce818..a391a62ccb68 100644 --- a/pkgs/tools/graphics/mscgen/default.nix +++ b/pkgs/tools/graphics/mscgen/default.nix @@ -49,5 +49,6 @@ stdenv.mkDerivation rec { ''; platforms = lib.platforms.unix; + mainProgram = "mscgen"; }; } diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix index f74b720ea9ea..056b3ad8d065 100644 --- a/pkgs/tools/graphics/nifskope/default.nix +++ b/pkgs/tools/graphics/nifskope/default.nix @@ -63,5 +63,6 @@ stdenv.mkDerivation { maintainers = with maintainers; [ eelco ]; platforms = platforms.linux; license = licenses.bsd3; + mainProgram = "NifSkope"; }; } diff --git a/pkgs/tools/graphics/nip2/default.nix b/pkgs/tools/graphics/nip2/default.nix index 08ec885aed14..651baf547a9e 100644 --- a/pkgs/tools/graphics/nip2/default.nix +++ b/pkgs/tools/graphics/nip2/default.nix @@ -52,5 +52,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ kovirobi ]; platforms = platforms.unix; + mainProgram = "nip2"; }; } diff --git a/pkgs/tools/graphics/optipng/default.nix b/pkgs/tools/graphics/optipng/default.nix index 2f70dec897c0..bbabcaf6b800 100644 --- a/pkgs/tools/graphics/optipng/default.nix +++ b/pkgs/tools/graphics/optipng/default.nix @@ -42,5 +42,6 @@ stdenv.mkDerivation rec { description = "A PNG optimizer"; license = licenses.zlib; platforms = platforms.unix; + mainProgram = "optipng"; }; } diff --git a/pkgs/tools/graphics/oxipng/default.nix b/pkgs/tools/graphics/oxipng/default.nix index 8f4793edb45d..23f9692597a3 100644 --- a/pkgs/tools/graphics/oxipng/default.nix +++ b/pkgs/tools/graphics/oxipng/default.nix @@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec { description = "A multithreaded lossless PNG compression optimizer"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ dywedir ]; + mainProgram = "oxipng"; }; } diff --git a/pkgs/tools/graphics/pdf2svg/default.nix b/pkgs/tools/graphics/pdf2svg/default.nix index c6d2eab45376..b68ba12ebfe9 100644 --- a/pkgs/tools/graphics/pdf2svg/default.nix +++ b/pkgs/tools/graphics/pdf2svg/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = [ maintainers.ianwookim ]; platforms = platforms.unix; + mainProgram = "pdf2svg"; }; } diff --git a/pkgs/tools/graphics/pdftag/default.nix b/pkgs/tools/graphics/pdftag/default.nix index c10412c976ce..90b8dde05f37 100644 --- a/pkgs/tools/graphics/pdftag/default.nix +++ b/pkgs/tools/graphics/pdftag/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3; maintainers = with maintainers; [ leenaars ]; platforms = platforms.unix; + mainProgram = "pdftag"; }; } diff --git a/pkgs/tools/graphics/pdftoipe/default.nix b/pkgs/tools/graphics/pdftoipe/default.nix index d7e757e679bf..e969d90f9e05 100644 --- a/pkgs/tools/graphics/pdftoipe/default.nix +++ b/pkgs/tools/graphics/pdftoipe/default.nix @@ -50,5 +50,6 @@ stdenv.mkDerivation rec { changelog = "https://github.com/otfried/ipe-tools/releases"; license = licenses.gpl3Plus; maintainers = with maintainers; [ yrd ]; + mainProgram = "pdftoipe"; }; } diff --git a/pkgs/tools/graphics/perceptualdiff/default.nix b/pkgs/tools/graphics/perceptualdiff/default.nix index 919b99327110..aa88b33aa381 100644 --- a/pkgs/tools/graphics/perceptualdiff/default.nix +++ b/pkgs/tools/graphics/perceptualdiff/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ uri-canva ]; platforms = platforms.unix; + mainProgram = "perceptualdiff"; }; } diff --git a/pkgs/tools/graphics/piglit/default.nix b/pkgs/tools/graphics/piglit/default.nix index 561268b3f4b3..aa076d1b84e0 100644 --- a/pkgs/tools/graphics/piglit/default.nix +++ b/pkgs/tools/graphics/piglit/default.nix @@ -73,5 +73,6 @@ stdenv.mkDerivation rec { license = licenses.free; # custom license. See COPYING in the source repo. platforms = platforms.mesaPlatforms; maintainers = with maintainers; [ Flakebi ]; + mainProgram = "piglit"; }; } diff --git a/pkgs/tools/graphics/pixel2svg/default.nix b/pkgs/tools/graphics/pixel2svg/default.nix index 8e5e86624900..1094cad56a33 100644 --- a/pkgs/tools/graphics/pixel2svg/default.nix +++ b/pkgs/tools/graphics/pixel2svg/default.nix @@ -16,5 +16,6 @@ python310Packages.buildPythonPackage rec { description = "Converts pixel art to SVG - pixel by pixel"; license = licenses.gpl3Plus; maintainers = with maintainers; [ annaaurora ]; + mainProgram = "pixel2svg.py"; }; } diff --git a/pkgs/tools/graphics/pngcheck/default.nix b/pkgs/tools/graphics/pngcheck/default.nix index a90881dad224..d6ed7a6960fc 100644 --- a/pkgs/tools/graphics/pngcheck/default.nix +++ b/pkgs/tools/graphics/pngcheck/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation rec { license = licenses.free; platforms = platforms.unix; maintainers = with maintainers; [ starcraft66 ]; + mainProgram = "pngcheck"; }; } diff --git a/pkgs/tools/graphics/pngcrush/default.nix b/pkgs/tools/graphics/pngcrush/default.nix index 16c710ceb79f..8ce9965eae25 100644 --- a/pkgs/tools/graphics/pngcrush/default.nix +++ b/pkgs/tools/graphics/pngcrush/default.nix @@ -22,5 +22,6 @@ stdenv.mkDerivation rec { description = "A PNG optimizer"; license = lib.licenses.free; platforms = with lib.platforms; linux ++ darwin; + mainProgram = "pngcrush"; }; } diff --git a/pkgs/tools/graphics/pngloss/default.nix b/pkgs/tools/graphics/pngloss/default.nix index eafd77054e40..7eca91f42d7d 100644 --- a/pkgs/tools/graphics/pngloss/default.nix +++ b/pkgs/tools/graphics/pngloss/default.nix @@ -31,5 +31,6 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = platforms.all; maintainers = with maintainers; [ _2gn ]; + mainProgram = "pngloss"; }; } diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix index 2b86f5e5e136..c80d4a65adc9 100644 --- a/pkgs/tools/graphics/pngout/default.nix +++ b/pkgs/tools/graphics/pngout/default.nix @@ -46,5 +46,6 @@ stdenv.mkDerivation rec { homepage = "http://advsys.net/ken/utils.htm"; platforms = lib.attrNames platforms; maintainers = [ lib.maintainers.sander ]; + mainProgram = "pngout"; }; } diff --git a/pkgs/tools/graphics/pngtoico/default.nix b/pkgs/tools/graphics/pngtoico/default.nix index 7abf94f0a3e1..c480f99651dc 100644 --- a/pkgs/tools/graphics/pngtoico/default.nix +++ b/pkgs/tools/graphics/pngtoico/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { description = "Small utility to convert a set of PNG images to Microsoft ICO format"; license = lib.licenses.gpl2Plus; platforms = with lib.platforms; linux; + mainProgram = "pngtoico"; }; } diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix index f9a08543fb95..5e432a0d13c4 100644 --- a/pkgs/tools/graphics/povray/default.nix +++ b/pkgs/tools/graphics/povray/default.nix @@ -57,5 +57,6 @@ stdenv.mkDerivation rec { description = "Persistence of Vision Raytracer"; license = licenses.free; platforms = platforms.linux; + mainProgram = "povray"; }; } diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix index df3d1c6a6938..3bd4c1a86fbc 100644 --- a/pkgs/tools/graphics/pstoedit/default.nix +++ b/pkgs/tools/graphics/pstoedit/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = [ maintainers.marcweber ]; platforms = platforms.unix; + mainProgram = "pstoedit"; }; } diff --git a/pkgs/tools/graphics/qrcode/default.nix b/pkgs/tools/graphics/qrcode/default.nix index 3f1404404005..ce623e25db0e 100644 --- a/pkgs/tools/graphics/qrcode/default.nix +++ b/pkgs/tools/graphics/qrcode/default.nix @@ -27,5 +27,6 @@ stdenv.mkDerivation { license = licenses.gpl3Plus; maintainers = with maintainers; [ raskin ]; platforms = with platforms; unix; + mainProgram = "qrcode"; }; } diff --git a/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix b/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix index 05cb130467a7..107a09a0ff92 100644 --- a/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix +++ b/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix @@ -60,5 +60,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ tilcreator ]; platforms = platforms.all; + mainProgram = "realesrgan-ncnn-vulkan"; }; } diff --git a/pkgs/tools/graphics/s2png/default.nix b/pkgs/tools/graphics/s2png/default.nix index d3f8b74512a8..940e9db05419 100644 --- a/pkgs/tools/graphics/s2png/default.nix +++ b/pkgs/tools/graphics/s2png/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2; maintainers = [ lib.maintainers.dbohdan ]; platforms = lib.platforms.unix; + mainProgram = "s2png"; }; } diff --git a/pkgs/tools/graphics/sanjuuni/default.nix b/pkgs/tools/graphics/sanjuuni/default.nix index 71807b0db019..6b96e6ad5a92 100644 --- a/pkgs/tools/graphics/sanjuuni/default.nix +++ b/pkgs/tools/graphics/sanjuuni/default.nix @@ -45,5 +45,6 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.tomodachi94 ]; license = licenses.gpl2Plus; broken = stdenv.isDarwin; + mainProgram = "sanjuuni"; }; } diff --git a/pkgs/tools/graphics/shot-scraper/default.nix b/pkgs/tools/graphics/shot-scraper/default.nix index e083014f8a98..60aee277b60f 100644 --- a/pkgs/tools/graphics/shot-scraper/default.nix +++ b/pkgs/tools/graphics/shot-scraper/default.nix @@ -35,5 +35,6 @@ python3.pkgs.buildPythonApplication rec { changelog = "https://github.com/simonw/shot-scraper/releases/tag/${version}"; license = licenses.asl20; maintainers = with maintainers; [ techknowlogick ]; + mainProgram = "shot-scraper"; }; } diff --git a/pkgs/tools/graphics/shotgun/default.nix b/pkgs/tools/graphics/shotgun/default.nix index 30d676d4b2ef..d2d3c92982f6 100644 --- a/pkgs/tools/graphics/shotgun/default.nix +++ b/pkgs/tools/graphics/shotgun/default.nix @@ -19,5 +19,6 @@ rustPlatform.buildRustPackage rec { license = with licenses; [ mpl20 ]; maintainers = with maintainers; [ figsoda lumi novenary ]; platforms = platforms.linux; + mainProgram = "shotgun"; }; } diff --git a/pkgs/tools/graphics/smartcrop/default.nix b/pkgs/tools/graphics/smartcrop/default.nix index d08c11fd3ebf..7660607a9a47 100644 --- a/pkgs/tools/graphics/smartcrop/default.nix +++ b/pkgs/tools/graphics/smartcrop/default.nix @@ -23,5 +23,6 @@ buildGoModule { homepage = "https://github.com/muesli/smartcrop"; license = licenses.mit; maintainers = with maintainers; [ figsoda ]; + mainProgram = "smartcrop"; }; } diff --git a/pkgs/tools/graphics/sng/default.nix b/pkgs/tools/graphics/sng/default.nix index 8ebfd967828b..a8db32128a5e 100644 --- a/pkgs/tools/graphics/sng/default.nix +++ b/pkgs/tools/graphics/sng/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { license = licenses.zlib; maintainers = [ maintainers.dezgeg ]; platforms = platforms.unix; + mainProgram = "sng"; }; } diff --git a/pkgs/tools/graphics/spirv-cross/default.nix b/pkgs/tools/graphics/spirv-cross/default.nix index 642a49c39b84..cd7489be9aec 100644 --- a/pkgs/tools/graphics/spirv-cross/default.nix +++ b/pkgs/tools/graphics/spirv-cross/default.nix @@ -25,5 +25,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.all; license = licenses.asl20; maintainers = with maintainers; [ Flakebi ]; + mainProgram = "spirv-cross"; }; }) diff --git a/pkgs/tools/graphics/steghide/default.nix b/pkgs/tools/graphics/steghide/default.nix index 74011917d5fb..c62761bb2a21 100644 --- a/pkgs/tools/graphics/steghide/default.nix +++ b/pkgs/tools/graphics/steghide/default.nix @@ -40,5 +40,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.gpl3Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = with platforms; unix; + mainProgram = "steghide"; }; }) diff --git a/pkgs/tools/graphics/stegsolve/default.nix b/pkgs/tools/graphics/stegsolve/default.nix index 3f147ab0deca..a42b3c304b28 100644 --- a/pkgs/tools/graphics/stegsolve/default.nix +++ b/pkgs/tools/graphics/stegsolve/default.nix @@ -55,5 +55,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; maintainers = with maintainers; [ emilytrau ]; platforms = platforms.all; + mainProgram = "stegsolve"; }; }) diff --git a/pkgs/tools/graphics/svg2pdf/default.nix b/pkgs/tools/graphics/svg2pdf/default.nix index 27ef2edd0fa8..d92fa5802d87 100644 --- a/pkgs/tools/graphics/svg2pdf/default.nix +++ b/pkgs/tools/graphics/svg2pdf/default.nix @@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/typst/svg2pdf/releases/tag/${src.rev}"; license = with licenses; [ asl20 mit ]; maintainers = with maintainers; [ doronbehar figsoda ]; + mainProgram = "svg2pdf"; }; } diff --git a/pkgs/tools/graphics/svgbob/default.nix b/pkgs/tools/graphics/svgbob/default.nix index e5974d04e1ae..b09d8dee1ab0 100644 --- a/pkgs/tools/graphics/svgbob/default.nix +++ b/pkgs/tools/graphics/svgbob/default.nix @@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/ivanceras/svgbob/raw/${version}/Changelog.md"; license = licenses.asl20; maintainers = [ maintainers.marsam ]; + mainProgram = "svgbob"; }; } diff --git a/pkgs/tools/graphics/svgcleaner/default.nix b/pkgs/tools/graphics/svgcleaner/default.nix index c2938a69b57a..1ec42817456a 100644 --- a/pkgs/tools/graphics/svgcleaner/default.nix +++ b/pkgs/tools/graphics/svgcleaner/default.nix @@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/RazrFalcon/svgcleaner/releases"; license = licenses.gpl2; maintainers = with maintainers; [ yuu ]; + mainProgram = "svgcleaner"; }; } diff --git a/pkgs/tools/graphics/textplots/default.nix b/pkgs/tools/graphics/textplots/default.nix index a423ca9f30e2..81d9b5de3e36 100644 --- a/pkgs/tools/graphics/textplots/default.nix +++ b/pkgs/tools/graphics/textplots/default.nix @@ -18,5 +18,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/loony-bean/textplots-rs"; license = licenses.mit; maintainers = with maintainers; [ figsoda ]; + mainProgram = "textplots"; }; } diff --git a/pkgs/tools/graphics/texture-synthesis/default.nix b/pkgs/tools/graphics/texture-synthesis/default.nix index d4f66357fadc..7122450587a7 100644 --- a/pkgs/tools/graphics/texture-synthesis/default.nix +++ b/pkgs/tools/graphics/texture-synthesis/default.nix @@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/embarkstudios/texture-synthesis"; license = with licenses; [ mit /* or */ asl20 ]; maintainers = with maintainers; [ figsoda ]; + mainProgram = "texture-synthesis"; }; } diff --git a/pkgs/tools/graphics/twilight/default.nix b/pkgs/tools/graphics/twilight/default.nix index 58d4d0df9133..52941f7b96d7 100644 --- a/pkgs/tools/graphics/twilight/default.nix +++ b/pkgs/tools/graphics/twilight/default.nix @@ -24,5 +24,6 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ ]; + mainProgram = "twilight"; }; } diff --git a/pkgs/tools/graphics/viu/default.nix b/pkgs/tools/graphics/viu/default.nix index ade2dd7331bf..83c97376676a 100644 --- a/pkgs/tools/graphics/viu/default.nix +++ b/pkgs/tools/graphics/viu/default.nix @@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/atanunq/viu"; license = licenses.mit; maintainers = with maintainers; [ chuangzhu ]; + mainProgram = "viu"; }; } diff --git a/pkgs/tools/graphics/vkbasalt-cli/default.nix b/pkgs/tools/graphics/vkbasalt-cli/default.nix index 0d54f695e9af..efe704ace293 100644 --- a/pkgs/tools/graphics/vkbasalt-cli/default.nix +++ b/pkgs/tools/graphics/vkbasalt-cli/default.nix @@ -27,5 +27,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://gitlab.com/TheEvilSkeleton/vkbasalt-cli"; license = with licenses; [ lgpl3Only gpl3Only ]; maintainers = with maintainers; [ martfont ]; + mainProgram = "vkbasalt"; }; } diff --git a/pkgs/tools/graphics/vkdisplayinfo/default.nix b/pkgs/tools/graphics/vkdisplayinfo/default.nix index a48c4d1154fe..3a88b2e21147 100644 --- a/pkgs/tools/graphics/vkdisplayinfo/default.nix +++ b/pkgs/tools/graphics/vkdisplayinfo/default.nix @@ -44,5 +44,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.boost; maintainers = [ maintainers.LunNova ]; + mainProgram = "vkdisplayinfo"; }; } diff --git a/pkgs/tools/graphics/vkmark/default.nix b/pkgs/tools/graphics/vkmark/default.nix index 2923c786507e..d9c4f8a2024f 100644 --- a/pkgs/tools/graphics/vkmark/default.nix +++ b/pkgs/tools/graphics/vkmark/default.nix @@ -45,5 +45,6 @@ stdenv.mkDerivation rec { license = with licenses; [ lgpl21Plus ]; platforms = platforms.linux; maintainers = with maintainers; [ muscaln ]; + mainProgram = "vkmark"; }; } diff --git a/pkgs/tools/graphics/vulkan-helper/default.nix b/pkgs/tools/graphics/vulkan-helper/default.nix index 8db735c662e8..404ce734b5b3 100644 --- a/pkgs/tools/graphics/vulkan-helper/default.nix +++ b/pkgs/tools/graphics/vulkan-helper/default.nix @@ -33,5 +33,6 @@ rustPlatform.buildRustPackage rec { license = licenses.mit; maintainers = with maintainers; [ aidalgol ]; platforms = platforms.linux; + mainProgram = "vulkan-helper"; }; } diff --git a/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix b/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix index f936ab83fb56..dd2c15c8fda4 100644 --- a/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix +++ b/pkgs/tools/graphics/waifu2x-converter-cpp/default.nix @@ -42,5 +42,6 @@ stdenv.mkDerivation rec { license = lib.licenses.mit; maintainers = [ lib.maintainers.xzfc ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; + mainProgram = "waifu2x-converter-cpp"; }; } diff --git a/pkgs/tools/graphics/xcolor/default.nix b/pkgs/tools/graphics/xcolor/default.nix index dabe14d895fa..50aa912522d9 100644 --- a/pkgs/tools/graphics/xcolor/default.nix +++ b/pkgs/tools/graphics/xcolor/default.nix @@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Soft/xcolor"; maintainers = with lib.maintainers; [ moni ]; license = licenses.mit; + mainProgram = "xcolor"; }; } diff --git a/pkgs/tools/graphics/xcur2png/default.nix b/pkgs/tools/graphics/xcur2png/default.nix index e8d761c6d842..5d5396aea273 100644 --- a/pkgs/tools/graphics/xcur2png/default.nix +++ b/pkgs/tools/graphics/xcur2png/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3; platforms = platforms.unix; maintainers = with maintainers; [ romildo ]; + mainProgram = "xcur2png"; }; } diff --git a/pkgs/tools/graphics/yaxg/default.nix b/pkgs/tools/graphics/yaxg/default.nix index 9d83ae71d333..dd428ae0c427 100644 --- a/pkgs/tools/graphics/yaxg/default.nix +++ b/pkgs/tools/graphics/yaxg/default.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { platforms = platforms.all; license = licenses.gpl3Plus; maintainers = with maintainers; [ neonfuz ]; + mainProgram = "yaxg"; }; } diff --git a/pkgs/tools/llm/gorilla-cli/default.nix b/pkgs/tools/llm/gorilla-cli/default.nix index ff5e3468ef91..276793c2c8bc 100644 --- a/pkgs/tools/llm/gorilla-cli/default.nix +++ b/pkgs/tools/llm/gorilla-cli/default.nix @@ -34,5 +34,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/gorilla-llm/gorilla-cli"; license = licenses.asl20; maintainers = with maintainers; [ happysalada ]; + mainProgram = "gorilla"; }; } diff --git a/pkgs/tools/security/agebox/default.nix b/pkgs/tools/security/agebox/default.nix index ea50c8779b3d..b87cb2b8ca2a 100644 --- a/pkgs/tools/security/agebox/default.nix +++ b/pkgs/tools/security/agebox/default.nix @@ -25,5 +25,6 @@ buildGoModule rec { description = "Age based repository file encryption gitops tool"; license = licenses.asl20; maintainers = with maintainers; [ lesuisse ]; + mainProgram = "agebox"; }; } diff --git a/pkgs/tools/security/apkleaks/default.nix b/pkgs/tools/security/apkleaks/default.nix index 133601e4025f..29a0b17ccb32 100644 --- a/pkgs/tools/security/apkleaks/default.nix +++ b/pkgs/tools/security/apkleaks/default.nix @@ -33,5 +33,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/dwisiswant0/apkleaks"; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ fab ]; + mainProgram = "apkleaks"; }; } diff --git a/pkgs/tools/security/bao/default.nix b/pkgs/tools/security/bao/default.nix index f948bccc5f43..503896885c13 100644 --- a/pkgs/tools/security/bao/default.nix +++ b/pkgs/tools/security/bao/default.nix @@ -20,5 +20,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/oconnor663/bao"; maintainers = with lib.maintainers; [ amarshall ]; license = with lib.licenses; [ cc0 asl20 ]; + mainProgram = "bao"; }; } diff --git a/pkgs/tools/security/bettercap/default.nix b/pkgs/tools/security/bettercap/default.nix index 69736b4cc308..2ece9ee6e4c4 100644 --- a/pkgs/tools/security/bettercap/default.nix +++ b/pkgs/tools/security/bettercap/default.nix @@ -37,5 +37,6 @@ buildGoModule rec { homepage = "https://www.bettercap.org/"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ y0no ]; + mainProgram = "bettercap"; }; } diff --git a/pkgs/tools/security/ctmg/default.nix b/pkgs/tools/security/ctmg/default.nix index b08af06825e3..81d57513aac3 100644 --- a/pkgs/tools/security/ctmg/default.nix +++ b/pkgs/tools/security/ctmg/default.nix @@ -17,5 +17,6 @@ stdenv.mkDerivation rec { license = licenses.isc; maintainers = with maintainers; [ mrVanDalo ]; platforms = platforms.linux; + mainProgram = "ctmg"; }; } diff --git a/pkgs/tools/security/cyclonedx-gomod/default.nix b/pkgs/tools/security/cyclonedx-gomod/default.nix index 1c404aa3f836..d9e740fcf644 100644 --- a/pkgs/tools/security/cyclonedx-gomod/default.nix +++ b/pkgs/tools/security/cyclonedx-gomod/default.nix @@ -25,5 +25,6 @@ buildGoModule rec { changelog = "https://github.com/CycloneDX/cyclonedx-gomod/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; + mainProgram = "cyclonedx-gomod"; }; } diff --git a/pkgs/tools/security/dalfox/default.nix b/pkgs/tools/security/dalfox/default.nix index 85fc3c55a3b0..b6d21b801efc 100644 --- a/pkgs/tools/security/dalfox/default.nix +++ b/pkgs/tools/security/dalfox/default.nix @@ -25,5 +25,6 @@ buildGoModule rec { changelog = "https://github.com/hahwul/dalfox/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "dalfox"; }; } diff --git a/pkgs/tools/security/dismember/default.nix b/pkgs/tools/security/dismember/default.nix index 2dffd8116b9c..cb2dd99b45c5 100644 --- a/pkgs/tools/security/dismember/default.nix +++ b/pkgs/tools/security/dismember/default.nix @@ -21,5 +21,6 @@ buildGoModule rec { homepage = "https://github.com/liamg/dismember"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "dismember"; }; } diff --git a/pkgs/tools/security/erosmb/default.nix b/pkgs/tools/security/erosmb/default.nix index b7984feac513..f03e9a958de2 100644 --- a/pkgs/tools/security/erosmb/default.nix +++ b/pkgs/tools/security/erosmb/default.nix @@ -44,5 +44,6 @@ python3.pkgs.buildPythonApplication rec { changelog = "https://github.com/viktor02/EroSmb/releases/tag/v${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; + mainProgram = "erosmb"; }; } diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix index 7ff4c2e12458..18af1a0f1c48 100644 --- a/pkgs/tools/security/feroxbuster/default.nix +++ b/pkgs/tools/security/feroxbuster/default.nix @@ -47,6 +47,7 @@ rustPlatform.buildRustPackage rec { license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; platforms = platforms.unix; + mainProgram = "feroxbuster"; }; } diff --git a/pkgs/tools/security/fscan/default.nix b/pkgs/tools/security/fscan/default.nix index f334555ad1ec..cda7fb968d3d 100644 --- a/pkgs/tools/security/fscan/default.nix +++ b/pkgs/tools/security/fscan/default.nix @@ -19,5 +19,6 @@ buildGoModule rec { license = licenses.mit; maintainers = with maintainers; [ Misaka13514 ]; platforms = with platforms; unix ++ windows; + mainProgram = "fscan"; }; } diff --git a/pkgs/tools/security/gen-oath-safe/default.nix b/pkgs/tools/security/gen-oath-safe/default.nix index bb607c1fbd32..9ce87ac3bdd1 100644 --- a/pkgs/tools/security/gen-oath-safe/default.nix +++ b/pkgs/tools/security/gen-oath-safe/default.nix @@ -38,6 +38,7 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.mit; maintainers = [ maintainers.makefu ]; + mainProgram = "gen-oath-safe"; }; } diff --git a/pkgs/tools/security/go-dork/default.nix b/pkgs/tools/security/go-dork/default.nix index 5e6c21d2397b..d5b999d96990 100644 --- a/pkgs/tools/security/go-dork/default.nix +++ b/pkgs/tools/security/go-dork/default.nix @@ -22,5 +22,6 @@ buildGoModule rec { changelog = "https://github.com/dwisiswant0/go-dork/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "go-dork"; }; } diff --git a/pkgs/tools/security/hash-identifier/default.nix b/pkgs/tools/security/hash-identifier/default.nix index 5e9b49dd73db..2f54d5e6904f 100644 --- a/pkgs/tools/security/hash-identifier/default.nix +++ b/pkgs/tools/security/hash-identifier/default.nix @@ -23,5 +23,6 @@ python3Packages.buildPythonApplication rec { license = licenses.gpl3Plus; platforms = platforms.unix; maintainers = with maintainers; [ ethancedwards8 ]; + mainProgram = "hash-identifier"; }; } diff --git a/pkgs/tools/security/hcxdumptool/default.nix b/pkgs/tools/security/hcxdumptool/default.nix index 3e51d300e9a3..c718ec0b5a0f 100644 --- a/pkgs/tools/security/hcxdumptool/default.nix +++ b/pkgs/tools/security/hcxdumptool/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ danielfullmer ]; + mainProgram = "hcxdumptool"; }; } diff --git a/pkgs/tools/security/ic-keysmith/default.nix b/pkgs/tools/security/ic-keysmith/default.nix index c3fd58933a3b..30ca2a467576 100644 --- a/pkgs/tools/security/ic-keysmith/default.nix +++ b/pkgs/tools/security/ic-keysmith/default.nix @@ -18,5 +18,6 @@ buildGoModule rec { homepage = "https://github.com/dfinity/keysmith"; license = licenses.mit; maintainers = with maintainers; [ imalison ]; + mainProgram = "keysmith"; }; } diff --git a/pkgs/tools/security/jwt-hack/default.nix b/pkgs/tools/security/jwt-hack/default.nix index 351414b25eee..4922f67fe576 100644 --- a/pkgs/tools/security/jwt-hack/default.nix +++ b/pkgs/tools/security/jwt-hack/default.nix @@ -21,5 +21,6 @@ buildGoModule rec { homepage = "https://github.com/hahwul/jwt-hack"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "jwt-hack"; }; } diff --git a/pkgs/tools/security/kepler/default.nix b/pkgs/tools/security/kepler/default.nix index f4a229030f1d..e4d2fc914cf9 100644 --- a/pkgs/tools/security/kepler/default.nix +++ b/pkgs/tools/security/kepler/default.nix @@ -43,5 +43,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Exein-io/kepler"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; + mainProgram = "kepler"; }; } diff --git a/pkgs/tools/security/kube-hunter/default.nix b/pkgs/tools/security/kube-hunter/default.nix index 05ee083f4d77..f80f5c70c98c 100644 --- a/pkgs/tools/security/kube-hunter/default.nix +++ b/pkgs/tools/security/kube-hunter/default.nix @@ -59,5 +59,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/aquasecurity/kube-hunter"; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ fab ]; + mainProgram = "kube-hunter"; }; } diff --git a/pkgs/tools/security/kubestroyer/default.nix b/pkgs/tools/security/kubestroyer/default.nix index bbe0d9cad7a3..8e0922e4dfb0 100644 --- a/pkgs/tools/security/kubestroyer/default.nix +++ b/pkgs/tools/security/kubestroyer/default.nix @@ -27,5 +27,6 @@ buildGoModule rec { changelog = "https://github.com/Rolix44/Kubestroyer/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "kubestroyer"; }; } diff --git a/pkgs/tools/security/ldapnomnom/default.nix b/pkgs/tools/security/ldapnomnom/default.nix index 132ecf70591a..65e874d06691 100644 --- a/pkgs/tools/security/ldapnomnom/default.nix +++ b/pkgs/tools/security/ldapnomnom/default.nix @@ -22,5 +22,6 @@ buildGoModule rec { changelog = "https://github.com/lkarlslund/ldapnomnom/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "ldapnomnom"; }; } diff --git a/pkgs/tools/security/lethe/default.nix b/pkgs/tools/security/lethe/default.nix index 0e63b0db2a53..eb3474293814 100644 --- a/pkgs/tools/security/lethe/default.nix +++ b/pkgs/tools/security/lethe/default.nix @@ -25,5 +25,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/kostassoid/lethe"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; + mainProgram = "lethe"; }; } diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix index e1d78b79753e..c44733034b5a 100644 --- a/pkgs/tools/security/libmodsecurity/default.nix +++ b/pkgs/tools/security/libmodsecurity/default.nix @@ -76,5 +76,6 @@ stdenv.mkDerivation rec { license = licenses.asl20; platforms = platforms.all; maintainers = with maintainers; [ izorkin ]; + mainProgram = "modsec-rules-check"; }; } diff --git a/pkgs/tools/security/lmp/default.nix b/pkgs/tools/security/lmp/default.nix index 2b945478f3da..021b9d33d35a 100644 --- a/pkgs/tools/security/lmp/default.nix +++ b/pkgs/tools/security/lmp/default.nix @@ -21,5 +21,6 @@ buildGoModule rec { homepage = "https://github.com/0xInfection/LogMePwn"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ fab ]; + mainProgram = "lmp"; }; } diff --git a/pkgs/tools/security/log4jcheck/default.nix b/pkgs/tools/security/log4jcheck/default.nix index 291bf1ff96b4..1a7608fa73de 100644 --- a/pkgs/tools/security/log4jcheck/default.nix +++ b/pkgs/tools/security/log4jcheck/default.nix @@ -30,5 +30,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/NorthwaveSecurity/log4jcheck"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "log4jcheck"; }; } diff --git a/pkgs/tools/security/log4shell-detector/default.nix b/pkgs/tools/security/log4shell-detector/default.nix index 76fc65728438..c29a32bea396 100644 --- a/pkgs/tools/security/log4shell-detector/default.nix +++ b/pkgs/tools/security/log4shell-detector/default.nix @@ -36,5 +36,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/Neo23x0/log4shell-detector"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "log4shell-detector"; }; } diff --git a/pkgs/tools/security/logmap/default.nix b/pkgs/tools/security/logmap/default.nix index d6d4cb0f1a54..50f14bc33aff 100644 --- a/pkgs/tools/security/logmap/default.nix +++ b/pkgs/tools/security/logmap/default.nix @@ -30,5 +30,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/zhzyker/logmap"; license = licenses.gpl3Only; maintainers = with maintainers; [ fab ]; + mainProgram = "logmap"; }; } diff --git a/pkgs/tools/security/mantra/default.nix b/pkgs/tools/security/mantra/default.nix index 7453926a8bd3..348c0afc3251 100644 --- a/pkgs/tools/security/mantra/default.nix +++ b/pkgs/tools/security/mantra/default.nix @@ -27,5 +27,6 @@ buildGoModule rec { changelog = "https://github.com/MrEmpy/Mantra/releases/tag/v.${version}"; license = licenses.gpl3Only; maintainers = with maintainers; [ fab ]; + mainProgram = "mantra"; }; } diff --git a/pkgs/tools/security/minisign/default.nix b/pkgs/tools/security/minisign/default.nix index 2ab1babcafc7..aaa280f40e90 100644 --- a/pkgs/tools/security/minisign/default.nix +++ b/pkgs/tools/security/minisign/default.nix @@ -25,5 +25,6 @@ stdenv.mkDerivation rec { license = licenses.isc; maintainers = with maintainers; [ joachifm ]; platforms = platforms.unix; + mainProgram = "minisign"; }; } diff --git a/pkgs/tools/security/mongoaudit/default.nix b/pkgs/tools/security/mongoaudit/default.nix index 3ba19256ec34..2f980be5163b 100644 --- a/pkgs/tools/security/mongoaudit/default.nix +++ b/pkgs/tools/security/mongoaudit/default.nix @@ -35,5 +35,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/stampery/mongoaudit"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; + mainProgram = "mongoaudit"; }; } diff --git a/pkgs/tools/security/nsjail/default.nix b/pkgs/tools/security/nsjail/default.nix index 187674596e1f..a92aa5f21041 100644 --- a/pkgs/tools/security/nsjail/default.nix +++ b/pkgs/tools/security/nsjail/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = with maintainers; [ arturcygan bosu c0bw3b ]; platforms = platforms.linux; + mainProgram = "nsjail"; }; } diff --git a/pkgs/tools/security/oath-toolkit/default.nix b/pkgs/tools/security/oath-toolkit/default.nix index fe8367ea57e4..eda2affaa262 100644 --- a/pkgs/tools/security/oath-toolkit/default.nix +++ b/pkgs/tools/security/oath-toolkit/default.nix @@ -26,5 +26,6 @@ in stdenv.mkDerivation rec { homepage = "https://www.nongnu.org/oath-toolkit/"; maintainers = with maintainers; [ schnusch ]; platforms = with platforms; linux ++ darwin; + mainProgram = "oathtool"; }; } diff --git a/pkgs/tools/security/onesixtyone/default.nix b/pkgs/tools/security/onesixtyone/default.nix index 374d1322246b..1ff1b0266eaf 100644 --- a/pkgs/tools/security/onesixtyone/default.nix +++ b/pkgs/tools/security/onesixtyone/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; platforms = platforms.unix; maintainers = [ maintainers.fishi0x01 ]; + mainProgram = "onesixtyone"; }; } diff --git a/pkgs/tools/security/parsero/default.nix b/pkgs/tools/security/parsero/default.nix index a8cd9c39eb13..2c3323f25e52 100644 --- a/pkgs/tools/security/parsero/default.nix +++ b/pkgs/tools/security/parsero/default.nix @@ -24,5 +24,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/behindthefirewalls/Parsero"; license = licenses.gpl2Only; maintainers = with maintainers; [ emilytrau fab ]; + mainProgram = "parsero"; }; } diff --git a/pkgs/tools/security/prs/default.nix b/pkgs/tools/security/prs/default.nix index 33df7e7948ce..cfab2229efee 100644 --- a/pkgs/tools/security/prs/default.nix +++ b/pkgs/tools/security/prs/default.nix @@ -59,5 +59,6 @@ rustPlatform.buildRustPackage rec { gpl3Only # everything else ]; maintainers = with maintainers; [ dotlambda ]; + mainProgram = "prs"; }; } diff --git a/pkgs/tools/security/routersploit/default.nix b/pkgs/tools/security/routersploit/default.nix index e147e8feac0b..3f656e8e4578 100644 --- a/pkgs/tools/security/routersploit/default.nix +++ b/pkgs/tools/security/routersploit/default.nix @@ -52,5 +52,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/threat9/routersploit"; license = with licenses; [ bsd3 ]; maintainers = with maintainers; [ fab ]; + mainProgram = "rsf"; }; } diff --git a/pkgs/tools/security/rucredstash/default.nix b/pkgs/tools/security/rucredstash/default.nix index 3a6fcfbf5325..972695ad565e 100644 --- a/pkgs/tools/security/rucredstash/default.nix +++ b/pkgs/tools/security/rucredstash/default.nix @@ -24,5 +24,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/psibi/rucredstash"; license = licenses.mit; maintainers = with maintainers; [ psibi ]; + mainProgram = "rucredstash"; }; } diff --git a/pkgs/tools/security/shellz/default.nix b/pkgs/tools/security/shellz/default.nix index f1b226c32137..e7d44bd21926 100644 --- a/pkgs/tools/security/shellz/default.nix +++ b/pkgs/tools/security/shellz/default.nix @@ -26,5 +26,6 @@ buildGoModule rec { homepage = "https://github.com/evilsocket/shellz"; license = licenses.gpl3Only; maintainers = with maintainers; [ fab ]; + mainProgram = "shellz"; }; } diff --git a/pkgs/tools/security/silenthound/default.nix b/pkgs/tools/security/silenthound/default.nix index 92b651bc9a83..f2915c447675 100644 --- a/pkgs/tools/security/silenthound/default.nix +++ b/pkgs/tools/security/silenthound/default.nix @@ -39,5 +39,6 @@ python3.pkgs.buildPythonApplication rec { # Unknown license, https://github.com/layer8secure/SilentHound/issues/1 license = licenses.unfree; maintainers = with maintainers; [ fab ]; + mainProgram = "silenthound"; }; } diff --git a/pkgs/tools/security/slowhttptest/default.nix b/pkgs/tools/security/slowhttptest/default.nix index b4c2b0efeec3..94e60a6a0084 100644 --- a/pkgs/tools/security/slowhttptest/default.nix +++ b/pkgs/tools/security/slowhttptest/default.nix @@ -22,5 +22,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/shekyan/slowhttptest"; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ fab ]; + mainProgram = "slowhttptest"; }; } diff --git a/pkgs/tools/security/smbscan/default.nix b/pkgs/tools/security/smbscan/default.nix index f807704005e1..ea2a99b64bb0 100644 --- a/pkgs/tools/security/smbscan/default.nix +++ b/pkgs/tools/security/smbscan/default.nix @@ -37,5 +37,6 @@ python3.pkgs.buildPythonApplication rec { homepage = "https://github.com/jeffhacks/smbscan"; license = with licenses; [ gpl3Only ]; maintainers = with maintainers; [ fab ]; + mainProgram = "smbscan"; }; } diff --git a/pkgs/tools/security/stegseek/default.nix b/pkgs/tools/security/stegseek/default.nix index f898b5eab0e6..dd2c10045754 100644 --- a/pkgs/tools/security/stegseek/default.nix +++ b/pkgs/tools/security/stegseek/default.nix @@ -40,5 +40,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/RickdeJager/stegseek"; license = with licenses; [ gpl2Only ]; maintainers = with maintainers; [ fab ]; + mainProgram = "stegseek"; }; } diff --git a/pkgs/tools/security/stricat/default.nix b/pkgs/tools/security/stricat/default.nix index bdd7d18923f1..b21498e009f1 100644 --- a/pkgs/tools/security/stricat/default.nix +++ b/pkgs/tools/security/stricat/default.nix @@ -22,5 +22,6 @@ stdenv.mkDerivation rec { license = lib.licenses.bsd3; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.thoughtpolice ]; + mainProgram = "stricat"; }; } diff --git a/pkgs/tools/security/sx-go/default.nix b/pkgs/tools/security/sx-go/default.nix index 11a9b497fdf0..8c8ceee0fe74 100644 --- a/pkgs/tools/security/sx-go/default.nix +++ b/pkgs/tools/security/sx-go/default.nix @@ -41,5 +41,6 @@ buildGoModule rec { homepage = "https://github.com/v-byte-cpu/sx"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "sx-go"; }; } diff --git a/pkgs/tools/security/tessen/default.nix b/pkgs/tools/security/tessen/default.nix index 1113134a1451..e8517dda9b4e 100644 --- a/pkgs/tools/security/tessen/default.nix +++ b/pkgs/tools/security/tessen/default.nix @@ -48,5 +48,6 @@ stdenvNoCC.mkDerivation rec { license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ monaaraj ]; + mainProgram = "tessen"; }; } diff --git a/pkgs/tools/security/vaultwarden/default.nix b/pkgs/tools/security/vaultwarden/default.nix index 1239b4fd1c6b..3dc6acee7310 100644 --- a/pkgs/tools/security/vaultwarden/default.nix +++ b/pkgs/tools/security/vaultwarden/default.nix @@ -44,5 +44,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/dani-garcia/vaultwarden"; license = licenses.agpl3Only; maintainers = with maintainers; [ msteen ivan ]; + mainProgram = "vaultwarden"; }; } diff --git a/pkgs/tools/security/webanalyze/default.nix b/pkgs/tools/security/webanalyze/default.nix index 3b49b496f62e..7c043c0d0a18 100644 --- a/pkgs/tools/security/webanalyze/default.nix +++ b/pkgs/tools/security/webanalyze/default.nix @@ -22,5 +22,6 @@ buildGoModule rec { changelog = "https://github.com/rverton/webanalyze/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "webanalyze"; }; } diff --git a/pkgs/tools/security/xcrawl3r/default.nix b/pkgs/tools/security/xcrawl3r/default.nix index c7b63c238be1..b714d555bafb 100644 --- a/pkgs/tools/security/xcrawl3r/default.nix +++ b/pkgs/tools/security/xcrawl3r/default.nix @@ -27,5 +27,6 @@ buildGoModule rec { changelog = "https://github.com/hueristiq/xcrawl3r/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "xcrawl3r"; }; } diff --git a/pkgs/tools/security/yatas/default.nix b/pkgs/tools/security/yatas/default.nix index 057f0c7b18b4..e351ea244f5d 100644 --- a/pkgs/tools/security/yatas/default.nix +++ b/pkgs/tools/security/yatas/default.nix @@ -22,5 +22,6 @@ buildGoModule rec { changelog = "https://github.com/padok-team/YATAS/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; + mainProgram = "yatas"; }; } diff --git a/pkgs/tools/security/yubihsm-connector/default.nix b/pkgs/tools/security/yubihsm-connector/default.nix index 8e56cc6a227e..ab2a29808380 100644 --- a/pkgs/tools/security/yubihsm-connector/default.nix +++ b/pkgs/tools/security/yubihsm-connector/default.nix @@ -32,5 +32,6 @@ buildGoModule rec { homepage = "https://developers.yubico.com/yubihsm-connector/"; maintainers = with maintainers; [ matthewcroughan ]; license = licenses.asl20; + mainProgram = "yubihsm-connector"; }; } diff --git a/pkgs/tools/typesetting/asciidoctorj/default.nix b/pkgs/tools/typesetting/asciidoctorj/default.nix index ac8683a36db3..91ce383f9a4d 100644 --- a/pkgs/tools/typesetting/asciidoctorj/default.nix +++ b/pkgs/tools/typesetting/asciidoctorj/default.nix @@ -30,5 +30,6 @@ stdenv.mkDerivation rec { license = licenses.asl20; platforms = platforms.all; maintainers = with maintainers; [ moaxcp ]; + mainProgram = "asciidoctorj"; }; } diff --git a/pkgs/tools/typesetting/biber-ms/default.nix b/pkgs/tools/typesetting/biber-ms/default.nix index f5c161fe2cbc..9cf2bbe014f1 100644 --- a/pkgs/tools/typesetting/biber-ms/default.nix +++ b/pkgs/tools/typesetting/biber-ms/default.nix @@ -50,5 +50,6 @@ perlPackages.buildPerlModule { license = biberSource.meta.license; platforms = platforms.unix; maintainers = [ maintainers.xworld21 ]; + mainProgram = "biber-ms"; }; } diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix index b09a4b092f9b..08038c41377f 100644 --- a/pkgs/tools/typesetting/biber/default.nix +++ b/pkgs/tools/typesetting/biber/default.nix @@ -31,5 +31,6 @@ perlPackages.buildPerlModule { license = biberSource.meta.license; platforms = platforms.unix; maintainers = [ maintainers.ttuegel ]; + mainProgram = "biber"; }; } diff --git a/pkgs/tools/typesetting/biblatex-check/default.nix b/pkgs/tools/typesetting/biblatex-check/default.nix index d3d3be0f430f..beff04156190 100644 --- a/pkgs/tools/typesetting/biblatex-check/default.nix +++ b/pkgs/tools/typesetting/biblatex-check/default.nix @@ -24,5 +24,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Pezmc/BibLatex-Check"; license = licenses.mit; maintainers = with maintainers; [ dtzWill ]; + mainProgram = "biblatex-check"; }; } diff --git a/pkgs/tools/typesetting/coq2html/default.nix b/pkgs/tools/typesetting/coq2html/default.nix index 267309e2e35b..69b3bc0ff239 100644 --- a/pkgs/tools/typesetting/coq2html/default.nix +++ b/pkgs/tools/typesetting/coq2html/default.nix @@ -32,5 +32,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ jwiegley siraben ]; platforms = platforms.unix; + mainProgram = "coq2html"; }; } diff --git a/pkgs/tools/typesetting/djvu2pdf/default.nix b/pkgs/tools/typesetting/djvu2pdf/default.nix index e6c8f80f9d25..9396d43b3962 100644 --- a/pkgs/tools/typesetting/djvu2pdf/default.nix +++ b/pkgs/tools/typesetting/djvu2pdf/default.nix @@ -25,5 +25,6 @@ stdenv.mkDerivation rec { homepage = "https://0x2a.at/site/projects/djvu2pdf/"; license = lib.licenses.gpl1Only; platforms = lib.platforms.all; + mainProgram = "djvu2pdf"; }; } diff --git a/pkgs/tools/typesetting/docbook2odf/default.nix b/pkgs/tools/typesetting/docbook2odf/default.nix index e17acac3dd96..7608fb1228ed 100644 --- a/pkgs/tools/typesetting/docbook2odf/default.nix +++ b/pkgs/tools/typesetting/docbook2odf/default.nix @@ -45,5 +45,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; + mainProgram = "docbook2odf"; }; } diff --git a/pkgs/tools/typesetting/fop/default.nix b/pkgs/tools/typesetting/fop/default.nix index 0855c442deb9..254f29d27a78 100644 --- a/pkgs/tools/typesetting/fop/default.nix +++ b/pkgs/tools/typesetting/fop/default.nix @@ -54,5 +54,6 @@ stdenv.mkDerivation rec { ]; platforms = platforms.all; maintainers = with maintainers; [ bjornfor ]; + mainProgram = "fop"; }; } diff --git a/pkgs/tools/typesetting/git-latexdiff/default.nix b/pkgs/tools/typesetting/git-latexdiff/default.nix index 154781d1ef18..e7e4351a2088 100644 --- a/pkgs/tools/typesetting/git-latexdiff/default.nix +++ b/pkgs/tools/typesetting/git-latexdiff/default.nix @@ -35,5 +35,6 @@ stdenv.mkDerivation rec { maintainers = [ ]; license = licenses.bsd3; # https://gitlab.com/git-latexdiff/git-latexdiff/issues/9 platforms = platforms.unix; + mainProgram = "git-latexdiff"; }; } diff --git a/pkgs/tools/typesetting/halibut/default.nix b/pkgs/tools/typesetting/halibut/default.nix index de76c4956d7a..3429df706d2f 100644 --- a/pkgs/tools/typesetting/halibut/default.nix +++ b/pkgs/tools/typesetting/halibut/default.nix @@ -17,5 +17,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ pSub ]; platforms = with platforms; unix; + mainProgram = "halibut"; }; } diff --git a/pkgs/tools/typesetting/hayagriva/default.nix b/pkgs/tools/typesetting/hayagriva/default.nix index 6723e1acecdb..0db1bf73c9cd 100644 --- a/pkgs/tools/typesetting/hayagriva/default.nix +++ b/pkgs/tools/typesetting/hayagriva/default.nix @@ -30,5 +30,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/typst/hayagriva/releases/tag/v${version}"; license = with licenses; [ asl20 mit ]; maintainers = with maintainers; [ figsoda ]; + mainProgram = "hayagriva"; }; } diff --git a/pkgs/tools/typesetting/htmldoc/default.nix b/pkgs/tools/typesetting/htmldoc/default.nix index 02a1a97010c5..da54f7c62970 100644 --- a/pkgs/tools/typesetting/htmldoc/default.nix +++ b/pkgs/tools/typesetting/htmldoc/default.nix @@ -38,5 +38,6 @@ stdenv.mkDerivation rec { generates corresponding HTML, PostScript, or PDF files with an optional table of contents. ''; + mainProgram = "htmldoc"; }; } diff --git a/pkgs/tools/typesetting/kramdown-asciidoc/default.nix b/pkgs/tools/typesetting/kramdown-asciidoc/default.nix index ebe57e3695f5..f3058156848e 100644 --- a/pkgs/tools/typesetting/kramdown-asciidoc/default.nix +++ b/pkgs/tools/typesetting/kramdown-asciidoc/default.nix @@ -30,6 +30,7 @@ let license = licenses.mit; maintainers = with maintainers; [ ]; platforms = platforms.unix; + mainProgram = "kramdoc"; }; }; in diff --git a/pkgs/tools/typesetting/mmark/default.nix b/pkgs/tools/typesetting/mmark/default.nix index 0cb100dde5e3..3e1c95ca0241 100644 --- a/pkgs/tools/typesetting/mmark/default.nix +++ b/pkgs/tools/typesetting/mmark/default.nix @@ -27,5 +27,6 @@ buildGoModule rec { homepage = "https://github.com/mmarkdown/mmark"; license = with lib.licenses; bsd2; maintainers = with lib.maintainers; [ yrashk ]; + mainProgram = "mmark"; }; } diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix index 9cbf61304b9a..09285cf2843b 100644 --- a/pkgs/tools/typesetting/pdf2djvu/default.nix +++ b/pkgs/tools/typesetting/pdf2djvu/default.nix @@ -62,5 +62,6 @@ stdenv.mkDerivation rec { homepage = "https://jwilk.net/software/pdf2djvu"; license = licenses.gpl2; maintainers = with maintainers; [ pSub ]; + mainProgram = "pdf2djvu"; }; } diff --git a/pkgs/tools/typesetting/pdfchain/default.nix b/pkgs/tools/typesetting/pdfchain/default.nix index 256a8ebd6c53..6d772a6fea20 100644 --- a/pkgs/tools/typesetting/pdfchain/default.nix +++ b/pkgs/tools/typesetting/pdfchain/default.nix @@ -53,5 +53,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ hqurve ]; platforms = platforms.unix; + mainProgram = "pdfchain"; }; } diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix index 3b926a3a4fdc..44854592348b 100644 --- a/pkgs/tools/typesetting/pdfgrep/default.nix +++ b/pkgs/tools/typesetting/pdfgrep/default.nix @@ -28,5 +28,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ qknight fpletz ]; platforms = with lib.platforms; unix; + mainProgram = "pdfgrep"; }; } diff --git a/pkgs/tools/typesetting/pdfsandwich/default.nix b/pkgs/tools/typesetting/pdfsandwich/default.nix index 26037b05664d..377a7f7bf432 100644 --- a/pkgs/tools/typesetting/pdfsandwich/default.nix +++ b/pkgs/tools/typesetting/pdfsandwich/default.nix @@ -28,5 +28,6 @@ meta = with lib; { license = licenses.gpl2; maintainers = [ maintainers.rps ]; platforms = platforms.linux; + mainProgram = "pdfsandwich"; }; } diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix index b11975d83c7f..27d95c00c01b 100644 --- a/pkgs/tools/typesetting/pdftk/default.nix +++ b/pkgs/tools/typesetting/pdftk/default.nix @@ -95,5 +95,6 @@ in stdenv.mkDerivation rec { license = licenses.gpl2Plus; maintainers = with maintainers; [ raskin averelld ]; platforms = platforms.unix; + mainProgram = "pdftk"; }; } diff --git a/pkgs/tools/typesetting/pulldown-cmark/default.nix b/pkgs/tools/typesetting/pulldown-cmark/default.nix index ee2b124b04ab..9a946eae732d 100644 --- a/pkgs/tools/typesetting/pulldown-cmark/default.nix +++ b/pkgs/tools/typesetting/pulldown-cmark/default.nix @@ -21,5 +21,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/raphlinus/pulldown-cmark"; license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ CobaltCause ]; + mainProgram = "pulldown-cmark"; }; } diff --git a/pkgs/tools/typesetting/rfc-bibtex/default.nix b/pkgs/tools/typesetting/rfc-bibtex/default.nix index a748983222ef..d9bed6946697 100644 --- a/pkgs/tools/typesetting/rfc-bibtex/default.nix +++ b/pkgs/tools/typesetting/rfc-bibtex/default.nix @@ -29,5 +29,6 @@ with python3.pkgs; buildPythonApplication rec { description = "Generate Bibtex entries for IETF RFCs and Internet-Drafts"; license = licenses.mit; maintainers = with maintainers; [ teto ]; + mainProgram = "rfcbibtex"; }; } diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix index 6d77faac76a9..7284e2cc2fdc 100644 --- a/pkgs/tools/typesetting/satysfi/default.nix +++ b/pkgs/tools/typesetting/satysfi/default.nix @@ -80,5 +80,6 @@ in license = licenses.lgpl3Only; maintainers = [ maintainers.mt-caret maintainers.marsam ]; platforms = platforms.all; + mainProgram = "satysfi"; }; } diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix index 3c64e8872019..f2005f491a17 100644 --- a/pkgs/tools/typesetting/sile/default.nix +++ b/pkgs/tools/typesetting/sile/default.nix @@ -137,5 +137,6 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.unix; maintainers = with maintainers; [ doronbehar alerque ]; license = licenses.mit; + mainProgram = "sile"; }; }) diff --git a/pkgs/tools/typesetting/sshlatex/default.nix b/pkgs/tools/typesetting/sshlatex/default.nix index 8a5b4811d770..ed1252928bb3 100644 --- a/pkgs/tools/typesetting/sshlatex/default.nix +++ b/pkgs/tools/typesetting/sshlatex/default.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl3Plus; # actually dual-licensed gpl3Plus | lppl13cplus platforms = lib.platforms.all; maintainers = [ maintainers.iblech ]; + mainProgram = "sshlatex"; }; } diff --git a/pkgs/tools/typesetting/tikzit/default.nix b/pkgs/tools/typesetting/tikzit/default.nix index 2f6d169d0cb5..44c2fed0508a 100644 --- a/pkgs/tools/typesetting/tikzit/default.nix +++ b/pkgs/tools/typesetting/tikzit/default.nix @@ -29,5 +29,6 @@ mkDerivation { license = licenses.gpl3Plus; platforms = platforms.all; maintainers = [ maintainers.iblech maintainers.mgttlinger ]; + mainProgram = "tikzit"; }; } diff --git a/pkgs/tools/typesetting/typstfmt/default.nix b/pkgs/tools/typesetting/typstfmt/default.nix index c6c054888f82..cec70394e4f9 100644 --- a/pkgs/tools/typesetting/typstfmt/default.nix +++ b/pkgs/tools/typesetting/typstfmt/default.nix @@ -24,5 +24,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/astrale-sharp/typstfmt/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ figsoda geri1701 ]; + mainProgram = "typstfmt"; }; } diff --git a/pkgs/tools/typesetting/xmlroff/default.nix b/pkgs/tools/typesetting/xmlroff/default.nix index dd8adab9ee8a..f1e7e2c3243f 100644 --- a/pkgs/tools/typesetting/xmlroff/default.nix +++ b/pkgs/tools/typesetting/xmlroff/default.nix @@ -49,5 +49,6 @@ stdenv.mkDerivation rec { homepage = "http://xmlroff.org/"; platforms = platforms.unix; license = licenses.bsd3; + mainProgram = "xmlroff"; }; } diff --git a/pkgs/tools/video/dvgrab/default.nix b/pkgs/tools/video/dvgrab/default.nix index c5bb05853bf9..de5c5e906bf5 100644 --- a/pkgs/tools/video/dvgrab/default.nix +++ b/pkgs/tools/video/dvgrab/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation { license = licenses.gpl2Plus; platforms = platforms.gnu ++ platforms.linux; + mainProgram = "dvgrab"; }; } diff --git a/pkgs/tools/video/go2rtc/default.nix b/pkgs/tools/video/go2rtc/default.nix index 9b0f9bbe3f70..c6f8b66d1bcd 100644 --- a/pkgs/tools/video/go2rtc/default.nix +++ b/pkgs/tools/video/go2rtc/default.nix @@ -35,5 +35,6 @@ buildGoModule rec { changelog = "https://github.com/AlexxIT/go2rtc/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ hexa ]; + mainProgram = "go2rtc"; }; } diff --git a/pkgs/tools/video/gopro/default.nix b/pkgs/tools/video/gopro/default.nix index a1991772bf10..7f234ae5247a 100644 --- a/pkgs/tools/video/gopro/default.nix +++ b/pkgs/tools/video/gopro/default.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.gpl3; maintainers = with maintainers; [ jonringer ]; + mainProgram = "gopro"; }; } diff --git a/pkgs/tools/video/harvid/default.nix b/pkgs/tools/video/harvid/default.nix index 655d1ba3874f..2860e5f22280 100644 --- a/pkgs/tools/video/harvid/default.nix +++ b/pkgs/tools/video/harvid/default.nix @@ -48,5 +48,6 @@ stdenv.mkDerivation rec { license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = with maintainers; [ mitchmindtree ]; + mainProgram = "harvid"; }; } diff --git a/pkgs/tools/video/lux/default.nix b/pkgs/tools/video/lux/default.nix index f6a4ea61f2dc..6d1e92af4aca 100644 --- a/pkgs/tools/video/lux/default.nix +++ b/pkgs/tools/video/lux/default.nix @@ -39,5 +39,6 @@ buildGoModule rec { changelog = "https://github.com/iawia002/lux/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ galaxy ]; + mainProgram = "lux"; }; } diff --git a/pkgs/tools/video/play-with-mpv/default.nix b/pkgs/tools/video/play-with-mpv/default.nix index 9047f9062462..16e645eb4455 100644 --- a/pkgs/tools/video/play-with-mpv/default.nix +++ b/pkgs/tools/video/play-with-mpv/default.nix @@ -57,5 +57,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/Thann/play-with-mpv"; license = licenses.mit; maintainers = with maintainers; [ dawidsowa ]; + mainProgram = "play-with-mpv"; }; } diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix index 146ff6072544..859e523dfa65 100644 --- a/pkgs/tools/video/rav1e/default.nix +++ b/pkgs/tools/video/rav1e/default.nix @@ -63,5 +63,6 @@ rustPlatform.buildRustPackage rec { changelog = "https://github.com/xiph/rav1e/releases/tag/v${version}"; license = licenses.bsd2; maintainers = [ ]; + mainProgram = "rav1e"; }; } diff --git a/pkgs/tools/video/replay-sorcery/default.nix b/pkgs/tools/video/replay-sorcery/default.nix index 8f362c3beb96..7323644cdefb 100644 --- a/pkgs/tools/video/replay-sorcery/default.nix +++ b/pkgs/tools/video/replay-sorcery/default.nix @@ -58,5 +58,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ kira-bruneau ]; platforms = platforms.linux; + mainProgram = "replay-sorcery"; }; } diff --git a/pkgs/tools/video/swfmill/default.nix b/pkgs/tools/video/swfmill/default.nix index 28d7e0039edd..c93534bf1a20 100644 --- a/pkgs/tools/video/swfmill/default.nix +++ b/pkgs/tools/video/swfmill/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { homepage = "http://swfmill.org"; license = lib.licenses.gpl2; platforms = lib.platforms.linux; + mainProgram = "swfmill"; }; } diff --git a/pkgs/tools/video/vcsi/default.nix b/pkgs/tools/video/vcsi/default.nix index bb3bc4c9856c..7db0fdd6962e 100644 --- a/pkgs/tools/video/vcsi/default.nix +++ b/pkgs/tools/video/vcsi/default.nix @@ -33,5 +33,6 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/amietn/vcsi"; license = licenses.mit; maintainers = with maintainers; [ dandellion zopieux ]; + mainProgram = "vcsi"; }; } diff --git a/pkgs/tools/video/vncrec/default.nix b/pkgs/tools/video/vncrec/default.nix index 02608ac16b20..3b3391284f07 100644 --- a/pkgs/tools/video/vncrec/default.nix +++ b/pkgs/tools/video/vncrec/default.nix @@ -30,5 +30,6 @@ stdenv.mkDerivation { homepage = "http://ronja.twibright.com/utils/vncrec/"; platforms = lib.platforms.linux; license = lib.licenses.gpl2; + mainProgram = "vncrec"; }; } diff --git a/pkgs/tools/video/wtwitch/default.nix b/pkgs/tools/video/wtwitch/default.nix index 9b2a9a7be031..0035e184540c 100644 --- a/pkgs/tools/video/wtwitch/default.nix +++ b/pkgs/tools/video/wtwitch/default.nix @@ -67,5 +67,6 @@ stdenv.mkDerivation rec { license = licenses.gpl3Only; maintainers = with maintainers; [ urandom ]; platforms = platforms.all; + mainProgram = "wtwitch"; }; } diff --git a/pkgs/tools/video/yamdi/default.nix b/pkgs/tools/video/yamdi/default.nix index 6665637e6371..1bcfffb92903 100644 --- a/pkgs/tools/video/yamdi/default.nix +++ b/pkgs/tools/video/yamdi/default.nix @@ -27,5 +27,6 @@ stdenv.mkDerivation rec { license = licenses.bsd3; platforms = platforms.all; maintainers = [ maintainers.ryanartecona ]; + mainProgram = "yamdi"; }; } diff --git a/pkgs/tools/video/yaydl/default.nix b/pkgs/tools/video/yaydl/default.nix index ce7e4ef8eebf..7dea97bf649e 100644 --- a/pkgs/tools/video/yaydl/default.nix +++ b/pkgs/tools/video/yaydl/default.nix @@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec { description = "Yet another youtube down loader"; license = licenses.cddl; maintainers = with maintainers; []; + mainProgram = "yaydl"; }; } From a29265b6b8d9d7b50faed4208d745a160d41b9b7 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Thu, 23 Nov 2023 08:37:07 +0100 Subject: [PATCH 23/30] php81: 8.1.25 -> 8.1.26 (cherry picked from commit ca7ec92f3d24432580a7964d1a0f5da57e08ba76) --- pkgs/development/interpreters/php/8.1.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix index 51651c5d405b..5f5be6b3d1d8 100644 --- a/pkgs/development/interpreters/php/8.1.nix +++ b/pkgs/development/interpreters/php/8.1.nix @@ -2,8 +2,8 @@ let base = callPackage ./generic.nix (_args // { - version = "8.1.25"; - hash = "sha256-qGqIwYQMG8gyvP0vvsO4oZQsgxTaXf9T8J+cmNDBLoo="; + version = "8.1.26"; + hash = "sha256-g73iSchKoaBDqMjQ7qCTRcLK5puXhM3wIin8kW+7nqA="; }); in From b63c82150524650adeecc23661aec1fa42188660 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Thu, 23 Nov 2023 08:39:11 +0100 Subject: [PATCH 24/30] php82: 8.2.12 -> 8.2.13 (cherry picked from commit 4b8b0fb9e6e2fa1e983812083d8189de913faa2b) --- pkgs/development/interpreters/php/8.2.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix index 072012657588..20aa6aaa0bc0 100644 --- a/pkgs/development/interpreters/php/8.2.nix +++ b/pkgs/development/interpreters/php/8.2.nix @@ -2,8 +2,8 @@ let base = callPackage ./generic.nix (_args // { - version = "8.2.12"; - hash = "sha256-cEMl9WsbTBf5+VHh/+9cZOFIiWBT804mJhUsuqLwWJM="; + version = "8.2.13"; + hash = "sha256-ZlKfQ7ITEx5rJTxWAr7wXwSUWNISknMPzNY7SKBtZ7o="; }); in From da9fb9b25a7de4131d36f5d6d5992d9a8233723d Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Thu, 23 Nov 2023 08:39:26 +0100 Subject: [PATCH 25/30] php83: 8.3.0RC6 -> 8.3.0 (cherry picked from commit 169a3091446d6b3ee60f54a8bf1c1a2753c79c5e) --- pkgs/development/interpreters/php/8.3.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/pkgs/development/interpreters/php/8.3.nix b/pkgs/development/interpreters/php/8.3.nix index 23b9c2ee8e82..6327e23504a8 100644 --- a/pkgs/development/interpreters/php/8.3.nix +++ b/pkgs/development/interpreters/php/8.3.nix @@ -1,13 +1,10 @@ { callPackage, fetchurl, ... }@_args: let - base = (callPackage ./generic.nix (_args // { - version = "8.3.0RC6"; - phpSrc = fetchurl { - url = "https://downloads.php.net/~eric/php-8.3.0RC6.tar.xz"; - hash = "sha256-Hntdz+vEkh7EQgnB4IrnG2sQ5bG2uJW7T3a0RIbHBe0="; - }; - })); + base = callPackage ./generic.nix (_args // { + version = "8.3.0"; + hash = "sha256-3mfQgz1CsZblpm+hozL0Xilsvo6UcuklayoHHDTcXtY="; + }); in base.withExtensions ({ all, ... }: with all; ([ bcmath From 6e4b08452906b8748d3f48f1fa83facc959b1da0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 20 Nov 2023 07:39:37 -0800 Subject: [PATCH 26/30] mousai: 0.7.5 -> 0.7.6 Diff: https://github.com/SeaDve/Mousai/compare/v0.7.5...v0.7.6 Changelog: https://github.com/SeaDve/Mousai/releases/tag/v0.7.6 (cherry picked from commit 35132b620c6b5296fdc2be9cc0d0ce9cc96a166e) --- pkgs/applications/audio/mousai/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/audio/mousai/default.nix b/pkgs/applications/audio/mousai/default.nix index fae165495e19..c2bcc0200fbc 100644 --- a/pkgs/applications/audio/mousai/default.nix +++ b/pkgs/applications/audio/mousai/default.nix @@ -23,19 +23,19 @@ stdenv.mkDerivation rec { pname = "mousai"; - version = "0.7.5"; + version = "0.7.6"; src = fetchFromGitHub { owner = "SeaDve"; repo = "Mousai"; rev = "v${version}"; - hash = "sha256-4olJGpS5QfPyt6/ZmigoojP7kGjx6LExW3LKrL4nxTE="; + hash = "sha256-QInnKjGYaWlIj+F3upQ8CJ6RqCM72Y+BGrrezndqfOg="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-SeKcguCB+f2ocKKf7Moc74O2sGK2EXgEEkTiN82dSps="; + hash = "sha256-/AwTNuDdhAhj/kbc6EdC3FKGO1LfZIY68utPjcrw0S0="; }; nativeBuildInputs = [ From 6dae3da25604328648916100d734339e69681b78 Mon Sep 17 00:00:00 2001 From: Anthony Roussel Date: Wed, 22 Nov 2023 15:04:18 +0100 Subject: [PATCH 27/30] exiftool: 12.68 -> 12.70 https://github.com/exiftool/exiftool/compare/12.68...12.70 https://exiftool.org/history.html (cherry picked from commit f5e6159032fba37ec36ed82f90be851788fe401a) --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 639bc2ae5d8a..0796f85677e8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -13164,11 +13164,11 @@ with self; { ImageExifTool = buildPerlPackage rec { pname = "Image-ExifTool"; - version = "12.68"; + version = "12.70"; src = fetchurl { url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz"; - hash = "sha256-+GM3WffmDSvDCtGcSCCw6/pqfQic9Di3Umg/i22AOYc="; + hash = "sha256-TLJSJEXMPj870TkExq6uraX8Wl4kmNerrSlX3LQsr/4="; }; nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang; From 311bee1ee50f621afc7e506a91df1b2aa36b2cab Mon Sep 17 00:00:00 2001 From: Finn Behrens Date: Fri, 17 Nov 2023 16:14:05 +0100 Subject: [PATCH 28/30] nixos: fix bcachefs filesystem with symlinks (cherry picked from commit 6d461357c1350109aa5ce93ec31ef3e27f953980) --- nixos/modules/tasks/filesystems/bcachefs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/tasks/filesystems/bcachefs.nix b/nixos/modules/tasks/filesystems/bcachefs.nix index d144ce62dc27..1a1bbf8f6a81 100644 --- a/nixos/modules/tasks/filesystems/bcachefs.nix +++ b/nixos/modules/tasks/filesystems/bcachefs.nix @@ -20,6 +20,7 @@ let printf "waiting for device to appear $path" for try in $(seq 10); do if [ -e $path ]; then + target=$(readlink -f $path) success=true break else From 4202ab72e71e4bdfbd8f986c0e80802a6a2633c3 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Tue, 21 Nov 2023 06:17:01 +0100 Subject: [PATCH 29/30] rl-2311: Add release notes on lib NixOS releases are also `lib` releases :) The release notes were collected from looking at the `git diff` since 22.11. Since the NixOS and Nixpkgs manuals are rendered separately, I'm linking to the "unstable" link to make sure the links definitely work on the time of release. The "stable" link might take some time to become available (cherry picked from commit 38664f70d14626d7bc44a159a075ce5202824665) --- .../manual/release-notes/rl-2311.section.md | 103 +++++++++++++++++- 1 file changed, 98 insertions(+), 5 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 90b3562db091..b682bf0dbd51 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -364,11 +364,6 @@ - `networking.networkmanager.firewallBackend` was removed as NixOS is now using iptables-nftables-compat even when using iptables, therefore Networkmanager now uses the nftables backend unconditionally. -- [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.foldl-prime) now always evaluates the initial accumulator argument first. - If you depend on the lazier behavior, consider using [`lib.lists.foldl`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.lists.foldl) or [`builtins.foldl'`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-foldl') instead. - -- [`lib.attrsets.foldlAttrs`](https://nixos.org/manual/nixpkgs/stable#function-library-lib.attrsets.foldlAttrs) now always evaluates the initial accumulator argument first. - - `rome` was removed because it is no longer maintained and is succeeded by `biome`. - The `prometheus-knot-exporter` was migrated to a version maintained by CZ.NIC. Various metric names have changed, so checking existing rules is recommended. @@ -612,3 +607,101 @@ The module update takes care of the new config syntax and the data itself (user - Docker now defaults to 24, as 20.10 is stopping to receive security updates and bug fixes after [December 10, 2023](https://github.com/moby/moby/discussions/45104). - There is a new NixOS option when writing NixOS tests `testing.initrdBackdoor`, that enables `backdoor.service` in initrd. Requires `boot.initrd.systemd.enable` to be enabled. Boot will pause in stage 1 at `initrd.target`, and will listen for commands from the `Machine` python interface, just like stage 2 normally does. This enables commands to be sent to test and debug stage 1. Use `machine.switch_root()` to leave stage 1 and proceed to stage 2. + +## Nixpkgs library changes {#sec-release-23.11-lib} + +### Breaking changes {#sec-release-23.11-lib-breaking} + +- [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.foldl-prime) + now always evaluates the initial accumulator argument first. + If you depend on the lazier behavior, consider using [`lib.lists.foldl`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.foldl) + or [`builtins.foldl'`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-foldl') instead. +- [`lib.attrsets.foldlAttrs`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.attrsets.foldlAttrs) + now always evaluates the initial accumulator argument first. +- Now that the internal NixOS transition to Markdown documentation is complete, + `lib.options.literalDocBook` has been removed after deprecation in 22.11. +- `lib.types.string` is now fully deprecated and gives a warning when used. + +### Additions and improvements {#sec-release-23.11-lib-additions-improvements} + +- [`lib.fileset`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-fileset): + A new sub-library to select local files to use for sources, + designed to be easy and safe to use. + + This aims to be a replacement for `lib.sources`-based filtering. + To learn more about it, see [the tutorial](https://nix.dev/tutorials/file-sets). + +- [`lib.gvariant`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-gvariant): + A partial and basic implementation of GVariant formatted strings. + See [GVariant Format Strings](https://docs.gtk.org/glib/gvariant-format-strings.html) for details. + + :::{.warning} + This API is not considered fully stable and it might therefore + change in backwards incompatible ways without prior notice. + ::: + +- [`lib.asserts`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-asserts): New function: + [`assertEachOneOf`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.asserts.assertEachOneOf). +- [`lib.attrsets`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-attrsets): New function: + [`attrsToList`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.attrsets.attrsToList). +- [`lib.customisation`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-customisation): New function: + [`makeScopeWithSplicing'`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.customisation.makeScopeWithSplicing-prime). +- [`lib.fixedPoints`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-fixedPoints): Documentation improvements for + [`lib.fixedPoints.fix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.fixedPoints.fix). +- `lib.generators`: New functions: + [`mkDconfKeyValue`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.generators.mkDconfKeyValue), + [`toDconfINI`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.generators.toDconfINI). + + `lib.generators.toKeyValue` now supports the `indent` attribute in its first argument. +- [`lib.lists`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-lists): New functions: + [`findFirstIndex`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.findFirstIndex), + [`hasPrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.hasPrefix), + [`removePrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.removePrefix), + [`commonPrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.commonPrefix), + [`allUnique`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.allUnique). + + Documentation improvements for + [`lib.lists.foldl'`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.lists.foldl-prime). +- [`lib.meta`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-meta): Documentation of functions now gets rendered +- [`lib.path`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-path): New functions: + [`hasPrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.hasPrefix), + [`removePrefix`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.removePrefix), + [`splitRoot`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.splitRoot), + [`subpath.components`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.path.subpath.components). +- [`lib.strings`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-strings): New functions: + [`replicate`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.replicate), + [`cmakeOptionType`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.cmakeOptionType), + [`cmakeBool`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.cmakeBool), + [`cmakeFeature`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.strings.cmakeFeature). +- [`lib.trivial`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-trivial): New function: + [`mirrorFunctionArgs`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.trivial.mirrorFunctionArgs). +- `lib.systems`: New function: + [`equals`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.systems.equals). +- [`lib.options`](https://nixos.org/manual/nixpkgs/unstable#sec-functions-library-options): Improved documentation for + [`mkPackageOption`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.options.mkPackageOption). + + [`mkPackageOption`](https://nixos.org/manual/nixpkgs/unstable#function-library-lib.options.mkPackageOption). + now also supports the `pkgsText` attribute. + +Module system: +- Options in the `options` module argument now have the `declarationPositions` attribute + containing the position where the option was declared: + ``` + $ nix repl -f '' + [...] + nix-repl> :p options.environment.systemPackages.declarationPositions + [ { + column = 7; + file = "/nix/store/vm9zf9wvfd628cchj0hdij1g4hzjrcz9-source/nixos/modules/config/system-path.nix"; + line = 62; + } ] + ``` + Not to be confused with `definitionsWithLocations`, which is the same but for option _definitions_. +- Improved error message for option declarations missing `mkOption` + +### Deprecations {#sec-release-23.11-lib-deprecations} + +- `lib.meta.getExe pkg` (also available as `lib.getExe`) now gives a warning if `pkg.meta.mainProgram` is not set, + but it continues to default to the derivation name. + Nixpkgs accepts PRs that set `meta.mainProgram` on packages where it makes sense. + Use `lib.getExe' pkg "some-command"` to avoid the warning and/or select a different executable. From cbe2dac1462a37d4c5f77130b7cd5f61017151f4 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Thu, 9 Nov 2023 01:29:38 +0100 Subject: [PATCH 30/30] lib.fileset.fileFilter: Predicate attribute for file extension (cherry picked from commit 6816f28c960c523e6a30f2ad4a1cc812251f5ffb) --- lib/fileset/default.nix | 9 ++++++++- lib/fileset/internal.nix | 5 ++++- lib/fileset/tests.sh | 35 ++++++++++++++++++++++++++++++++++- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/lib/fileset/default.nix b/lib/fileset/default.nix index 9ccbf0ed7ce7..75e609a072e7 100644 --- a/lib/fileset/default.nix +++ b/lib/fileset/default.nix @@ -604,6 +604,7 @@ in { ({ name :: String, type :: String, + hasExt :: String -> Bool, ... } -> Bool) -> Path @@ -614,7 +615,7 @@ in { fileFilter (file: file.name == "default.nix") ./. # Include all non-Nix files from the current directory - fileFilter (file: ! hasSuffix ".nix" file.name) ./. + fileFilter (file: ! file.hasExt "nix") ./. # Include all files that start with a "." in the current directory fileFilter (file: hasPrefix "." file.name) ./. @@ -634,6 +635,12 @@ in { - `type` (String, one of `"regular"`, `"symlink"` or `"unknown"`): The type of the file. This matches result of calling [`builtins.readFileType`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-readFileType) on the file's path. + - `hasExt` (String -> Bool): Whether the file has a certain file extension. + `hasExt ext` is true only if `hasSuffix ".${ext}" name`. + + This also means that e.g. for a file with name `.gitignore`, + `hasExt "gitignore"` is true. + Other attributes may be added in the future. */ predicate: diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix index 2fddf0d02285..35d556e78391 100644 --- a/lib/fileset/internal.nix +++ b/lib/fileset/internal.nix @@ -52,6 +52,7 @@ let concatStringsSep substring stringLength + hasSuffix ; in @@ -797,9 +798,11 @@ rec { if predicate { inherit name type; + hasExt = ext: hasSuffix ".${ext}" name; + # To ensure forwards compatibility with more arguments being added in the future, # adding an attribute which can't be deconstructed :) - "lib.fileset.fileFilter: The predicate function passed as the first argument must be able to handle extra attributes for future compatibility. If you're using `{ name, file }:`, use `{ name, file, ... }:` instead." = null; + "lib.fileset.fileFilter: The predicate function passed as the first argument must be able to handle extra attributes for future compatibility. If you're using `{ name, file, hasExt }:`, use `{ name, file, hasExt, ... }:` instead." = null; } then type diff --git a/lib/fileset/tests.sh b/lib/fileset/tests.sh index 81376bc451b1..077aefe371c3 100755 --- a/lib/fileset/tests.sh +++ b/lib/fileset/tests.sh @@ -847,7 +847,7 @@ checkFileset 'fileFilter (file: abort "this is not needed") ./.' # The predicate must be able to handle extra attributes touch a -expectFailure 'toSource { root = ./.; fileset = fileFilter ({ name, type }: true) ./.; }' 'called with unexpected argument '\''"lib.fileset.fileFilter: The predicate function passed as the first argument must be able to handle extra attributes for future compatibility. If you'\''re using `\{ name, file \}:`, use `\{ name, file, ... \}:` instead."'\' +expectFailure 'toSource { root = ./.; fileset = fileFilter ({ name, type, hasExt }: true) ./.; }' 'called with unexpected argument '\''"lib.fileset.fileFilter: The predicate function passed as the first argument must be able to handle extra attributes for future compatibility. If you'\''re using `\{ name, file, hasExt \}:`, use `\{ name, file, hasExt, ... \}:` instead."'\' rm -rf -- * # .name is the name, and it works correctly, even recursively @@ -895,6 +895,39 @@ expectEqual \ 'toSource { root = ./.; fileset = union ./d/a ./d/b; }' rm -rf -- * +# Check that .hasExt checks for the file extension +# The empty extension is the same as a file ending with a . +tree=( + [a]=0 + [a.]=1 + [a.b]=0 + [a.b.]=1 + [a.b.c]=0 +) +checkFileset 'fileFilter (file: file.hasExt "") ./.' + +# It can check for the last extension +tree=( + [a]=0 + [.a]=1 + [.a.]=0 + [.b.a]=1 + [.b.a.]=0 +) +checkFileset 'fileFilter (file: file.hasExt "a") ./.' + +# It can check for any extension +tree=( + [a.b.c.d]=1 +) +checkFileset 'fileFilter (file: + all file.hasExt [ + "b.c.d" + "c.d" + "d" + ] +) ./.' + # It's lazy tree=( [b]=1