From b333f2676c963e7d17f948afd0caa9edae5bd0bd Mon Sep 17 00:00:00 2001 From: Benjamin Levy <7348004+io12@users.noreply.github.com> Date: Sat, 21 Oct 2023 00:56:21 -0400 Subject: [PATCH 001/114] nixos/flatpak: pass system icons and fonts --- nixos/modules/services/desktops/flatpak.nix | 2 + .../development/libraries/flatpak/default.nix | 4 + .../libraries/flatpak/fix-fonts-icons.patch | 87 +++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 pkgs/development/libraries/flatpak/fix-fonts-icons.patch diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix index d99faf381e01..37395a7cd2a2 100644 --- a/nixos/modules/services/desktops/flatpak.nix +++ b/nixos/modules/services/desktops/flatpak.nix @@ -32,6 +32,8 @@ in { security.polkit.enable = true; + fonts.fontDir.enable = true; + services.dbus.packages = [ pkgs.flatpak ]; systemd.packages = [ pkgs.flatpak ]; diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix index 0c44b99db8d9..33613a0c1f6f 100644 --- a/pkgs/development/libraries/flatpak/default.nix +++ b/pkgs/development/libraries/flatpak/default.nix @@ -97,6 +97,10 @@ stdenv.mkDerivation (finalAttrs: { # The icon validator needs to access the gdk-pixbuf loaders in the Nix store # and cannot bind FHS paths since those are not available on NixOS. finalAttrs.passthru.icon-validator-patch + + # Try mounting fonts and icons from NixOS locations if FHS locations don't exist. + # https://github.com/NixOS/nixpkgs/issues/119433 + ./fix-fonts-icons.patch ]; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/flatpak/fix-fonts-icons.patch b/pkgs/development/libraries/flatpak/fix-fonts-icons.patch new file mode 100644 index 000000000000..31a96d88b7dd --- /dev/null +++ b/pkgs/development/libraries/flatpak/fix-fonts-icons.patch @@ -0,0 +1,87 @@ +diff --git a/common/flatpak-run.c b/common/flatpak-run.c +index 94ad013..5c9f55e 100644 +--- a/common/flatpak-run.c ++++ b/common/flatpak-run.c +@@ -871,6 +871,49 @@ out: + return res; + } + ++static void ++get_nix_closure (GHashTable *closure, const gchar *source_path) ++{ ++ if (g_file_test (source_path, G_FILE_TEST_IS_SYMLINK)) ++ { ++ g_autofree gchar *path = g_malloc(PATH_MAX); ++ realpath(source_path, path); ++ if (g_str_has_prefix(path, "/nix/store/")) ++ { ++ *strchr(path + strlen("/nix/store/"), '/') = 0; ++ g_hash_table_add(closure, g_steal_pointer (&path)); ++ } ++ } ++ else if (g_file_test (source_path, G_FILE_TEST_IS_DIR)) ++ { ++ g_autoptr(GDir) dir = g_dir_open(source_path, 0, NULL); ++ const gchar *file_name; ++ while ((file_name = g_dir_read_name(dir))) ++ { ++ g_autofree gchar *path = g_build_filename (source_path, file_name, NULL); ++ get_nix_closure (closure, path); ++ } ++ } ++} ++ ++static void ++add_nix_store_symlink_targets (FlatpakBwrap *bwrap, const gchar *source_path) ++{ ++ GHashTable *closure = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); ++ ++ get_nix_closure(closure, source_path); ++ ++ GHashTableIter iter; ++ gpointer path; ++ g_hash_table_iter_init(&iter, closure); ++ while (g_hash_table_iter_next(&iter, &path, NULL)) ++ { ++ flatpak_bwrap_add_args (bwrap, "--ro-bind", path, path, NULL); ++ } ++ ++ g_hash_table_destroy(closure); ++} ++ + static void + add_font_path_args (FlatpakBwrap *bwrap) + { +@@ -898,6 +946,18 @@ add_font_path_args (FlatpakBwrap *bwrap) + "\t/run/host/fonts\n", + SYSTEM_FONTS_DIR); + } ++ else if (g_file_test ("/run/current-system/sw/share/X11/fonts", G_FILE_TEST_EXISTS)) ++ { ++ add_nix_store_symlink_targets (bwrap, "/run/current-system/sw/share/X11/fonts"); ++ flatpak_bwrap_add_args (bwrap, ++ "--ro-bind", ++ "/run/current-system/sw/share/X11/fonts", ++ "/run/host/fonts", ++ NULL); ++ g_string_append_printf (xml_snippet, ++ "\t/run/host/fonts\n", ++ "/run/current-system/sw/share/X11/fonts"); ++ } + + if (g_file_test ("/usr/local/share/fonts", G_FILE_TEST_EXISTS)) + { +@@ -998,6 +1058,13 @@ add_icon_path_args (FlatpakBwrap *bwrap) + "--ro-bind", "/usr/share/icons", "/run/host/share/icons", + NULL); + } ++ else if (g_file_test ("/run/current-system/sw/share/icons", G_FILE_TEST_IS_DIR)) ++ { ++ add_nix_store_symlink_targets (bwrap, "/run/current-system/sw/share/icons"); ++ flatpak_bwrap_add_args (bwrap, ++ "--ro-bind", "/run/current-system/sw/share/icons", "/run/host/share/icons", ++ NULL); ++ } + + user_icons_path = g_build_filename (g_get_user_data_dir (), "icons", NULL); + user_icons = g_file_new_for_path (user_icons_path); From 5527c1cf7510eb18a7523a1f0a1a8988091eb39f Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Wed, 22 Nov 2023 23:16:56 +0100 Subject: [PATCH 002/114] thelounge: migrate to prefetch-yarn-deps --- pkgs/applications/networking/irc/thelounge/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/irc/thelounge/default.nix b/pkgs/applications/networking/irc/thelounge/default.nix index eff1458e07e3..f309da11df85 100644 --- a/pkgs/applications/networking/irc/thelounge/default.nix +++ b/pkgs/applications/networking/irc/thelounge/default.nix @@ -4,7 +4,7 @@ , fetchYarnDeps , nodejs , yarn -, fixup_yarn_lock +, prefetch-yarn-deps , python3 , npmHooks , darwin @@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-MM6SgVT7Pjdu96A4eWRucEzT7uNPxBqUDgHKl8mH2C0="; }; - nativeBuildInputs = [ nodejs yarn fixup_yarn_lock python3 npmHooks.npmInstallHook ] ++ lib.optional stdenv.isDarwin darwin.cctools; + nativeBuildInputs = [ nodejs yarn prefetch-yarn-deps python3 npmHooks.npmInstallHook ] ++ lib.optional stdenv.isDarwin darwin.cctools; buildInputs = [ sqlite ]; configurePhase = '' @@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: { export HOME="$PWD" - fixup_yarn_lock yarn.lock + fixup-yarn-lock yarn.lock yarn config --offline set yarn-offline-mirror ${finalAttrs.offlineCache} yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive patchShebangs node_modules From 4892d1050416e3d41df0df13dbbddb63c753e7ed Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 28 Dec 2023 22:34:53 -0300 Subject: [PATCH 003/114] python3Packages.naked: init at 0.1.32 Signed-off-by: lucasew --- .../python-modules/naked/default.nix | 103 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 105 insertions(+) create mode 100644 pkgs/development/python-modules/naked/default.nix diff --git a/pkgs/development/python-modules/naked/default.nix b/pkgs/development/python-modules/naked/default.nix new file mode 100644 index 000000000000..7a37d66861aa --- /dev/null +++ b/pkgs/development/python-modules/naked/default.nix @@ -0,0 +1,103 @@ +{ buildPythonPackage +, fetchFromGitHub +, lib +, requests +, pyyaml +, setuptools +, wheel +, nodejs +, ruby +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "naked"; + version = "0.1.32"; + pyproject = true; + + src = fetchFromGitHub { + owner = "chrissimpkins"; + repo = "naked"; + rev = "v${version}"; + hash = "sha256-KhygnURFggvUTR9wwWtORtfQES8ANd5sIaCONvIhfRM="; + }; + + postPatch = '' + # fix hardcoded absolute paths + substituteInPlace **/*.* \ + --replace /Users/ces/Desktop/code/naked /build/source + ''; + + nativeBuildInputs = [ wheel setuptools ]; + + propagatedBuildInputs = [ + requests + pyyaml + ]; + + nativeCheckInputs = [ pytestCheckHook nodejs ruby ]; + + preCheck ='' + cd tests + + PATH=$PATH:$out/bin + ''; + + disabledTestPaths = [ "testfiles" ]; + + disabledTests = [ + # test_NETWORK.py + "test_http_get" + "test_http_get_binary_file_absent" + "test_http_get_binary_file_exists" + "test_http_get_bin_type" + "test_http_get_follow_redirects" + "test_http_get_follow_redirects_false_content" + "test_http_get_follow_redirects_false_on_nofollow_arg" + "test_http_get_response_check_200" + "test_http_get_response_check_301" + "test_http_get_response_check_404" + "test_http_get_response_obj_present" + "test_http_get_ssl" + "test_http_get_status_check_true" + "test_http_get_status_ssl" + "test_http_get_status_ssl_redirect" + "test_http_get_text_absent" + "test_http_get_text_exists_request_overwrite" + "test_http_get_type" + "test_http_post" + "test_http_post_binary_file_absent" + "test_http_post_binary_file_present" + "test_http_post_binary_file_present_request_overwrite" + "test_http_post_reponse_status_200" + "test_http_post_response_status_200_ssl" + "test_http_post_ssl" + "test_http_post_status_check_true" + "test_http_post_text_file_absent" + "test_http_post_text_file_present_request_overwrite" + "test_http_post_type" + # test_SHELL.py + "test_muterun_missing_option_exitcode" + # test_SYSTEM.py + "test_sys_list_all_files" + "test_sys_list_all_files_cwd" + "test_sys_list_all_files_emptydir" + "test_sys_list_filter_files" + "test_sys_match_files" + "test_sys_match_files_fullpath" + "test_sys_meta_file_mod" + # test_TYPES.py + "test_xdict_key_random" + "test_xdict_key_random_sample" + ]; + + pythonImportsCheck = [ "Naked" ]; + + meta = with lib; { + description = "A Python command line application framework"; + homepage = "https://github.com/chrissimpkins/naked"; + downloadPage = "https://github.com/chrissimpkins/naked/tags"; + license = licenses.mit; + maintainers = [ maintainers.lucasew ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6abbf8b053b7..d04097a1370b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8097,6 +8097,8 @@ self: super: with self; { nagiosplugin = callPackage ../development/python-modules/nagiosplugin { }; + naked = callPackage ../development/python-modules/naked { }; + namedlist = callPackage ../development/python-modules/namedlist { }; nameparser = callPackage ../development/python-modules/nameparser { }; From 32e7476d02071b746f2ce28f554afeb045ca38f1 Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 28 Dec 2023 22:35:16 -0300 Subject: [PATCH 004/114] python3Packages.hsh: init at 1.1.0 Signed-off-by: lucasew --- .../python-modules/hsh/default.nix | 42 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/python-modules/hsh/default.nix diff --git a/pkgs/development/python-modules/hsh/default.nix b/pkgs/development/python-modules/hsh/default.nix new file mode 100644 index 000000000000..2bc68d3aac9d --- /dev/null +++ b/pkgs/development/python-modules/hsh/default.nix @@ -0,0 +1,42 @@ +{ buildPythonPackage +, fetchFromGitHub +, lib +, commandlines +, unittestCheckHook +, pexpect +, naked +, nix-update-script +, setuptools +, wheel +}: + +buildPythonPackage rec { + pname = "hsh"; + version = "1.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "chrissimpkins"; + repo = "hsh"; + rev = "v${version}"; + hash = "sha256-bAAytoidFHH2dSXqN9aqBd2H4p/rwTWXIZa1t5Djdz0="; + }; + + propagatedBuildInputs = [ commandlines ]; + + nativeBuildInputs = [ setuptools wheel ]; + + nativeCheckInputs = [ unittestCheckHook pexpect naked ]; + + preCheck = "cd tests"; + + pythonImportsCheck = [ "hsh" ]; + + meta = with lib; { + description = "Cross-platform command line application that generates file hash digests and performs file integrity checks via file hash digest comparisons"; + homepage = "https://github.com/chrissimpkins/hsh"; + downloadPage = "https://github.com/chrissimpkins/hsh/releases"; + license = licenses.mit; + maintainers = [ maintainers.lucasew ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d04097a1370b..11d3a9d99b7e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5203,6 +5203,8 @@ self: super: with self; { hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { }; + hsh = callPackage ../development/python-modules/hsh { }; + hsluv = callPackage ../development/python-modules/hsluv { }; hstspreload = callPackage ../development/python-modules/hstspreload { }; From fd0ad1ecca0b74686d7f45db6331d4adff75a317 Mon Sep 17 00:00:00 2001 From: pongo1231 Date: Tue, 7 Nov 2023 17:38:14 +0100 Subject: [PATCH 005/114] libhttpserver: init at 0.19.0 --- pkgs/by-name/li/libhttpserver/package.nix | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkgs/by-name/li/libhttpserver/package.nix diff --git a/pkgs/by-name/li/libhttpserver/package.nix b/pkgs/by-name/li/libhttpserver/package.nix new file mode 100644 index 000000000000..d8e6ce8c3ab5 --- /dev/null +++ b/pkgs/by-name/li/libhttpserver/package.nix @@ -0,0 +1,46 @@ +{ stdenv +, lib +, fetchFromGitHub +, autoconf +, automake +, libtool +, gnutls +, libmicrohttpd +}: + +stdenv.mkDerivation rec { + pname = "libhttpserver"; + version = "0.19.0"; + + src = fetchFromGitHub { + owner = "etr"; + repo = pname; + rev = version; + sha256 = "sha256-Pc3Fvd8D4Ymp7dG9YgU58mDceOqNfhWE1JtnpVaNx/Y="; + }; + + nativeBuildInputs = [ autoconf automake libtool ]; + + buildInputs = [ gnutls libmicrohttpd ]; + + enableParallelBuilding = true; + + postPatch = '' + patchShebangs ./bootstrap + ''; + + preConfigure = '' + ./bootstrap + ''; + + configureFlags = [ "--enable-same-directory-build" ]; + + meta = with lib; { + description = "C++ library for creating an embedded Rest HTTP server (and more)"; + homepage = "https://github.com/etr/libhttpserver"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ pongo1231 ]; + platforms = platforms.unix; + broken = stdenv.isDarwin; # configure: error: cannot find required auxiliary files: ltmain.sh + }; +} From 7d9c70324621b4bb7010110104ebbf3b318d252b Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Wed, 13 Mar 2024 20:33:41 +0100 Subject: [PATCH 006/114] python312Packages.pyaudio: normalize pname --- pkgs/development/python-modules/pyaudio/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyaudio/default.nix b/pkgs/development/python-modules/pyaudio/default.nix index 2cab06e7c786..d9d4aa7b70e7 100644 --- a/pkgs/development/python-modules/pyaudio/default.nix +++ b/pkgs/development/python-modules/pyaudio/default.nix @@ -6,12 +6,13 @@ }: buildPythonPackage rec { - pname = "PyAudio"; + pname = "pyaudio"; version = "0.2.14"; disabled = isPyPy; src = fetchPypi { - inherit pname version; + pname = "PyAudio"; + inherit version; hash = "sha256-eN//OHm0mU0fT8ZIVkald1XG7jwZZHpJH3kKCJW9L4c="; }; From 92dd0387a1dde26aa45fc5c789b02ad4714c5592 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Wed, 13 Mar 2024 20:53:50 +0100 Subject: [PATCH 007/114] python312Packages.pybrowserid: normalize pname --- pkgs/development/python-modules/pybrowserid/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pybrowserid/default.nix b/pkgs/development/python-modules/pybrowserid/default.nix index 23906cbd2e4e..1a4cd7c43058 100644 --- a/pkgs/development/python-modules/pybrowserid/default.nix +++ b/pkgs/development/python-modules/pybrowserid/default.nix @@ -2,11 +2,12 @@ , requests, mock }: buildPythonPackage rec { - pname = "PyBrowserID"; + pname = "pybrowserid"; version = "0.14.0"; src = fetchPypi { - inherit pname version; + pname = "PyBrowserID"; + inherit version; sha256 = "1qvi79kfb8x9kxkm5lw2mp42hm82cpps1xknmsb5ghkwx1lpc8kc"; }; @@ -21,4 +22,3 @@ buildPythonPackage rec { maintainers = with maintainers; [ ]; }; } - From ab8e85035dce9478d97df281d651489ea45c8f85 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Wed, 13 Mar 2024 20:57:16 +0100 Subject: [PATCH 008/114] python312Packages.heapdict: normalize pname --- pkgs/development/python-modules/heapdict/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/heapdict/default.nix b/pkgs/development/python-modules/heapdict/default.nix index 61cbe39a256a..44852a3bf4bd 100644 --- a/pkgs/development/python-modules/heapdict/default.nix +++ b/pkgs/development/python-modules/heapdict/default.nix @@ -1,11 +1,12 @@ { lib, buildPythonPackage, fetchPypi, isPy3k }: buildPythonPackage rec { - pname = "HeapDict"; + pname = "heapdict"; version = "1.0.1"; src = fetchPypi { - inherit pname version; + pname = "HeapDict"; + inherit version; sha256 = "8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6"; }; From 881d9d8d01c55d9425cd11791e30bca06c9c0db2 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Thu, 14 Mar 2024 18:41:46 +0100 Subject: [PATCH 009/114] python312Packages.webhelpers: normalize pname --- pkgs/development/python-modules/webhelpers/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/webhelpers/default.nix b/pkgs/development/python-modules/webhelpers/default.nix index dcb2bd3817d7..c9dc7159f2f8 100644 --- a/pkgs/development/python-modules/webhelpers/default.nix +++ b/pkgs/development/python-modules/webhelpers/default.nix @@ -8,11 +8,12 @@ }: buildPythonPackage rec { - pname = "WebHelpers"; + pname = "webhelpers"; version = "1.3"; src = fetchPypi { - inherit pname version; + pname = "WebHelpers"; + inherit version; sha256 = "ea86f284e929366b77424ba9a89341f43ae8dee3cbeb8702f73bcf86058aa583"; }; From f9e026bf7d119bfdb08f12aa242d0bfd3b64b2df Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Thu, 14 Mar 2024 22:57:13 +0100 Subject: [PATCH 010/114] python312Packages.cjkwrap: normalize pname --- pkgs/development/python-modules/cjkwrap/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cjkwrap/default.nix b/pkgs/development/python-modules/cjkwrap/default.nix index 43e5909ec47b..83f487a2af14 100644 --- a/pkgs/development/python-modules/cjkwrap/default.nix +++ b/pkgs/development/python-modules/cjkwrap/default.nix @@ -1,10 +1,11 @@ { lib, buildPythonPackage, fetchPypi }: buildPythonPackage rec { - pname = "CJKwrap"; + pname = "cjkwrap"; version = "2.2"; src = fetchPypi { - inherit pname version; + pname = "CJKwrap"; + inherit version; sha256 = "1b603sg6c2gv9vmlxwr6r1qvhadqk3qp6vifmijris504zjx5ix2"; }; From 337f42fa6d058c5e62f2312e498591ce700784f1 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Thu, 14 Mar 2024 23:31:42 +0100 Subject: [PATCH 011/114] python312Packages.cppheaderparser: normalize pname --- pkgs/development/python-modules/cppheaderparser/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cppheaderparser/default.nix b/pkgs/development/python-modules/cppheaderparser/default.nix index bf2c696f2841..cb834b1d48a1 100644 --- a/pkgs/development/python-modules/cppheaderparser/default.nix +++ b/pkgs/development/python-modules/cppheaderparser/default.nix @@ -5,11 +5,12 @@ }: buildPythonPackage rec { - pname = "CppHeaderParser"; + pname = "cppheaderparser"; version = "2.7.4"; src = fetchPypi { - inherit pname version; + pname = "CppHeaderParser"; + inherit version; hash = "sha256-OCswQW2VsKXoUCshSBDcrCpWQykX4mUUR9Or4lPjzEI="; }; From 476d65aa457ffe6b10419295f27f5d83ba8f0eac Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 16 Mar 2024 22:45:43 +0100 Subject: [PATCH 012/114] python312Packages.delorean: normalize pname --- pkgs/development/python-modules/delorean/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/delorean/default.nix b/pkgs/development/python-modules/delorean/default.nix index 8573dc7095f5..81f1a1e44469 100644 --- a/pkgs/development/python-modules/delorean/default.nix +++ b/pkgs/development/python-modules/delorean/default.nix @@ -9,12 +9,13 @@ }: buildPythonPackage rec { - pname = "Delorean"; + pname = "delorean"; version = "1.0.0"; format = "setuptools"; src = fetchPypi { - inherit pname version; + pname = "Delorean"; + inherit version; hash = "sha256-/md4bhIzhSOEi+xViKZYxNQl4S1T61HP74cL7I9XYTQ="; }; From 3415d94d968ce79208958d148e8e8286e7c8cce2 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sat, 16 Mar 2024 22:56:53 +0100 Subject: [PATCH 013/114] python312Packages.ecpy: normalize pname --- pkgs/development/python-modules/ecpy/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ecpy/default.nix b/pkgs/development/python-modules/ecpy/default.nix index 37bbb183ff40..5f18e814cfe7 100644 --- a/pkgs/development/python-modules/ecpy/default.nix +++ b/pkgs/development/python-modules/ecpy/default.nix @@ -1,11 +1,12 @@ { lib, fetchPypi, buildPythonPackage, isPy3k, future }: buildPythonPackage rec { - pname = "ECPy"; + pname = "ecpy"; version = "1.2.5"; src = fetchPypi { - inherit pname version; + pname = "ECPy"; + inherit version; sha256 = "9635cffb9b6ecf7fd7f72aea1665829ac74a1d272006d0057d45a621aae20228"; }; From ecc6829d2f8c78956e99940ee6c8bd4f67901a98 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 11:35:19 +0100 Subject: [PATCH 014/114] python312Packages.keras-applications: normalize pname --- .../python-modules/keras-applications/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/keras-applications/default.nix b/pkgs/development/python-modules/keras-applications/default.nix index 82ee6803d4bf..fdfbdba89cb8 100644 --- a/pkgs/development/python-modules/keras-applications/default.nix +++ b/pkgs/development/python-modules/keras-applications/default.nix @@ -1,11 +1,12 @@ { lib, buildPythonPackage, fetchPypi, numpy, h5py }: buildPythonPackage rec { - pname = "Keras_Applications"; + pname = "keras-applications"; version = "1.0.8"; src = fetchPypi { - inherit pname version; + pname = "Keras_Applications"; + inherit version; sha256 = "5579f9a12bcde9748f4a12233925a59b93b73ae6947409ff34aa2ba258189fe5"; }; From 66cdc5f5d554025029dec01b25fcf4ea642a8570 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 11:35:44 +0100 Subject: [PATCH 015/114] python312Packages.keras-preprocessing: normalize pname --- .../python-modules/keras-preprocessing/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/keras-preprocessing/default.nix b/pkgs/development/python-modules/keras-preprocessing/default.nix index 49bc63a5db08..833a01c0f254 100644 --- a/pkgs/development/python-modules/keras-preprocessing/default.nix +++ b/pkgs/development/python-modules/keras-preprocessing/default.nix @@ -1,11 +1,12 @@ { lib, buildPythonPackage, fetchPypi, numpy, six, scipy, pillow, pytest, keras }: buildPythonPackage rec { - pname = "Keras_Preprocessing"; + pname = "keras-preprocessing"; version = "1.1.2"; src = fetchPypi { - inherit pname version; + pname = "Keras_Preprocessing"; + inherit version; sha256 = "add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3"; }; From 7177f435b8735a95ca86b532091f028bdee0ec23 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 13:16:38 +0100 Subject: [PATCH 016/114] python312Packages.modestmaps: normalize pname --- pkgs/development/python-modules/modestmaps/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/modestmaps/default.nix b/pkgs/development/python-modules/modestmaps/default.nix index 202589b7435c..180baaefce77 100644 --- a/pkgs/development/python-modules/modestmaps/default.nix +++ b/pkgs/development/python-modules/modestmaps/default.nix @@ -6,12 +6,13 @@ }: buildPythonPackage rec { - pname = "ModestMaps"; + pname = "modestmaps"; version = "1.4.7"; disabled = !isPy27; src = fetchPypi { - inherit pname version; + pname = "ModestMaps"; + inherit version; sha256 = "698442a170f02923f8ea55f18526b56c17178162e44304f896a8a5fd65ab4457"; }; From 83dc13764b53a930c0fba9dfa67964fc250a630d Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 14:05:19 +0100 Subject: [PATCH 017/114] python312Packages.mutatormath: normalize pname --- pkgs/development/python-modules/mutatormath/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mutatormath/default.nix b/pkgs/development/python-modules/mutatormath/default.nix index 1fdb937e33ea..27e92103c5a9 100644 --- a/pkgs/development/python-modules/mutatormath/default.nix +++ b/pkgs/development/python-modules/mutatormath/default.nix @@ -4,11 +4,12 @@ }: buildPythonPackage rec { - pname = "MutatorMath"; + pname = "mutatormath"; version = "3.0.1"; src = fetchPypi { - inherit pname version; + pname = "MutatorMath"; + inherit version; sha256 = "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1"; extension = "zip"; }; From c6e364bf4091ab650b49b1c67ea4789f0671fd40 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 14:23:04 +0100 Subject: [PATCH 018/114] python312Packages.netcdf4: normalize pname --- pkgs/development/python-modules/netcdf4/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netcdf4/default.nix b/pkgs/development/python-modules/netcdf4/default.nix index f181a7d4c4fe..39994519db17 100644 --- a/pkgs/development/python-modules/netcdf4/default.nix +++ b/pkgs/development/python-modules/netcdf4/default.nix @@ -18,14 +18,15 @@ }: buildPythonPackage rec { - pname = "netCDF4"; + pname = "netcdf4"; version = "1.6.2"; format = "pyproject"; disabled = isPyPy; src = fetchPypi { - inherit pname version; + pname = "netCDF4"; + inherit version; hash = "sha256-A4KwL/aiiEGfb/7IXexA9FH0G4dVVHFUxXXd2fD0rlM="; }; From e1f82f75119cb95c0f16f170b86edf2e11278c11 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 19:04:53 +0100 Subject: [PATCH 019/114] python312Packages.pymeeus: normalize pname --- pkgs/development/python-modules/pymeeus/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymeeus/default.nix b/pkgs/development/python-modules/pymeeus/default.nix index 92451d351a91..821ad49e8206 100644 --- a/pkgs/development/python-modules/pymeeus/default.nix +++ b/pkgs/development/python-modules/pymeeus/default.nix @@ -1,11 +1,12 @@ { lib, buildPythonPackage, fetchPypi, pytest }: buildPythonPackage rec { - pname = "PyMeeus"; + pname = "pymeeus"; version = "0.5.12"; src = fetchPypi { - inherit pname version; + pname = "PyMeeus"; + inherit version; hash = "sha256-VI9xhr2LlsvAac9kmo6ON33OSax0SGcJhJ/mOpnK1oQ="; }; From 24509a75242b1866cb4246b9920d306e97699d00 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 20:36:59 +0100 Subject: [PATCH 020/114] python312Packages.pyogg: normalize pname --- pkgs/development/python-modules/pyogg/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyogg/default.nix b/pkgs/development/python-modules/pyogg/default.nix index 3edf3768956f..22a602df273a 100644 --- a/pkgs/development/python-modules/pyogg/default.nix +++ b/pkgs/development/python-modules/pyogg/default.nix @@ -1,11 +1,12 @@ { stdenv, lib, fetchPypi, buildPythonPackage, libvorbis, flac, libogg, libopus, opusfile, substituteAll }: buildPythonPackage rec { - pname = "PyOgg"; + pname = "pyogg"; version = "0.6.9a1"; src = fetchPypi { - inherit pname version; + pname = "PyOgg"; + inherit version; sha256 = "0xabqwyknpvfc53s7il5pq6b07fcaqvz5bi5vbs3pbaw8602qvim"; }; From 1fd6965780a4abb50139e42fa4a12b52ddc85870 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 21:13:20 +0100 Subject: [PATCH 021/114] python312Packages.pyplatec: normalize pname --- pkgs/development/python-modules/pyplatec/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyplatec/default.nix b/pkgs/development/python-modules/pyplatec/default.nix index 209c0d587eb5..6a4e46f5c1c6 100644 --- a/pkgs/development/python-modules/pyplatec/default.nix +++ b/pkgs/development/python-modules/pyplatec/default.nix @@ -5,11 +5,12 @@ }: buildPythonPackage rec { - pname = "PyPlatec"; + pname = "pyplatec"; version = "1.4.0"; src = fetchPypi { - inherit pname version; + pname = "PyPlatec"; + inherit version; sha256 = "0kqx33flcrrlipccmqs78d14pj5749bp85b6k5fgaq2c7yzz02jg"; }; From 0fdc24869b82896ff966dca261dd803e916d5db0 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 21:43:36 +0100 Subject: [PATCH 022/114] python312Packages.pyprind: normalize pname --- pkgs/development/python-modules/pyprind/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyprind/default.nix b/pkgs/development/python-modules/pyprind/default.nix index 4dc25322863d..58a508adf795 100644 --- a/pkgs/development/python-modules/pyprind/default.nix +++ b/pkgs/development/python-modules/pyprind/default.nix @@ -3,11 +3,12 @@ , pytest }: buildPythonPackage rec { - pname = "PyPrind"; + pname = "pyprind"; version = "2.11.3"; src = fetchPypi { - inherit pname version; + pname = "PyPrind"; + inherit version; sha256 = "e37dcab6e1a9c8e0a7f0fce65fde7a79e2deda1c75aa015910a49e2137b54cbf"; }; From 5903b9dd62b0ba6045fe4d498032b05a4bed86c9 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 22:00:57 +0100 Subject: [PATCH 023/114] python312Packages.pyreaderwriterlock: normalize pname --- .../development/python-modules/pyreaderwriterlock/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyreaderwriterlock/default.nix b/pkgs/development/python-modules/pyreaderwriterlock/default.nix index 378be471aef0..a9771f669871 100644 --- a/pkgs/development/python-modules/pyreaderwriterlock/default.nix +++ b/pkgs/development/python-modules/pyreaderwriterlock/default.nix @@ -11,7 +11,7 @@ }: buildPythonPackage rec { - pname = "pyReaderWriterLock"; + pname = "pyreaderwriterlock"; version = "1.0.9"; format = "setuptools"; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "elarivie"; - repo = pname; + repo = "pyReaderWriterLock"; rev = "refs/tags/v${version}"; hash = "sha256-8FC+4aDgGpF1BmOdlkFtMy7OfWdSmvn9fjKXSmmeJlg="; }; From 93b179bcabe962416ac77eef62c9a52d1d119fcb Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 22:14:49 +0100 Subject: [PATCH 024/114] python312Packages.pysc2: normalize pname --- pkgs/development/python-modules/pysc2/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pysc2/default.nix b/pkgs/development/python-modules/pysc2/default.nix index 10040928ad24..b45c95541609 100644 --- a/pkgs/development/python-modules/pysc2/default.nix +++ b/pkgs/development/python-modules/pysc2/default.nix @@ -17,7 +17,7 @@ }: buildPythonPackage { - pname = "PySC2"; + pname = "pysc2"; version = "1.2"; src = fetchFromGitHub { From 9fa44aba86767aa59f3f19641bf794d28f12d91d Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 22:35:27 +0100 Subject: [PATCH 025/114] python312Packages.pyspice: normalize pname --- pkgs/development/python-modules/pyspice/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyspice/default.nix b/pkgs/development/python-modules/pyspice/default.nix index 0119c38099cc..94fa032085c9 100644 --- a/pkgs/development/python-modules/pyspice/default.nix +++ b/pkgs/development/python-modules/pyspice/default.nix @@ -14,12 +14,13 @@ }: buildPythonPackage rec { - pname = "PySpice"; + pname = "pyspice"; version = "1.5"; disabled = pythonOlder "3.6"; src = fetchPypi { - inherit pname version; + pname = "PySpice"; + inherit version; sha256 = "d28448accad98959e0f5932af8736e90a1f3f9ff965121c6881d24cdfca23d22"; }; From d5847ac508000a8632240de3bd4f825cf9212571 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 22:45:42 +0100 Subject: [PATCH 026/114] python312Packages.pysychonaut: normalize pname --- pkgs/development/python-modules/pysychonaut/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pysychonaut/default.nix b/pkgs/development/python-modules/pysychonaut/default.nix index ae05070e76d7..0962ee9b9db1 100644 --- a/pkgs/development/python-modules/pysychonaut/default.nix +++ b/pkgs/development/python-modules/pysychonaut/default.nix @@ -1,11 +1,12 @@ { lib, buildPythonPackage, fetchPypi, requests, requests-cache, beautifulsoup4 }: buildPythonPackage rec { - pname = "PySychonaut"; + pname = "pysychonaut"; version = "0.6.0"; src = fetchPypi { - inherit pname version; + pname = "PySychonaut"; + inherit version; sha256 = "1wgk445gmi0x7xmd8qvnyxy1ka0n72fr6nrhzdm29q6687dqyi7h"; }; From d733d76b411a46e6ac8abf69538f128855f5c1d6 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Mon, 18 Mar 2024 22:43:11 +0100 Subject: [PATCH 027/114] python312Packages.pynamecheap: normalize pname --- pkgs/development/python-modules/pynamecheap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pynamecheap/default.nix b/pkgs/development/python-modules/pynamecheap/default.nix index 84c13b9d1caa..3c05dd30eb1e 100644 --- a/pkgs/development/python-modules/pynamecheap/default.nix +++ b/pkgs/development/python-modules/pynamecheap/default.nix @@ -5,7 +5,7 @@ }: buildPythonPackage rec { - pname = "PyNamecheap"; + pname = "pynamecheap"; version = "0.0.3"; propagatedBuildInputs = [ requests ]; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "Bemmu"; - repo = pname; + repo = "PyNamecheap"; rev = "v${version}"; sha256 = "1g1cd2yc6rpdsc5ax7s93y5nfkf91gcvbgcaqyl9ida6srd9hr97"; }; From e7868a7023fa7b08e0229d4b22b38187a03dfbb4 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Mon, 18 Mar 2024 22:43:55 +0100 Subject: [PATCH 028/114] python312Packages.pyscss: normalize pname --- pkgs/development/python-modules/pyscss/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pyscss/default.nix b/pkgs/development/python-modules/pyscss/default.nix index 21b0f169cd79..912b4acc14e9 100644 --- a/pkgs/development/python-modules/pyscss/default.nix +++ b/pkgs/development/python-modules/pyscss/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage rec { - pname = "pyScss"; + pname = "pyscss"; version = "1.4.0"; src = fetchFromGitHub { From ec4fe8242f6d5ac2c55b620d5f611a1ce46ac655 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Mon, 18 Mar 2024 22:50:17 +0100 Subject: [PATCH 029/114] python312Packages.twiggy: normalize pname --- pkgs/development/python-modules/twiggy/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/twiggy/default.nix b/pkgs/development/python-modules/twiggy/default.nix index 748d45176613..d25fd36a0d91 100644 --- a/pkgs/development/python-modules/twiggy/default.nix +++ b/pkgs/development/python-modules/twiggy/default.nix @@ -5,11 +5,12 @@ }: buildPythonPackage rec { - pname = "Twiggy"; + pname = "twiggy"; version = "0.5.1"; src = fetchPypi { - inherit pname version; + pname = "Twiggy"; + inherit version; sha256 = "7938840275972f6ce89994a5bdfb0b84f0386301a043a960af6364952e78ffe4"; }; From b062a95308a58c3f643254c1e91909912073e91e Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Mon, 18 Mar 2024 22:50:53 +0100 Subject: [PATCH 030/114] python312Packages.txamqp: normalize pname --- pkgs/development/python-modules/txamqp/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/txamqp/default.nix b/pkgs/development/python-modules/txamqp/default.nix index cc66e041ae38..935ef043f22f 100644 --- a/pkgs/development/python-modules/txamqp/default.nix +++ b/pkgs/development/python-modules/txamqp/default.nix @@ -5,11 +5,12 @@ }: buildPythonPackage rec { - pname = "txAMQP"; + pname = "txamqp"; version = "0.8.2"; src = fetchPypi { - inherit pname version; + pname = "txAMQP"; + inherit version; sha256 = "0jd9864k3csc06kipiwzjlk9mq4054s8kzk5q1cfnxj8572s4iv4"; }; From f85b97c3fb96eb3bd65bee850c86fbdcf36df803 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Sun, 17 Mar 2024 20:58:54 +0100 Subject: [PATCH 031/114] python312Packages.pypdf2: normalize pname --- pkgs/development/python-modules/pypdf2/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pypdf2/default.nix b/pkgs/development/python-modules/pypdf2/default.nix index 9708ee4c6925..34087d582667 100644 --- a/pkgs/development/python-modules/pypdf2/default.nix +++ b/pkgs/development/python-modules/pypdf2/default.nix @@ -8,13 +8,14 @@ }: buildPythonPackage rec { - pname = "PyPDF2"; + pname = "pypdf2"; version = "3.0.1"; format = "pyproject"; src = fetchPypi { - inherit pname version; + pname = "PyPDF2"; + inherit version; hash = "sha256-p0QI9pumJx9xuTUu9O0D3FOjGqQE0ptdMfU7/s/uFEA="; }; From 569e3d277e0ca2bd714a15e8c76112433e8094eb Mon Sep 17 00:00:00 2001 From: ByteSudoer Date: Tue, 19 Mar 2024 21:49:52 +0100 Subject: [PATCH 032/114] maintainers: add ByteSudoer --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1444b852f270..3749bc0bd184 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2947,6 +2947,12 @@ github = "bycEEE"; githubId = 8891115; name = "Brian Choy"; + }; + ByteSudoer = { + email = "bytesudoer@gmail.com"; + github = "bytesudoer"; + githubId = 88513682; + name = "ByteSudoer"; }; bzizou = { email = "Bruno@bzizou.net"; From deb5be50c46fe9785fe56e8fdfff1a51c9017ef1 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 18 Mar 2024 23:02:30 -0400 Subject: [PATCH 033/114] incus: move wrapper to nixos module --- nixos/modules/virtualisation/incus.nix | 164 +++++++++++++----- nixos/tests/incus/container.nix | 15 +- nixos/tests/incus/default.nix | 18 +- nixos/tests/incus/lxd-to-incus.nix | 2 +- pkgs/by-name/in/incus/529.patch | 29 ++++ pkgs/by-name/in/incus/client.nix | 40 ++--- .../in/incus/{unwrapped.nix => generic.nix} | 57 +++--- pkgs/by-name/in/incus/latest.nix | 12 -- pkgs/by-name/in/incus/lts.nix | 2 +- pkgs/by-name/in/incus/package.nix | 162 +---------------- pkgs/by-name/in/incus/update.nu | 22 +++ 11 files changed, 252 insertions(+), 271 deletions(-) create mode 100644 pkgs/by-name/in/incus/529.patch rename pkgs/by-name/in/incus/{unwrapped.nix => generic.nix} (73%) delete mode 100644 pkgs/by-name/in/incus/latest.nix create mode 100755 pkgs/by-name/in/incus/update.nu diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index da7873c7bec8..a89d000ed299 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -1,8 +1,80 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.virtualisation.incus; preseedFormat = pkgs.formats.yaml { }; + + serverBinPath = ''${pkgs.qemu_kvm}/libexec:${ + lib.makeBinPath ( + with pkgs; + [ + cfg.package + + acl + attr + bash + btrfs-progs + cdrkit + coreutils + criu + dnsmasq + e2fsprogs + findutils + getent + gnugrep + gnused + gnutar + gptfdisk + gzip + iproute2 + iptables + kmod + lvm2 + minio + nftables + qemu_kvm + qemu-utils + rsync + squashfsTools + systemd + thin-provisioning-tools + util-linux + virtiofsd + xz + + (writeShellScriptBin "apparmor_parser" '' + exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@" + '') + ] + ++ lib.optionals config.boot.zfs.enabled [ + config.boot.zfs.package + "${config.boot.zfs.package}/lib/udev" + ] + ++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ] + ) + }''; + + # https://github.com/lxc/incus/blob/cff35a29ee3d7a2af1f937cbb6cf23776941854b/internal/server/instance/drivers/driver_qemu.go#L123 + ovmf-prefix = if pkgs.stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF"; + ovmf = pkgs.linkFarm "incus-ovmf" [ + { + name = "OVMF_CODE.4MB.fd"; + path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_CODE.fd"; + } + { + name = "OVMF_VARS.4MB.fd"; + path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_VARS.fd"; + } + { + name = "OVMF_VARS.4MB.ms.fd"; + path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_VARS.fd"; + } + ]; in { meta = { @@ -11,26 +83,29 @@ in options = { virtualisation.incus = { - enable = lib.mkEnableOption (lib.mdDoc '' + enable = lib.mkEnableOption '' incusd, a daemon that manages containers and virtual machines. Users in the "incus-admin" group can interact with the daemon (e.g. to start or stop containers) using the {command}`incus` command line tool, among others. - ''); + ''; package = lib.mkPackageOption pkgs "incus" { }; lxcPackage = lib.mkPackageOption pkgs "lxc" { }; + clientPackage = lib.mkPackageOption pkgs [ + "incus" + "client" + ] { }; + preseed = lib.mkOption { - type = lib.types.nullOr ( - lib.types.submodule { freeformType = preseedFormat.type; } - ); + type = lib.types.nullOr (lib.types.submodule { freeformType = preseedFormat.type; }); default = null; - description = lib.mdDoc '' + description = '' Configuration for Incus preseed, see for supported values. @@ -80,18 +155,16 @@ in }; }; - socketActivation = lib.mkEnableOption ( - lib.mdDoc '' - socket-activation for starting incus.service. Enabling this option - will stop incus.service from starting automatically on boot. - '' - ); + socketActivation = lib.mkEnableOption ('' + socket-activation for starting incus.service. Enabling this option + will stop incus.service from starting automatically on boot. + ''); startTimeout = lib.mkOption { type = lib.types.ints.unsigned; default = 600; apply = toString; - description = lib.mdDoc '' + description = '' Time to wait (in seconds) for incusd to become ready to process requests. If incusd does not reply within the configured time, `incus.service` will be considered failed and systemd will attempt to restart it. @@ -99,9 +172,12 @@ in }; ui = { - enable = lib.mkEnableOption (lib.mdDoc "(experimental) Incus UI"); + enable = lib.mkEnableOption "(experimental) Incus UI"; - package = lib.mkPackageOption pkgs [ "incus" "ui" ] { }; + package = lib.mkPackageOption pkgs [ + "incus" + "ui" + ] { }; }; }; }; @@ -109,7 +185,12 @@ in config = lib.mkIf cfg.enable { assertions = [ { - assertion = !(config.networking.firewall.enable && !config.networking.nftables.enable && config.virtualisation.incus.enable); + assertion = + !( + config.networking.firewall.enable + && !config.networking.nftables.enable + && config.virtualisation.incus.enable + ); message = "Incus on NixOS is unsupported using iptables. Set `networking.nftables.enable = true;`"; } ]; @@ -137,7 +218,12 @@ in "vhost_vsock" ] ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ]; - environment.systemPackages = [ cfg.package ]; + environment.systemPackages = [ + cfg.clientPackage + + # gui console support + pkgs.spice-gtk + ]; # Note: the following options are also declared in virtualisation.lxc, but # the latter can't be simply enabled to reuse the formers, because it @@ -164,32 +250,24 @@ in "network-online.target" "lxcfs.service" "incus.socket" - ] - ++ lib.optional config.virtualisation.vswitch.enable "ovs-vswitchd.service"; + ] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ]; requires = [ "lxcfs.service" "incus.socket" - ] - ++ lib.optional config.virtualisation.vswitch.enable "ovs-vswitchd.service"; + ] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ]; - wants = [ - "network-online.target" + wants = [ "network-online.target" ]; + + environment = lib.mkMerge [ + { + INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config"; + INCUS_OVMF_PATH = ovmf; + PATH = lib.mkForce serverBinPath; + } + (lib.mkIf (cfg.ui.enable) { "INCUS_UI" = cfg.ui.package; }) ]; - path = lib.optionals config.boot.zfs.enabled [ - config.boot.zfs.package - "${config.boot.zfs.package}/lib/udev" - ] - ++ lib.optional config.virtualisation.vswitch.enable config.virtualisation.vswitch.package; - - environment = lib.mkMerge [ { - # Override Path to the LXC template configuration directory - INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config"; - } (lib.mkIf (cfg.ui.enable) { - "INCUS_UI" = cfg.ui.package; - }) ]; - serviceConfig = { ExecStart = "${cfg.package}/bin/incusd --group incus-admin"; ExecStartPost = "${cfg.package}/bin/incusd waitready --timeout=${cfg.startTimeout}"; @@ -222,15 +300,13 @@ in systemd.services.incus-preseed = lib.mkIf (cfg.preseed != null) { description = "Incus initialization with preseed file"; - wantedBy = ["incus.service"]; - after = ["incus.service"]; - bindsTo = ["incus.service"]; - partOf = ["incus.service"]; + wantedBy = [ "incus.service" ]; + after = [ "incus.service" ]; + bindsTo = [ "incus.service" ]; + partOf = [ "incus.service" ]; script = '' - ${cfg.package}/bin/incus admin init --preseed <${ - preseedFormat.generate "incus-preseed.yaml" cfg.preseed - } + ${cfg.package}/bin/incus admin init --preseed <${preseedFormat.generate "incus-preseed.yaml" cfg.preseed} ''; serviceConfig = { diff --git a/nixos/tests/incus/container.nix b/nixos/tests/incus/container.nix index 9260f70da98c..a71c5355046a 100644 --- a/nixos/tests/incus/container.nix +++ b/nixos/tests/incus/container.nix @@ -1,20 +1,21 @@ -import ../make-test-python.nix ({ pkgs, lib, extra ? {}, ... } : +import ../make-test-python.nix ({ pkgs, lib, extra ? {}, name ? "incus-container", ... } : let releases = import ../../release.nix { - configuration = { - # Building documentation makes the test unnecessarily take a longer time: - documentation.enable = lib.mkForce false; + configuration = lib.recursiveUpdate { + # Building documentation makes the test unnecessarily take a longer time: + documentation.enable = lib.mkForce false; - boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; - } // extra; + boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; + } + extra; }; container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system}; container-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system}; in { - name = "incus-container"; + inherit name; meta = { maintainers = lib.teams.lxc.members; diff --git a/nixos/tests/incus/default.nix b/nixos/tests/incus/default.nix index 32bc5396a164..b850c4fba018 100644 --- a/nixos/tests/incus/default.nix +++ b/nixos/tests/incus/default.nix @@ -5,16 +5,22 @@ handleTestOn, }: { - container-old-init = import ./container.nix { inherit system pkgs; }; - container-new-init = import ./container.nix { inherit system pkgs; extra = { - # Enable new systemd init - boot.initrd.systemd.enable = true; - }; }; + container-legacy-init = import ./container.nix { + name = "container-legacy-init"; + inherit system pkgs; + }; + container-systemd-init = import ./container.nix { + name = "container-systemd-init"; + inherit system pkgs; + extra = { + boot.initrd.systemd.enable = true; + }; + }; lxd-to-incus = import ./lxd-to-incus.nix { inherit system pkgs; }; openvswitch = import ./openvswitch.nix { inherit system pkgs; }; preseed = import ./preseed.nix { inherit system pkgs; }; socket-activated = import ./socket-activated.nix { inherit system pkgs; }; storage = import ./storage.nix { inherit system pkgs; }; - ui = import ./ui.nix {inherit system pkgs;}; + ui = import ./ui.nix { inherit system pkgs; }; virtual-machine = handleTestOn [ "x86_64-linux" ] ./virtual-machine.nix { inherit system pkgs; }; } diff --git a/nixos/tests/incus/lxd-to-incus.nix b/nixos/tests/incus/lxd-to-incus.nix index 262f63c0f26f..e93b76591eca 100644 --- a/nixos/tests/incus/lxd-to-incus.nix +++ b/nixos/tests/incus/lxd-to-incus.nix @@ -95,7 +95,7 @@ import ../make-test-python.nix ( machine.wait_for_unit("incus.service") with machine.nested("run migration"): - machine.succeed("lxd-to-incus --yes") + machine.succeed("${pkgs.incus}/bin/lxd-to-incus --yes") with machine.nested("verify resources migrated to incus"): machine.succeed("incus config show container") diff --git a/pkgs/by-name/in/incus/529.patch b/pkgs/by-name/in/incus/529.patch new file mode 100644 index 000000000000..5e4156b907ca --- /dev/null +++ b/pkgs/by-name/in/incus/529.patch @@ -0,0 +1,29 @@ +From 32a4beecbf8098fdbb15ef5f36088956922630f7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?St=C3=A9phane=20Graber?= +Date: Fri, 23 Feb 2024 18:47:15 -0500 +Subject: [PATCH] incusd/device/disk: Fix incorrect block volume usage +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Stéphane Graber +--- + internal/server/device/disk.go | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/internal/server/device/disk.go b/internal/server/device/disk.go +index 0d19e21139..4f9a3e7c1b 100644 +--- a/internal/server/device/disk.go ++++ b/internal/server/device/disk.go +@@ -339,6 +339,11 @@ func (d *disk) validateConfig(instConf instance.ConfigReader) error { + var usedBy []string + + err = storagePools.VolumeUsedByInstanceDevices(d.state, d.pool.Name(), storageProjectName, &dbVolume.StorageVolume, true, func(inst db.InstanceArgs, project api.Project, usedByDevices []string) error { ++ // Don't count the current instance. ++ if d.inst != nil && d.inst.Project().Name == inst.Project && d.inst.Name() == inst.Name { ++ return nil ++ } ++ + usedBy = append(usedBy, inst.Name) + + return nil diff --git a/pkgs/by-name/in/incus/client.nix b/pkgs/by-name/in/incus/client.nix index 76f792377b10..5d69725ba59d 100644 --- a/pkgs/by-name/in/incus/client.nix +++ b/pkgs/by-name/in/incus/client.nix @@ -1,28 +1,28 @@ { lts ? false, + meta, + patches, + src, + vendorHash, + version, lib, buildGoModule, - fetchpatch, - fetchFromGitHub, installShellFiles, }: let - releaseFile = if lts then ./lts.nix else ./latest.nix; - inherit (import releaseFile { inherit fetchpatch; }) version hash vendorHash; + pname = "incus${lib.optionalString lts "-lts"}-client"; in -buildGoModule rec { - pname = "incus-client"; - - inherit vendorHash version; - - src = fetchFromGitHub { - owner = "lxc"; - repo = "incus"; - rev = "refs/tags/v${version}"; - inherit hash; - }; +buildGoModule { + inherit + meta + patches + pname + src + vendorHash + version + ; CGO_ENABLED = 0; @@ -41,14 +41,4 @@ buildGoModule rec { # don't run the full incus test suite doCheck = false; - - meta = { - description = "Powerful system container and virtual machine manager"; - homepage = "https://linuxcontainers.org/incus"; - changelog = "https://github.com/lxc/incus/releases/tag/v${version}"; - license = lib.licenses.asl20; - maintainers = lib.teams.lxc.members; - platforms = lib.platforms.unix; - mainProgram = "incus"; - }; } diff --git a/pkgs/by-name/in/incus/unwrapped.nix b/pkgs/by-name/in/incus/generic.nix similarity index 73% rename from pkgs/by-name/in/incus/unwrapped.nix rename to pkgs/by-name/in/incus/generic.nix index 7a28737ea390..f6a8954066c3 100644 --- a/pkgs/by-name/in/incus/unwrapped.nix +++ b/pkgs/by-name/in/incus/generic.nix @@ -1,10 +1,18 @@ { + hash, lts ? false, + patches, + updateScriptArgs ? "", + vendorHash, + version, +}: +{ + callPackage, lib, buildGoModule, - fetchpatch, fetchFromGitHub, + writeScript, writeShellScript, acl, cowsql, @@ -19,31 +27,28 @@ }: let - releaseFile = if lts then ./lts.nix else ./latest.nix; - inherit (import releaseFile { inherit fetchpatch; }) - version - hash - patches - vendorHash - ; - name = "incus${lib.optionalString lts "-lts"}"; + pname = "incus${lib.optionalString lts "-lts"}"; in -buildGoModule { - pname = "${name}-unwrapped"; - - inherit patches vendorHash version; +buildGoModule rec { + inherit + patches + pname + vendorHash + version + ; src = fetchFromGitHub { owner = "lxc"; repo = "incus"; - rev = "v${version}"; + rev = "refs/tags/v${version}"; inherit hash; }; + # replace with env var > 0.6 https://github.com/lxc/incus/pull/610 postPatch = '' substituteInPlace internal/usbid/load.go \ - --replace "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids" + --replace-fail "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids" ''; excludedPackages = [ @@ -107,12 +112,23 @@ buildGoModule { ''; passthru = { - tests.incus = nixosTests.incus; + client = callPackage ./client.nix { + inherit + lts + meta + patches + src + vendorHash + version + ; + }; - updateScript = writeShellScript "update-incus" '' - nix-update ${name}.unwrapped -vr 'v(.*)' --override-filename pkgs/by-name/in/incus/${ - if lts then "lts" else "latest" - }.nix + tests = nixosTests.incus; + + ui = callPackage ./ui.nix { }; + + updateScript = writeScript "ovs-update.nu" '' + ${./update.nu} ${updateScriptArgs} ''; }; @@ -123,5 +139,6 @@ buildGoModule { license = lib.licenses.asl20; maintainers = lib.teams.lxc.members; platforms = lib.platforms.linux; + mainProgram = "incus"; }; } diff --git a/pkgs/by-name/in/incus/latest.nix b/pkgs/by-name/in/incus/latest.nix deleted file mode 100644 index 78c09a857488..000000000000 --- a/pkgs/by-name/in/incus/latest.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ fetchpatch }: -{ - hash = "sha256-tGuAS0lZvoYb+TvmCklQ8TADZhbm4w/lhdI0ycS4/0o="; - version = "0.6.0"; - vendorHash = "sha256-+WmgLOEBJ/7GF596iiTgyTPxn8l+hE6RVqjLKfCi5rs="; - patches = [ - (fetchpatch { - url = "https://github.com/lxc/incus/pull/529.patch"; - hash = "sha256-2aaPrzW/LVJidWeom0rqYOGpT2gvuV1yHLJN/TwQ1fk="; - }) - ]; -} diff --git a/pkgs/by-name/in/incus/lts.nix b/pkgs/by-name/in/incus/lts.nix index a78deb48e23b..1537d4d99bc6 100644 --- a/pkgs/by-name/in/incus/lts.nix +++ b/pkgs/by-name/in/incus/lts.nix @@ -1,3 +1,3 @@ # this release doesn't exist yet, but satisfay the by-name checks # will be added as incus-lts in all-packages.nix once ready -_: { } +import ./generic.nix { } diff --git a/pkgs/by-name/in/incus/package.nix b/pkgs/by-name/in/incus/package.nix index 2958ab036ac9..40fd52de8617 100644 --- a/pkgs/by-name/in/incus/package.nix +++ b/pkgs/by-name/in/incus/package.nix @@ -1,157 +1,9 @@ -{ - lts ? false, - - lib, - callPackage, - linkFarm, - makeWrapper, - stdenv, - symlinkJoin, - writeShellScriptBin, - acl, - apparmor-parser, - apparmor-profiles, - attr, - bash, - btrfs-progs, - cdrkit, - criu, - dnsmasq, - e2fsprogs, - getent, - gnutar, - gptfdisk, - gzip, - iproute2, - iptables, - kmod, - lvm2, - minio, - nftables, - OVMF, - qemu_kvm, - qemu-utils, - rsync, - spice-gtk, - squashfsTools, - thin-provisioning-tools, - util-linux, - virtiofsd, - xz, -}: -let - unwrapped = callPackage ./unwrapped.nix { inherit lts; }; - client = callPackage ./client.nix { inherit lts; }; - name = "incus${lib.optionalString lts "-lts"}"; - - binPath = lib.makeBinPath [ - acl - attr - bash - btrfs-progs - cdrkit - criu - dnsmasq - e2fsprogs - getent - gnutar - gptfdisk - gzip - iproute2 - iptables - kmod - lvm2 - minio - nftables - qemu_kvm - qemu-utils - rsync - squashfsTools - thin-provisioning-tools - util-linux - virtiofsd - xz - - (writeShellScriptBin "apparmor_parser" '' - exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@" - '') +import ./generic.nix { + hash = "sha256-tGuAS0lZvoYb+TvmCklQ8TADZhbm4w/lhdI0ycS4/0o="; + version = "0.6.0"; + vendorHash = "sha256-+WmgLOEBJ/7GF596iiTgyTPxn8l+hE6RVqjLKfCi5rs="; + patches = [ + # fix storage bug, fixed in > 0.6 + ./529.patch ]; - - clientBinPath = [ spice-gtk ]; - - ovmf-2mb = OVMF.override { - secureBoot = true; - fdSize2MB = true; - }; - - ovmf-4mb = OVMF.override { - secureBoot = true; - fdSize4MB = true; - }; - - ovmf-prefix = if stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF"; - - # mimic ovmf from https://github.com/canonical/incus-pkg-snap/blob/3abebe1dfeb20f9b7729556960c7e9fe6ad5e17c/snapcraft.yaml#L378 - # also found in /snap/incus/current/share/qemu/ on a snap install - ovmf = linkFarm "incus-ovmf" [ - { - name = "OVMF_CODE.2MB.fd"; - path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; - } - { - name = "OVMF_CODE.4MB.fd"; - path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd"; - } - { - name = "OVMF_CODE.fd"; - path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; - } - - { - name = "OVMF_VARS.2MB.fd"; - path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; - } - { - name = "OVMF_VARS.2MB.ms.fd"; - path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; - } - { - name = "OVMF_VARS.4MB.fd"; - path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; - } - { - name = "OVMF_VARS.4MB.ms.fd"; - path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; - } - { - name = "OVMF_VARS.fd"; - path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; - } - { - name = "OVMF_VARS.ms.fd"; - path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; - } - ]; -in -symlinkJoin { - name = "${name}-${unwrapped.version}"; - - paths = [ unwrapped ]; - - nativeBuildInputs = [ makeWrapper ]; - - postBuild = '' - wrapProgram $out/bin/incusd --prefix PATH : ${lib.escapeShellArg binPath}:${qemu_kvm}/libexec:$out/bin --set INCUS_OVMF_PATH ${ovmf} - - wrapProgram $out/bin/incus --prefix PATH : ${lib.makeBinPath clientBinPath} - ''; - - passthru = { - inherit client unwrapped; - ui = callPackage ./ui.nix {}; - - inherit (unwrapped) tests; - }; - - inherit (unwrapped) meta pname version; } diff --git a/pkgs/by-name/in/incus/update.nu b/pkgs/by-name/in/incus/update.nu new file mode 100755 index 000000000000..1a0755e8f32d --- /dev/null +++ b/pkgs/by-name/in/incus/update.nu @@ -0,0 +1,22 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i nu -p nushell common-updater-scripts gnused + +def main [--lts = false, --regex: string] { + let attr = $"incus(if $lts {"-lts"})" + let file = $"(pwd)/pkgs/by-name/in/incus/(if $lts { "lts" } else { "package" }).nix" + + let tags = list-git-tags --url=https://github.com/lxc/incus | lines | sort --natural | str replace v '' + let latest_tag = if $regex == null { $tags } else { $tags | find --regex $regex } | last + let current_version = nix eval --raw -f default.nix $"($attr).version" | str trim + + if $latest_tag != $current_version { + update-source-version $attr $latest_tag $"--file=($file)" + + let oldVendorHash = nix-instantiate . --eval --strict -A $"($attr).goModules.drvAttrs.outputHash" --json | from json + let vendorHash = do { nix-build -A $"($attr).goModules" } | complete | get stderr | lines | str trim | find --regex 'got:[[:space:]]*sha256' | split row ' ' | last + open $file | str replace $oldVendorHash $vendorHash | save --force $file + + } + + {"lts?": $lts, before: $current_version, after: $latest_tag} +} From 11075319f28b5fc85c095c96e9538e5313f2fb9b Mon Sep 17 00:00:00 2001 From: ByteSudoer Date: Wed, 20 Mar 2024 23:28:06 +0100 Subject: [PATCH 034/114] init vidmerger at 0.3.2 --- pkgs/by-name/vi/vidmerger/Cargo.lock | 750 ++++++++++++++++++++++++++ pkgs/by-name/vi/vidmerger/package.nix | 40 ++ 2 files changed, 790 insertions(+) create mode 100644 pkgs/by-name/vi/vidmerger/Cargo.lock create mode 100644 pkgs/by-name/vi/vidmerger/package.nix diff --git a/pkgs/by-name/vi/vidmerger/Cargo.lock b/pkgs/by-name/vi/vidmerger/Cargo.lock new file mode 100644 index 000000000000..1d9d03a4cd90 --- /dev/null +++ b/pkgs/by-name/vi/vidmerger/Cargo.lock @@ -0,0 +1,750 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "anstyle" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" + +[[package]] +name = "anyhow" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" + +[[package]] +name = "assert_cmd" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8" +dependencies = [ + "anstyle", + "bstr", + "doc-comment", + "predicates", + "predicates-core", + "predicates-tree", + "wait-timeout", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + +[[package]] +name = "bstr" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +dependencies = [ + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_derive", + "clap_lex", + "indexmap", + "once_cell", + "strsim", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap_derive" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "colored" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" +dependencies = [ + "is-terminal", + "lazy_static", + "winapi 0.3.9", +] + +[[package]] +name = "ctor" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "either" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "is-terminal" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys", +] + +[[package]] +name = "k9" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ddb58b0079a063218472916af599f2753ccb40942cdaba9d1f3fefccef17a9" +dependencies = [ + "anyhow", + "colored", + "diff", + "lazy_static", + "libc", + "proc-macro2", + "regex", + "syn 1.0.109", + "term_size", +] + +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "nanoid" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" +dependencies = [ + "rand", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "path-slash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498a099351efa4becc6a19c72aa9270598e8fd274ca47052e37455241c88b696" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "predicates" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +dependencies = [ + "anstyle", + "difflib", + "predicates-core", +] + +[[package]] +name = "predicates-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + +[[package]] +name = "predicates-tree" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "regex" +version = "1.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "rustix" +version = "0.38.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +dependencies = [ + "bitflags 2.4.2", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.53", +] + +[[package]] +name = "stdext" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a61b4ae487cb43d0479907e74d36f8813e9940bd3b1adcbecc69fe8a0cee3ec" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system_shutdown" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "035e081d603551d8d78db27d2232913269c749ea67648c369100049820406a14" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "term" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa63644f74ce96fbeb9b794f66aff2a52d601cbd5e80f4b97123e3899f4570f1" +dependencies = [ + "kernel32-sys", + "winapi 0.2.8", +] + +[[package]] +name = "term-painter" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcaa948f0e3e38470cd8dc8dcfe561a75c9e43f28075bb183845be2b9b3c08cf" +dependencies = [ + "term", +] + +[[package]] +name = "term_size" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9" +dependencies = [ + "libc", + "winapi 0.3.9", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "termtree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + +[[package]] +name = "textwrap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "vidmerger" +version = "0.3.2" +dependencies = [ + "assert_cmd", + "clap", + "ctor", + "k9", + "nanoid", + "path-slash", + "regex", + "stdext", + "system_shutdown", + "term-painter", + "which", +] + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi 0.3.9", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" diff --git a/pkgs/by-name/vi/vidmerger/package.nix b/pkgs/by-name/vi/vidmerger/package.nix new file mode 100644 index 000000000000..86988b1dbd56 --- /dev/null +++ b/pkgs/by-name/vi/vidmerger/package.nix @@ -0,0 +1,40 @@ +{ lib +, ffmpeg +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "vidmerger"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "TGotwig"; + repo = "vidmerger"; + rev = version; + hash = "sha256-E3Y1UaYXl6NdCMM7IepqFzWNuHaMGLCN5BvQ/lxjFoc="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + postPatch = '' + cp ${./Cargo.lock} Cargo.lock + ''; + + # Running cargo test -- . fails because it expects to have two mp4 files so that it can test the video merging functionalities + doCheck = false; + + buildInputs = [ + ffmpeg + ]; + + meta = with lib; { + description = "Merge video & audio files via CLI "; + homepage = "https://github.com/TGotwig/vidmerger"; + license = licenses.mit; + maintainers = with maintainers; [ ByteSudoer ]; + mainProgram = "vidmerger"; + }; +} From ebdf6a1d1e084bd73bc4123226ba5e700e8a1f5e Mon Sep 17 00:00:00 2001 From: ByteSudoer Date: Thu, 21 Mar 2024 02:41:09 +0100 Subject: [PATCH 035/114] lib.licenses: added The commons clause license --- lib/licenses.nix | 2573 +++++++++++++++++++++++----------------------- 1 file changed, 1291 insertions(+), 1282 deletions(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 30ca31ff71f2..5d4a53851d33 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -1,1284 +1,1293 @@ { lib }: -lib.mapAttrs (lname: lset: let - defaultLicense = { - shortName = lname; - free = true; # Most of our licenses are Free, explicitly declare unfree additions as such! - deprecated = false; - }; - - mkLicense = licenseDeclaration: let - applyDefaults = license: defaultLicense // license; - applySpdx = license: - if license ? spdxId - then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; } - else license; - applyRedistributable = license: { redistributable = license.free; } // license; - in lib.pipe licenseDeclaration [ - applyDefaults - applySpdx - applyRedistributable - ]; -in mkLicense lset) ({ - /* License identifiers from spdx.org where possible. - * If you cannot find your license here, then look for a similar license or - * add it to this list. The URL mentioned above is a good source for inspiration. - */ - - abstyles = { - spdxId = "Abstyles"; - fullName = "Abstyles License"; - }; - - acsl14 = { - fullName = "Anti-Capitalist Software License v1.4"; - url = "https://anticapitalist.software/"; - /* restrictions on corporations apply for both use and redistribution */ - free = false; - redistributable = false; - }; - - activision = { - # https://doomwiki.org/wiki/Raven_source_code_licensing - fullName = "Activision EULA"; - url = "https://www.doomworld.com/eternity/activision_eula.txt"; - free = false; - }; - - afl20 = { - spdxId = "AFL-2.0"; - fullName = "Academic Free License v2.0"; - }; - - afl21 = { - spdxId = "AFL-2.1"; - fullName = "Academic Free License v2.1"; - }; - - afl3 = { - spdxId = "AFL-3.0"; - fullName = "Academic Free License v3.0"; - }; - - agpl3Only = { - spdxId = "AGPL-3.0-only"; - fullName = "GNU Affero General Public License v3.0 only"; - }; - - agpl3Plus = { - spdxId = "AGPL-3.0-or-later"; - fullName = "GNU Affero General Public License v3.0 or later"; - }; - - aladdin = { - spdxId = "Aladdin"; - fullName = "Aladdin Free Public License"; - free = false; - }; - - amazonsl = { - fullName = "Amazon Software License"; - url = "https://aws.amazon.com/asl/"; - free = false; - }; - - amd = { - fullName = "AMD License Agreement"; - url = "https://developer.amd.com/amd-license-agreement/"; - free = false; - }; - - aom = { - fullName = "Alliance for Open Media Patent License 1.0"; - url = "https://aomedia.org/license/patent-license/"; - }; - - apsl10 = { - spdxId = "APSL-1.0"; - fullName = "Apple Public Source License 1.0"; - }; - - apsl20 = { - spdxId = "APSL-2.0"; - fullName = "Apple Public Source License 2.0"; - }; - - arphicpl = { - spdxId = "Arphic-1999"; - fullName = "Arphic Public License"; - url = "https://www.freedesktop.org/wiki/Arphic_Public_License/"; - }; - - artistic1 = { - spdxId = "Artistic-1.0"; - fullName = "Artistic License 1.0"; - }; - - artistic1-cl8 = { - spdxId = "Artistic-1.0-cl8"; - fullName = "Artistic License 1.0 w/clause 8"; - }; - - artistic2 = { - spdxId = "Artistic-2.0"; - fullName = "Artistic License 2.0"; - }; - - asl20 = { - spdxId = "Apache-2.0"; - fullName = "Apache License 2.0"; - }; - - asl20-llvm = { - spdxId = "Apache-2.0 WITH LLVM-exception"; - fullName = "Apache License 2.0 with LLVM Exceptions"; - }; - - bitstreamVera = { - spdxId = "Bitstream-Vera"; - fullName = "Bitstream Vera Font License"; - }; - - bitTorrent10 = { - spdxId = "BitTorrent-1.0"; - fullName = " BitTorrent Open Source License v1.0"; - }; - - bitTorrent11 = { - spdxId = "BitTorrent-1.1"; - fullName = " BitTorrent Open Source License v1.1"; - }; - - bola11 = { - url = "https://blitiri.com.ar/p/bola/"; - fullName = "Buena Onda License Agreement 1.1"; - }; - - boost = { - spdxId = "BSL-1.0"; - fullName = "Boost Software License 1.0"; - }; - - beerware = { - spdxId = "Beerware"; - fullName = "Beerware License"; - }; - - blueOak100 = { - spdxId = "BlueOak-1.0.0"; - fullName = "Blue Oak Model License 1.0.0"; - }; - - bsd0 = { - spdxId = "0BSD"; - fullName = "BSD Zero Clause License"; - }; - - bsd1 = { - spdxId = "BSD-1-Clause"; - fullName = "BSD 1-Clause License"; - }; - - bsd2 = { - spdxId = "BSD-2-Clause"; - fullName = ''BSD 2-clause "Simplified" License''; - }; - - bsd2Patent = { - spdxId = "BSD-2-Clause-Patent"; - fullName = "BSD-2-Clause Plus Patent License"; - }; - - bsd2WithViews = { - spdxId = "BSD-2-Clause-Views"; - fullName = "BSD 2-Clause with views sentence"; - }; - - bsd3 = { - spdxId = "BSD-3-Clause"; - fullName = ''BSD 3-clause "New" or "Revised" License''; - }; - - bsd3Clear = { - spdxId = "BSD-3-Clause-Clear"; - fullName = "BSD 3-Clause Clear License"; - }; - - bsdOriginal = { - spdxId = "BSD-4-Clause"; - fullName = ''BSD 4-clause "Original" or "Old" License''; - }; - - bsdOriginalShortened = { - spdxId = "BSD-4-Clause-Shortened"; - fullName = "BSD 4 Clause Shortened"; - }; - - bsdOriginalUC = { - spdxId = "BSD-4-Clause-UC"; - fullName = "BSD 4-Clause University of California-Specific"; - }; - - bsdProtection = { - spdxId = "BSD-Protection"; - fullName = "BSD Protection License"; - }; - - bsl11 = { - fullName = "Business Source License 1.1"; - url = "https://mariadb.com/bsl11"; - free = false; - redistributable = true; - }; - - caossl = { - fullName = "Computer Associates Open Source Licence Version 1.0"; - url = "http://jxplorer.org/licence.html"; - }; - - cal10 = { - spdxId = "CAL-1.0"; - fullName = "Cryptographic Autonomy License version 1.0 (CAL-1.0)"; - url = "https://opensource.org/licenses/CAL-1.0"; - }; - - caldera = { - spdxId = "Caldera"; - fullName = "Caldera License"; - url = "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf"; - }; - - capec = { - fullName = "Common Attack Pattern Enumeration and Classification"; - url = "https://capec.mitre.org/about/termsofuse.html"; - }; - - clArtistic = { - spdxId = "ClArtistic"; - fullName = "Clarified Artistic License"; - }; - - cc0 = { - spdxId = "CC0-1.0"; - fullName = "Creative Commons Zero v1.0 Universal"; - }; - - cc-by-nc-nd-30 = { - spdxId = "CC-BY-NC-ND-3.0"; - fullName = "Creative Commons Attribution Non Commercial No Derivative Works 3.0 Unported"; - free = false; - }; - - cc-by-nc-nd-40 = { - spdxId = "CC-BY-NC-ND-4.0"; - fullName = "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International"; - free = false; - }; - - cc-by-nc-sa-20 = { - spdxId = "CC-BY-NC-SA-2.0"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0"; - free = false; - }; - - cc-by-nc-sa-25 = { - spdxId = "CC-BY-NC-SA-2.5"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5"; - free = false; - }; - - cc-by-nc-sa-30 = { - spdxId = "CC-BY-NC-SA-3.0"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0"; - free = false; - }; - - cc-by-nc-sa-40 = { - spdxId = "CC-BY-NC-SA-4.0"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; - free = false; - }; - - cc-by-nc-30 = { - spdxId = "CC-BY-NC-3.0"; - fullName = "Creative Commons Attribution Non Commercial 3.0 Unported"; - free = false; - }; - - cc-by-nc-40 = { - spdxId = "CC-BY-NC-4.0"; - fullName = "Creative Commons Attribution Non Commercial 4.0 International"; - free = false; - }; - - cc-by-nd-30 = { - spdxId = "CC-BY-ND-3.0"; - fullName = "Creative Commons Attribution-No Derivative Works v3.00"; - free = false; - }; - - cc-by-sa-10 = { - spdxId = "CC-BY-SA-1.0"; - fullName = "Creative Commons Attribution Share Alike 1.0"; - }; - - cc-by-sa-20 = { - spdxId = "CC-BY-SA-2.0"; - fullName = "Creative Commons Attribution Share Alike 2.0"; - }; - - cc-by-sa-25 = { - spdxId = "CC-BY-SA-2.5"; - fullName = "Creative Commons Attribution Share Alike 2.5"; - }; - - cc-by-10 = { - spdxId = "CC-BY-1.0"; - fullName = "Creative Commons Attribution 1.0"; - }; - - cc-by-20 = { - spdxId = "CC-BY-2.0"; - fullName = "Creative Commons Attribution 2.0"; - }; - - cc-by-30 = { - spdxId = "CC-BY-3.0"; - fullName = "Creative Commons Attribution 3.0"; - }; - - cc-by-sa-30 = { - spdxId = "CC-BY-SA-3.0"; - fullName = "Creative Commons Attribution Share Alike 3.0"; - }; - - cc-by-40 = { - spdxId = "CC-BY-4.0"; - fullName = "Creative Commons Attribution 4.0"; - }; - - cc-by-sa-40 = { - spdxId = "CC-BY-SA-4.0"; - fullName = "Creative Commons Attribution Share Alike 4.0"; - }; - - cddl = { - spdxId = "CDDL-1.0"; - fullName = "Common Development and Distribution License 1.0"; - }; - - cecill20 = { - spdxId = "CECILL-2.0"; - fullName = "CeCILL Free Software License Agreement v2.0"; - }; - - cecill21 = { - spdxId = "CECILL-2.1"; - fullName = "CeCILL Free Software License Agreement v2.1"; - }; - - cecill-b = { - spdxId = "CECILL-B"; - fullName = "CeCILL-B Free Software License Agreement"; - }; - - cecill-c = { - spdxId = "CECILL-C"; - fullName = "CeCILL-C Free Software License Agreement"; - }; - - cpal10 = { - spdxId = "CPAL-1.0"; - fullName = "Common Public Attribution License 1.0"; - }; - - cpl10 = { - spdxId = "CPL-1.0"; - fullName = "Common Public License 1.0"; - }; - - curl = { - spdxId = "curl"; - fullName = "curl License"; - }; - - doc = { - spdxId = "DOC"; - fullName = "DOC License"; - }; - - drl10 = { - spdxId = "DRL-1.0"; - fullName = "Detection Rule License 1.0"; - }; - - dtoa = { - spdxId = "dtoa"; - fullName = "dtoa License"; - }; - - eapl = { - fullName = "EPSON AVASYS PUBLIC LICENSE"; - url = "https://avasys.jp/hp/menu000000700/hpg000000603.htm"; - free = false; - }; - - ecl20 = { - fullName = "Educational Community License, Version 2.0"; - url = "https://opensource.org/licenses/ECL-2.0"; - shortName = "ECL 2.0"; - spdxId = "ECL-2.0"; - }; - - efl10 = { - spdxId = "EFL-1.0"; - fullName = "Eiffel Forum License v1.0"; - }; - - efl20 = { - spdxId = "EFL-2.0"; - fullName = "Eiffel Forum License v2.0"; - }; - - elastic20 = { - spdxId = "Elastic-2.0"; - fullName = "Elastic License 2.0"; - url = "https://github.com/elastic/elasticsearch/blob/main/licenses/ELASTIC-LICENSE-2.0.txt"; - free = false; - }; - - epl10 = { - spdxId = "EPL-1.0"; - fullName = "Eclipse Public License 1.0"; - }; - - epl20 = { - spdxId = "EPL-2.0"; - fullName = "Eclipse Public License 2.0"; - }; - - epson = { - fullName = "Seiko Epson Corporation Software License Agreement for Linux"; - url = "https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html"; - free = false; - }; - - eupl11 = { - spdxId = "EUPL-1.1"; - fullName = "European Union Public License 1.1"; - }; - - eupl12 = { - spdxId = "EUPL-1.2"; - fullName = "European Union Public License 1.2"; - }; - - fdl11Only = { - spdxId = "GFDL-1.1-only"; - fullName = "GNU Free Documentation License v1.1 only"; - }; - - fdl11Plus = { - spdxId = "GFDL-1.1-or-later"; - fullName = "GNU Free Documentation License v1.1 or later"; - }; - - fdl12Only = { - spdxId = "GFDL-1.2-only"; - fullName = "GNU Free Documentation License v1.2 only"; - }; - - fdl12Plus = { - spdxId = "GFDL-1.2-or-later"; - fullName = "GNU Free Documentation License v1.2 or later"; - }; - - fdl13Only = { - spdxId = "GFDL-1.3-only"; - fullName = "GNU Free Documentation License v1.3 only"; - }; - - fdl13Plus = { - spdxId = "GFDL-1.3-or-later"; - fullName = "GNU Free Documentation License v1.3 or later"; - }; - - ffsl = { - fullName = "Floodgap Free Software License"; - url = "https://www.floodgap.com/software/ffsl/license.html"; - free = false; - }; - - fraunhofer-fdk = { - fullName = "Fraunhofer FDK AAC Codec Library"; - spdxId = "FDK-AAC"; - }; - - free = { - fullName = "Unspecified free software license"; - }; - - ftl = { - spdxId = "FTL"; - fullName = "Freetype Project License"; - }; - - g4sl = { - fullName = "Geant4 Software License"; - url = "https://geant4.web.cern.ch/geant4/license/LICENSE.html"; - }; - - geogebra = { - fullName = "GeoGebra Non-Commercial License Agreement"; - url = "https://www.geogebra.org/license"; - free = false; - }; - - generaluser = { - fullName = "GeneralUser GS License v2.0"; - url = "https://www.schristiancollins.com/generaluser.php"; # license included in sources - }; - - gfl = { - fullName = "GUST Font License"; - url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-LICENSE.txt"; - }; - - gfsl = { - fullName = "GUST Font Source License"; - url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-SOURCE-LICENSE.txt"; - }; - - gpl1Only = { - spdxId = "GPL-1.0-only"; - fullName = "GNU General Public License v1.0 only"; - }; - - gpl1Plus = { - spdxId = "GPL-1.0-or-later"; - fullName = "GNU General Public License v1.0 or later"; - }; - - gpl2Only = { - spdxId = "GPL-2.0-only"; - fullName = "GNU General Public License v2.0 only"; - }; - - gpl2Classpath = { - spdxId = "GPL-2.0-with-classpath-exception"; - fullName = "GNU General Public License v2.0 only (with Classpath exception)"; - }; - - gpl2ClasspathPlus = { - fullName = "GNU General Public License v2.0 or later (with Classpath exception)"; - url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; - }; - - gpl2Oss = { - fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)"; - url = "https://www.mysql.com/about/legal/licensing/foss-exception"; - }; - - gpl2Plus = { - spdxId = "GPL-2.0-or-later"; - fullName = "GNU General Public License v2.0 or later"; - }; - - gpl3Only = { - spdxId = "GPL-3.0-only"; - fullName = "GNU General Public License v3.0 only"; - }; - - gpl3Plus = { - spdxId = "GPL-3.0-or-later"; - fullName = "GNU General Public License v3.0 or later"; - }; - - gpl3ClasspathPlus = { - fullName = "GNU General Public License v3.0 or later (with Classpath exception)"; - url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; - }; - - hpnd = { - spdxId = "HPND"; - fullName = "Historic Permission Notice and Disclaimer"; - }; - - hpndSellVariant = { - fullName = "Historical Permission Notice and Disclaimer - sell variant"; - spdxId = "HPND-sell-variant"; - }; - - # Intel's license, seems free - iasl = { - spdxId = "Intel-ACPI"; - fullName = "iASL"; - url = "https://old.calculate-linux.org/packages/licenses/iASL"; - }; - - ijg = { - spdxId = "IJG"; - fullName = "Independent JPEG Group License"; - }; - - imagemagick = { - fullName = "ImageMagick License"; - spdxId = "ImageMagick"; - }; - - imlib2 = { - spdxId = "Imlib2"; - fullName = "Imlib2 License"; - }; - - info-zip = { - spdxId = "Info-ZIP"; - fullName = "Info-ZIP License"; - url = "https://infozip.sourceforge.net/license.html"; - }; - - inria-compcert = { - fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler"; - url = "https://compcert.org/doc/LICENSE.txt"; - free = false; - }; - - inria-icesl = { - fullName = "End User License Agreement for IceSL Software"; - url = "https://icesl.loria.fr/assets/pdf/EULA_IceSL_binary.pdf"; - free = false; - }; - - inria-zelus = { - fullName = "INRIA Non-Commercial License Agreement for the Zélus compiler"; - url = "https://github.com/INRIA/zelus/raw/829f2b97cba93b0543a9ca0272269e6b8fdad356/LICENSE"; - free = false; - }; - - ipa = { - spdxId = "IPA"; - fullName = "IPA Font License"; - }; - - ipl10 = { - spdxId = "IPL-1.0"; - fullName = "IBM Public License v1.0"; - }; - - isc = { - spdxId = "ISC"; - fullName = "ISC License"; - }; - - # Proprietary binaries; free to redistribute without modification. - databricks = { - fullName = "Databricks Proprietary License"; - url = "https://pypi.org/project/databricks-connect"; - free = false; - }; - - databricks-dbx = { - fullName = "DataBricks eXtensions aka dbx License"; - url = "https://github.com/databrickslabs/dbx/blob/743b579a4ac44531f764c6e522dbe5a81a7dc0e4/LICENSE"; - free = false; - redistributable = false; - }; - - fair = { - fullName = "Fair License"; - spdxId = "Fair"; - free = true; - }; - - fairsource09 = { - fullName = "Fair Source License, version 0.9"; - url = "https://fair.io/v0.9.txt"; - free = false; - redistributable = true; - }; - - hl3 = { - fullName = "Hippocratic License v3.0"; - url = "https://firstdonoharm.dev/version/3/0/core.txt"; - free = false; - redistributable = true; - }; - - issl = { - fullName = "Intel Simplified Software License"; - url = "https://software.intel.com/en-us/license/intel-simplified-software-license"; - free = false; - }; - - knuth = { - fullName = "Knuth CTAN License"; - spdxId = "Knuth-CTAN"; - }; - - lal12 = { - spdxId = "LAL-1.2"; - fullName = "Licence Art Libre 1.2"; - }; - - lal13 = { - spdxId = "LAL-1.3"; - fullName = "Licence Art Libre 1.3"; - }; - - lens = { - fullName = "Lens Terms of Service Agreement"; - url = "https://k8slens.dev/licenses/tos"; - free = false; - }; - - lgpl2Only = { - spdxId = "LGPL-2.0-only"; - fullName = "GNU Library General Public License v2 only"; - }; - - lgpl2Plus = { - spdxId = "LGPL-2.0-or-later"; - fullName = "GNU Library General Public License v2 or later"; - }; - - lgpl21Only = { - spdxId = "LGPL-2.1-only"; - fullName = "GNU Lesser General Public License v2.1 only"; - }; - - lgpl21Plus = { - spdxId = "LGPL-2.1-or-later"; - fullName = "GNU Lesser General Public License v2.1 or later"; - }; - - lgpl3Only = { - spdxId = "LGPL-3.0-only"; - fullName = "GNU Lesser General Public License v3.0 only"; - }; - - lgpl3Plus = { - spdxId = "LGPL-3.0-or-later"; - fullName = "GNU Lesser General Public License v3.0 or later"; - }; - - lgpllr = { - spdxId = "LGPLLR"; - fullName = "Lesser General Public License For Linguistic Resources"; - }; - - libpng = { - spdxId = "Libpng"; - fullName = "libpng License"; - }; - - libpng2 = { - spdxId = "libpng-2.0"; # Used since libpng 1.6.36. - fullName = "PNG Reference Library version 2"; - }; - - libssh2 = { - fullName = "libssh2 License"; - url = "https://www.libssh2.org/license.html"; - }; - - libtiff = { - spdxId = "libtiff"; - fullName = "libtiff License"; - }; - - llgpl21 = { - fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp"; - url = "https://opensource.franz.com/preamble.html"; - }; - - lppl1 = { - spdxId = "LPPL-1.0"; - fullName = "LaTeX Project Public License v1.0"; - }; - - lppl12 = { - spdxId = "LPPL-1.2"; - fullName = "LaTeX Project Public License v1.2"; - }; - - lppl13a = { - spdxId = "LPPL-1.3a"; - fullName = "LaTeX Project Public License v1.3a"; - }; - - lppl13c = { - spdxId = "LPPL-1.3c"; - fullName = "LaTeX Project Public License v1.3c"; - }; - - lpl-102 = { - spdxId = "LPL-1.02"; - fullName = "Lucent Public License v1.02"; - }; - - miros = { - spdxId = "MirOS"; - fullName = "MirOS License"; - url = "https://opensource.org/licenses/MirOS"; - }; - - # spdx.org does not (yet) differentiate between the X11 and Expat versions - # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions - mit = { - spdxId = "MIT"; - fullName = "MIT License"; - }; - # https://spdx.org/licenses/MIT-feh.html - mit-feh = { - spdxId = "MIT-feh"; - fullName = "feh License"; - }; - - mitAdvertising = { - spdxId = "MIT-advertising"; - fullName = "Enlightenment License (e16)"; - }; - - mit0 = { - spdxId = "MIT-0"; - fullName = "MIT No Attribution"; - }; - - mpl10 = { - spdxId = "MPL-1.0"; - fullName = "Mozilla Public License 1.0"; - }; - - mpl11 = { - spdxId = "MPL-1.1"; - fullName = "Mozilla Public License 1.1"; - }; - - mpl20 = { - spdxId = "MPL-2.0"; - fullName = "Mozilla Public License 2.0"; - }; - - mplus = { - spdxId = "mplus"; - fullName = "M+ Font License"; - }; - - mspl = { - spdxId = "MS-PL"; - fullName = "Microsoft Public License"; - }; - - mulan-psl2 = { - spdxId = "MulanPSL-2.0"; - fullName = "Mulan Permissive Software License, Version 2"; - url = "https://license.coscl.org.cn/MulanPSL2"; - }; - - nasa13 = { - spdxId = "NASA-1.3"; - fullName = "NASA Open Source Agreement 1.3"; - free = false; - }; - - ncsa = { - spdxId = "NCSA"; - fullName = "University of Illinois/NCSA Open Source License"; - }; - - ncul1 = { - spdxId = "NCUL1"; - fullName = "Netdata Cloud UI License v1.0"; - free = false; - redistributable = true; # Only if used in Netdata products. - url = "https://raw.githubusercontent.com/netdata/netdata/master/web/gui/v2/LICENSE.md"; - }; - - nlpl = { - spdxId = "NLPL"; - fullName = "No Limit Public License"; - }; - - nposl3 = { - spdxId = "NPOSL-3.0"; - fullName = "Non-Profit Open Software License 3.0"; - }; - - nvidiaCuda = { - shortName = "CUDA EULA"; - fullName = "CUDA Toolkit End User License Agreement (EULA)"; - url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; - free = false; - }; - - nvidiaCudaRedist = { - shortName = "CUDA EULA"; - fullName = "CUDA Toolkit End User License Agreement (EULA)"; - url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; - free = false; - redistributable = true; - }; - - obsidian = { - fullName = "Obsidian End User Agreement"; - url = "https://obsidian.md/eula"; - free = false; - }; - - ocamlLgplLinkingException = { - spdxId = "OCaml-LGPL-linking-exception"; - fullName = "OCaml LGPL Linking Exception"; - }; - - ocamlpro_nc = { - fullName = "OCamlPro Non Commercial license version 1"; - url = "https://alt-ergo.ocamlpro.com/http/alt-ergo-2.2.0/OCamlPro-Non-Commercial-License.pdf"; - free = false; - }; - - odbl = { - spdxId = "ODbL-1.0"; - fullName = "Open Data Commons Open Database License v1.0"; - }; - - ofl = { - spdxId = "OFL-1.1"; - fullName = "SIL Open Font License 1.1"; - }; - - oml = { - spdxId = "OML"; - fullName = "Open Market License"; - }; - - openldap = { - spdxId = "OLDAP-2.8"; - fullName = "Open LDAP Public License v2.8"; - }; - - openssl = { - spdxId = "OpenSSL"; - fullName = "OpenSSL License"; - }; - - opubl = { - spdxId = "OPUBL-1.0"; - fullName = "Open Publication License v1.0"; - }; - - osl2 = { - spdxId = "OSL-2.0"; - fullName = "Open Software License 2.0"; - }; - - osl21 = { - spdxId = "OSL-2.1"; - fullName = "Open Software License 2.1"; - }; - - osl3 = { - spdxId = "OSL-3.0"; - fullName = "Open Software License 3.0"; - }; - - parity70 = { - spdxId = "Parity-7.0.0"; - fullName = "Parity Public License 7.0.0"; - url = "https://paritylicense.com/versions/7.0.0.html"; - }; - - php301 = { - spdxId = "PHP-3.01"; - fullName = "PHP License v3.01"; - }; - - postgresql = { - spdxId = "PostgreSQL"; - fullName = "PostgreSQL License"; - }; - - postman = { - fullName = "Postman EULA"; - url = "https://www.getpostman.com/licenses/postman_base_app"; - free = false; - }; - - psfl = { - spdxId = "Python-2.0"; - fullName = "Python Software Foundation License version 2"; - url = "https://docs.python.org/license.html"; - }; - - publicDomain = { - fullName = "Public Domain"; - }; - - purdueBsd = { - fullName = " Purdue BSD-Style License"; # also know as lsof license - url = "https://enterprise.dejacode.com/licenses/public/purdue-bsd"; - }; - - prosperity30 = { - fullName = "Prosperity-3.0.0"; - free = false; - url = "https://prosperitylicense.com/versions/3.0.0.html"; - }; - - qhull = { - spdxId = "Qhull"; - fullName = "Qhull License"; - }; - - qpl = { - spdxId = "QPL-1.0"; - fullName = "Q Public License 1.0"; - }; - - qwt = { - fullName = "Qwt License, Version 1.0"; - url = "https://qwt.sourceforge.io/qwtlicense.html"; - }; - - ruby = { - spdxId = "Ruby"; - fullName = "Ruby License"; - }; - - sendmail = { - spdxId = "Sendmail"; - fullName = "Sendmail License"; - }; - - sgi-b-20 = { - spdxId = "SGI-B-2.0"; - fullName = "SGI Free Software License B v2.0"; - }; - - # Gentoo seems to treat it as a license: - # https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses/SGMLUG?id=7d999af4a47bf55e53e54713d98d145f935935c1 - sgmlug = { - fullName = "SGML UG SGML Parser Materials license"; - }; - - sleepycat = { - spdxId = "Sleepycat"; - fullName = "Sleepycat License"; - }; - - smail = { - shortName = "smail"; - fullName = "SMAIL General Public License"; - url = "https://sources.debian.org/copyright/license/debianutils/4.9.1/"; - }; - - smlnj = { - spdxId = "SMLNJ"; - fullName = "Standard ML of New Jersey License"; - }; - - sspl = { - shortName = "SSPL"; - fullName = "Server Side Public License"; - url = "https://www.mongodb.com/licensing/server-side-public-license"; - free = false; - # NOTE Debatable. - # The license a slightly modified AGPL but still considered unfree by the - # OSI for what seem like political reasons - redistributable = true; # Definitely redistributable though, it's an AGPL derivative - }; - - stk = { - shortName = "stk"; - fullName = "Synthesis Tool Kit 4.3"; - url = "https://github.com/thestk/stk/blob/master/LICENSE"; - }; - - sudo = { - shortName = "sudo"; - fullName = "Sudo License (ISC-style)"; - url = "https://www.sudo.ws/about/license/"; - }; - - sustainableUse = { - shortName = "sustainable"; - fullName = "Sustainable Use License"; - url = "https://github.com/n8n-io/n8n/blob/master/LICENSE.md"; - free = false; - redistributable = false; # only free to redistribute "for non-commercial purposes" - }; - - tsl = { - shortName = "TSL"; - fullName = "Timescale License Agreegment"; - url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE"; - unfree = true; - }; - - tcltk = { - spdxId = "TCL"; - fullName = "TCL/TK License"; - }; - - ucd = { - fullName = "Unicode Character Database License"; - url = "https://fedoraproject.org/wiki/Licensing:UCD"; - }; - - ufl = { - fullName = "Ubuntu Font License 1.0"; - url = "https://ubuntu.com/legal/font-licence"; - }; - - unfree = { - fullName = "Unfree"; - free = false; - }; - - unfreeRedistributable = { - fullName = "Unfree redistributable"; - free = false; - redistributable = true; - }; - - unfreeRedistributableFirmware = { - fullName = "Unfree redistributable firmware"; - redistributable = true; - # Note: we currently consider these "free" for inclusion in the - # channel and NixOS images. - }; - - unicode-dfs-2015 = { - spdxId = "Unicode-DFS-2015"; - fullName = "Unicode License Agreement - Data Files and Software (2015)"; - }; - - unicode-dfs-2016 = { - spdxId = "Unicode-DFS-2016"; - fullName = "Unicode License Agreement - Data Files and Software (2016)"; - }; - - unlicense = { - spdxId = "Unlicense"; - fullName = "The Unlicense"; - }; - - upl = { - spdxId = "UPL-1.0"; - fullName = "Universal Permissive License"; - url = "https://oss.oracle.com/licenses/upl/"; - }; - - vim = { - spdxId = "Vim"; - fullName = "Vim License"; - }; - - virtualbox-puel = { - fullName = "Oracle VM VirtualBox Extension Pack Personal Use and Evaluation License (PUEL)"; - url = "https://www.virtualbox.org/wiki/VirtualBox_PUEL"; - free = false; - }; - - vol-sl = { - fullName = "Volatility Software License, Version 1.0"; - url = "https://www.volatilityfoundation.org/license/vsl-v1.0"; - }; - - vsl10 = { - spdxId = "VSL-1.0"; - fullName = "Vovida Software License v1.0"; - }; - - watcom = { - spdxId = "Watcom-1.0"; - fullName = "Sybase Open Watcom Public License 1.0"; - }; - - w3c = { - spdxId = "W3C"; - fullName = "W3C Software Notice and License"; - }; - - wadalab = { - fullName = "Wadalab Font License"; - url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab"; - }; - - wtfpl = { - spdxId = "WTFPL"; - fullName = "Do What The F*ck You Want To Public License"; - }; - - wxWindows = { - spdxId = "wxWindows"; - fullName = "wxWindows Library Licence, Version 3.1"; - }; - - x11 = { - spdxId = "X11"; - fullName = "X11 License"; - }; - - xfig = { - spdxId = "Xfig"; - fullName = "xfig"; - url = "https://mcj.sourceforge.net/authors.html#xfig"; - }; - - xinetd = { - spdxId = "xinetd"; - fullName = "xinetd License"; - }; - - zlib = { - spdxId = "Zlib"; - fullName = "zlib License"; - }; - - zpl20 = { - spdxId = "ZPL-2.0"; - fullName = "Zope Public License 2.0"; - }; - - zpl21 = { - spdxId = "ZPL-2.1"; - fullName = "Zope Public License 2.1"; - }; - - xskat = { - spdxId = "XSkat"; - fullName = "XSkat License"; - }; -} // { - # TODO: remove legacy aliases - agpl3 = { - spdxId = "AGPL-3.0"; - fullName = "GNU Affero General Public License v3.0"; - deprecated = true; - }; - gpl2 = { - spdxId = "GPL-2.0"; - fullName = "GNU General Public License v2.0"; - deprecated = true; - }; - gpl3 = { - spdxId = "GPL-3.0"; - fullName = "GNU General Public License v3.0"; - deprecated = true; - }; - lgpl2 = { - spdxId = "LGPL-2.0"; - fullName = "GNU Library General Public License v2"; - deprecated = true; - }; - lgpl21 = { - spdxId = "LGPL-2.1"; - fullName = "GNU Lesser General Public License v2.1"; - deprecated = true; - }; - lgpl3 = { - spdxId = "LGPL-3.0"; - fullName = "GNU Lesser General Public License v3.0"; - deprecated = true; - }; -}) +lib.mapAttrs + (lname: lset: + let + defaultLicense = { + shortName = lname; + free = true; # Most of our licenses are Free, explicitly declare unfree additions as such! + deprecated = false; + }; + + mkLicense = licenseDeclaration: + let + applyDefaults = license: defaultLicense // license; + applySpdx = license: + if license ? spdxId + then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; } + else license; + applyRedistributable = license: { redistributable = license.free; } // license; + in + lib.pipe licenseDeclaration [ + applyDefaults + applySpdx + applyRedistributable + ]; + in + mkLicense lset) + ({ + /* License identifiers from spdx.org where possible. + * If you cannot find your license here, then look for a similar license or + * add it to this list. The URL mentioned above is a good source for inspiration. + */ + + abstyles = { + spdxId = "Abstyles"; + fullName = "Abstyles License"; + }; + + acsl14 = { + fullName = "Anti-Capitalist Software License v1.4"; + url = "https://anticapitalist.software/"; + /* restrictions on corporations apply for both use and redistribution */ + free = false; + redistributable = false; + }; + + activision = { + # https://doomwiki.org/wiki/Raven_source_code_licensing + fullName = "Activision EULA"; + url = "https://www.doomworld.com/eternity/activision_eula.txt"; + free = false; + }; + + afl20 = { + spdxId = "AFL-2.0"; + fullName = "Academic Free License v2.0"; + }; + + afl21 = { + spdxId = "AFL-2.1"; + fullName = "Academic Free License v2.1"; + }; + + afl3 = { + spdxId = "AFL-3.0"; + fullName = "Academic Free License v3.0"; + }; + + agpl3Only = { + spdxId = "AGPL-3.0-only"; + fullName = "GNU Affero General Public License v3.0 only"; + }; + + agpl3Plus = { + spdxId = "AGPL-3.0-or-later"; + fullName = "GNU Affero General Public License v3.0 or later"; + }; + + aladdin = { + spdxId = "Aladdin"; + fullName = "Aladdin Free Public License"; + free = false; + }; + + amazonsl = { + fullName = "Amazon Software License"; + url = "https://aws.amazon.com/asl/"; + free = false; + }; + + amd = { + fullName = "AMD License Agreement"; + url = "https://developer.amd.com/amd-license-agreement/"; + free = false; + }; + + aom = { + fullName = "Alliance for Open Media Patent License 1.0"; + url = "https://aomedia.org/license/patent-license/"; + }; + + apsl10 = { + spdxId = "APSL-1.0"; + fullName = "Apple Public Source License 1.0"; + }; + + apsl20 = { + spdxId = "APSL-2.0"; + fullName = "Apple Public Source License 2.0"; + }; + + arphicpl = { + spdxId = "Arphic-1999"; + fullName = "Arphic Public License"; + url = "https://www.freedesktop.org/wiki/Arphic_Public_License/"; + }; + + artistic1 = { + spdxId = "Artistic-1.0"; + fullName = "Artistic License 1.0"; + }; + + artistic1-cl8 = { + spdxId = "Artistic-1.0-cl8"; + fullName = "Artistic License 1.0 w/clause 8"; + }; + + artistic2 = { + spdxId = "Artistic-2.0"; + fullName = "Artistic License 2.0"; + }; + + asl20 = { + spdxId = "Apache-2.0"; + fullName = "Apache License 2.0"; + }; + + asl20-llvm = { + spdxId = "Apache-2.0 WITH LLVM-exception"; + fullName = "Apache License 2.0 with LLVM Exceptions"; + }; + + bitstreamVera = { + spdxId = "Bitstream-Vera"; + fullName = "Bitstream Vera Font License"; + }; + + bitTorrent10 = { + spdxId = "BitTorrent-1.0"; + fullName = " BitTorrent Open Source License v1.0"; + }; + + bitTorrent11 = { + spdxId = "BitTorrent-1.1"; + fullName = " BitTorrent Open Source License v1.1"; + }; + + bola11 = { + url = "https://blitiri.com.ar/p/bola/"; + fullName = "Buena Onda License Agreement 1.1"; + }; + + boost = { + spdxId = "BSL-1.0"; + fullName = "Boost Software License 1.0"; + }; + + beerware = { + spdxId = "Beerware"; + fullName = "Beerware License"; + }; + + blueOak100 = { + spdxId = "BlueOak-1.0.0"; + fullName = "Blue Oak Model License 1.0.0"; + }; + + bsd0 = { + spdxId = "0BSD"; + fullName = "BSD Zero Clause License"; + }; + + bsd1 = { + spdxId = "BSD-1-Clause"; + fullName = "BSD 1-Clause License"; + }; + + bsd2 = { + spdxId = "BSD-2-Clause"; + fullName = ''BSD 2-clause "Simplified" License''; + }; + + bsd2Patent = { + spdxId = "BSD-2-Clause-Patent"; + fullName = "BSD-2-Clause Plus Patent License"; + }; + + bsd2WithViews = { + spdxId = "BSD-2-Clause-Views"; + fullName = "BSD 2-Clause with views sentence"; + }; + + bsd3 = { + spdxId = "BSD-3-Clause"; + fullName = ''BSD 3-clause "New" or "Revised" License''; + }; + + bsd3Clear = { + spdxId = "BSD-3-Clause-Clear"; + fullName = "BSD 3-Clause Clear License"; + }; + + bsdOriginal = { + spdxId = "BSD-4-Clause"; + fullName = ''BSD 4-clause "Original" or "Old" License''; + }; + + bsdOriginalShortened = { + spdxId = "BSD-4-Clause-Shortened"; + fullName = "BSD 4 Clause Shortened"; + }; + + bsdOriginalUC = { + spdxId = "BSD-4-Clause-UC"; + fullName = "BSD 4-Clause University of California-Specific"; + }; + + bsdProtection = { + spdxId = "BSD-Protection"; + fullName = "BSD Protection License"; + }; + + bsl11 = { + fullName = "Business Source License 1.1"; + url = "https://mariadb.com/bsl11"; + free = false; + redistributable = true; + }; + + caossl = { + fullName = "Computer Associates Open Source Licence Version 1.0"; + url = "http://jxplorer.org/licence.html"; + }; + + cal10 = { + spdxId = "CAL-1.0"; + fullName = "Cryptographic Autonomy License version 1.0 (CAL-1.0)"; + url = "https://opensource.org/licenses/CAL-1.0"; + }; + + caldera = { + spdxId = "Caldera"; + fullName = "Caldera License"; + url = "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf"; + }; + + capec = { + fullName = "Common Attack Pattern Enumeration and Classification"; + url = "https://capec.mitre.org/about/termsofuse.html"; + }; + + clArtistic = { + spdxId = "ClArtistic"; + fullName = "Clarified Artistic License"; + }; + + cc0 = { + spdxId = "CC0-1.0"; + fullName = "Creative Commons Zero v1.0 Universal"; + }; + + cc-by-nc-nd-30 = { + spdxId = "CC-BY-NC-ND-3.0"; + fullName = "Creative Commons Attribution Non Commercial No Derivative Works 3.0 Unported"; + free = false; + }; + + cc-by-nc-nd-40 = { + spdxId = "CC-BY-NC-ND-4.0"; + fullName = "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International"; + free = false; + }; + + cc-by-nc-sa-20 = { + spdxId = "CC-BY-NC-SA-2.0"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0"; + free = false; + }; + + cc-by-nc-sa-25 = { + spdxId = "CC-BY-NC-SA-2.5"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5"; + free = false; + }; + + cc-by-nc-sa-30 = { + spdxId = "CC-BY-NC-SA-3.0"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0"; + free = false; + }; + + cc-by-nc-sa-40 = { + spdxId = "CC-BY-NC-SA-4.0"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; + free = false; + }; + + cc-by-nc-30 = { + spdxId = "CC-BY-NC-3.0"; + fullName = "Creative Commons Attribution Non Commercial 3.0 Unported"; + free = false; + }; + + cc-by-nc-40 = { + spdxId = "CC-BY-NC-4.0"; + fullName = "Creative Commons Attribution Non Commercial 4.0 International"; + free = false; + }; + + cc-by-nd-30 = { + spdxId = "CC-BY-ND-3.0"; + fullName = "Creative Commons Attribution-No Derivative Works v3.00"; + free = false; + }; + + cc-by-sa-10 = { + spdxId = "CC-BY-SA-1.0"; + fullName = "Creative Commons Attribution Share Alike 1.0"; + }; + + cc-by-sa-20 = { + spdxId = "CC-BY-SA-2.0"; + fullName = "Creative Commons Attribution Share Alike 2.0"; + }; + + cc-by-sa-25 = { + spdxId = "CC-BY-SA-2.5"; + fullName = "Creative Commons Attribution Share Alike 2.5"; + }; + + cc-by-10 = { + spdxId = "CC-BY-1.0"; + fullName = "Creative Commons Attribution 1.0"; + }; + + cc-by-20 = { + spdxId = "CC-BY-2.0"; + fullName = "Creative Commons Attribution 2.0"; + }; + + cc-by-30 = { + spdxId = "CC-BY-3.0"; + fullName = "Creative Commons Attribution 3.0"; + }; + + cc-by-sa-30 = { + spdxId = "CC-BY-SA-3.0"; + fullName = "Creative Commons Attribution Share Alike 3.0"; + }; + + cc-by-40 = { + spdxId = "CC-BY-4.0"; + fullName = "Creative Commons Attribution 4.0"; + }; + + cc-by-sa-40 = { + spdxId = "CC-BY-SA-4.0"; + fullName = "Creative Commons Attribution Share Alike 4.0"; + }; + + cddl = { + spdxId = "CDDL-1.0"; + fullName = "Common Development and Distribution License 1.0"; + }; + + cecill20 = { + spdxId = "CECILL-2.0"; + fullName = "CeCILL Free Software License Agreement v2.0"; + }; + + cecill21 = { + spdxId = "CECILL-2.1"; + fullName = "CeCILL Free Software License Agreement v2.1"; + }; + + cecill-b = { + spdxId = "CECILL-B"; + fullName = "CeCILL-B Free Software License Agreement"; + }; + + cecill-c = { + spdxId = "CECILL-C"; + fullName = "CeCILL-C Free Software License Agreement"; + }; + commons-clause = { + fullName = "Commons Clause License"; + free = false; + }; + cpal10 = { + spdxId = "CPAL-1.0"; + fullName = "Common Public Attribution License 1.0"; + }; + + cpl10 = { + spdxId = "CPL-1.0"; + fullName = "Common Public License 1.0"; + }; + + curl = { + spdxId = "curl"; + fullName = "curl License"; + }; + + doc = { + spdxId = "DOC"; + fullName = "DOC License"; + }; + + drl10 = { + spdxId = "DRL-1.0"; + fullName = "Detection Rule License 1.0"; + }; + + dtoa = { + spdxId = "dtoa"; + fullName = "dtoa License"; + }; + + eapl = { + fullName = "EPSON AVASYS PUBLIC LICENSE"; + url = "https://avasys.jp/hp/menu000000700/hpg000000603.htm"; + free = false; + }; + + ecl20 = { + fullName = "Educational Community License, Version 2.0"; + url = "https://opensource.org/licenses/ECL-2.0"; + shortName = "ECL 2.0"; + spdxId = "ECL-2.0"; + }; + + efl10 = { + spdxId = "EFL-1.0"; + fullName = "Eiffel Forum License v1.0"; + }; + + efl20 = { + spdxId = "EFL-2.0"; + fullName = "Eiffel Forum License v2.0"; + }; + + elastic20 = { + spdxId = "Elastic-2.0"; + fullName = "Elastic License 2.0"; + url = "https://github.com/elastic/elasticsearch/blob/main/licenses/ELASTIC-LICENSE-2.0.txt"; + free = false; + }; + + epl10 = { + spdxId = "EPL-1.0"; + fullName = "Eclipse Public License 1.0"; + }; + + epl20 = { + spdxId = "EPL-2.0"; + fullName = "Eclipse Public License 2.0"; + }; + + epson = { + fullName = "Seiko Epson Corporation Software License Agreement for Linux"; + url = "https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html"; + free = false; + }; + + eupl11 = { + spdxId = "EUPL-1.1"; + fullName = "European Union Public License 1.1"; + }; + + eupl12 = { + spdxId = "EUPL-1.2"; + fullName = "European Union Public License 1.2"; + }; + + fdl11Only = { + spdxId = "GFDL-1.1-only"; + fullName = "GNU Free Documentation License v1.1 only"; + }; + + fdl11Plus = { + spdxId = "GFDL-1.1-or-later"; + fullName = "GNU Free Documentation License v1.1 or later"; + }; + + fdl12Only = { + spdxId = "GFDL-1.2-only"; + fullName = "GNU Free Documentation License v1.2 only"; + }; + + fdl12Plus = { + spdxId = "GFDL-1.2-or-later"; + fullName = "GNU Free Documentation License v1.2 or later"; + }; + + fdl13Only = { + spdxId = "GFDL-1.3-only"; + fullName = "GNU Free Documentation License v1.3 only"; + }; + + fdl13Plus = { + spdxId = "GFDL-1.3-or-later"; + fullName = "GNU Free Documentation License v1.3 or later"; + }; + + ffsl = { + fullName = "Floodgap Free Software License"; + url = "https://www.floodgap.com/software/ffsl/license.html"; + free = false; + }; + + fraunhofer-fdk = { + fullName = "Fraunhofer FDK AAC Codec Library"; + spdxId = "FDK-AAC"; + }; + + free = { + fullName = "Unspecified free software license"; + }; + + ftl = { + spdxId = "FTL"; + fullName = "Freetype Project License"; + }; + + g4sl = { + fullName = "Geant4 Software License"; + url = "https://geant4.web.cern.ch/geant4/license/LICENSE.html"; + }; + + geogebra = { + fullName = "GeoGebra Non-Commercial License Agreement"; + url = "https://www.geogebra.org/license"; + free = false; + }; + + generaluser = { + fullName = "GeneralUser GS License v2.0"; + url = "https://www.schristiancollins.com/generaluser.php"; # license included in sources + }; + + gfl = { + fullName = "GUST Font License"; + url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-LICENSE.txt"; + }; + + gfsl = { + fullName = "GUST Font Source License"; + url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-SOURCE-LICENSE.txt"; + }; + + gpl1Only = { + spdxId = "GPL-1.0-only"; + fullName = "GNU General Public License v1.0 only"; + }; + + gpl1Plus = { + spdxId = "GPL-1.0-or-later"; + fullName = "GNU General Public License v1.0 or later"; + }; + + gpl2Only = { + spdxId = "GPL-2.0-only"; + fullName = "GNU General Public License v2.0 only"; + }; + + gpl2Classpath = { + spdxId = "GPL-2.0-with-classpath-exception"; + fullName = "GNU General Public License v2.0 only (with Classpath exception)"; + }; + + gpl2ClasspathPlus = { + fullName = "GNU General Public License v2.0 or later (with Classpath exception)"; + url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; + }; + + gpl2Oss = { + fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)"; + url = "https://www.mysql.com/about/legal/licensing/foss-exception"; + }; + + gpl2Plus = { + spdxId = "GPL-2.0-or-later"; + fullName = "GNU General Public License v2.0 or later"; + }; + + gpl3Only = { + spdxId = "GPL-3.0-only"; + fullName = "GNU General Public License v3.0 only"; + }; + + gpl3Plus = { + spdxId = "GPL-3.0-or-later"; + fullName = "GNU General Public License v3.0 or later"; + }; + + gpl3ClasspathPlus = { + fullName = "GNU General Public License v3.0 or later (with Classpath exception)"; + url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; + }; + + hpnd = { + spdxId = "HPND"; + fullName = "Historic Permission Notice and Disclaimer"; + }; + + hpndSellVariant = { + fullName = "Historical Permission Notice and Disclaimer - sell variant"; + spdxId = "HPND-sell-variant"; + }; + + # Intel's license, seems free + iasl = { + spdxId = "Intel-ACPI"; + fullName = "iASL"; + url = "https://old.calculate-linux.org/packages/licenses/iASL"; + }; + + ijg = { + spdxId = "IJG"; + fullName = "Independent JPEG Group License"; + }; + + imagemagick = { + fullName = "ImageMagick License"; + spdxId = "ImageMagick"; + }; + + imlib2 = { + spdxId = "Imlib2"; + fullName = "Imlib2 License"; + }; + + info-zip = { + spdxId = "Info-ZIP"; + fullName = "Info-ZIP License"; + url = "https://infozip.sourceforge.net/license.html"; + }; + + inria-compcert = { + fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler"; + url = "https://compcert.org/doc/LICENSE.txt"; + free = false; + }; + + inria-icesl = { + fullName = "End User License Agreement for IceSL Software"; + url = "https://icesl.loria.fr/assets/pdf/EULA_IceSL_binary.pdf"; + free = false; + }; + + inria-zelus = { + fullName = "INRIA Non-Commercial License Agreement for the Zélus compiler"; + url = "https://github.com/INRIA/zelus/raw/829f2b97cba93b0543a9ca0272269e6b8fdad356/LICENSE"; + free = false; + }; + + ipa = { + spdxId = "IPA"; + fullName = "IPA Font License"; + }; + + ipl10 = { + spdxId = "IPL-1.0"; + fullName = "IBM Public License v1.0"; + }; + + isc = { + spdxId = "ISC"; + fullName = "ISC License"; + }; + + # Proprietary binaries; free to redistribute without modification. + databricks = { + fullName = "Databricks Proprietary License"; + url = "https://pypi.org/project/databricks-connect"; + free = false; + }; + + databricks-dbx = { + fullName = "DataBricks eXtensions aka dbx License"; + url = "https://github.com/databrickslabs/dbx/blob/743b579a4ac44531f764c6e522dbe5a81a7dc0e4/LICENSE"; + free = false; + redistributable = false; + }; + + fair = { + fullName = "Fair License"; + spdxId = "Fair"; + free = true; + }; + + fairsource09 = { + fullName = "Fair Source License, version 0.9"; + url = "https://fair.io/v0.9.txt"; + free = false; + redistributable = true; + }; + + hl3 = { + fullName = "Hippocratic License v3.0"; + url = "https://firstdonoharm.dev/version/3/0/core.txt"; + free = false; + redistributable = true; + }; + + issl = { + fullName = "Intel Simplified Software License"; + url = "https://software.intel.com/en-us/license/intel-simplified-software-license"; + free = false; + }; + + knuth = { + fullName = "Knuth CTAN License"; + spdxId = "Knuth-CTAN"; + }; + + lal12 = { + spdxId = "LAL-1.2"; + fullName = "Licence Art Libre 1.2"; + }; + + lal13 = { + spdxId = "LAL-1.3"; + fullName = "Licence Art Libre 1.3"; + }; + + lens = { + fullName = "Lens Terms of Service Agreement"; + url = "https://k8slens.dev/licenses/tos"; + free = false; + }; + + lgpl2Only = { + spdxId = "LGPL-2.0-only"; + fullName = "GNU Library General Public License v2 only"; + }; + + lgpl2Plus = { + spdxId = "LGPL-2.0-or-later"; + fullName = "GNU Library General Public License v2 or later"; + }; + + lgpl21Only = { + spdxId = "LGPL-2.1-only"; + fullName = "GNU Lesser General Public License v2.1 only"; + }; + + lgpl21Plus = { + spdxId = "LGPL-2.1-or-later"; + fullName = "GNU Lesser General Public License v2.1 or later"; + }; + + lgpl3Only = { + spdxId = "LGPL-3.0-only"; + fullName = "GNU Lesser General Public License v3.0 only"; + }; + + lgpl3Plus = { + spdxId = "LGPL-3.0-or-later"; + fullName = "GNU Lesser General Public License v3.0 or later"; + }; + + lgpllr = { + spdxId = "LGPLLR"; + fullName = "Lesser General Public License For Linguistic Resources"; + }; + + libpng = { + spdxId = "Libpng"; + fullName = "libpng License"; + }; + + libpng2 = { + spdxId = "libpng-2.0"; # Used since libpng 1.6.36. + fullName = "PNG Reference Library version 2"; + }; + + libssh2 = { + fullName = "libssh2 License"; + url = "https://www.libssh2.org/license.html"; + }; + + libtiff = { + spdxId = "libtiff"; + fullName = "libtiff License"; + }; + + llgpl21 = { + fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp"; + url = "https://opensource.franz.com/preamble.html"; + }; + + lppl1 = { + spdxId = "LPPL-1.0"; + fullName = "LaTeX Project Public License v1.0"; + }; + + lppl12 = { + spdxId = "LPPL-1.2"; + fullName = "LaTeX Project Public License v1.2"; + }; + + lppl13a = { + spdxId = "LPPL-1.3a"; + fullName = "LaTeX Project Public License v1.3a"; + }; + + lppl13c = { + spdxId = "LPPL-1.3c"; + fullName = "LaTeX Project Public License v1.3c"; + }; + + lpl-102 = { + spdxId = "LPL-1.02"; + fullName = "Lucent Public License v1.02"; + }; + + miros = { + spdxId = "MirOS"; + fullName = "MirOS License"; + url = "https://opensource.org/licenses/MirOS"; + }; + + # spdx.org does not (yet) differentiate between the X11 and Expat versions + # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions + mit = { + spdxId = "MIT"; + fullName = "MIT License"; + }; + # https://spdx.org/licenses/MIT-feh.html + mit-feh = { + spdxId = "MIT-feh"; + fullName = "feh License"; + }; + + mitAdvertising = { + spdxId = "MIT-advertising"; + fullName = "Enlightenment License (e16)"; + }; + + mit0 = { + spdxId = "MIT-0"; + fullName = "MIT No Attribution"; + }; + + mpl10 = { + spdxId = "MPL-1.0"; + fullName = "Mozilla Public License 1.0"; + }; + + mpl11 = { + spdxId = "MPL-1.1"; + fullName = "Mozilla Public License 1.1"; + }; + + mpl20 = { + spdxId = "MPL-2.0"; + fullName = "Mozilla Public License 2.0"; + }; + + mplus = { + spdxId = "mplus"; + fullName = "M+ Font License"; + }; + + mspl = { + spdxId = "MS-PL"; + fullName = "Microsoft Public License"; + }; + + mulan-psl2 = { + spdxId = "MulanPSL-2.0"; + fullName = "Mulan Permissive Software License, Version 2"; + url = "https://license.coscl.org.cn/MulanPSL2"; + }; + + nasa13 = { + spdxId = "NASA-1.3"; + fullName = "NASA Open Source Agreement 1.3"; + free = false; + }; + + ncsa = { + spdxId = "NCSA"; + fullName = "University of Illinois/NCSA Open Source License"; + }; + + ncul1 = { + spdxId = "NCUL1"; + fullName = "Netdata Cloud UI License v1.0"; + free = false; + redistributable = true; # Only if used in Netdata products. + url = "https://raw.githubusercontent.com/netdata/netdata/master/web/gui/v2/LICENSE.md"; + }; + + nlpl = { + spdxId = "NLPL"; + fullName = "No Limit Public License"; + }; + + nposl3 = { + spdxId = "NPOSL-3.0"; + fullName = "Non-Profit Open Software License 3.0"; + }; + + nvidiaCuda = { + shortName = "CUDA EULA"; + fullName = "CUDA Toolkit End User License Agreement (EULA)"; + url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; + free = false; + }; + + nvidiaCudaRedist = { + shortName = "CUDA EULA"; + fullName = "CUDA Toolkit End User License Agreement (EULA)"; + url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; + free = false; + redistributable = true; + }; + + obsidian = { + fullName = "Obsidian End User Agreement"; + url = "https://obsidian.md/eula"; + free = false; + }; + + ocamlLgplLinkingException = { + spdxId = "OCaml-LGPL-linking-exception"; + fullName = "OCaml LGPL Linking Exception"; + }; + + ocamlpro_nc = { + fullName = "OCamlPro Non Commercial license version 1"; + url = "https://alt-ergo.ocamlpro.com/http/alt-ergo-2.2.0/OCamlPro-Non-Commercial-License.pdf"; + free = false; + }; + + odbl = { + spdxId = "ODbL-1.0"; + fullName = "Open Data Commons Open Database License v1.0"; + }; + + ofl = { + spdxId = "OFL-1.1"; + fullName = "SIL Open Font License 1.1"; + }; + + oml = { + spdxId = "OML"; + fullName = "Open Market License"; + }; + + openldap = { + spdxId = "OLDAP-2.8"; + fullName = "Open LDAP Public License v2.8"; + }; + + openssl = { + spdxId = "OpenSSL"; + fullName = "OpenSSL License"; + }; + + opubl = { + spdxId = "OPUBL-1.0"; + fullName = "Open Publication License v1.0"; + }; + + osl2 = { + spdxId = "OSL-2.0"; + fullName = "Open Software License 2.0"; + }; + + osl21 = { + spdxId = "OSL-2.1"; + fullName = "Open Software License 2.1"; + }; + + osl3 = { + spdxId = "OSL-3.0"; + fullName = "Open Software License 3.0"; + }; + + parity70 = { + spdxId = "Parity-7.0.0"; + fullName = "Parity Public License 7.0.0"; + url = "https://paritylicense.com/versions/7.0.0.html"; + }; + + php301 = { + spdxId = "PHP-3.01"; + fullName = "PHP License v3.01"; + }; + + postgresql = { + spdxId = "PostgreSQL"; + fullName = "PostgreSQL License"; + }; + + postman = { + fullName = "Postman EULA"; + url = "https://www.getpostman.com/licenses/postman_base_app"; + free = false; + }; + + psfl = { + spdxId = "Python-2.0"; + fullName = "Python Software Foundation License version 2"; + url = "https://docs.python.org/license.html"; + }; + + publicDomain = { + fullName = "Public Domain"; + }; + + purdueBsd = { + fullName = " Purdue BSD-Style License"; # also know as lsof license + url = "https://enterprise.dejacode.com/licenses/public/purdue-bsd"; + }; + + prosperity30 = { + fullName = "Prosperity-3.0.0"; + free = false; + url = "https://prosperitylicense.com/versions/3.0.0.html"; + }; + + qhull = { + spdxId = "Qhull"; + fullName = "Qhull License"; + }; + + qpl = { + spdxId = "QPL-1.0"; + fullName = "Q Public License 1.0"; + }; + + qwt = { + fullName = "Qwt License, Version 1.0"; + url = "https://qwt.sourceforge.io/qwtlicense.html"; + }; + + ruby = { + spdxId = "Ruby"; + fullName = "Ruby License"; + }; + + sendmail = { + spdxId = "Sendmail"; + fullName = "Sendmail License"; + }; + + sgi-b-20 = { + spdxId = "SGI-B-2.0"; + fullName = "SGI Free Software License B v2.0"; + }; + + # Gentoo seems to treat it as a license: + # https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses/SGMLUG?id=7d999af4a47bf55e53e54713d98d145f935935c1 + sgmlug = { + fullName = "SGML UG SGML Parser Materials license"; + }; + + sleepycat = { + spdxId = "Sleepycat"; + fullName = "Sleepycat License"; + }; + + smail = { + shortName = "smail"; + fullName = "SMAIL General Public License"; + url = "https://sources.debian.org/copyright/license/debianutils/4.9.1/"; + }; + + smlnj = { + spdxId = "SMLNJ"; + fullName = "Standard ML of New Jersey License"; + }; + + sspl = { + shortName = "SSPL"; + fullName = "Server Side Public License"; + url = "https://www.mongodb.com/licensing/server-side-public-license"; + free = false; + # NOTE Debatable. + # The license a slightly modified AGPL but still considered unfree by the + # OSI for what seem like political reasons + redistributable = true; # Definitely redistributable though, it's an AGPL derivative + }; + + stk = { + shortName = "stk"; + fullName = "Synthesis Tool Kit 4.3"; + url = "https://github.com/thestk/stk/blob/master/LICENSE"; + }; + + sudo = { + shortName = "sudo"; + fullName = "Sudo License (ISC-style)"; + url = "https://www.sudo.ws/about/license/"; + }; + + sustainableUse = { + shortName = "sustainable"; + fullName = "Sustainable Use License"; + url = "https://github.com/n8n-io/n8n/blob/master/LICENSE.md"; + free = false; + redistributable = false; # only free to redistribute "for non-commercial purposes" + }; + + tsl = { + shortName = "TSL"; + fullName = "Timescale License Agreegment"; + url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE"; + unfree = true; + }; + + tcltk = { + spdxId = "TCL"; + fullName = "TCL/TK License"; + }; + + ucd = { + fullName = "Unicode Character Database License"; + url = "https://fedoraproject.org/wiki/Licensing:UCD"; + }; + + ufl = { + fullName = "Ubuntu Font License 1.0"; + url = "https://ubuntu.com/legal/font-licence"; + }; + + unfree = { + fullName = "Unfree"; + free = false; + }; + + unfreeRedistributable = { + fullName = "Unfree redistributable"; + free = false; + redistributable = true; + }; + + unfreeRedistributableFirmware = { + fullName = "Unfree redistributable firmware"; + redistributable = true; + # Note: we currently consider these "free" for inclusion in the + # channel and NixOS images. + }; + + unicode-dfs-2015 = { + spdxId = "Unicode-DFS-2015"; + fullName = "Unicode License Agreement - Data Files and Software (2015)"; + }; + + unicode-dfs-2016 = { + spdxId = "Unicode-DFS-2016"; + fullName = "Unicode License Agreement - Data Files and Software (2016)"; + }; + + unlicense = { + spdxId = "Unlicense"; + fullName = "The Unlicense"; + }; + + upl = { + spdxId = "UPL-1.0"; + fullName = "Universal Permissive License"; + url = "https://oss.oracle.com/licenses/upl/"; + }; + + vim = { + spdxId = "Vim"; + fullName = "Vim License"; + }; + + virtualbox-puel = { + fullName = "Oracle VM VirtualBox Extension Pack Personal Use and Evaluation License (PUEL)"; + url = "https://www.virtualbox.org/wiki/VirtualBox_PUEL"; + free = false; + }; + + vol-sl = { + fullName = "Volatility Software License, Version 1.0"; + url = "https://www.volatilityfoundation.org/license/vsl-v1.0"; + }; + + vsl10 = { + spdxId = "VSL-1.0"; + fullName = "Vovida Software License v1.0"; + }; + + watcom = { + spdxId = "Watcom-1.0"; + fullName = "Sybase Open Watcom Public License 1.0"; + }; + + w3c = { + spdxId = "W3C"; + fullName = "W3C Software Notice and License"; + }; + + wadalab = { + fullName = "Wadalab Font License"; + url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab"; + }; + + wtfpl = { + spdxId = "WTFPL"; + fullName = "Do What The F*ck You Want To Public License"; + }; + + wxWindows = { + spdxId = "wxWindows"; + fullName = "wxWindows Library Licence, Version 3.1"; + }; + + x11 = { + spdxId = "X11"; + fullName = "X11 License"; + }; + + xfig = { + spdxId = "Xfig"; + fullName = "xfig"; + url = "https://mcj.sourceforge.net/authors.html#xfig"; + }; + + xinetd = { + spdxId = "xinetd"; + fullName = "xinetd License"; + }; + + zlib = { + spdxId = "Zlib"; + fullName = "zlib License"; + }; + + zpl20 = { + spdxId = "ZPL-2.0"; + fullName = "Zope Public License 2.0"; + }; + + zpl21 = { + spdxId = "ZPL-2.1"; + fullName = "Zope Public License 2.1"; + }; + + xskat = { + spdxId = "XSkat"; + fullName = "XSkat License"; + }; + } // { + # TODO: remove legacy aliases + agpl3 = { + spdxId = "AGPL-3.0"; + fullName = "GNU Affero General Public License v3.0"; + deprecated = true; + }; + gpl2 = { + spdxId = "GPL-2.0"; + fullName = "GNU General Public License v2.0"; + deprecated = true; + }; + gpl3 = { + spdxId = "GPL-3.0"; + fullName = "GNU General Public License v3.0"; + deprecated = true; + }; + lgpl2 = { + spdxId = "LGPL-2.0"; + fullName = "GNU Library General Public License v2"; + deprecated = true; + }; + lgpl21 = { + spdxId = "LGPL-2.1"; + fullName = "GNU Lesser General Public License v2.1"; + deprecated = true; + }; + lgpl3 = { + spdxId = "LGPL-3.0"; + fullName = "GNU Lesser General Public License v3.0"; + deprecated = true; + }; + }) From eedaca8ef1b08b201c1cf135e19488b69f4ba5ad Mon Sep 17 00:00:00 2001 From: ByteSudoer Date: Thu, 21 Mar 2024 02:41:29 +0100 Subject: [PATCH 036/114] update license: added the common clause license --- lib/licenses.nix | 1 + pkgs/by-name/vi/vidmerger/package.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 5d4a53851d33..4869d5536e4c 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -394,6 +394,7 @@ lib.mapAttrs }; commons-clause = { fullName = "Commons Clause License"; + url = "https://commonsclause.com/"; free = false; }; cpal10 = { diff --git a/pkgs/by-name/vi/vidmerger/package.nix b/pkgs/by-name/vi/vidmerger/package.nix index 86988b1dbd56..7cdfaf2944d8 100644 --- a/pkgs/by-name/vi/vidmerger/package.nix +++ b/pkgs/by-name/vi/vidmerger/package.nix @@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Merge video & audio files via CLI "; homepage = "https://github.com/TGotwig/vidmerger"; - license = licenses.mit; + license = with licenses; [ mit commons-clause ]; maintainers = with maintainers; [ ByteSudoer ]; mainProgram = "vidmerger"; }; From 89ea04dc7091bc9bf3ffe4be19205706b14e8fdc Mon Sep 17 00:00:00 2001 From: Soussi Mohamed Nour <88513682+ByteSudoer@users.noreply.github.com> Date: Thu, 21 Mar 2024 14:54:21 +0100 Subject: [PATCH 037/114] Update licenses.nix --- lib/licenses.nix | 2595 +++++++++++++++++++++++----------------------- 1 file changed, 1303 insertions(+), 1292 deletions(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 4869d5536e4c..621de482fd3e 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -1,1294 +1,1305 @@ { lib }: -lib.mapAttrs - (lname: lset: - let - defaultLicense = { - shortName = lname; - free = true; # Most of our licenses are Free, explicitly declare unfree additions as such! - deprecated = false; - }; - - mkLicense = licenseDeclaration: - let - applyDefaults = license: defaultLicense // license; - applySpdx = license: - if license ? spdxId - then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; } - else license; - applyRedistributable = license: { redistributable = license.free; } // license; - in - lib.pipe licenseDeclaration [ - applyDefaults - applySpdx - applyRedistributable - ]; - in - mkLicense lset) - ({ - /* License identifiers from spdx.org where possible. - * If you cannot find your license here, then look for a similar license or - * add it to this list. The URL mentioned above is a good source for inspiration. - */ - - abstyles = { - spdxId = "Abstyles"; - fullName = "Abstyles License"; - }; - - acsl14 = { - fullName = "Anti-Capitalist Software License v1.4"; - url = "https://anticapitalist.software/"; - /* restrictions on corporations apply for both use and redistribution */ - free = false; - redistributable = false; - }; - - activision = { - # https://doomwiki.org/wiki/Raven_source_code_licensing - fullName = "Activision EULA"; - url = "https://www.doomworld.com/eternity/activision_eula.txt"; - free = false; - }; - - afl20 = { - spdxId = "AFL-2.0"; - fullName = "Academic Free License v2.0"; - }; - - afl21 = { - spdxId = "AFL-2.1"; - fullName = "Academic Free License v2.1"; - }; - - afl3 = { - spdxId = "AFL-3.0"; - fullName = "Academic Free License v3.0"; - }; - - agpl3Only = { - spdxId = "AGPL-3.0-only"; - fullName = "GNU Affero General Public License v3.0 only"; - }; - - agpl3Plus = { - spdxId = "AGPL-3.0-or-later"; - fullName = "GNU Affero General Public License v3.0 or later"; - }; - - aladdin = { - spdxId = "Aladdin"; - fullName = "Aladdin Free Public License"; - free = false; - }; - - amazonsl = { - fullName = "Amazon Software License"; - url = "https://aws.amazon.com/asl/"; - free = false; - }; - - amd = { - fullName = "AMD License Agreement"; - url = "https://developer.amd.com/amd-license-agreement/"; - free = false; - }; - - aom = { - fullName = "Alliance for Open Media Patent License 1.0"; - url = "https://aomedia.org/license/patent-license/"; - }; - - apsl10 = { - spdxId = "APSL-1.0"; - fullName = "Apple Public Source License 1.0"; - }; - - apsl20 = { - spdxId = "APSL-2.0"; - fullName = "Apple Public Source License 2.0"; - }; - - arphicpl = { - spdxId = "Arphic-1999"; - fullName = "Arphic Public License"; - url = "https://www.freedesktop.org/wiki/Arphic_Public_License/"; - }; - - artistic1 = { - spdxId = "Artistic-1.0"; - fullName = "Artistic License 1.0"; - }; - - artistic1-cl8 = { - spdxId = "Artistic-1.0-cl8"; - fullName = "Artistic License 1.0 w/clause 8"; - }; - - artistic2 = { - spdxId = "Artistic-2.0"; - fullName = "Artistic License 2.0"; - }; - - asl20 = { - spdxId = "Apache-2.0"; - fullName = "Apache License 2.0"; - }; - - asl20-llvm = { - spdxId = "Apache-2.0 WITH LLVM-exception"; - fullName = "Apache License 2.0 with LLVM Exceptions"; - }; - - bitstreamVera = { - spdxId = "Bitstream-Vera"; - fullName = "Bitstream Vera Font License"; - }; - - bitTorrent10 = { - spdxId = "BitTorrent-1.0"; - fullName = " BitTorrent Open Source License v1.0"; - }; - - bitTorrent11 = { - spdxId = "BitTorrent-1.1"; - fullName = " BitTorrent Open Source License v1.1"; - }; - - bola11 = { - url = "https://blitiri.com.ar/p/bola/"; - fullName = "Buena Onda License Agreement 1.1"; - }; - - boost = { - spdxId = "BSL-1.0"; - fullName = "Boost Software License 1.0"; - }; - - beerware = { - spdxId = "Beerware"; - fullName = "Beerware License"; - }; - - blueOak100 = { - spdxId = "BlueOak-1.0.0"; - fullName = "Blue Oak Model License 1.0.0"; - }; - - bsd0 = { - spdxId = "0BSD"; - fullName = "BSD Zero Clause License"; - }; - - bsd1 = { - spdxId = "BSD-1-Clause"; - fullName = "BSD 1-Clause License"; - }; - - bsd2 = { - spdxId = "BSD-2-Clause"; - fullName = ''BSD 2-clause "Simplified" License''; - }; - - bsd2Patent = { - spdxId = "BSD-2-Clause-Patent"; - fullName = "BSD-2-Clause Plus Patent License"; - }; - - bsd2WithViews = { - spdxId = "BSD-2-Clause-Views"; - fullName = "BSD 2-Clause with views sentence"; - }; - - bsd3 = { - spdxId = "BSD-3-Clause"; - fullName = ''BSD 3-clause "New" or "Revised" License''; - }; - - bsd3Clear = { - spdxId = "BSD-3-Clause-Clear"; - fullName = "BSD 3-Clause Clear License"; - }; - - bsdOriginal = { - spdxId = "BSD-4-Clause"; - fullName = ''BSD 4-clause "Original" or "Old" License''; - }; - - bsdOriginalShortened = { - spdxId = "BSD-4-Clause-Shortened"; - fullName = "BSD 4 Clause Shortened"; - }; - - bsdOriginalUC = { - spdxId = "BSD-4-Clause-UC"; - fullName = "BSD 4-Clause University of California-Specific"; - }; - - bsdProtection = { - spdxId = "BSD-Protection"; - fullName = "BSD Protection License"; - }; - - bsl11 = { - fullName = "Business Source License 1.1"; - url = "https://mariadb.com/bsl11"; - free = false; - redistributable = true; - }; - - caossl = { - fullName = "Computer Associates Open Source Licence Version 1.0"; - url = "http://jxplorer.org/licence.html"; - }; - - cal10 = { - spdxId = "CAL-1.0"; - fullName = "Cryptographic Autonomy License version 1.0 (CAL-1.0)"; - url = "https://opensource.org/licenses/CAL-1.0"; - }; - - caldera = { - spdxId = "Caldera"; - fullName = "Caldera License"; - url = "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf"; - }; - - capec = { - fullName = "Common Attack Pattern Enumeration and Classification"; - url = "https://capec.mitre.org/about/termsofuse.html"; - }; - - clArtistic = { - spdxId = "ClArtistic"; - fullName = "Clarified Artistic License"; - }; - - cc0 = { - spdxId = "CC0-1.0"; - fullName = "Creative Commons Zero v1.0 Universal"; - }; - - cc-by-nc-nd-30 = { - spdxId = "CC-BY-NC-ND-3.0"; - fullName = "Creative Commons Attribution Non Commercial No Derivative Works 3.0 Unported"; - free = false; - }; - - cc-by-nc-nd-40 = { - spdxId = "CC-BY-NC-ND-4.0"; - fullName = "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International"; - free = false; - }; - - cc-by-nc-sa-20 = { - spdxId = "CC-BY-NC-SA-2.0"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0"; - free = false; - }; - - cc-by-nc-sa-25 = { - spdxId = "CC-BY-NC-SA-2.5"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5"; - free = false; - }; - - cc-by-nc-sa-30 = { - spdxId = "CC-BY-NC-SA-3.0"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0"; - free = false; - }; - - cc-by-nc-sa-40 = { - spdxId = "CC-BY-NC-SA-4.0"; - fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; - free = false; - }; - - cc-by-nc-30 = { - spdxId = "CC-BY-NC-3.0"; - fullName = "Creative Commons Attribution Non Commercial 3.0 Unported"; - free = false; - }; - - cc-by-nc-40 = { - spdxId = "CC-BY-NC-4.0"; - fullName = "Creative Commons Attribution Non Commercial 4.0 International"; - free = false; - }; - - cc-by-nd-30 = { - spdxId = "CC-BY-ND-3.0"; - fullName = "Creative Commons Attribution-No Derivative Works v3.00"; - free = false; - }; - - cc-by-sa-10 = { - spdxId = "CC-BY-SA-1.0"; - fullName = "Creative Commons Attribution Share Alike 1.0"; - }; - - cc-by-sa-20 = { - spdxId = "CC-BY-SA-2.0"; - fullName = "Creative Commons Attribution Share Alike 2.0"; - }; - - cc-by-sa-25 = { - spdxId = "CC-BY-SA-2.5"; - fullName = "Creative Commons Attribution Share Alike 2.5"; - }; - - cc-by-10 = { - spdxId = "CC-BY-1.0"; - fullName = "Creative Commons Attribution 1.0"; - }; - - cc-by-20 = { - spdxId = "CC-BY-2.0"; - fullName = "Creative Commons Attribution 2.0"; - }; - - cc-by-30 = { - spdxId = "CC-BY-3.0"; - fullName = "Creative Commons Attribution 3.0"; - }; - - cc-by-sa-30 = { - spdxId = "CC-BY-SA-3.0"; - fullName = "Creative Commons Attribution Share Alike 3.0"; - }; - - cc-by-40 = { - spdxId = "CC-BY-4.0"; - fullName = "Creative Commons Attribution 4.0"; - }; - - cc-by-sa-40 = { - spdxId = "CC-BY-SA-4.0"; - fullName = "Creative Commons Attribution Share Alike 4.0"; - }; - - cddl = { - spdxId = "CDDL-1.0"; - fullName = "Common Development and Distribution License 1.0"; - }; - - cecill20 = { - spdxId = "CECILL-2.0"; - fullName = "CeCILL Free Software License Agreement v2.0"; - }; - - cecill21 = { - spdxId = "CECILL-2.1"; - fullName = "CeCILL Free Software License Agreement v2.1"; - }; - - cecill-b = { - spdxId = "CECILL-B"; - fullName = "CeCILL-B Free Software License Agreement"; - }; - - cecill-c = { - spdxId = "CECILL-C"; - fullName = "CeCILL-C Free Software License Agreement"; - }; - commons-clause = { - fullName = "Commons Clause License"; - url = "https://commonsclause.com/"; - free = false; - }; - cpal10 = { - spdxId = "CPAL-1.0"; - fullName = "Common Public Attribution License 1.0"; - }; - - cpl10 = { - spdxId = "CPL-1.0"; - fullName = "Common Public License 1.0"; - }; - - curl = { - spdxId = "curl"; - fullName = "curl License"; - }; - - doc = { - spdxId = "DOC"; - fullName = "DOC License"; - }; - - drl10 = { - spdxId = "DRL-1.0"; - fullName = "Detection Rule License 1.0"; - }; - - dtoa = { - spdxId = "dtoa"; - fullName = "dtoa License"; - }; - - eapl = { - fullName = "EPSON AVASYS PUBLIC LICENSE"; - url = "https://avasys.jp/hp/menu000000700/hpg000000603.htm"; - free = false; - }; - - ecl20 = { - fullName = "Educational Community License, Version 2.0"; - url = "https://opensource.org/licenses/ECL-2.0"; - shortName = "ECL 2.0"; - spdxId = "ECL-2.0"; - }; - - efl10 = { - spdxId = "EFL-1.0"; - fullName = "Eiffel Forum License v1.0"; - }; - - efl20 = { - spdxId = "EFL-2.0"; - fullName = "Eiffel Forum License v2.0"; - }; - - elastic20 = { - spdxId = "Elastic-2.0"; - fullName = "Elastic License 2.0"; - url = "https://github.com/elastic/elasticsearch/blob/main/licenses/ELASTIC-LICENSE-2.0.txt"; - free = false; - }; - - epl10 = { - spdxId = "EPL-1.0"; - fullName = "Eclipse Public License 1.0"; - }; - - epl20 = { - spdxId = "EPL-2.0"; - fullName = "Eclipse Public License 2.0"; - }; - - epson = { - fullName = "Seiko Epson Corporation Software License Agreement for Linux"; - url = "https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html"; - free = false; - }; - - eupl11 = { - spdxId = "EUPL-1.1"; - fullName = "European Union Public License 1.1"; - }; - - eupl12 = { - spdxId = "EUPL-1.2"; - fullName = "European Union Public License 1.2"; - }; - - fdl11Only = { - spdxId = "GFDL-1.1-only"; - fullName = "GNU Free Documentation License v1.1 only"; - }; - - fdl11Plus = { - spdxId = "GFDL-1.1-or-later"; - fullName = "GNU Free Documentation License v1.1 or later"; - }; - - fdl12Only = { - spdxId = "GFDL-1.2-only"; - fullName = "GNU Free Documentation License v1.2 only"; - }; - - fdl12Plus = { - spdxId = "GFDL-1.2-or-later"; - fullName = "GNU Free Documentation License v1.2 or later"; - }; - - fdl13Only = { - spdxId = "GFDL-1.3-only"; - fullName = "GNU Free Documentation License v1.3 only"; - }; - - fdl13Plus = { - spdxId = "GFDL-1.3-or-later"; - fullName = "GNU Free Documentation License v1.3 or later"; - }; - - ffsl = { - fullName = "Floodgap Free Software License"; - url = "https://www.floodgap.com/software/ffsl/license.html"; - free = false; - }; - - fraunhofer-fdk = { - fullName = "Fraunhofer FDK AAC Codec Library"; - spdxId = "FDK-AAC"; - }; - - free = { - fullName = "Unspecified free software license"; - }; - - ftl = { - spdxId = "FTL"; - fullName = "Freetype Project License"; - }; - - g4sl = { - fullName = "Geant4 Software License"; - url = "https://geant4.web.cern.ch/geant4/license/LICENSE.html"; - }; - - geogebra = { - fullName = "GeoGebra Non-Commercial License Agreement"; - url = "https://www.geogebra.org/license"; - free = false; - }; - - generaluser = { - fullName = "GeneralUser GS License v2.0"; - url = "https://www.schristiancollins.com/generaluser.php"; # license included in sources - }; - - gfl = { - fullName = "GUST Font License"; - url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-LICENSE.txt"; - }; - - gfsl = { - fullName = "GUST Font Source License"; - url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-SOURCE-LICENSE.txt"; - }; - - gpl1Only = { - spdxId = "GPL-1.0-only"; - fullName = "GNU General Public License v1.0 only"; - }; - - gpl1Plus = { - spdxId = "GPL-1.0-or-later"; - fullName = "GNU General Public License v1.0 or later"; - }; - - gpl2Only = { - spdxId = "GPL-2.0-only"; - fullName = "GNU General Public License v2.0 only"; - }; - - gpl2Classpath = { - spdxId = "GPL-2.0-with-classpath-exception"; - fullName = "GNU General Public License v2.0 only (with Classpath exception)"; - }; - - gpl2ClasspathPlus = { - fullName = "GNU General Public License v2.0 or later (with Classpath exception)"; - url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; - }; - - gpl2Oss = { - fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)"; - url = "https://www.mysql.com/about/legal/licensing/foss-exception"; - }; - - gpl2Plus = { - spdxId = "GPL-2.0-or-later"; - fullName = "GNU General Public License v2.0 or later"; - }; - - gpl3Only = { - spdxId = "GPL-3.0-only"; - fullName = "GNU General Public License v3.0 only"; - }; - - gpl3Plus = { - spdxId = "GPL-3.0-or-later"; - fullName = "GNU General Public License v3.0 or later"; - }; - - gpl3ClasspathPlus = { - fullName = "GNU General Public License v3.0 or later (with Classpath exception)"; - url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; - }; - - hpnd = { - spdxId = "HPND"; - fullName = "Historic Permission Notice and Disclaimer"; - }; - - hpndSellVariant = { - fullName = "Historical Permission Notice and Disclaimer - sell variant"; - spdxId = "HPND-sell-variant"; - }; - - # Intel's license, seems free - iasl = { - spdxId = "Intel-ACPI"; - fullName = "iASL"; - url = "https://old.calculate-linux.org/packages/licenses/iASL"; - }; - - ijg = { - spdxId = "IJG"; - fullName = "Independent JPEG Group License"; - }; - - imagemagick = { - fullName = "ImageMagick License"; - spdxId = "ImageMagick"; - }; - - imlib2 = { - spdxId = "Imlib2"; - fullName = "Imlib2 License"; - }; - - info-zip = { - spdxId = "Info-ZIP"; - fullName = "Info-ZIP License"; - url = "https://infozip.sourceforge.net/license.html"; - }; - - inria-compcert = { - fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler"; - url = "https://compcert.org/doc/LICENSE.txt"; - free = false; - }; - - inria-icesl = { - fullName = "End User License Agreement for IceSL Software"; - url = "https://icesl.loria.fr/assets/pdf/EULA_IceSL_binary.pdf"; - free = false; - }; - - inria-zelus = { - fullName = "INRIA Non-Commercial License Agreement for the Zélus compiler"; - url = "https://github.com/INRIA/zelus/raw/829f2b97cba93b0543a9ca0272269e6b8fdad356/LICENSE"; - free = false; - }; - - ipa = { - spdxId = "IPA"; - fullName = "IPA Font License"; - }; - - ipl10 = { - spdxId = "IPL-1.0"; - fullName = "IBM Public License v1.0"; - }; - - isc = { - spdxId = "ISC"; - fullName = "ISC License"; - }; - - # Proprietary binaries; free to redistribute without modification. - databricks = { - fullName = "Databricks Proprietary License"; - url = "https://pypi.org/project/databricks-connect"; - free = false; - }; - - databricks-dbx = { - fullName = "DataBricks eXtensions aka dbx License"; - url = "https://github.com/databrickslabs/dbx/blob/743b579a4ac44531f764c6e522dbe5a81a7dc0e4/LICENSE"; - free = false; - redistributable = false; - }; - - fair = { - fullName = "Fair License"; - spdxId = "Fair"; - free = true; - }; - - fairsource09 = { - fullName = "Fair Source License, version 0.9"; - url = "https://fair.io/v0.9.txt"; - free = false; - redistributable = true; - }; - - hl3 = { - fullName = "Hippocratic License v3.0"; - url = "https://firstdonoharm.dev/version/3/0/core.txt"; - free = false; - redistributable = true; - }; - - issl = { - fullName = "Intel Simplified Software License"; - url = "https://software.intel.com/en-us/license/intel-simplified-software-license"; - free = false; - }; - - knuth = { - fullName = "Knuth CTAN License"; - spdxId = "Knuth-CTAN"; - }; - - lal12 = { - spdxId = "LAL-1.2"; - fullName = "Licence Art Libre 1.2"; - }; - - lal13 = { - spdxId = "LAL-1.3"; - fullName = "Licence Art Libre 1.3"; - }; - - lens = { - fullName = "Lens Terms of Service Agreement"; - url = "https://k8slens.dev/licenses/tos"; - free = false; - }; - - lgpl2Only = { - spdxId = "LGPL-2.0-only"; - fullName = "GNU Library General Public License v2 only"; - }; - - lgpl2Plus = { - spdxId = "LGPL-2.0-or-later"; - fullName = "GNU Library General Public License v2 or later"; - }; - - lgpl21Only = { - spdxId = "LGPL-2.1-only"; - fullName = "GNU Lesser General Public License v2.1 only"; - }; - - lgpl21Plus = { - spdxId = "LGPL-2.1-or-later"; - fullName = "GNU Lesser General Public License v2.1 or later"; - }; - - lgpl3Only = { - spdxId = "LGPL-3.0-only"; - fullName = "GNU Lesser General Public License v3.0 only"; - }; - - lgpl3Plus = { - spdxId = "LGPL-3.0-or-later"; - fullName = "GNU Lesser General Public License v3.0 or later"; - }; - - lgpllr = { - spdxId = "LGPLLR"; - fullName = "Lesser General Public License For Linguistic Resources"; - }; - - libpng = { - spdxId = "Libpng"; - fullName = "libpng License"; - }; - - libpng2 = { - spdxId = "libpng-2.0"; # Used since libpng 1.6.36. - fullName = "PNG Reference Library version 2"; - }; - - libssh2 = { - fullName = "libssh2 License"; - url = "https://www.libssh2.org/license.html"; - }; - - libtiff = { - spdxId = "libtiff"; - fullName = "libtiff License"; - }; - - llgpl21 = { - fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp"; - url = "https://opensource.franz.com/preamble.html"; - }; - - lppl1 = { - spdxId = "LPPL-1.0"; - fullName = "LaTeX Project Public License v1.0"; - }; - - lppl12 = { - spdxId = "LPPL-1.2"; - fullName = "LaTeX Project Public License v1.2"; - }; - - lppl13a = { - spdxId = "LPPL-1.3a"; - fullName = "LaTeX Project Public License v1.3a"; - }; - - lppl13c = { - spdxId = "LPPL-1.3c"; - fullName = "LaTeX Project Public License v1.3c"; - }; - - lpl-102 = { - spdxId = "LPL-1.02"; - fullName = "Lucent Public License v1.02"; - }; - - miros = { - spdxId = "MirOS"; - fullName = "MirOS License"; - url = "https://opensource.org/licenses/MirOS"; - }; - - # spdx.org does not (yet) differentiate between the X11 and Expat versions - # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions - mit = { - spdxId = "MIT"; - fullName = "MIT License"; - }; - # https://spdx.org/licenses/MIT-feh.html - mit-feh = { - spdxId = "MIT-feh"; - fullName = "feh License"; - }; - - mitAdvertising = { - spdxId = "MIT-advertising"; - fullName = "Enlightenment License (e16)"; - }; - - mit0 = { - spdxId = "MIT-0"; - fullName = "MIT No Attribution"; - }; - - mpl10 = { - spdxId = "MPL-1.0"; - fullName = "Mozilla Public License 1.0"; - }; - - mpl11 = { - spdxId = "MPL-1.1"; - fullName = "Mozilla Public License 1.1"; - }; - - mpl20 = { - spdxId = "MPL-2.0"; - fullName = "Mozilla Public License 2.0"; - }; - - mplus = { - spdxId = "mplus"; - fullName = "M+ Font License"; - }; - - mspl = { - spdxId = "MS-PL"; - fullName = "Microsoft Public License"; - }; - - mulan-psl2 = { - spdxId = "MulanPSL-2.0"; - fullName = "Mulan Permissive Software License, Version 2"; - url = "https://license.coscl.org.cn/MulanPSL2"; - }; - - nasa13 = { - spdxId = "NASA-1.3"; - fullName = "NASA Open Source Agreement 1.3"; - free = false; - }; - - ncsa = { - spdxId = "NCSA"; - fullName = "University of Illinois/NCSA Open Source License"; - }; - - ncul1 = { - spdxId = "NCUL1"; - fullName = "Netdata Cloud UI License v1.0"; - free = false; - redistributable = true; # Only if used in Netdata products. - url = "https://raw.githubusercontent.com/netdata/netdata/master/web/gui/v2/LICENSE.md"; - }; - - nlpl = { - spdxId = "NLPL"; - fullName = "No Limit Public License"; - }; - - nposl3 = { - spdxId = "NPOSL-3.0"; - fullName = "Non-Profit Open Software License 3.0"; - }; - - nvidiaCuda = { - shortName = "CUDA EULA"; - fullName = "CUDA Toolkit End User License Agreement (EULA)"; - url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; - free = false; - }; - - nvidiaCudaRedist = { - shortName = "CUDA EULA"; - fullName = "CUDA Toolkit End User License Agreement (EULA)"; - url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; - free = false; - redistributable = true; - }; - - obsidian = { - fullName = "Obsidian End User Agreement"; - url = "https://obsidian.md/eula"; - free = false; - }; - - ocamlLgplLinkingException = { - spdxId = "OCaml-LGPL-linking-exception"; - fullName = "OCaml LGPL Linking Exception"; - }; - - ocamlpro_nc = { - fullName = "OCamlPro Non Commercial license version 1"; - url = "https://alt-ergo.ocamlpro.com/http/alt-ergo-2.2.0/OCamlPro-Non-Commercial-License.pdf"; - free = false; - }; - - odbl = { - spdxId = "ODbL-1.0"; - fullName = "Open Data Commons Open Database License v1.0"; - }; - - ofl = { - spdxId = "OFL-1.1"; - fullName = "SIL Open Font License 1.1"; - }; - - oml = { - spdxId = "OML"; - fullName = "Open Market License"; - }; - - openldap = { - spdxId = "OLDAP-2.8"; - fullName = "Open LDAP Public License v2.8"; - }; - - openssl = { - spdxId = "OpenSSL"; - fullName = "OpenSSL License"; - }; - - opubl = { - spdxId = "OPUBL-1.0"; - fullName = "Open Publication License v1.0"; - }; - - osl2 = { - spdxId = "OSL-2.0"; - fullName = "Open Software License 2.0"; - }; - - osl21 = { - spdxId = "OSL-2.1"; - fullName = "Open Software License 2.1"; - }; - - osl3 = { - spdxId = "OSL-3.0"; - fullName = "Open Software License 3.0"; - }; - - parity70 = { - spdxId = "Parity-7.0.0"; - fullName = "Parity Public License 7.0.0"; - url = "https://paritylicense.com/versions/7.0.0.html"; - }; - - php301 = { - spdxId = "PHP-3.01"; - fullName = "PHP License v3.01"; - }; - - postgresql = { - spdxId = "PostgreSQL"; - fullName = "PostgreSQL License"; - }; - - postman = { - fullName = "Postman EULA"; - url = "https://www.getpostman.com/licenses/postman_base_app"; - free = false; - }; - - psfl = { - spdxId = "Python-2.0"; - fullName = "Python Software Foundation License version 2"; - url = "https://docs.python.org/license.html"; - }; - - publicDomain = { - fullName = "Public Domain"; - }; - - purdueBsd = { - fullName = " Purdue BSD-Style License"; # also know as lsof license - url = "https://enterprise.dejacode.com/licenses/public/purdue-bsd"; - }; - - prosperity30 = { - fullName = "Prosperity-3.0.0"; - free = false; - url = "https://prosperitylicense.com/versions/3.0.0.html"; - }; - - qhull = { - spdxId = "Qhull"; - fullName = "Qhull License"; - }; - - qpl = { - spdxId = "QPL-1.0"; - fullName = "Q Public License 1.0"; - }; - - qwt = { - fullName = "Qwt License, Version 1.0"; - url = "https://qwt.sourceforge.io/qwtlicense.html"; - }; - - ruby = { - spdxId = "Ruby"; - fullName = "Ruby License"; - }; - - sendmail = { - spdxId = "Sendmail"; - fullName = "Sendmail License"; - }; - - sgi-b-20 = { - spdxId = "SGI-B-2.0"; - fullName = "SGI Free Software License B v2.0"; - }; - - # Gentoo seems to treat it as a license: - # https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses/SGMLUG?id=7d999af4a47bf55e53e54713d98d145f935935c1 - sgmlug = { - fullName = "SGML UG SGML Parser Materials license"; - }; - - sleepycat = { - spdxId = "Sleepycat"; - fullName = "Sleepycat License"; - }; - - smail = { - shortName = "smail"; - fullName = "SMAIL General Public License"; - url = "https://sources.debian.org/copyright/license/debianutils/4.9.1/"; - }; - - smlnj = { - spdxId = "SMLNJ"; - fullName = "Standard ML of New Jersey License"; - }; - - sspl = { - shortName = "SSPL"; - fullName = "Server Side Public License"; - url = "https://www.mongodb.com/licensing/server-side-public-license"; - free = false; - # NOTE Debatable. - # The license a slightly modified AGPL but still considered unfree by the - # OSI for what seem like political reasons - redistributable = true; # Definitely redistributable though, it's an AGPL derivative - }; - - stk = { - shortName = "stk"; - fullName = "Synthesis Tool Kit 4.3"; - url = "https://github.com/thestk/stk/blob/master/LICENSE"; - }; - - sudo = { - shortName = "sudo"; - fullName = "Sudo License (ISC-style)"; - url = "https://www.sudo.ws/about/license/"; - }; - - sustainableUse = { - shortName = "sustainable"; - fullName = "Sustainable Use License"; - url = "https://github.com/n8n-io/n8n/blob/master/LICENSE.md"; - free = false; - redistributable = false; # only free to redistribute "for non-commercial purposes" - }; - - tsl = { - shortName = "TSL"; - fullName = "Timescale License Agreegment"; - url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE"; - unfree = true; - }; - - tcltk = { - spdxId = "TCL"; - fullName = "TCL/TK License"; - }; - - ucd = { - fullName = "Unicode Character Database License"; - url = "https://fedoraproject.org/wiki/Licensing:UCD"; - }; - - ufl = { - fullName = "Ubuntu Font License 1.0"; - url = "https://ubuntu.com/legal/font-licence"; - }; - - unfree = { - fullName = "Unfree"; - free = false; - }; - - unfreeRedistributable = { - fullName = "Unfree redistributable"; - free = false; - redistributable = true; - }; - - unfreeRedistributableFirmware = { - fullName = "Unfree redistributable firmware"; - redistributable = true; - # Note: we currently consider these "free" for inclusion in the - # channel and NixOS images. - }; - - unicode-dfs-2015 = { - spdxId = "Unicode-DFS-2015"; - fullName = "Unicode License Agreement - Data Files and Software (2015)"; - }; - - unicode-dfs-2016 = { - spdxId = "Unicode-DFS-2016"; - fullName = "Unicode License Agreement - Data Files and Software (2016)"; - }; - - unlicense = { - spdxId = "Unlicense"; - fullName = "The Unlicense"; - }; - - upl = { - spdxId = "UPL-1.0"; - fullName = "Universal Permissive License"; - url = "https://oss.oracle.com/licenses/upl/"; - }; - - vim = { - spdxId = "Vim"; - fullName = "Vim License"; - }; - - virtualbox-puel = { - fullName = "Oracle VM VirtualBox Extension Pack Personal Use and Evaluation License (PUEL)"; - url = "https://www.virtualbox.org/wiki/VirtualBox_PUEL"; - free = false; - }; - - vol-sl = { - fullName = "Volatility Software License, Version 1.0"; - url = "https://www.volatilityfoundation.org/license/vsl-v1.0"; - }; - - vsl10 = { - spdxId = "VSL-1.0"; - fullName = "Vovida Software License v1.0"; - }; - - watcom = { - spdxId = "Watcom-1.0"; - fullName = "Sybase Open Watcom Public License 1.0"; - }; - - w3c = { - spdxId = "W3C"; - fullName = "W3C Software Notice and License"; - }; - - wadalab = { - fullName = "Wadalab Font License"; - url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab"; - }; - - wtfpl = { - spdxId = "WTFPL"; - fullName = "Do What The F*ck You Want To Public License"; - }; - - wxWindows = { - spdxId = "wxWindows"; - fullName = "wxWindows Library Licence, Version 3.1"; - }; - - x11 = { - spdxId = "X11"; - fullName = "X11 License"; - }; - - xfig = { - spdxId = "Xfig"; - fullName = "xfig"; - url = "https://mcj.sourceforge.net/authors.html#xfig"; - }; - - xinetd = { - spdxId = "xinetd"; - fullName = "xinetd License"; - }; - - zlib = { - spdxId = "Zlib"; - fullName = "zlib License"; - }; - - zpl20 = { - spdxId = "ZPL-2.0"; - fullName = "Zope Public License 2.0"; - }; - - zpl21 = { - spdxId = "ZPL-2.1"; - fullName = "Zope Public License 2.1"; - }; - - xskat = { - spdxId = "XSkat"; - fullName = "XSkat License"; - }; - } // { - # TODO: remove legacy aliases - agpl3 = { - spdxId = "AGPL-3.0"; - fullName = "GNU Affero General Public License v3.0"; - deprecated = true; - }; - gpl2 = { - spdxId = "GPL-2.0"; - fullName = "GNU General Public License v2.0"; - deprecated = true; - }; - gpl3 = { - spdxId = "GPL-3.0"; - fullName = "GNU General Public License v3.0"; - deprecated = true; - }; - lgpl2 = { - spdxId = "LGPL-2.0"; - fullName = "GNU Library General Public License v2"; - deprecated = true; - }; - lgpl21 = { - spdxId = "LGPL-2.1"; - fullName = "GNU Lesser General Public License v2.1"; - deprecated = true; - }; - lgpl3 = { - spdxId = "LGPL-3.0"; - fullName = "GNU Lesser General Public License v3.0"; - deprecated = true; - }; - }) +lib.mapAttrs (lname: lset: let + defaultLicense = { + shortName = lname; + free = true; # Most of our licenses are Free, explicitly declare unfree additions as such! + deprecated = false; + }; + + mkLicense = licenseDeclaration: let + applyDefaults = license: defaultLicense // license; + applySpdx = license: + if license ? spdxId + then license // { url = "https://spdx.org/licenses/${license.spdxId}.html"; } + else license; + applyRedistributable = license: { redistributable = license.free; } // license; + in lib.pipe licenseDeclaration [ + applyDefaults + applySpdx + applyRedistributable + ]; +in mkLicense lset) ({ + /* License identifiers from spdx.org where possible. + * If you cannot find your license here, then look for a similar license or + * add it to this list. The URL mentioned above is a good source for inspiration. + */ + + abstyles = { + spdxId = "Abstyles"; + fullName = "Abstyles License"; + }; + + acsl14 = { + fullName = "Anti-Capitalist Software License v1.4"; + url = "https://anticapitalist.software/"; + /* restrictions on corporations apply for both use and redistribution */ + free = false; + redistributable = false; + }; + + activision = { + # https://doomwiki.org/wiki/Raven_source_code_licensing + fullName = "Activision EULA"; + url = "https://www.doomworld.com/eternity/activision_eula.txt"; + free = false; + }; + + afl20 = { + spdxId = "AFL-2.0"; + fullName = "Academic Free License v2.0"; + }; + + afl21 = { + spdxId = "AFL-2.1"; + fullName = "Academic Free License v2.1"; + }; + + afl3 = { + spdxId = "AFL-3.0"; + fullName = "Academic Free License v3.0"; + }; + + agpl3Only = { + spdxId = "AGPL-3.0-only"; + fullName = "GNU Affero General Public License v3.0 only"; + }; + + agpl3Plus = { + spdxId = "AGPL-3.0-or-later"; + fullName = "GNU Affero General Public License v3.0 or later"; + }; + + aladdin = { + spdxId = "Aladdin"; + fullName = "Aladdin Free Public License"; + free = false; + }; + + amazonsl = { + fullName = "Amazon Software License"; + url = "https://aws.amazon.com/asl/"; + free = false; + }; + + amd = { + fullName = "AMD License Agreement"; + url = "https://developer.amd.com/amd-license-agreement/"; + free = false; + }; + + aom = { + fullName = "Alliance for Open Media Patent License 1.0"; + url = "https://aomedia.org/license/patent-license/"; + }; + + apsl10 = { + spdxId = "APSL-1.0"; + fullName = "Apple Public Source License 1.0"; + }; + + apsl20 = { + spdxId = "APSL-2.0"; + fullName = "Apple Public Source License 2.0"; + }; + + arphicpl = { + spdxId = "Arphic-1999"; + fullName = "Arphic Public License"; + url = "https://www.freedesktop.org/wiki/Arphic_Public_License/"; + }; + + artistic1 = { + spdxId = "Artistic-1.0"; + fullName = "Artistic License 1.0"; + }; + + artistic1-cl8 = { + spdxId = "Artistic-1.0-cl8"; + fullName = "Artistic License 1.0 w/clause 8"; + }; + + artistic2 = { + spdxId = "Artistic-2.0"; + fullName = "Artistic License 2.0"; + }; + + asl20 = { + spdxId = "Apache-2.0"; + fullName = "Apache License 2.0"; + }; + + asl20-llvm = { + spdxId = "Apache-2.0 WITH LLVM-exception"; + fullName = "Apache License 2.0 with LLVM Exceptions"; + }; + + bitstreamVera = { + spdxId = "Bitstream-Vera"; + fullName = "Bitstream Vera Font License"; + }; + + bitTorrent10 = { + spdxId = "BitTorrent-1.0"; + fullName = " BitTorrent Open Source License v1.0"; + }; + + bitTorrent11 = { + spdxId = "BitTorrent-1.1"; + fullName = " BitTorrent Open Source License v1.1"; + }; + + bola11 = { + url = "https://blitiri.com.ar/p/bola/"; + fullName = "Buena Onda License Agreement 1.1"; + }; + + boost = { + spdxId = "BSL-1.0"; + fullName = "Boost Software License 1.0"; + }; + + beerware = { + spdxId = "Beerware"; + fullName = "Beerware License"; + }; + + blueOak100 = { + spdxId = "BlueOak-1.0.0"; + fullName = "Blue Oak Model License 1.0.0"; + }; + + bsd0 = { + spdxId = "0BSD"; + fullName = "BSD Zero Clause License"; + }; + + bsd1 = { + spdxId = "BSD-1-Clause"; + fullName = "BSD 1-Clause License"; + }; + + bsd2 = { + spdxId = "BSD-2-Clause"; + fullName = ''BSD 2-clause "Simplified" License''; + }; + + bsd2Patent = { + spdxId = "BSD-2-Clause-Patent"; + fullName = "BSD-2-Clause Plus Patent License"; + }; + + bsd2WithViews = { + spdxId = "BSD-2-Clause-Views"; + fullName = "BSD 2-Clause with views sentence"; + }; + + bsd3 = { + spdxId = "BSD-3-Clause"; + fullName = ''BSD 3-clause "New" or "Revised" License''; + }; + + bsd3Clear = { + spdxId = "BSD-3-Clause-Clear"; + fullName = "BSD 3-Clause Clear License"; + }; + + bsdOriginal = { + spdxId = "BSD-4-Clause"; + fullName = ''BSD 4-clause "Original" or "Old" License''; + }; + + bsdOriginalShortened = { + spdxId = "BSD-4-Clause-Shortened"; + fullName = "BSD 4 Clause Shortened"; + }; + + bsdOriginalUC = { + spdxId = "BSD-4-Clause-UC"; + fullName = "BSD 4-Clause University of California-Specific"; + }; + + bsdProtection = { + spdxId = "BSD-Protection"; + fullName = "BSD Protection License"; + }; + + bsl11 = { + fullName = "Business Source License 1.1"; + url = "https://mariadb.com/bsl11"; + free = false; + redistributable = true; + }; + + caossl = { + fullName = "Computer Associates Open Source Licence Version 1.0"; + url = "http://jxplorer.org/licence.html"; + }; + + cal10 = { + spdxId = "CAL-1.0"; + fullName = "Cryptographic Autonomy License version 1.0 (CAL-1.0)"; + url = "https://opensource.org/licenses/CAL-1.0"; + }; + + caldera = { + spdxId = "Caldera"; + fullName = "Caldera License"; + url = "http://www.lemis.com/grog/UNIX/ancient-source-all.pdf"; + }; + + capec = { + fullName = "Common Attack Pattern Enumeration and Classification"; + url = "https://capec.mitre.org/about/termsofuse.html"; + }; + + clArtistic = { + spdxId = "ClArtistic"; + fullName = "Clarified Artistic License"; + }; + + cc0 = { + spdxId = "CC0-1.0"; + fullName = "Creative Commons Zero v1.0 Universal"; + }; + + cc-by-nc-nd-30 = { + spdxId = "CC-BY-NC-ND-3.0"; + fullName = "Creative Commons Attribution Non Commercial No Derivative Works 3.0 Unported"; + free = false; + }; + + cc-by-nc-nd-40 = { + spdxId = "CC-BY-NC-ND-4.0"; + fullName = "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International"; + free = false; + }; + + cc-by-nc-sa-20 = { + spdxId = "CC-BY-NC-SA-2.0"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 2.0"; + free = false; + }; + + cc-by-nc-sa-25 = { + spdxId = "CC-BY-NC-SA-2.5"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 2.5"; + free = false; + }; + + cc-by-nc-sa-30 = { + spdxId = "CC-BY-NC-SA-3.0"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 3.0"; + free = false; + }; + + cc-by-nc-sa-40 = { + spdxId = "CC-BY-NC-SA-4.0"; + fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; + free = false; + }; + + cc-by-nc-30 = { + spdxId = "CC-BY-NC-3.0"; + fullName = "Creative Commons Attribution Non Commercial 3.0 Unported"; + free = false; + }; + + cc-by-nc-40 = { + spdxId = "CC-BY-NC-4.0"; + fullName = "Creative Commons Attribution Non Commercial 4.0 International"; + free = false; + }; + + cc-by-nd-30 = { + spdxId = "CC-BY-ND-3.0"; + fullName = "Creative Commons Attribution-No Derivative Works v3.00"; + free = false; + }; + + cc-by-sa-10 = { + spdxId = "CC-BY-SA-1.0"; + fullName = "Creative Commons Attribution Share Alike 1.0"; + }; + + cc-by-sa-20 = { + spdxId = "CC-BY-SA-2.0"; + fullName = "Creative Commons Attribution Share Alike 2.0"; + }; + + cc-by-sa-25 = { + spdxId = "CC-BY-SA-2.5"; + fullName = "Creative Commons Attribution Share Alike 2.5"; + }; + + cc-by-10 = { + spdxId = "CC-BY-1.0"; + fullName = "Creative Commons Attribution 1.0"; + }; + + cc-by-20 = { + spdxId = "CC-BY-2.0"; + fullName = "Creative Commons Attribution 2.0"; + }; + + cc-by-30 = { + spdxId = "CC-BY-3.0"; + fullName = "Creative Commons Attribution 3.0"; + }; + + cc-by-sa-30 = { + spdxId = "CC-BY-SA-3.0"; + fullName = "Creative Commons Attribution Share Alike 3.0"; + }; + + cc-by-40 = { + spdxId = "CC-BY-4.0"; + fullName = "Creative Commons Attribution 4.0"; + }; + + cc-by-sa-40 = { + spdxId = "CC-BY-SA-4.0"; + fullName = "Creative Commons Attribution Share Alike 4.0"; + }; + + cddl = { + spdxId = "CDDL-1.0"; + fullName = "Common Development and Distribution License 1.0"; + }; + + cecill20 = { + spdxId = "CECILL-2.0"; + fullName = "CeCILL Free Software License Agreement v2.0"; + }; + + cecill21 = { + spdxId = "CECILL-2.1"; + fullName = "CeCILL Free Software License Agreement v2.1"; + }; + + cecill-b = { + spdxId = "CECILL-B"; + fullName = "CeCILL-B Free Software License Agreement"; + }; + + cecill-c = { + spdxId = "CECILL-C"; + fullName = "CeCILL-C Free Software License Agreement"; + }; + + cpal10 = { + spdxId = "CPAL-1.0"; + fullName = "Common Public Attribution License 1.0"; + }; + + commons-clause = { + fullName = "Commons Clause License"; + url = "https://commonsclause.com/"; + free = false; + }; + + cpl10 = { + spdxId = "CPL-1.0"; + fullName = "Common Public License 1.0"; + }; + + curl = { + spdxId = "curl"; + fullName = "curl License"; + }; + + doc = { + spdxId = "DOC"; + fullName = "DOC License"; + }; + + drl10 = { + spdxId = "DRL-1.0"; + fullName = "Detection Rule License 1.0"; + }; + + dtoa = { + spdxId = "dtoa"; + fullName = "dtoa License"; + }; + + eapl = { + fullName = "EPSON AVASYS PUBLIC LICENSE"; + url = "https://avasys.jp/hp/menu000000700/hpg000000603.htm"; + free = false; + }; + + ecl20 = { + fullName = "Educational Community License, Version 2.0"; + url = "https://opensource.org/licenses/ECL-2.0"; + shortName = "ECL 2.0"; + spdxId = "ECL-2.0"; + }; + + efl10 = { + spdxId = "EFL-1.0"; + fullName = "Eiffel Forum License v1.0"; + }; + + efl20 = { + spdxId = "EFL-2.0"; + fullName = "Eiffel Forum License v2.0"; + }; + + elastic20 = { + spdxId = "Elastic-2.0"; + fullName = "Elastic License 2.0"; + url = "https://github.com/elastic/elasticsearch/blob/main/licenses/ELASTIC-LICENSE-2.0.txt"; + free = false; + }; + + epl10 = { + spdxId = "EPL-1.0"; + fullName = "Eclipse Public License 1.0"; + }; + + epl20 = { + spdxId = "EPL-2.0"; + fullName = "Eclipse Public License 2.0"; + }; + + epson = { + fullName = "Seiko Epson Corporation Software License Agreement for Linux"; + url = "https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html"; + free = false; + }; + + eupl11 = { + spdxId = "EUPL-1.1"; + fullName = "European Union Public License 1.1"; + }; + + eupl12 = { + spdxId = "EUPL-1.2"; + fullName = "European Union Public License 1.2"; + }; + + fdl11Only = { + spdxId = "GFDL-1.1-only"; + fullName = "GNU Free Documentation License v1.1 only"; + }; + + fdl11Plus = { + spdxId = "GFDL-1.1-or-later"; + fullName = "GNU Free Documentation License v1.1 or later"; + }; + + fdl12Only = { + spdxId = "GFDL-1.2-only"; + fullName = "GNU Free Documentation License v1.2 only"; + }; + + fdl12Plus = { + spdxId = "GFDL-1.2-or-later"; + fullName = "GNU Free Documentation License v1.2 or later"; + }; + + fdl13Only = { + spdxId = "GFDL-1.3-only"; + fullName = "GNU Free Documentation License v1.3 only"; + }; + + fdl13Plus = { + spdxId = "GFDL-1.3-or-later"; + fullName = "GNU Free Documentation License v1.3 or later"; + }; + + ffsl = { + fullName = "Floodgap Free Software License"; + url = "https://www.floodgap.com/software/ffsl/license.html"; + free = false; + }; + + fraunhofer-fdk = { + fullName = "Fraunhofer FDK AAC Codec Library"; + spdxId = "FDK-AAC"; + }; + + free = { + fullName = "Unspecified free software license"; + }; + + ftl = { + spdxId = "FTL"; + fullName = "Freetype Project License"; + }; + + g4sl = { + fullName = "Geant4 Software License"; + url = "https://geant4.web.cern.ch/geant4/license/LICENSE.html"; + }; + + geogebra = { + fullName = "GeoGebra Non-Commercial License Agreement"; + url = "https://www.geogebra.org/license"; + free = false; + }; + + generaluser = { + fullName = "GeneralUser GS License v2.0"; + url = "https://www.schristiancollins.com/generaluser.php"; # license included in sources + }; + + gfl = { + fullName = "GUST Font License"; + url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-LICENSE.txt"; + }; + + gfsl = { + fullName = "GUST Font Source License"; + url = "https://www.gust.org.pl/projects/e-foundry/licenses/GUST-FONT-SOURCE-LICENSE.txt"; + }; + + gpl1Only = { + spdxId = "GPL-1.0-only"; + fullName = "GNU General Public License v1.0 only"; + }; + + gpl1Plus = { + spdxId = "GPL-1.0-or-later"; + fullName = "GNU General Public License v1.0 or later"; + }; + + gpl2Only = { + spdxId = "GPL-2.0-only"; + fullName = "GNU General Public License v2.0 only"; + }; + + gpl2Classpath = { + spdxId = "GPL-2.0-with-classpath-exception"; + fullName = "GNU General Public License v2.0 only (with Classpath exception)"; + }; + + gpl2ClasspathPlus = { + fullName = "GNU General Public License v2.0 or later (with Classpath exception)"; + url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; + }; + + gpl2Oss = { + fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)"; + url = "https://www.mysql.com/about/legal/licensing/foss-exception"; + }; + + gpl2Plus = { + spdxId = "GPL-2.0-or-later"; + fullName = "GNU General Public License v2.0 or later"; + }; + + gpl3Only = { + spdxId = "GPL-3.0-only"; + fullName = "GNU General Public License v3.0 only"; + }; + + gpl3Plus = { + spdxId = "GPL-3.0-or-later"; + fullName = "GNU General Public License v3.0 or later"; + }; + + gpl3ClasspathPlus = { + fullName = "GNU General Public License v3.0 or later (with Classpath exception)"; + url = "https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception"; + }; + + giftware = { + spdxId = "Giftware"; + fullName = "Giftware License"; + }; + + hpnd = { + spdxId = "HPND"; + fullName = "Historic Permission Notice and Disclaimer"; + }; + + hpndSellVariant = { + fullName = "Historical Permission Notice and Disclaimer - sell variant"; + spdxId = "HPND-sell-variant"; + }; + + hpndUc = { + spdxId = "HPND-UC"; + fullName = "Historical Permission Notice and Disclaimer - University of California variant"; + }; + + # Intel's license, seems free + iasl = { + spdxId = "Intel-ACPI"; + fullName = "iASL"; + url = "https://old.calculate-linux.org/packages/licenses/iASL"; + }; + + ijg = { + spdxId = "IJG"; + fullName = "Independent JPEG Group License"; + }; + + imagemagick = { + fullName = "ImageMagick License"; + spdxId = "ImageMagick"; + }; + + imlib2 = { + spdxId = "Imlib2"; + fullName = "Imlib2 License"; + }; + + info-zip = { + spdxId = "Info-ZIP"; + fullName = "Info-ZIP License"; + url = "https://infozip.sourceforge.net/license.html"; + }; + + inria-compcert = { + fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler"; + url = "https://compcert.org/doc/LICENSE.txt"; + free = false; + }; + + inria-icesl = { + fullName = "End User License Agreement for IceSL Software"; + url = "https://icesl.loria.fr/assets/pdf/EULA_IceSL_binary.pdf"; + free = false; + }; + + inria-zelus = { + fullName = "INRIA Non-Commercial License Agreement for the Zélus compiler"; + url = "https://github.com/INRIA/zelus/raw/829f2b97cba93b0543a9ca0272269e6b8fdad356/LICENSE"; + free = false; + }; + + ipa = { + spdxId = "IPA"; + fullName = "IPA Font License"; + }; + + ipl10 = { + spdxId = "IPL-1.0"; + fullName = "IBM Public License v1.0"; + }; + + isc = { + spdxId = "ISC"; + fullName = "ISC License"; + }; + + # Proprietary binaries; free to redistribute without modification. + databricks = { + fullName = "Databricks Proprietary License"; + url = "https://pypi.org/project/databricks-connect"; + free = false; + }; + + databricks-dbx = { + fullName = "DataBricks eXtensions aka dbx License"; + url = "https://github.com/databrickslabs/dbx/blob/743b579a4ac44531f764c6e522dbe5a81a7dc0e4/LICENSE"; + free = false; + redistributable = false; + }; + + fair = { + fullName = "Fair License"; + spdxId = "Fair"; + free = true; + }; + + fairsource09 = { + fullName = "Fair Source License, version 0.9"; + url = "https://fair.io/v0.9.txt"; + free = false; + redistributable = true; + }; + + hl3 = { + fullName = "Hippocratic License v3.0"; + url = "https://firstdonoharm.dev/version/3/0/core.txt"; + free = false; + redistributable = true; + }; + + issl = { + fullName = "Intel Simplified Software License"; + url = "https://software.intel.com/en-us/license/intel-simplified-software-license"; + free = false; + }; + + knuth = { + fullName = "Knuth CTAN License"; + spdxId = "Knuth-CTAN"; + }; + + lal12 = { + spdxId = "LAL-1.2"; + fullName = "Licence Art Libre 1.2"; + }; + + lal13 = { + spdxId = "LAL-1.3"; + fullName = "Licence Art Libre 1.3"; + }; + + lens = { + fullName = "Lens Terms of Service Agreement"; + url = "https://k8slens.dev/licenses/tos"; + free = false; + }; + + lgpl2Only = { + spdxId = "LGPL-2.0-only"; + fullName = "GNU Library General Public License v2 only"; + }; + + lgpl2Plus = { + spdxId = "LGPL-2.0-or-later"; + fullName = "GNU Library General Public License v2 or later"; + }; + + lgpl21Only = { + spdxId = "LGPL-2.1-only"; + fullName = "GNU Lesser General Public License v2.1 only"; + }; + + lgpl21Plus = { + spdxId = "LGPL-2.1-or-later"; + fullName = "GNU Lesser General Public License v2.1 or later"; + }; + + lgpl3Only = { + spdxId = "LGPL-3.0-only"; + fullName = "GNU Lesser General Public License v3.0 only"; + }; + + lgpl3Plus = { + spdxId = "LGPL-3.0-or-later"; + fullName = "GNU Lesser General Public License v3.0 or later"; + }; + + lgpllr = { + spdxId = "LGPLLR"; + fullName = "Lesser General Public License For Linguistic Resources"; + }; + + libpng = { + spdxId = "Libpng"; + fullName = "libpng License"; + }; + + libpng2 = { + spdxId = "libpng-2.0"; # Used since libpng 1.6.36. + fullName = "PNG Reference Library version 2"; + }; + + libssh2 = { + fullName = "libssh2 License"; + url = "https://www.libssh2.org/license.html"; + }; + + libtiff = { + spdxId = "libtiff"; + fullName = "libtiff License"; + }; + + llgpl21 = { + fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp"; + url = "https://opensource.franz.com/preamble.html"; + }; + + lppl1 = { + spdxId = "LPPL-1.0"; + fullName = "LaTeX Project Public License v1.0"; + }; + + lppl12 = { + spdxId = "LPPL-1.2"; + fullName = "LaTeX Project Public License v1.2"; + }; + + lppl13a = { + spdxId = "LPPL-1.3a"; + fullName = "LaTeX Project Public License v1.3a"; + }; + + lppl13c = { + spdxId = "LPPL-1.3c"; + fullName = "LaTeX Project Public License v1.3c"; + }; + + lpl-102 = { + spdxId = "LPL-1.02"; + fullName = "Lucent Public License v1.02"; + }; + + miros = { + spdxId = "MirOS"; + fullName = "MirOS License"; + url = "https://opensource.org/licenses/MirOS"; + }; + + # spdx.org does not (yet) differentiate between the X11 and Expat versions + # for details see https://en.wikipedia.org/wiki/MIT_License#Various_versions + mit = { + spdxId = "MIT"; + fullName = "MIT License"; + }; + # https://spdx.org/licenses/MIT-feh.html + mit-feh = { + spdxId = "MIT-feh"; + fullName = "feh License"; + }; + + mitAdvertising = { + spdxId = "MIT-advertising"; + fullName = "Enlightenment License (e16)"; + }; + + mit0 = { + spdxId = "MIT-0"; + fullName = "MIT No Attribution"; + }; + + mpl10 = { + spdxId = "MPL-1.0"; + fullName = "Mozilla Public License 1.0"; + }; + + mpl11 = { + spdxId = "MPL-1.1"; + fullName = "Mozilla Public License 1.1"; + }; + + mpl20 = { + spdxId = "MPL-2.0"; + fullName = "Mozilla Public License 2.0"; + }; + + mplus = { + spdxId = "mplus"; + fullName = "M+ Font License"; + }; + + mspl = { + spdxId = "MS-PL"; + fullName = "Microsoft Public License"; + }; + + mulan-psl2 = { + spdxId = "MulanPSL-2.0"; + fullName = "Mulan Permissive Software License, Version 2"; + url = "https://license.coscl.org.cn/MulanPSL2"; + }; + + nasa13 = { + spdxId = "NASA-1.3"; + fullName = "NASA Open Source Agreement 1.3"; + free = false; + }; + + ncsa = { + spdxId = "NCSA"; + fullName = "University of Illinois/NCSA Open Source License"; + }; + + ncul1 = { + spdxId = "NCUL1"; + fullName = "Netdata Cloud UI License v1.0"; + free = false; + redistributable = true; # Only if used in Netdata products. + url = "https://raw.githubusercontent.com/netdata/netdata/master/web/gui/v2/LICENSE.md"; + }; + + nistSoftware = { + spdxId = "NIST-Software"; + fullName = "NIST Software License"; + }; + + nlpl = { + spdxId = "NLPL"; + fullName = "No Limit Public License"; + }; + + nposl3 = { + spdxId = "NPOSL-3.0"; + fullName = "Non-Profit Open Software License 3.0"; + }; + + nvidiaCuda = { + shortName = "CUDA EULA"; + fullName = "CUDA Toolkit End User License Agreement (EULA)"; + url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; + free = false; + }; + + nvidiaCudaRedist = { + shortName = "CUDA EULA"; + fullName = "CUDA Toolkit End User License Agreement (EULA)"; + url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; + free = false; + redistributable = true; + }; + + obsidian = { + fullName = "Obsidian End User Agreement"; + url = "https://obsidian.md/eula"; + free = false; + }; + + ocamlLgplLinkingException = { + spdxId = "OCaml-LGPL-linking-exception"; + fullName = "OCaml LGPL Linking Exception"; + }; + + ocamlpro_nc = { + fullName = "OCamlPro Non Commercial license version 1"; + url = "https://alt-ergo.ocamlpro.com/http/alt-ergo-2.2.0/OCamlPro-Non-Commercial-License.pdf"; + free = false; + }; + + odbl = { + spdxId = "ODbL-1.0"; + fullName = "Open Data Commons Open Database License v1.0"; + }; + + ofl = { + spdxId = "OFL-1.1"; + fullName = "SIL Open Font License 1.1"; + }; + + oml = { + spdxId = "OML"; + fullName = "Open Market License"; + }; + + openldap = { + spdxId = "OLDAP-2.8"; + fullName = "Open LDAP Public License v2.8"; + }; + + openssl = { + spdxId = "OpenSSL"; + fullName = "OpenSSL License"; + }; + + opubl = { + spdxId = "OPUBL-1.0"; + fullName = "Open Publication License v1.0"; + }; + + osl2 = { + spdxId = "OSL-2.0"; + fullName = "Open Software License 2.0"; + }; + + osl21 = { + spdxId = "OSL-2.1"; + fullName = "Open Software License 2.1"; + }; + + osl3 = { + spdxId = "OSL-3.0"; + fullName = "Open Software License 3.0"; + }; + + parity70 = { + spdxId = "Parity-7.0.0"; + fullName = "Parity Public License 7.0.0"; + url = "https://paritylicense.com/versions/7.0.0.html"; + }; + + php301 = { + spdxId = "PHP-3.01"; + fullName = "PHP License v3.01"; + }; + + postgresql = { + spdxId = "PostgreSQL"; + fullName = "PostgreSQL License"; + }; + + postman = { + fullName = "Postman EULA"; + url = "https://www.getpostman.com/licenses/postman_base_app"; + free = false; + }; + + psfl = { + spdxId = "Python-2.0"; + fullName = "Python Software Foundation License version 2"; + url = "https://docs.python.org/license.html"; + }; + + publicDomain = { + fullName = "Public Domain"; + }; + + purdueBsd = { + fullName = " Purdue BSD-Style License"; # also know as lsof license + url = "https://enterprise.dejacode.com/licenses/public/purdue-bsd"; + }; + + prosperity30 = { + fullName = "Prosperity-3.0.0"; + free = false; + url = "https://prosperitylicense.com/versions/3.0.0.html"; + }; + + qhull = { + spdxId = "Qhull"; + fullName = "Qhull License"; + }; + + qpl = { + spdxId = "QPL-1.0"; + fullName = "Q Public License 1.0"; + }; + + qwt = { + fullName = "Qwt License, Version 1.0"; + url = "https://qwt.sourceforge.io/qwtlicense.html"; + }; + + ruby = { + spdxId = "Ruby"; + fullName = "Ruby License"; + }; + + sendmail = { + spdxId = "Sendmail"; + fullName = "Sendmail License"; + }; + + sgi-b-20 = { + spdxId = "SGI-B-2.0"; + fullName = "SGI Free Software License B v2.0"; + }; + + # Gentoo seems to treat it as a license: + # https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses/SGMLUG?id=7d999af4a47bf55e53e54713d98d145f935935c1 + sgmlug = { + fullName = "SGML UG SGML Parser Materials license"; + }; + + sleepycat = { + spdxId = "Sleepycat"; + fullName = "Sleepycat License"; + }; + + smail = { + shortName = "smail"; + fullName = "SMAIL General Public License"; + url = "https://sources.debian.org/copyright/license/debianutils/4.9.1/"; + }; + + smlnj = { + spdxId = "SMLNJ"; + fullName = "Standard ML of New Jersey License"; + }; + + sspl = { + shortName = "SSPL"; + fullName = "Server Side Public License"; + url = "https://www.mongodb.com/licensing/server-side-public-license"; + free = false; + # NOTE Debatable. + # The license a slightly modified AGPL but still considered unfree by the + # OSI for what seem like political reasons + redistributable = true; # Definitely redistributable though, it's an AGPL derivative + }; + + stk = { + shortName = "stk"; + fullName = "Synthesis Tool Kit 4.3"; + url = "https://github.com/thestk/stk/blob/master/LICENSE"; + }; + + sudo = { + shortName = "sudo"; + fullName = "Sudo License (ISC-style)"; + url = "https://www.sudo.ws/about/license/"; + }; + + sustainableUse = { + shortName = "sustainable"; + fullName = "Sustainable Use License"; + url = "https://github.com/n8n-io/n8n/blob/master/LICENSE.md"; + free = false; + redistributable = false; # only free to redistribute "for non-commercial purposes" + }; + + tsl = { + shortName = "TSL"; + fullName = "Timescale License Agreegment"; + url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE"; + unfree = true; + }; + + tcltk = { + spdxId = "TCL"; + fullName = "TCL/TK License"; + }; + + ucd = { + fullName = "Unicode Character Database License"; + url = "https://fedoraproject.org/wiki/Licensing:UCD"; + }; + + ufl = { + fullName = "Ubuntu Font License 1.0"; + url = "https://ubuntu.com/legal/font-licence"; + }; + + unfree = { + fullName = "Unfree"; + free = false; + }; + + unfreeRedistributable = { + fullName = "Unfree redistributable"; + free = false; + redistributable = true; + }; + + unfreeRedistributableFirmware = { + fullName = "Unfree redistributable firmware"; + redistributable = true; + # Note: we currently consider these "free" for inclusion in the + # channel and NixOS images. + }; + + unicode-dfs-2015 = { + spdxId = "Unicode-DFS-2015"; + fullName = "Unicode License Agreement - Data Files and Software (2015)"; + }; + + unicode-dfs-2016 = { + spdxId = "Unicode-DFS-2016"; + fullName = "Unicode License Agreement - Data Files and Software (2016)"; + }; + + unlicense = { + spdxId = "Unlicense"; + fullName = "The Unlicense"; + }; + + upl = { + spdxId = "UPL-1.0"; + fullName = "Universal Permissive License"; + url = "https://oss.oracle.com/licenses/upl/"; + }; + + vim = { + spdxId = "Vim"; + fullName = "Vim License"; + }; + + virtualbox-puel = { + fullName = "Oracle VM VirtualBox Extension Pack Personal Use and Evaluation License (PUEL)"; + url = "https://www.virtualbox.org/wiki/VirtualBox_PUEL"; + free = false; + }; + + vol-sl = { + fullName = "Volatility Software License, Version 1.0"; + url = "https://www.volatilityfoundation.org/license/vsl-v1.0"; + }; + + vsl10 = { + spdxId = "VSL-1.0"; + fullName = "Vovida Software License v1.0"; + }; + + watcom = { + spdxId = "Watcom-1.0"; + fullName = "Sybase Open Watcom Public License 1.0"; + }; + + w3c = { + spdxId = "W3C"; + fullName = "W3C Software Notice and License"; + }; + + wadalab = { + fullName = "Wadalab Font License"; + url = "https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab"; + }; + + wtfpl = { + spdxId = "WTFPL"; + fullName = "Do What The F*ck You Want To Public License"; + }; + + wxWindows = { + spdxId = "wxWindows"; + fullName = "wxWindows Library Licence, Version 3.1"; + }; + + x11 = { + spdxId = "X11"; + fullName = "X11 License"; + }; + + xfig = { + spdxId = "Xfig"; + fullName = "xfig"; + url = "https://mcj.sourceforge.net/authors.html#xfig"; + }; + + xinetd = { + spdxId = "xinetd"; + fullName = "xinetd License"; + }; + + zlib = { + spdxId = "Zlib"; + fullName = "zlib License"; + }; + + zpl20 = { + spdxId = "ZPL-2.0"; + fullName = "Zope Public License 2.0"; + }; + + zpl21 = { + spdxId = "ZPL-2.1"; + fullName = "Zope Public License 2.1"; + }; + + xskat = { + spdxId = "XSkat"; + fullName = "XSkat License"; + }; +} // { + # TODO: remove legacy aliases + agpl3 = { + spdxId = "AGPL-3.0"; + fullName = "GNU Affero General Public License v3.0"; + deprecated = true; + }; + gpl2 = { + spdxId = "GPL-2.0"; + fullName = "GNU General Public License v2.0"; + deprecated = true; + }; + gpl3 = { + spdxId = "GPL-3.0"; + fullName = "GNU General Public License v3.0"; + deprecated = true; + }; + lgpl2 = { + spdxId = "LGPL-2.0"; + fullName = "GNU Library General Public License v2"; + deprecated = true; + }; + lgpl21 = { + spdxId = "LGPL-2.1"; + fullName = "GNU Lesser General Public License v2.1"; + deprecated = true; + }; + lgpl3 = { + spdxId = "LGPL-3.0"; + fullName = "GNU Lesser General Public License v3.0"; + deprecated = true; + }; +}) From 28a98de40e3878f45941a8691fe8fccc58179d35 Mon Sep 17 00:00:00 2001 From: noisersup Date: Fri, 22 Mar 2024 10:30:27 +0100 Subject: [PATCH 038/114] ferretdb: 1.20.1 -> 1.21.0 --- pkgs/servers/nosql/ferretdb/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/nosql/ferretdb/default.nix b/pkgs/servers/nosql/ferretdb/default.nix index b00b67449ace..3dfc16a48c1f 100644 --- a/pkgs/servers/nosql/ferretdb/default.nix +++ b/pkgs/servers/nosql/ferretdb/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "ferretdb"; - version = "1.20.1"; + version = "1.21.0"; src = fetchFromGitHub { owner = "FerretDB"; repo = "FerretDB"; rev = "v${version}"; - hash = "sha256-joLl0LTDGP2FVYcUIknrLPYorfIlMXli+igV/Z4P0BI="; + hash = "sha256-wTnVZ2C6edXy7+DV5w9Ny1Ry8yKQtahS2AIjFkaJhm8="; }; postPatch = '' @@ -20,7 +20,7 @@ buildGoModule rec { echo nixpkgs > build/version/package.txt ''; - vendorHash = "sha256-lkJagsagJT8qP3/cd6Rfe2mqjOmDK7R+we0eblyT9rw="; + vendorHash = "sha256-1Al7Dxw6EkGZpjmxQWbRU4uV0KT1emNI3YNGbiX87Yc="; CGO_ENABLED = 0; From 5850999312f98600a7f83e14f45963d90f53d2cc Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Wed, 7 Feb 2024 11:38:54 -0300 Subject: [PATCH 039/114] etcd_3_5: add update script --- .../servers/etcd/{3.5.nix => 3.5/default.nix} | 13 ++-- pkgs/servers/etcd/3.5/update.sh | 68 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 78 insertions(+), 5 deletions(-) rename pkgs/servers/etcd/{3.5.nix => 3.5/default.nix} (77%) create mode 100755 pkgs/servers/etcd/3.5/update.sh diff --git a/pkgs/servers/etcd/3.5.nix b/pkgs/servers/etcd/3.5/default.nix similarity index 77% rename from pkgs/servers/etcd/3.5.nix rename to pkgs/servers/etcd/3.5/default.nix index 530df4476ecb..b664fa9cc6eb 100644 --- a/pkgs/servers/etcd/3.5.nix +++ b/pkgs/servers/etcd/3.5/default.nix @@ -2,12 +2,16 @@ let version = "3.5.12"; + etcdSrcHash = "sha256-Z2WXNzFJYfRQCldUspQjUR5NyUzCCINycuEXWaTn4vU="; + etcdServerVendorHash = "sha256-S5cEIV4hKRjn9JFEKWBiSEPytHtVacsSnG6T8dofgyk="; + etcdUtlVendorHash = "sha256-Vgp44Kg6zUDYVJU6SiYd8ZEcAWqKPPTsqYafcfk89Cc="; + etcdCtlVendorHash = "sha256-PZLsekZzwlGzccCirNk9uUj70Ue5LMDs6LMWBI9yivs="; src = fetchFromGitHub { owner = "etcd-io"; repo = "etcd"; rev = "v${version}"; - hash = "sha256-Z2WXNzFJYfRQCldUspQjUR5NyUzCCINycuEXWaTn4vU="; + hash = etcdSrcHash; }; CGO_ENABLED = 0; @@ -25,7 +29,7 @@ let inherit CGO_ENABLED meta src version; - vendorHash = "sha256-S5cEIV4hKRjn9JFEKWBiSEPytHtVacsSnG6T8dofgyk="; + vendorHash = etcdServerVendorHash; modRoot = "./server"; @@ -45,7 +49,7 @@ let inherit CGO_ENABLED meta src version; - vendorHash = "sha256-Vgp44Kg6zUDYVJU6SiYd8ZEcAWqKPPTsqYafcfk89Cc="; + vendorHash = etcdUtlVendorHash; modRoot = "./etcdutl"; }; @@ -55,7 +59,7 @@ let inherit CGO_ENABLED meta src version; - vendorHash = "sha256-PZLsekZzwlGzccCirNk9uUj70Ue5LMDs6LMWBI9yivs="; + vendorHash = etcdCtlVendorHash; modRoot = "./etcdctl"; }; @@ -71,6 +75,7 @@ symlinkJoin { inherit (nixosTests) etcd etcd-cluster; k3s = k3s.passthru.tests.etcd; }; + updateScript = ./update.sh; }; paths = [ diff --git a/pkgs/servers/etcd/3.5/update.sh b/pkgs/servers/etcd/3.5/update.sh new file mode 100755 index 000000000000..329161188e39 --- /dev/null +++ b/pkgs/servers/etcd/3.5/update.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl gnugrep gnused jq nix-prefetch + +set -x -eu -o pipefail + +ETCD_VERSION_MAJOR_MINOR=`basename "$PWD"` + +ETCD_PKG_NAME=etcd_$(echo $ETCD_VERSION_MAJOR_MINOR | sed 's/[.]/_/g') +NIXPKGS_PATH="$(git rev-parse --show-toplevel)" +ETCD_PATH="$(dirname "$0")" + +OLD_VERSION="$(nix-instantiate --eval -E "with import $NIXPKGS_PATH {}; \ + $ETCD_PKG_NAME.version or (builtins.parseDrvName $ETCD_PKG_NAME.name).version" | tr -d '"')" + +LATEST_TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --silent https://api.github.com/repos/etcd-io/etcd/releases \ + | jq -r 'map(.tag_name)' | grep $ETCD_VERSION_MAJOR_MINOR | sed 's|[", ]||g' | sort -rV | head -n1) + +LATEST_VERSION=$(echo ${LATEST_TAG} | sed 's/^v//') + +if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then + echo "Attempting to update etcd from $OLD_VERSION to $LATEST_VERSION" + ETCD_SRC_HASH=$(nix-prefetch-url --quiet --unpack https://github.com/etcd-io/etcd/archive/refs/tags/${LATEST_TAG}.tar.gz) + ETCD_SRC_HASH=$(nix hash to-sri --type sha256 $ETCD_SRC_HASH) + + setKV () { + sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "$ETCD_PATH/default.nix" + } + + setKV version $LATEST_VERSION + setKV etcdSrcHash $ETCD_SRC_HASH + + getAndSetVendorHash () { + local EMPTY_HASH="sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" # Hash from lib.fakeHash + local VENDOR_HASH=$EMPTY_HASH + local PKG_KEY=$1 + local INNER_PKG=$2 + + setKV $PKG_KEY $EMPTY_HASH + + set +e + VENDOR_HASH=$(nix-prefetch -I nixpkgs=$NIXPKGS_PATH "{ sha256 }: \ + (import $NIXPKGS_PATH/. {}).$ETCD_PKG_NAME.passthru.$INNER_PKG.goModules.overrideAttrs (_: { vendorHash = sha256; })") + set -e + + if [ -n "${VENDOR_HASH:-}" ]; then + setKV $PKG_KEY $VENDOR_HASH + else + echo "Update failed. $PKG_KEY is empty." + exit 1 + fi + } + + getAndSetVendorHash etcdServerVendorHash etcdserver + getAndSetVendorHash etcdUtlVendorHash etcdutl + getAndSetVendorHash etcdCtlVendorHash etcdctl + + # `git` flag here is to be used by local maintainers to speed up the bump process + if [ $# -eq 1 ] && [ "$1" = "git" ]; then + git switch -c "package-$ETCD_PKG_NAME-$LATEST_VERSION" + git add "$ETCD_PATH"/default.nix + git commit -m "$ETCD_PKG_NAME: $OLD_VERSION -> $LATEST_VERSION + +Release: https://github.com/etcd-io/etcd/releases/tag/v$LATEST_VERSION" + fi + +else + echo "etcd is already up-to-date at $OLD_VERSION" +fi diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e16291ca8a49..5886d5fa66bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25882,7 +25882,7 @@ with pkgs; etcd = etcd_3_5; etcd_3_4 = callPackage ../servers/etcd/3.4.nix { }; - etcd_3_5 = callPackage ../servers/etcd/3.5.nix { }; + etcd_3_5 = callPackage ../servers/etcd/3.5 { }; ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlang_24; }; From dd7b21c96732eb68ce1c7dfc65ac02936b0e5a52 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Fri, 22 Mar 2024 12:34:09 -0300 Subject: [PATCH 040/114] etcd_3_5: add superherointj as maintainer --- pkgs/servers/etcd/3.5/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/etcd/3.5/default.nix b/pkgs/servers/etcd/3.5/default.nix index b664fa9cc6eb..43f47aa0eaa1 100644 --- a/pkgs/servers/etcd/3.5/default.nix +++ b/pkgs/servers/etcd/3.5/default.nix @@ -20,7 +20,7 @@ let description = "Distributed reliable key-value store for the most critical data of a distributed system"; license = licenses.asl20; homepage = "https://etcd.io/"; - maintainers = with maintainers; [ offline endocrimes ]; + maintainers = with maintainers; [ endocrimes offline superherointj ]; platforms = platforms.darwin ++ platforms.linux; }; From d5447ea7509e3cb2ae8c2402961a87cd0139082b Mon Sep 17 00:00:00 2001 From: lucasew Date: Thu, 28 Dec 2023 16:45:10 -0300 Subject: [PATCH 041/114] backgroundremover: init at 0.2.6 Signed-off-by: lucasew --- pkgs/by-name/ba/backgroundremover/package.nix | 92 +++++++++++++++++++ .../ba/backgroundremover/test-script.py | 20 ++++ 2 files changed, 112 insertions(+) create mode 100644 pkgs/by-name/ba/backgroundremover/package.nix create mode 100644 pkgs/by-name/ba/backgroundremover/test-script.py diff --git a/pkgs/by-name/ba/backgroundremover/package.nix b/pkgs/by-name/ba/backgroundremover/package.nix new file mode 100644 index 000000000000..e6303bb377b7 --- /dev/null +++ b/pkgs/by-name/ba/backgroundremover/package.nix @@ -0,0 +1,92 @@ +{ python3 +, lib +, runCommand +, fetchFromGitHub +, fetchurl +}: + +let + p = python3.pkgs; + self = p.buildPythonApplication rec { + pname = "backgroundremover"; + version = "0.2.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "nadermx"; + repo = "backgroundremover"; + rev = "v${version}"; + hash = "sha256-dDOo7NPwvdfV+ae2oMUytCGC+2HF6xUI7dyKk2we23w="; + }; + + models = runCommand "background-remover-models" {} '' + mkdir $out + cat ${src}/models/u2a{a,b,c,d} > $out/u2net.pth + cat ${src}/models/u2ha{a,b,c,d} > $out/u2net_human_seg.pth + cp ${src}/models/u2netp.pth $out + ''; + + postPatch = '' + substituteInPlace backgroundremover/bg.py backgroundremover/u2net/detect.py \ + --replace 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")" + ''; + + nativeBuildInputs = [ p.setuptools p.wheel ]; + + propagatedBuildInputs = [ + p.certifi + p.charset-normalizer + p.ffmpeg-python + p.filelock + p.filetype + p.hsh + p.idna + p.more-itertools + p.moviepy + p.numpy + p.pillow + p.pymatting + p.pysocks + p.requests + p.scikit-image + p.scipy + p.six + p.torch + p.torchvision + p.tqdm + p.urllib3 + p.waitress + ]; + + pythonImportsCheck = [ "backgroundremover" ]; + + passthru = { + inherit models; + tests = { + image = let + # random no copyright car image from the internet + demoImage = fetchurl { + url = "https://pics.craiyon.com/2023-07-16/38653769ac3b4e068181cb5ab1e542a1.webp"; + hash = "sha256-Kvd06eZdibgDbabVVe0+cNTeS1rDnMXIZZpPlHIlfBo="; + }; + in runCommand "backgroundremover-image-test.png" { + buildInputs = [ self ]; + } '' + export NUMBA_CACHE_DIR=$(mktemp -d) + backgroundremover -i ${demoImage} -o $out + ''; + }; + }; + + doCheck = false; # no tests + + meta = with lib; { + mainProgram = "backgroundremover"; + description = "Command line tool to remove background from image and video, made by nadermx to power"; + homepage = "https://BackgroundRemoverAI.com"; + downloadPage = "https://github.com/nadermx/backgroundremover/releases"; + license = licenses.mit; + maintainers = [ maintainers.lucasew ]; + }; + }; +in self diff --git a/pkgs/by-name/ba/backgroundremover/test-script.py b/pkgs/by-name/ba/backgroundremover/test-script.py new file mode 100644 index 000000000000..29af6fd76e80 --- /dev/null +++ b/pkgs/by-name/ba/backgroundremover/test-script.py @@ -0,0 +1,20 @@ +from argparse import ArgumentParser +from pathlib import Path + +import backgroundremover.utilities as utilities +from backgroundremover import bg + +parser = ArgumentParser() + +parser.add_argument('input', type=Path) +parser.add_argument('output', type=Path) + +args = parser.parse_args() + +input_bytes = args.input.read_bytes() + +output_bytes = bg.remove( + input_bytes, +) + +args.output.write_bytes(output_bytes) From af4164cb914d12090b11a481190060b6b881e9cf Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 22 Mar 2024 03:36:19 +0000 Subject: [PATCH 042/114] handbrake: 1.6.1 -> 1.7.3 Co-authored-by: Anton Mosich --- pkgs/applications/video/handbrake/default.nix | 129 +++++++++++------- 1 file changed, 80 insertions(+), 49 deletions(-) diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index 54216cf73ad6..da7170ca5f38 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -26,7 +26,7 @@ , numactl , writeText # Processing, video codecs, containers -, ffmpeg_5-full +, ffmpeg-full , nv-codec-headers , libogg , x264 @@ -69,6 +69,10 @@ # for now we disable GTK GUI support on Darwin. (It may be possible to remove # this restriction later.) , useGtk ? !stdenv.isDarwin +, bzip2 +, desktop-file-utils +, meson +, ninja , wrapGAppsHook , intltool , glib @@ -86,64 +90,70 @@ }: let - version = "1.6.1"; + version = "1.7.3"; src = fetchFromGitHub { owner = "HandBrake"; repo = "HandBrake"; rev = version; - sha256 = "sha256-0MJ1inMNA6s8l2S0wnpM2c7FxOoOHxs9u4E/rgKfjJo="; + hash = "sha256-4Q//UU/CPgWvhtpROfNPLzBvZlB02hbFe9Z9FA7mX04="; }; # Handbrake maintains a set of ffmpeg patches. In particular, these # patches are required for subtitle timing to work correctly. See: # https://github.com/HandBrake/HandBrake/issues/4029 - ffmpeg-version = "5.1.2"; - ffmpeg-hb = ffmpeg_5-full.overrideAttrs (old: { + # base ffmpeg version is specified in: + # https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/module.defs + ffmpeg-version = "6.1"; + ffmpeg-hb = ffmpeg-full.overrideAttrs (old: { version = ffmpeg-version; src = fetchurl { url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2"; - hash = "sha256-OaC8yNmFSfFsVwYkZ4JGpqxzbAZs69tAn5UC6RWyLys="; + hash = "sha256-632j3n3TzkiplGq0R6c0a9EaOoXm77jyws5jfn9UdhE="; }; - patches = old.patches or [ ] ++ [ - "${src}/contrib/ffmpeg/A01-qsv-libavfilter-qsvvpp-change-the-output-frame-s-width-a.patch" - "${src}/contrib/ffmpeg/A02-qsv-configure-ensure-enable-libmfx-uses-libmfx-1.x.patch" - "${src}/contrib/ffmpeg/A03-qsv-configure-fix-the-check-for-MFX_CODEC_VP9.patch" - "${src}/contrib/ffmpeg/A04-qsv-remove-mfx-prefix-from-mfx-headers.patch" - "${src}/contrib/ffmpeg/A05-qsv-load-user-plugin-for-MFX_VERSION-2.0.patch" - "${src}/contrib/ffmpeg/A06-qsv-build-audio-related-code-when-MFX_VERSION-2.0.patch" - "${src}/contrib/ffmpeg/A07-qsvenc-support-multi-frame-encode-when-MFX_VERSION-2.patch" - "${src}/contrib/ffmpeg/A08-qsvenc-support-MFX_RATECONTROL_LA_EXT-when-MFX_VERSI.patch" - "${src}/contrib/ffmpeg/A09-qsv-support-OPAQUE-memory-when-MFX_VERSION-2.0.patch" - "${src}/contrib/ffmpeg/A10-qsv-configure-add-enable-libvpl-option.patch" - "${src}/contrib/ffmpeg/A11-qsv-use-a-new-method-to-create-mfx-session-when-usin.patch" - "${src}/contrib/ffmpeg/A12-qsv-fix-decode-10bit-hdr.patch" - "${src}/contrib/ffmpeg/A13-mov-read-name-track-tag-written-by-movenc.patch" - "${src}/contrib/ffmpeg/A14-movenc-write-3gpp-track-titl-tag.patch" - "${src}/contrib/ffmpeg/A15-mov-read-3gpp-udta-tags.patch" - "${src}/contrib/ffmpeg/A16-movenc-write-3gpp-track-names-tags-for-all-available.patch" - "${src}/contrib/ffmpeg/A17-FFmpeg-devel-amfenc-Add-support-for-pict_type-field.patch" - "${src}/contrib/ffmpeg/A18-dvdsubdec-fix-processing-of-partial-packets.patch" - "${src}/contrib/ffmpeg/A19-ccaption_dec-return-number-of-bytes-used.patch" - "${src}/contrib/ffmpeg/A20-dvdsubdec-return-number-of-bytes-used.patch" - "${src}/contrib/ffmpeg/A21-dvdsubdec-use-pts-of-initial-packet.patch" - "${src}/contrib/ffmpeg/A22-matroskaenc-aac-extradata-updated.patch" - "${src}/contrib/ffmpeg/A23-ccaption_dec-fix-pts-in-real_time-mode.patch" - "${src}/contrib/ffmpeg/A24-fix-eac3-dowmix.patch" - "${src}/contrib/ffmpeg/A25-enable-truehd-pass.patch" - "${src}/contrib/ffmpeg/A26-Update-the-min-version-to-1.4.23.0-for-AMF-SDK.patch" - "${src}/contrib/ffmpeg/A27-avcodec-amfenc-Fixes-the-color-information-in-the-ou.patch" - "${src}/contrib/ffmpeg/A28-avcodec-amfenc-HDR-metadata.patch" - # This patch is not applying since ffmpeg 5.1.1, probably it was backported by upstream - # "${src}/contrib/ffmpeg/A30-svt-av1-backports.patch" - (fetchpatch { - name = "vulkan-remove-extensions.patch"; - url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/eb0455d64690"; - hash = "sha256-qvLrb7b+9/bel8A2lZuSmBiJtHXsABw0Lvgn1ggnmCU="; - }) + patches = (old.patches or [ ]) ++ [ + "${src}/contrib/ffmpeg/A01-mov-read-name-track-tag-written-by-movenc.patch" + "${src}/contrib/ffmpeg/A02-movenc-write-3gpp-track-titl-tag.patch" + "${src}/contrib/ffmpeg/A03-mov-read-3gpp-udta-tags.patch" + "${src}/contrib/ffmpeg/A04-movenc-write-3gpp-track-names-tags-for-all-available.patch" + "${src}/contrib/ffmpeg/A05-dvdsubdec-fix-processing-of-partial-packets.patch" + "${src}/contrib/ffmpeg/A06-dvdsubdec-return-number-of-bytes-used.patch" + "${src}/contrib/ffmpeg/A07-dvdsubdec-use-pts-of-initial-packet.patch" + "${src}/contrib/ffmpeg/A08-ccaption_dec-fix-pts-in-real_time-mode.patch" + "${src}/contrib/ffmpeg/A09-matroskaenc-aac-extradata-updated.patch" + "${src}/contrib/ffmpeg/A10-amfenc-Add-support-for-pict_type-field.patch" + "${src}/contrib/ffmpeg/A11-amfenc-Fixes-the-color-information-in-the-ou.patch" + "${src}/contrib/ffmpeg/A12-amfenc-HDR-metadata.patch" + "${src}/contrib/ffmpeg/A13-libavcodec-amfenc-Fix-issue-with-missing-headers-in-.patch" + "${src}/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-packet-side-.patch" + "${src}/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch" + "${src}/contrib/ffmpeg/A16-videotoolbox-dec-h264.patch" + + # patch to fix + # commented out because it causes ffmpeg's filter-pixdesc-p010le test to fail. + # "${src}/contrib/ffmpeg/A17-libswscale-fix-yuv420p-to-p01xle-color-conversion-bu.patch" + + "${src}/contrib/ffmpeg/A18-qsv-fix-decode-10bit-hdr.patch" + "${src}/contrib/ffmpeg/A19-ffbuild-common-use-gzip-n-flag-for-cuda.patch" ]; }); + x265-hb = x265.overrideAttrs (old: { + # nixpkgs' x265 sourceRoot is x265-.../source whereas handbrake's x265 patches + # are written with respect to the parent directory instead of that source directory. + # patches which don't cleanly apply are commented out. + postPatch = (old.postPatch or "") + '' + pushd .. + # patch -p1 < ${src}/contrib/x265/A00-crosscompile-fix.patch + patch -p1 < ${src}/contrib/x265/A01-threads-priority.patch + patch -p1 < ${src}/contrib/x265/A02-threads-pool-adjustments.patch + patch -p1 < ${src}/contrib/x265/A03-sei-length-crash-fix.patch + patch -p1 < ${src}/contrib/x265/A04-ambient-viewing-enviroment-sei.patch + # patch -p1 < ${src}/contrib/x265/A05-memory-leaks.patch + popd + ''; + }); + versionFile = writeText "version.txt" '' BRANCH=${versions.majorMinor version}.x DATE=1970-01-01 00:00:01 +0000 @@ -189,6 +199,17 @@ let # Use the Nix-provided libxml2 instead of the system-provided one. substituteInPlace libhb/module.defs \ --replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2 + '' + optionalString useGtk '' + substituteInPlace gtk/module.rules \ + --replace-fail '$(MESON.exe)' 'meson' \ + --replace-fail '$(NINJA.exe)' 'ninja' \ + # Force using nixpkgs dependencies + substituteInPlace gtk/meson.build \ + --replace-fail "cc.find_library('bz2', dirs: hb_libdirs)" "cc.find_library('bz2')" \ + --replace-fail "cc.find_library('mp3lame', dirs: hb_libdirs)" "cc.find_library('mp3lame')" \ + --replace-fail \ + "hb_incdirs = include_directories(hb_dir / 'libhb', hb_dir / 'contrib/include')" \ + "hb_incdirs = include_directories(hb_dir / 'libhb')" \ ''; nativeBuildInputs = [ @@ -199,7 +220,7 @@ let pkg-config python3 ] - ++ optionals useGtk [ intltool wrapGAppsHook ]; + ++ optionals useGtk [ desktop-file-utils intltool meson ninja wrapGAppsHook ]; buildInputs = [ a52dec @@ -228,12 +249,13 @@ let speex svt-av1 x264 - x265 + x265-hb xz zimg ] ++ optional (!stdenv.isDarwin) numactl ++ optionals useGtk [ + bzip2 dbus-glib glib gst_all_1.gst-plugins-base @@ -254,7 +276,6 @@ let configureFlags = [ "--disable-df-fetch" "--disable-df-verify" - "--disable-gtk-update-checks" ] ++ optional (!useGtk) "--disable-gtk" ++ optional useFdk "--enable-fdk-aac" @@ -264,10 +285,19 @@ let # NOTE: 2018-12-27: Check NixOS HandBrake test if changing NIX_LDFLAGS = [ "-lx265" ]; + # meson/ninja are used only for the subprojects, not the toplevel + dontUseMesonConfigure = true; + dontUseMesonInstall = true; + dontUseNinjaBuild = true; + dontUseNinjaInstall = true; + makeFlags = [ "--directory=build" ]; - passthru.tests = { - basic-conversion = + passthru = { + # for convenience + inherit ffmpeg-hb x265-hb; + + tests.basic-conversion = let # Big Buck Bunny example, licensed under CC Attribution 3.0. testMkv = fetchurl { @@ -283,7 +313,8 @@ let HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160 test -e test.mkv ''; - version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; }; + + tests.version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; }; }; meta = with lib; { @@ -300,7 +331,7 @@ let license = licenses.gpl2Only; maintainers = with maintainers; [ Anton-Latukha wmertens ]; platforms = with platforms; unix; - broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13"; + broken = stdenv.isDarwin; # https://github.com/NixOS/nixpkgs/pull/297984#issuecomment-2016503434 }; }; in From e33b7e1bad11049a75141be8971b2dcd6800393b Mon Sep 17 00:00:00 2001 From: Maxime Brunet Date: Thu, 29 Feb 2024 15:43:00 -0800 Subject: [PATCH 043/114] oci-cli: install shell completion --- pkgs/tools/admin/oci-cli/default.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/tools/admin/oci-cli/default.nix b/pkgs/tools/admin/oci-cli/default.nix index 1d09e02b6ba6..a84c62ca6330 100644 --- a/pkgs/tools/admin/oci-cli/default.nix +++ b/pkgs/tools/admin/oci-cli/default.nix @@ -2,6 +2,7 @@ , fetchFromGitHub , fetchPypi , python3 +, installShellFiles }: let @@ -46,6 +47,8 @@ buildPythonApplication rec { hash = "sha256-yooEZuSIw2EMJVyT/Z/x4hJi8a1F674CtsMMGkMAYLg="; }; + nativeBuildInputs = [ installShellFiles ]; + propagatedBuildInputs = [ arrow certifi @@ -73,6 +76,24 @@ buildPythonApplication rec { --replace "oci==2.78.0" "oci" ''; + postInstall = '' + cat >oci.zsh <>oci.zsh + + installShellCompletion \ + --cmd oci \ + --bash src/oci_cli/bin/oci_autocomplete.sh \ + --zsh oci.zsh + ''; + # https://github.com/oracle/oci-cli/issues/187 doCheck = false; From c4feb885b6de06d336e0469c7b20552c2fe908fd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 24 Mar 2024 19:56:55 +0100 Subject: [PATCH 044/114] python312Packages.llama-index-embeddings-gemini: 0.1.3 -> 0.1.5 --- .../llama-index-embeddings-gemini/default.nix | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix index 6b371c816983..21b9f3bc3f02 100644 --- a/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix +++ b/pkgs/development/python-modules/llama-index-embeddings-gemini/default.nix @@ -1,36 +1,52 @@ { lib , buildPythonPackage -, fetchFromGitHub +, fetchPypi , google-generativeai , llama-index-core , poetry-core , pytestCheckHook +, pythonRelaxDepsHook +, pythonOlder }: buildPythonPackage rec { pname = "llama-index-embeddings-gemini"; - version = "0.1.3"; - - inherit (llama-index-core) src meta; - + version = "0.1.5"; pyproject = true; - sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}"; + disabled = pythonOlder "3.9"; - nativeBuildInputs = [ - poetry-core + src = fetchPypi { + pname = "llama_index_embeddings_gemini"; + inherit version; + hash = "sha256-FQzZ+MjuAApOImpxQhuaCFDIKdojzD5zqDOepo8fCNo="; + }; + + pythonRelaxDeps = [ + "google-generativeai" ]; - propagatedBuildInputs = [ + build-system = [ + poetry-core + pythonRelaxDepsHook + ]; + + dependencies = [ google-generativeai llama-index-core ]; - nativeCheckInputs = [ - pytestCheckHook - ]; + # Tests are only available in the mono repo + doCheck = false; pythonImportsCheck = [ "llama_index.embeddings.gemini" ]; + + meta = with lib; { + description = "LlamaIndex Llms Integration for Gemini"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/embeddings/llama-index-embeddings-gemini"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; } From 7ce968a38e90a9dbddf584985e03d57d60f5753a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 24 Mar 2024 20:38:07 +0100 Subject: [PATCH 045/114] python312Packages.oracledb: 2.1.0 -> 2.1.1 Changelog: https://github.com/oracle/python-oracledb/blob/v2.1.1/doc/src/release_notes.rst --- pkgs/development/python-modules/oracledb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/oracledb/default.nix b/pkgs/development/python-modules/oracledb/default.nix index 2fe7db175ff8..632fcd793323 100644 --- a/pkgs/development/python-modules/oracledb/default.nix +++ b/pkgs/development/python-modules/oracledb/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "oracledb"; - version = "2.1.0"; + version = "2.1.1"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-HJpEjJhD2zPxC3d9aSD7k5XqsLD9wX8WIPrHw+7NtXo="; + hash = "sha256-4ugXz6bf82xxMXNvNOKq7HXXJv040ZENgxgGGieCKPo="; }; nativeBuildInputs = [ From b89fd0f2d61e302fd6b3aa0bd164ec4f8f8054a6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 24 Mar 2024 21:18:14 +0100 Subject: [PATCH 046/114] python312Packages.oracledb: refactor --- pkgs/development/python-modules/oracledb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/oracledb/default.nix b/pkgs/development/python-modules/oracledb/default.nix index 632fcd793323..da45e616b42c 100644 --- a/pkgs/development/python-modules/oracledb/default.nix +++ b/pkgs/development/python-modules/oracledb/default.nix @@ -20,13 +20,13 @@ buildPythonPackage rec { hash = "sha256-4ugXz6bf82xxMXNvNOKq7HXXJv040ZENgxgGGieCKPo="; }; - nativeBuildInputs = [ + build-system = [ cython_3 setuptools wheel ]; - propagatedBuildInputs = [ + dependencies = [ cryptography ]; From c3a1620624bc68eb90a305d9ce9e50a9681bc3f3 Mon Sep 17 00:00:00 2001 From: paki23 Date: Sun, 8 Jan 2023 01:08:00 +0100 Subject: [PATCH 047/114] firefoxpwa: init at 2.11.1 firefoxpwa: move to pkgs/by-name --- nixos/tests/all-tests.nix | 1 + nixos/tests/firefoxpwa.nix | 36 + pkgs/by-name/fi/firefoxpwa/Cargo.lock | 2839 ++++++++++++++++++++++++ pkgs/by-name/fi/firefoxpwa/package.nix | 133 ++ 4 files changed, 3009 insertions(+) create mode 100644 nixos/tests/firefoxpwa.nix create mode 100644 pkgs/by-name/fi/firefoxpwa/Cargo.lock create mode 100644 pkgs/by-name/fi/firefoxpwa/package.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4b6696e4fdbf..797fa092b45e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -306,6 +306,7 @@ in { firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; }; firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job firefox-esr-115 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-115; }; + firefoxpwa = handleTest ./firefoxpwa.nix {}; firejail = handleTest ./firejail.nix {}; firewall = handleTest ./firewall.nix { nftables = false; }; firewall-nftables = handleTest ./firewall.nix { nftables = true; }; diff --git a/nixos/tests/firefoxpwa.nix b/nixos/tests/firefoxpwa.nix new file mode 100644 index 000000000000..374d67b01ac6 --- /dev/null +++ b/nixos/tests/firefoxpwa.nix @@ -0,0 +1,36 @@ +import ./make-test-python.nix ({ lib, ... }: + +{ + name = "firefoxpwa"; + meta.maintainers = with lib.maintainers; [ camillemndn ]; + + nodes.machine = + { pkgs, ... }: + { + imports = [ ./common/x11.nix ]; + environment.systemPackages = with pkgs; [ firefoxpwa jq ]; + + programs.firefox = { + enable = true; + nativeMessagingHosts.packages = [ pkgs.firefoxpwa ]; + }; + + services.jellyfin.enable = true; + }; + + enableOCR = true; + + testScript = '' + machine.start() + + with subtest("Install a progressive web app"): + machine.wait_for_unit("jellyfin.service") + machine.wait_for_open_port(8096) + machine.succeed("firefoxpwa site install http://localhost:8096/web/manifest.json >&2") + + with subtest("Launch the progressive web app"): + machine.succeed("firefoxpwa site launch $(jq -r < ~/.local/share/firefoxpwa/config.json '.sites | keys[0]') >&2") + machine.wait_for_window("Jellyfin") + machine.wait_for_text("Jellyfin") + ''; +}) diff --git a/pkgs/by-name/fi/firefoxpwa/Cargo.lock b/pkgs/by-name/fi/firefoxpwa/Cargo.lock new file mode 100644 index 000000000000..191f6d2a5ab6 --- /dev/null +++ b/pkgs/by-name/fi/firefoxpwa/Cargo.lock @@ -0,0 +1,2839 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" + +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "async-compression" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" +dependencies = [ + "brotli", + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide 0.7.1", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "bit_field" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" + +[[package]] +name = "brotli" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "bytemuck" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f" + +[[package]] +name = "chrono" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.48.5", +] + +[[package]] +name = "clap" +version = "4.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_complete" +version = "4.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf7dcb7c21d8ca1a2482ee0f1d341f437c9a7af6ca6da359dc5e1b164e98215" +dependencies = [ + "clap", +] + +[[package]] +name = "clap_derive" +version = "4.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "configparser" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec6d3da8e550377a85339063af6e3735f4b1d9392108da4e083a1b3b9820288" + +[[package]] +name = "const_format" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "csscolorparser" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf" +dependencies = [ + "phf", + "serde", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "data-url" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" + +[[package]] +name = "deflate" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" +dependencies = [ + "adler32", + "byteorder", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "directories" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dmg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abc28c350337837f23b4750f774371f63db232338c9f89bdb9eb48523a7c4722" +dependencies = [ + "log", + "plist", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "encoding_rs" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "exr" +version = "1.71.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8" +dependencies = [ + "bit_field", + "flume", + "half", + "lebe", + "miniz_oxide 0.7.1", + "rayon-core", + "smallvec", + "zune-inflate", +] + +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fdeflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "filedescriptor" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e" +dependencies = [ + "libc", + "thiserror", + "winapi", +] + +[[package]] +name = "filetime" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys 0.52.0", +] + +[[package]] +name = "firefoxpwa" +version = "0.0.0" +dependencies = [ + "ab_glyph", + "anyhow", + "byteorder", + "bzip2", + "cfg-if", + "cfg_aliases", + "clap", + "clap_complete", + "configparser", + "const_format", + "data-url", + "directories", + "dmg", + "fs_extra", + "gag", + "glob", + "icns", + "image", + "log", + "phf", + "pix", + "plist", + "reqwest", + "resvg", + "sanitize-filename", + "serde", + "serde_json", + "serde_with", + "simplelog", + "smart-default", + "tar", + "tempfile", + "ulid", + "url", + "urlencoding", + "web_app_manifest", + "windows", + "winreg", +] + +[[package]] +name = "flate2" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +dependencies = [ + "crc32fast", + "miniz_oxide 0.7.1", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" + +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "spin", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "fontconfig-parser" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4" +dependencies = [ + "roxmltree 0.18.1", +] + +[[package]] +name = "fontdb" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98b88c54a38407f7352dd2c4238830115a6377741098ffd1f997c813d0e088a6" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2", + "slotmap", + "tinyvec", + "ttf-parser", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-io", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gag" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a713bee13966e9fbffdf7193af71d54a6b35a0bb34997cd6c9519ebeb5005972" +dependencies = [ + "filedescriptor", + "tempfile", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gif" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "h2" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 2.1.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" +dependencies = [ + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "http" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icns" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ccfbad7e08da70a5b48a924994a5afd93125ce5d45a3b0ba0b8da7bda59a40" +dependencies = [ + "byteorder", + "png 0.16.8", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "image" +version = "0.24.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "exr", + "gif", + "jpeg-decoder", + "num-traits", + "png 0.17.11", + "qoi", + "tiff", +] + +[[package]] +name = "imagesize" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", + "serde", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "jpeg-decoder" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" +dependencies = [ + "rayon", +] + +[[package]] +name = "js-sys" +version = "0.3.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "kurbo" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" +dependencies = [ + "arrayvec", +] + +[[package]] +name = "language-tags" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" +dependencies = [ + "serde", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lebe" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + +[[package]] +name = "libc" +version = "0.2.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.2", + "libc", + "redox_syscall", +] + +[[package]] +name = "line-wrap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" +dependencies = [ + "safemem", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + +[[package]] +name = "memmap2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92" +dependencies = [ + "libc", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mime" +version = "0.4.0-a.0" +source = "git+https://github.com/filips123/mime?branch=implement-eq-partialeq#57416f447a10c3343df7fe80deb0ae8a7c77cf0a" +dependencies = [ + "mime-parse", + "quoted-string", + "serde", +] + +[[package]] +name = "mime-parse" +version = "0.0.0" +source = "git+https://github.com/filips123/mime?branch=implement-eq-partialeq#57416f447a10c3343df7fe80deb0ae8a7c77cf0a" + +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +dependencies = [ + "adler32", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_threads" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +dependencies = [ + "libc", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "openssl" +version = "0.10.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" +dependencies = [ + "bitflags 2.4.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-src" +version = "300.2.1+3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fe476c29791a5ca0d1273c697e96085bbabbbea2ef7afd5617e78a4b40332d3" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "owned_ttf_parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "parse-display" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6509d08722b53e8dafe97f2027b22ccbe3a5db83cb352931e9716b0aa44bc5c" +dependencies = [ + "once_cell", + "parse-display-derive", + "regex", +] + +[[package]] +name = "parse-display-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68517892c8daf78da08c0db777fcc17e07f2f63ef70041718f8a7630ad84f341" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "regex", + "regex-syntax 0.7.5", + "structmeta", + "syn", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pix" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de5067af0cd27add969cdb4ef2eecc955f59235f3b7a75a3c6ac9562cfb6b81" + +[[package]] +name = "pkg-config" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" + +[[package]] +name = "plist" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" +dependencies = [ + "base64", + "indexmap 2.1.0", + "line-wrap", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "deflate", + "miniz_oxide 0.3.7", +] + +[[package]] +name = "png" +version = "0.17.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.7.1", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro2" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "quoted-string" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9586f8867f39941d8e796c18340a9cb5221a018df021169dc3e61c87d9f5f567" +dependencies = [ + "quick-error", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rctree" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" + +[[package]] +name = "reqwest" +version = "0.11.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" +dependencies = [ + "async-compression", + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime 0.3.17", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-socks", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "resvg" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cadccb3d99a9efb8e5e00c16fbb732cbe400db2ec7fc004697ee7d97d86cf1f4" +dependencies = [ + "gif", + "jpeg-decoder", + "log", + "pico-args", + "png 0.17.11", + "rgb", + "svgtypes", + "tiny-skia", + "usvg", +] + +[[package]] +name = "rgb" +version = "0.8.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "roxmltree" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302" +dependencies = [ + "xmlparser", +] + +[[package]] +name = "roxmltree" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustix" +version = "0.38.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +dependencies = [ + "bitflags 2.4.2", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustybuzz" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c" +dependencies = [ + "bitflags 2.4.2", + "bytemuck", + "smallvec", + "ttf-parser", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "ryu" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" + +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + +[[package]] +name = "sanitize-filename" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ed72fbaf78e6f2d41744923916966c4fbe3d7c74e3037a8ee482f1115572603" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.195" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.111" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f58c3a1b3e418f61c25b2aeb43fc6c95eaa252b8cecdda67f401943e9e08d33f" +dependencies = [ + "base64", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.1.0", + "serde", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2068b437a31fc68f25dd7edc296b078f04b45145c199d8eed9866e45f1ff274" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simplecss" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d" +dependencies = [ + "log", +] + +[[package]] +name = "simplelog" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369" +dependencies = [ + "log", + "termcolor", + "time", +] + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" + +[[package]] +name = "smart-default" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eb01866308440fc64d6c44d9e86c5cc17adfe33c4d6eed55da9145044d0ffc1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "socket2" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +dependencies = [ + "float-cmp", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "structmeta" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ad9e09554f0456d67a69c1584c9798ba733a5b50349a6c0d0948710523922d" +dependencies = [ + "proc-macro2", + "quote", + "structmeta-derive", + "syn", +] + +[[package]] +name = "structmeta-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "svgtypes" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e44e288cd960318917cbd540340968b90becc8bc81f171345d706e7a89d9d70" +dependencies = [ + "kurbo", + "siphasher", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tar" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "tempfile" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tiff" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", +] + +[[package]] +name = "time" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +dependencies = [ + "deranged", + "itoa", + "libc", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +dependencies = [ + "time-core", +] + +[[package]] +name = "tiny-skia" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "png 0.17.11", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.35.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "pin-project-lite", + "socket2", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-socks" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0" +dependencies = [ + "either", + "futures-util", + "thiserror", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "ulid" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e37c4b6cbcc59a8dcd09a6429fbc7890286bcbb79215cea7b38a3c4c0921d93" +dependencies = [ + "rand", + "serde", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-bidi-mirroring" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" + +[[package]] +name = "unicode-ccc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" + +[[package]] +name = "unicode-script" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc" + +[[package]] +name = "unicode-vo" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "usvg" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b0a51b72ab80ca511d126b77feeeb4fb1e972764653e61feac30adc161a756" +dependencies = [ + "base64", + "log", + "pico-args", + "usvg-parser", + "usvg-text-layout", + "usvg-tree", + "xmlwriter", +] + +[[package]] +name = "usvg-parser" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd4e3c291f45d152929a31f0f6c819245e2921bfd01e7bd91201a9af39a2bdc" +dependencies = [ + "data-url", + "flate2", + "imagesize", + "kurbo", + "log", + "roxmltree 0.19.0", + "simplecss", + "siphasher", + "svgtypes", + "usvg-tree", +] + +[[package]] +name = "usvg-text-layout" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d383a3965de199d7f96d4e11a44dd859f46e86de7f3dca9a39bf82605da0a37c" +dependencies = [ + "fontdb", + "kurbo", + "log", + "rustybuzz", + "unicode-bidi", + "unicode-script", + "unicode-vo", + "usvg-tree", +] + +[[package]] +name = "usvg-tree" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee3d202ebdb97a6215604b8f5b4d6ef9024efd623cf2e373a6416ba976ec7d3" +dependencies = [ + "rctree", + "strict-num", + "svgtypes", + "tiny-skia-path", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" + +[[package]] +name = "web-sys" +version = "0.3.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web_app_manifest" +version = "0.0.0" +source = "git+https://github.com/filips123/WebAppManifestRS?branch=main#477c5bbc7406eec01aea40e18338dafcec78c917" +dependencies = [ + "csscolorparser", + "language-tags", + "mime 0.4.0-a.0", + "parse-display", + "serde", + "serde_with", + "smart-default", + "thiserror", + "url", +] + +[[package]] +name = "weezl" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys", + "rustix", +] + +[[package]] +name = "xmlparser" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" + +[[package]] +name = "xmlwriter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] diff --git a/pkgs/by-name/fi/firefoxpwa/package.nix b/pkgs/by-name/fi/firefoxpwa/package.nix new file mode 100644 index 000000000000..971d5ac16fde --- /dev/null +++ b/pkgs/by-name/fi/firefoxpwa/package.nix @@ -0,0 +1,133 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, makeWrapper +, pkg-config +, installShellFiles +, firefox-unwrapped +, openssl +, stdenv +, udev +, libva +, mesa +, libnotify +, xorg +, cups +, pciutils +, libcanberra-gtk3 +, extraLibs ? [ ] +, nixosTests +}: + +rustPlatform.buildRustPackage rec { + pname = "firefoxpwa"; + version = "2.11.1"; + + src = fetchFromGitHub { + owner = "filips123"; + repo = "PWAsForFirefox"; + rev = "v${version}"; + hash = "sha256-ZD/bTziVmHtQVKejzj+fUXVazCm2PaulS2NZjTribSk="; + }; + + sourceRoot = "${src.name}/native"; + buildFeatures = [ "immutable-runtime" ]; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "mime-0.4.0-a.0" = "sha256-LjM7LH6rL3moCKxVsA+RUL9lfnvY31IrqHa9pDIAZNE="; + "web_app_manifest-0.0.0" = "sha256-G+kRN8AEmAY1TxykhLmgoX8TG8y2lrv7SCRJlNy0QzA="; + }; + }; + + preConfigure = '' + sed -i 's;version = "0.0.0";version = "${version}";' Cargo.toml + sed -zi 's;name = "firefoxpwa"\nversion = "0.0.0";name = "firefoxpwa"\nversion = "${version}";' Cargo.lock + sed -i $'s;DISTRIBUTION_VERSION = \'0.0.0\';DISTRIBUTION_VERSION = \'${version}\';' userchrome/profile/chrome/pwa/chrome.jsm + ''; + + nativeBuildInputs = [ makeWrapper pkg-config installShellFiles ]; + buildInputs = [ openssl ]; + + FFPWA_EXECUTABLES = ""; # .desktop entries generated without any store path references + FFPWA_SYSDATA = "${placeholder "out"}/share/firefoxpwa"; + completions = "target/${stdenv.targetPlatform.config}/release/completions"; + + gtk_modules = map (x: x + x.gtkModule) [ libcanberra-gtk3 ]; + libs = let libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ] ++ gtk_modules ++ extraLibs; in lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs; + + postInstall = '' + # Runtime + mkdir -p $out/share/firefoxpwa + cp -Lr ${firefox-unwrapped}/lib/firefox $out/share/firefoxpwa/runtime + chmod -R +w $out/share/firefoxpwa + + # UserChrome + cp -r userchrome $out/share/firefoxpwa + + # Runtime patching + FFPWA_USERDATA=$out/share/firefoxpwa $out/bin/firefoxpwa runtime patch + + # Manifest + sed -i "s!/usr/libexec!$out/bin!" manifests/linux.json + install -Dm644 manifests/linux.json $out/lib/mozilla/native-messaging-hosts/firefoxpwa.json + + installShellCompletion --cmd firefoxpwa \ + --bash $completions/firefoxpwa.bash \ + --fish $completions/firefoxpwa.fish \ + --zsh $completions/_firefoxpwa + + # AppStream Metadata + install -Dm644 packages/appstream/si.filips.FirefoxPWA.metainfo.xml $out/share/metainfo/si.filips.FirefoxPWA.metainfo.xml + install -Dm644 packages/appstream/si.filips.FirefoxPWA.svg $out/share/icons/hicolor/scalable/apps/si.filips.FirefoxPWA.svg + + wrapProgram $out/bin/firefoxpwa \ + --prefix FFPWA_SYSDATA : "$out/share/firefoxpwa" \ + --prefix LD_LIBRARY_PATH : "$libs" \ + --suffix-each GTK_PATH : "$gtk_modules" + + wrapProgram $out/bin/firefoxpwa-connector \ + --prefix FFPWA_SYSDATA : "$out/share/firefoxpwa" \ + --prefix LD_LIBRARY_PATH : "$libs" \ + --suffix-each GTK_PATH : "$gtk_modules" + ''; + + passthru.tests.firefoxpwa = nixosTests.firefoxpwa; + + meta = with lib; { + description = "A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox (native component)"; + longDescription = '' + Progressive Web Apps (PWAs) are web apps that use web APIs and features along + with progressive enhancement strategy to bring a native app-like user experience + to cross-platform web applications. Although Firefox supports many of Progressive + Web App APIs, it does not support functionality to install them as a standalone + system app with an app-like experience. + + This project creates a custom modified Firefox runtime to allow websites to be + installed as standalone apps and provides a console tool and browser extension + to install, manage and use them. + + This package contains only the native part of the PWAsForFirefox project. You + should also install the browser extension if you haven't already. You can download + it from the [Firefox Add-ons](https://addons.mozilla.org/firefox/addon/pwas-for-firefox/) + website. + + To install the package on NixOS, you need to add the following options: + + ``` + programs.firefox.nativeMessagingHosts.packages = [ pkgs.firefoxpwa ]; + environment.systemPackages = [ pkgs.firefoxpwa ]; + ``` + + As it needs to be both in the `PATH` and in the `nativeMessagingHosts` to make it + possible for the extension to detect and use it. + ''; + homepage = "https://pwasforfirefox.filips.si/"; + changelog = "https://github.com/filips123/PWAsForFirefox/releases/tag/v${version}"; + license = licenses.mpl20; + platforms = platforms.unix; + maintainers = with maintainers; [ camillemndn pasqui23 ]; + mainProgram = "firefoxpwa"; + }; +} From ad1f4164b3835edc0a9cd0af757d1b6d5df890f0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 Mar 2024 22:03:54 +0000 Subject: [PATCH 048/114] kodiPackages.trakt: 3.5.0 -> 3.6.1 --- pkgs/applications/video/kodi/addons/trakt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/kodi/addons/trakt/default.nix b/pkgs/applications/video/kodi/addons/trakt/default.nix index 64113cb0139b..4967a5cd8fba 100644 --- a/pkgs/applications/video/kodi/addons/trakt/default.nix +++ b/pkgs/applications/video/kodi/addons/trakt/default.nix @@ -2,11 +2,11 @@ buildKodiAddon rec { pname = "trakt"; namespace = "script.trakt"; - version = "3.5.0"; + version = "3.6.1"; src = fetchzip { url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip"; - sha256 = "sha256-OyU6S5r/y3vqW6Wg6OP0+Zn4YchBy8x1i++hzCQHyx0="; + sha256 = "sha256-ZlBucYYRA1cL5c0H1jhXeKE1itReZe2gAJYFFxuUebo="; }; propagatedBuildInputs = [ From f2b7738e26120a06d921f20ec0a5ae9da9b36c9c Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 10 Mar 2024 12:28:21 -0300 Subject: [PATCH 049/114] xemu: migrate to by-name --- .../emulators/xemu/default.nix => by-name/xe/xemu/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/emulators/xemu/default.nix => by-name/xe/xemu/package.nix} (100%) diff --git a/pkgs/applications/emulators/xemu/default.nix b/pkgs/by-name/xe/xemu/package.nix similarity index 100% rename from pkgs/applications/emulators/xemu/default.nix rename to pkgs/by-name/xe/xemu/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8f0f5f46101..fd8ddc0f8139 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2833,8 +2833,6 @@ with pkgs; xcpc = callPackage ../applications/emulators/xcpc { }; - xemu = callPackage ../applications/emulators/xemu { }; - yapesdl = callPackage ../applications/emulators/yapesdl { }; zsnes = pkgsi686Linux.callPackage ../applications/emulators/zsnes { }; From f970fa30e00ea06adc80819ffce0430bb80cc92f Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 24 Mar 2024 23:55:01 +0100 Subject: [PATCH 050/114] python312Packages.homeassistant-stubs: 2024.3.0 -> 2024.3.3 https://github.com/KapJI/homeassistant-stubs/releases/tag/2024.3.3 --- 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 dc9cbd9e8d3c..cefdc1f8746a 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 = "2024.3.0"; + version = "2024.3.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-4K/JrmNcvRzso9NgFuh3fThcEQS+Ydk4II6xrWv2KdM="; + hash = "sha256-Qc+pwG87R57wGyCujMQ6qygDOhRh/FoDf1HTRZS3M6s="; }; nativeBuildInputs = [ From 8e4b61dc907e02ece07bf1ab93e7d329026b5357 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 24 Mar 2024 19:55:23 -0300 Subject: [PATCH 051/114] xemu: refactor - pick Python packages from python3Packages - patch things should go to patchPhase --- pkgs/by-name/xe/xemu/package.nix | 47 ++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index 08cac956b5a1..7fc390049cb9 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -1,9 +1,8 @@ { lib -, stdenv -, fetchFromGitHub , SDL2 , SDL2_image , copyDesktopItems +, fetchFromGitHub , gettext , glib , gtk3 @@ -20,7 +19,8 @@ , openssl , perl , pkg-config -, python3 +, python3Packages +, stdenv , vte , which , wrapGAppsHook @@ -34,8 +34,8 @@ stdenv.mkDerivation (finalAttrs: { owner = "xemu-project"; repo = "xemu"; rev = "v${finalAttrs.version}"; - hash = "sha256-FFxYp53LLDOPZ1Inr70oyQXhNjJO23G+gNmXd/lvrYs="; fetchSubmodules = true; + hash = "sha256-FFxYp53LLDOPZ1Inr70oyQXhNjJO23G+gNmXd/lvrYs="; }; nativeBuildInputs = [ @@ -44,11 +44,12 @@ stdenv.mkDerivation (finalAttrs: { ninja perl pkg-config - python3 - python3.pkgs.pyyaml which wrapGAppsHook - ]; + ] ++ (with python3Packages; [ + python + pyyaml + ]); buildInputs = [ SDL2 @@ -91,13 +92,18 @@ stdenv.mkDerivation (finalAttrs: { }) ]; - preConfigure = '' + postPatch = '' patchShebangs . - configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls") substituteInPlace ./scripts/xemu-version.sh \ --replace 'date -u' "date -d @$SOURCE_DATE_EPOCH '+%Y-%m-%d %H:%M:%S'" - # When the data below can't be obtained through git, the build process tries - # to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar) + ''; + + preConfigure = '' + configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls") + '' + + # When the data below can't be obtained through git, the build process tries + # to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar) + '' echo '${finalAttrs.version}' > XEMU_VERSION ''; @@ -106,18 +112,19 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace ./build.ninja --replace /usr/bin/env $(which env) ''; - installPhase = '' + installPhase = let + installIcon = resolution: '' + install -Dm644 -T ../ui/icons/xemu_${resolution}.png \ + $out/share/icons/hicolor/${resolution}/apps/xemu.png + ''; + in '' runHook preInstall install -Dm755 -T qemu-system-i386 $out/bin/xemu '' + - # Generate code to install the icons - (lib.concatMapStringsSep ";\n" - (res: - "install -Dm644 -T ../ui/icons/xemu_${res}.png $out/share/icons/hicolor/${res}/apps/xemu.png") - [ "16x16" "24x24" "32x32" "48x48" "128x128" "256x256" "512x512" ]) + + (lib.concatMapStringsSep "\n" installIcon + [ "16x16" "24x24" "32x32" "48x48" "128x128" "256x256" "512x512" ]) + "\n" + '' - runHook postInstall ''; @@ -131,8 +138,8 @@ stdenv.mkDerivation (finalAttrs: { ''; changelog = "https://github.com/xemu-project/xemu/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ AndersonTorres genericnerdyusername ]; - platforms = lib.platforms.linux; mainProgram = "xemu"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.linux; }; }) From 5ac0b126e8be4a25284855fe1c1d0ab2b30f9d77 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 00:54:15 +0000 Subject: [PATCH 052/114] xedit: 1.2.3 -> 1.2.4 --- pkgs/applications/editors/xedit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/xedit/default.nix b/pkgs/applications/editors/xedit/default.nix index 679d64d6cca4..6fa4a67dfd6b 100644 --- a/pkgs/applications/editors/xedit/default.nix +++ b/pkgs/applications/editors/xedit/default.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation rec { pname = "xedit"; - version = "1.2.3"; + version = "1.2.4"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "xorg/app"; repo = "xedit"; rev = "${pname}-${version}"; - sha256 = "sha256-WF+4avzRRL0+OA3KxzK7JwmArkPu9fEl+728R6ouXmg="; + sha256 = "sha256-0vP+aR8QBXAqbULOLEs7QXsehk18BJ405qoelrcepwE="; }; # ./lisp/mathimp.c:493:10: error: implicitly declaring library function 'finite' with type 'int (double)' From c239be04a83036725109795a117d3e637caa3805 Mon Sep 17 00:00:00 2001 From: riChar Date: Mon, 11 Mar 2024 16:17:41 +0800 Subject: [PATCH 053/114] affine: init at 0.13.1 --- maintainers/maintainer-list.nix | 5 +++ pkgs/by-name/af/affine/package.nix | 68 ++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 pkgs/by-name/af/affine/package.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 319fec440c19..db020bfb44c1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16396,6 +16396,11 @@ githubId = 61013287; name = "Ricardo Steijn"; }; + richar = { + github = "ri-char"; + githubId = 17962023; + name = "richar"; + }; richardipsum = { email = "richardipsum@fastmail.co.uk"; github = "richardipsum"; diff --git a/pkgs/by-name/af/affine/package.nix b/pkgs/by-name/af/affine/package.nix new file mode 100644 index 000000000000..5b8b3e41e872 --- /dev/null +++ b/pkgs/by-name/af/affine/package.nix @@ -0,0 +1,68 @@ +{ lib +, writeText +, fetchurl +, stdenvNoCC +, copyDesktopItems +, makeDesktopItem +, makeWrapper +, unzip +, bash +, electron +, commandLineArgs ? "" +}: + +stdenvNoCC.mkDerivation (finalAttrs: let + icon = fetchurl { + url = "https://raw.githubusercontent.com/toeverything/AFFiNE/v${finalAttrs.version}/packages/frontend/core/public/favicon-192.png"; + hash = "sha256-smZ5W7fy3TK3bvjwV4i71j2lVmKSZcyhMhcWfPxNnN4="; + }; +in { + pname = "affine"; + version = "0.13.1"; + src = fetchurl { + url = "https://github.com/toeverything/AFFiNE/releases/download/v${finalAttrs.version}/affine-${finalAttrs.version}-stable-linux-x64.zip"; + hash = "sha256-2Du5g/I82iTr8Bwb+qkLzyfbk1OrOlXqx6FHImVoAoE="; + }; + nativeBuildInputs = [ + copyDesktopItems + makeWrapper + unzip + ]; + postInstall = '' + mkdir -p $out/lib + cp -r ./resources/* -t $out/lib/ + cp LICENSE* $out/ + install -Dm644 ${icon} $out/share/pixmaps/affine.png + makeWrapper "${electron}/bin/electron" $out/bin/affine \ + --inherit-argv0 \ + --add-flags $out/lib/app.asar \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --add-flags ${lib.escapeShellArg commandLineArgs} + ''; + desktopItems = [ + (makeDesktopItem { + name = "affine"; + desktopName = "AFFiNE"; + exec = "affine %U"; + terminal = false; + icon = "affine"; + startupWMClass = "affine"; + categories = ["Utility"]; + }) + ]; + meta = with lib; { + description = "A workspace with fully merged docs, whiteboards and databases"; + longDescription = '' + AFFiNE is an open-source, all-in-one workspace and an operating + system for all the building blocks that assemble your knowledge + base and much more -- wiki, knowledge management, presentation + and digital assets + ''; + homepage = "https://affine.pro/"; + downloadPage = "https://affine.pro/download"; + license = licenses.mit; + maintainers = with maintainers; [richar]; + mainProgram = "affine"; + platforms = ["x86_64-linux"]; + }; +}) From eea14e8cc658f34d4de3dc27face8dc618f68f13 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 01:03:52 +0000 Subject: [PATCH 054/114] alacritty: 0.13.1 -> 0.13.2 --- pkgs/applications/terminal-emulators/alacritty/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix index 2141d9246dae..16f46cb0f8ad 100644 --- a/pkgs/applications/terminal-emulators/alacritty/default.nix +++ b/pkgs/applications/terminal-emulators/alacritty/default.nix @@ -49,16 +49,16 @@ let in rustPlatform.buildRustPackage rec { pname = "alacritty"; - version = "0.13.1"; + version = "0.13.2"; src = fetchFromGitHub { owner = "alacritty"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-Nn/G7SkRuHXRSRgNjlmdX1G07sp7FPx8UyAn63Nivfg="; + hash = "sha256-MrlzAZWLgfwIoTdxY+fjWbrv7tygAjnxXebiEgwOM9A="; }; - cargoHash = "sha256-vCoKaDd0mQRF6NNfK679FhEXuAdn/1o3F1gTfT8NK+0="; + cargoHash = "sha256-7HPTELRlmyjj7CXNbgqrzxW548BgbxybWi+tT3rOCX0="; nativeBuildInputs = [ cmake From 43fa9212df8d207dfb107a42f68f4d68619f6db8 Mon Sep 17 00:00:00 2001 From: melvyn Date: Wed, 21 Feb 2024 14:13:55 -0800 Subject: [PATCH 055/114] maintainers: add melvyn2 --- maintainers/maintainer-list.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 41f3af0e3149..e32c1ea22462 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12550,6 +12550,15 @@ githubId = 15093162; name = "Melanie B. Sigl"; }; + melvyn2 = { + email = "melvyn2@dnsense.pub"; + github = "melvyn2"; + githubId = 9157412; + name = "melvyn"; + keys = [{ + fingerprint = "232B 9F00 2153 CA86 849C 9224 25A2 B728 0CE3 AFF6"; + }]; + }; mephistophiles = { email = "mussitantesmortem@gmail.com"; name = "Maxim Zhukov"; From 4da76cc6f486dfb7ff3c45e64fdb3e65e020463b Mon Sep 17 00:00:00 2001 From: Melvyn Date: Sun, 14 Jan 2024 19:47:59 -1000 Subject: [PATCH 056/114] nixos/slskd: refactor and add config file options --- .../manual/release-notes/rl-2405.section.md | 6 + nixos/modules/services/web-apps/slskd.nix | 344 ++++++++++++------ pkgs/servers/web-apps/slskd/default.nix | 2 +- 3 files changed, 240 insertions(+), 112 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 19ff6f4485cd..2cde7e7ca66b 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -446,6 +446,12 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - The module `services.github-runner` has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration. +- The `services.slskd` has been refactored to include more configuation options in + the freeform `services.slskd.settings` option, and some defaults (including listen ports) + have been changed to match the upstream defaults. Additionally, disk logging is now + disabled by default, and the log rotation timer has been removed. + The nginx virtualhost option is now of the `vhost-options` type. + - The `btrbk` module now automatically selects and provides required compression program depending on the configured `stream_compress` option. Since this replaces the need for the `extraPackages` option, this option will be diff --git a/nixos/modules/services/web-apps/slskd.nix b/nixos/modules/services/web-apps/slskd.nix index 580f66ec3ac9..15a5fd1177ad 100644 --- a/nixos/modules/services/web-apps/slskd.nix +++ b/nixos/modules/services/web-apps/slskd.nix @@ -2,122 +2,250 @@ let settingsFormat = pkgs.formats.yaml {}; + defaultUser = "slskd"; in { options.services.slskd = with lib; with types; { enable = mkEnableOption "enable slskd"; - rotateLogs = mkEnableOption "enable an unit and timer that will rotate logs in /var/slskd/logs"; + package = mkPackageOptionMD pkgs "slskd" { }; - package = mkPackageOption pkgs "slskd" { }; + user = mkOption { + type = types.str; + default = defaultUser; + description = "User account under which slskd runs."; + }; + + group = mkOption { + type = types.str; + default = defaultUser; + description = "Group under which slskd runs."; + }; + + domain = mkOption { + type = types.nullOr types.str; + description = '' + If non-null, enables an nginx reverse proxy virtual host at this FQDN, + at the path configurated with `services.slskd.web.url_base`. + ''; + example = "slskd.example.com"; + }; nginx = mkOption { - description = lib.mdDoc "options for nginx"; - example = { - enable = true; - domain = "example.com"; - contextPath = "/slskd"; - }; - type = submodule ({name, config, ...}: { - options = { - enable = mkEnableOption "enable nginx as a reverse proxy"; - - domainName = mkOption { - type = str; - description = "Domain you want to use"; - }; - contextPath = mkOption { - type = types.path; - default = "/"; - description = lib.mdDoc '' - The context path, i.e., the last part of the slskd - URL. Typically '/' or '/slskd'. Default '/' - ''; - }; - }; - }); + type = types.submodule (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }); + default = {}; + example = lib.literalExpression '' + { + enableACME = true; + forceHttps = true; + } + ''; + description = '' + This option customizes the nginx virtual host set up for slskd. + ''; }; environmentFile = mkOption { type = path; description = '' - Path to a file containing secrets. - It must at least contain the variable `SLSKD_SLSK_PASSWORD` + Path to the environment file sourced on startup. + It must at least contain the variables `SLSKD_SLSK_USERNAME` and `SLSKD_SLSK_PASSWORD`. + Web interface credentials should also be set here in `SLSKD_USERNAME` and `SLSKD_PASSWORD`. + Other, optional credentials like SOCKS5 with `SLSKD_SLSK_PROXY_USERNAME` and `SLSKD_SLSK_PROXY_PASSWORD` + should all reside here instead of in the world-readable nix store. + Variables are documented at https://github.com/slskd/slskd/blob/master/docs/config.md ''; }; openFirewall = mkOption { type = bool; - description = '' - Whether to open the firewall for services.slskd.settings.listen_port"; - ''; + description = "Whether to open the firewall for the soulseek network listen port (not the web interface port)."; default = false; }; settings = mkOption { - description = lib.mdDoc '' - Configuration for slskd, see - [available options](https://github.com/slskd/slskd/blob/master/docs/config.md) - `APP_DIR` is set to /var/lib/slskd, where default download & incomplete directories, - log and databases will be created. + description = '' + Application configuration for slskd. See + [documentation](https://github.com/slskd/slskd/blob/master/docs/config.md). ''; default = {}; type = submodule { freeformType = settingsFormat.type; options = { + remote_file_management = mkEnableOption "modification of share contents through the web ui"; - soulseek = { - username = mkOption { - type = str; - description = "Username on the Soulseek Network"; + flags = { + force_share_scan = mkOption { + type = bool; + description = "Force a rescan of shares on every startup."; }; - listen_port = mkOption { - type = port; - description = "Port to use for communication on the Soulseek Network"; - default = 50000; - }; - }; - - web = { - port = mkOption { - type = port; - default = 5001; - description = "The HTTP listen port"; - }; - url_base = mkOption { - type = path; - default = config.services.slskd.nginx.contextPath; - defaultText = "config.services.slskd.nginx.contextPath"; - description = lib.mdDoc '' - The context path, i.e., the last part of the slskd URL - ''; - }; - }; - - shares = { - directories = mkOption { - type = listOf str; - description = lib.mdDoc '' - Paths to your shared directories. See - [documentation](https://github.com/slskd/slskd/blob/master/docs/config.md#directories) - for advanced usage - ''; + no_version_check = mkOption { + type = bool; + default = true; + visible = false; + description = "Don't perform a version check on startup."; }; }; directories = { incomplete = mkOption { type = nullOr path; - description = "Directory where downloading files are stored"; - defaultText = "/incomplete"; + description = "Directory where incomplete downloading files are stored."; + defaultText = "/var/lib/slskd/incomplete"; default = null; }; downloads = mkOption { type = nullOr path; - description = "Directory where downloaded files are stored"; - defaultText = "/downloads"; + description = "Directory where downloaded files are stored."; + defaultText = "/var/lib/slskd/downloads"; default = null; }; }; + + shares = { + directories = mkOption { + type = listOf str; + description = '' + Paths to shared directories. See + [documentation](https://github.com/slskd/slskd/blob/master/docs/config.md#directories) + for advanced usage. + ''; + example = lib.literalExpression ''[ "/home/John/Music" "!/home/John/Music/Recordings" "[Music Drive]/mnt" ]''; + }; + filters = mkOption { + type = listOf str; + example = lib.literalExpression ''[ "\.ini$" "Thumbs.db$" "\.DS_Store$" ]''; + description = "Regular expressions of files to exclude from sharing."; + }; + }; + + rooms = mkOption { + type = listOf str; + description = "Chat rooms to join on startup."; + }; + + soulseek = { + description = mkOption { + type = str; + description = "The user description for the Soulseek network."; + defaultText = "A slskd user. https://github.com/slskd/slskd"; + }; + listen_port = mkOption { + type = port; + description = "The port on which to listen for incoming connections."; + default = 50300; + }; + }; + + global = { + # TODO speed units + upload = { + slots = mkOption { + type = ints.unsigned; + description = "Limit of the number of concurrent upload slots."; + }; + speed_limit = mkOption { + type = ints.unsigned; + description = "Total upload speed limit."; + }; + }; + download = { + slots = mkOption { + type = ints.unsigned; + description = "Limit of the number of concurrent download slots."; + }; + speed_limit = mkOption { + type = ints.unsigned; + description = "Total upload download limit"; + }; + }; + }; + + filters.search.request = mkOption { + type = listOf str; + example = lib.literalExpression ''[ "^.{1,2}$" ]''; + description = "Incoming search requests which match this filter are ignored."; + }; + + web = { + port = mkOption { + type = port; + default = 5030; + description = "The HTTP listen port."; + }; + url_base = mkOption { + type = path; + default = "/"; + description = "The base path in the url for web requests."; + }; + # Users should use a reverse proxy instead for https + https.disabled = mkOption { + type = bool; + default = true; + description = "Disable the built-in HTTPS server"; + }; + }; + + retention = { + transfers = { + upload = { + succeeded = mkOption { + type = ints.unsigned; + description = "Lifespan of succeeded upload tasks."; + defaultText = "(indefinite)"; + }; + errored = mkOption { + type = ints.unsigned; + description = "Lifespan of errored upload tasks."; + defaultText = "(indefinite)"; + }; + cancelled = mkOption { + type = ints.unsigned; + description = "Lifespan of cancelled upload tasks."; + defaultText = "(indefinite)"; + }; + }; + download = { + succeeded = mkOption { + type = ints.unsigned; + description = "Lifespan of succeeded download tasks."; + defaultText = "(indefinite)"; + }; + errored = mkOption { + type = ints.unsigned; + description = "Lifespan of errored download tasks."; + defaultText = "(indefinite)"; + }; + cancelled = mkOption { + type = ints.unsigned; + description = "Lifespan of cancelled download tasks."; + defaultText = "(indefinite)"; + }; + }; + }; + files = { + complete = mkOption { + type = ints.unsigned; + description = "Lifespan of completely downloaded files in minutes."; + example = 20160; + defaultText = "(indefinite)"; + }; + incomplete = mkOption { + type = ints.unsigned; + description = "Lifespan of incomplete downloading files in minutes."; + defaultText = "(indefinite)"; + }; + }; + }; + + logger = { + # Disable by default, journald already retains as needed + disk = mkOption { + type = bool; + description = "Whether to log to the application directory."; + default = false; + visible = false; + }; + }; }; }; }; @@ -126,38 +254,25 @@ in { config = let cfg = config.services.slskd; - confWithoutNullValues = (lib.filterAttrs (key: value: value != null) cfg.settings); + confWithoutNullValues = (lib.filterAttrsRecursive (key: value: (builtins.tryEval value).success && value != null) cfg.settings); configurationYaml = settingsFormat.generate "slskd.yml" confWithoutNullValues; in lib.mkIf cfg.enable { - users = { - users.slskd = { + # Force off, configuration file is in nix store and is immutable + services.slskd.settings.remote_configuration = lib.mkForce false; + + users.users = lib.optionalAttrs (cfg.user == defaultUser) { + "${defaultUser}" = { + group = cfg.group; isSystemUser = true; - group = "slskd"; - }; - groups.slskd = {}; - }; - - # Reverse proxy configuration - services.nginx.enable = true; - services.nginx.virtualHosts."${cfg.nginx.domainName}" = { - forceSSL = true; - enableACME = true; - locations = { - "${cfg.nginx.contextPath}" = { - proxyPass = "http://localhost:${toString cfg.settings.web.port}"; - proxyWebsockets = true; - }; }; }; - # Hide state & logs - systemd.tmpfiles.rules = [ - "d /var/lib/slskd/data 0750 slskd slskd - -" - "d /var/lib/slskd/logs 0750 slskd slskd - -" - ]; + users.groups = lib.optionalAttrs (cfg.group == defaultUser) { + "${defaultUser}" = {}; + }; systemd.services.slskd = { description = "A modern client-server application for the Soulseek file sharing network"; @@ -165,12 +280,16 @@ in { wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "simple"; - User = "slskd"; + User = cfg.user; + Group = cfg.group; EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; - StateDirectory = "slskd"; + StateDirectory = "slskd"; # Creates /var/lib/slskd and manages permissions ExecStart = "${cfg.package}/bin/slskd --app-dir /var/lib/slskd --config ${configurationYaml}"; Restart = "on-failure"; ReadOnlyPaths = map (d: builtins.elemAt (builtins.split "[^/]*(/.+)" d) 1) cfg.settings.shares.directories; + ReadWritePaths = + (lib.optional (cfg.settings.directories.incomplete != null) cfg.settings.directories.incomplete) ++ + (lib.optional (cfg.settings.directories.downloads != null) cfg.settings.directories.downloads); LockPersonality = true; NoNewPrivileges = true; PrivateDevices = true; @@ -194,18 +313,21 @@ in { networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall cfg.settings.soulseek.listen_port; - systemd.services.slskd-rotatelogs = lib.mkIf cfg.rotateLogs { - description = "Rotate slskd logs"; - serviceConfig = { - Type = "oneshot"; - User = "slskd"; - ExecStart = [ - "${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +10 -delete" - "${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +1 -exec ${pkgs.gzip}/bin/gzip -q {} ';'" - ]; - }; - startAt = "daily"; + services.nginx = lib.mkIf (cfg.domain != null) { + enable = lib.mkDefault true; + virtualHosts."${cfg.domain}" = lib.mkMerge [ + cfg.nginx + { + locations."${cfg.settings.web.url_base}" = { + proxyPass = "http://127.0.0.1:${toString cfg.settings.web.port}"; + proxyWebsockets = true; + }; + } + ]; }; + }; + meta = { + maintainers = with lib.maintainers; [ ppom melvyn2 ]; }; } diff --git a/pkgs/servers/web-apps/slskd/default.nix b/pkgs/servers/web-apps/slskd/default.nix index 7a2a388086c1..0a69acb5e08c 100644 --- a/pkgs/servers/web-apps/slskd/default.nix +++ b/pkgs/servers/web-apps/slskd/default.nix @@ -21,7 +21,7 @@ let description = "A modern client-server application for the Soulseek file sharing network"; homepage = "https://github.com/slskd/slskd"; license = licenses.agpl3Plus; - maintainers = with maintainers; [ ppom ]; + maintainers = with maintainers; [ ppom melvyn2 ]; platforms = platforms.linux; }; From 2d4b419be37d444e2d8f94ea720317a65fa5a676 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 02:13:17 +0000 Subject: [PATCH 057/114] python312Packages.clickhouse-connect: 0.7.3 -> 0.7.4 --- .../development/python-modules/clickhouse-connect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/clickhouse-connect/default.nix b/pkgs/development/python-modules/clickhouse-connect/default.nix index 5be944efdb1d..277216a3f968 100644 --- a/pkgs/development/python-modules/clickhouse-connect/default.nix +++ b/pkgs/development/python-modules/clickhouse-connect/default.nix @@ -23,7 +23,7 @@ }: buildPythonPackage rec { pname = "clickhouse-connect"; - version = "0.7.3"; + version = "0.7.4"; format = "setuptools"; @@ -33,7 +33,7 @@ buildPythonPackage rec { repo = "clickhouse-connect"; owner = "ClickHouse"; rev = "refs/tags/v${version}"; - hash = "sha256-MA902Dyx3a8GTZ52LYY0UrWqNEFmibqIsdz6PFZIkIY="; + hash = "sha256-YEtcM9+GO8mYv2pyaBYmXdmWLXVuteKtQIJR4H+Xsd4="; }; nativeBuildInputs = [ cython_3 ]; From 3f430e23701e60b4346664916f50fe5663e6fa60 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 04:30:45 +0000 Subject: [PATCH 058/114] python311Packages.stim: 1.12.1 -> 1.13.0 --- pkgs/development/python-modules/stim/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/stim/default.nix b/pkgs/development/python-modules/stim/default.nix index 46aba99fb178..3e95b74ef9ef 100644 --- a/pkgs/development/python-modules/stim/default.nix +++ b/pkgs/development/python-modules/stim/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "stim"; - version = "1.12.1"; + version = "1.13.0"; pyproject = true; disabled = pythonOlder "3.6"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "quantumlib"; repo = "Stim"; rev = "refs/tags/v${version}"; - hash = "sha256-vDpW8cn1JPARDIXpLyK9uenhHmva0FwnWIDV7dSHbIY="; + hash = "sha256-anJvDHLZ470iNw0U7hq9xGBacDgqYO9ZcmmdCt9pefg="; }; postPatch = '' From 3d3e48b1149f94d4d5dc51b376fee9afba847e0f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 04:46:01 +0000 Subject: [PATCH 059/114] awscli2: 2.15.31 -> 2.15.32 --- pkgs/tools/admin/awscli2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index 321bccd3862d..4404fed5b09e 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -59,14 +59,14 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli2"; - version = "2.15.31"; # N.B: if you change this, check if overrides are still up-to-date + version = "2.15.32"; # N.B: if you change this, check if overrides are still up-to-date pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; rev = "refs/tags/${version}"; - hash = "sha256-7qeB3NCYQi7Mke/ZCGe8QUS5qy26btpGjhY/FMNhdkE="; + hash = "sha256-EdS8nsSlFtCvHn6Aysj8C5tmdBBRUtbTEVqkYex5vgc="; }; postPatch = '' From ae2b2e89e46b304ec67202dd1ae8a22648f7d781 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 07:07:43 +0000 Subject: [PATCH 060/114] oh-my-posh: 19.13.0 -> 19.18.1 --- pkgs/development/tools/oh-my-posh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/oh-my-posh/default.nix b/pkgs/development/tools/oh-my-posh/default.nix index 13a8de6550b2..60e4c3a43c26 100644 --- a/pkgs/development/tools/oh-my-posh/default.nix +++ b/pkgs/development/tools/oh-my-posh/default.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "oh-my-posh"; - version = "19.13.0"; + version = "19.18.1"; src = fetchFromGitHub { owner = "jandedobbeleer"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-nQJs+Kj0sxEI15QPLVFyVQWcM6HU6KzsSpW0ogYMzpQ="; + hash = "sha256-Y20PsyXSNu6U1v1OhBX0vGtg9UkuTVqZ1KYUYkRMcWg="; }; - vendorHash = "sha256-LIxOlU9YRA3xdHoilOBpo7P68ThVDOdiqXt47du/20g="; + vendorHash = "sha256-WuPEoDmp/SSf3AqHtYTtMb56PnjZLWr3weZQXEF7pbg="; sourceRoot = "${src.name}/src"; From 30f62e7478f64f9ccf5017079b10cae619177fd3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 08:29:24 +0100 Subject: [PATCH 061/114] python311Packages.llama-index-cli: 0.10.20 -> 0.1.11 No longer use the mono repo for the source as the release cylcle don't match --- .../llama-index-cli/default.nix | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/llama-index-cli/default.nix b/pkgs/development/python-modules/llama-index-cli/default.nix index de4aacdd5adc..a82dc25e1cd0 100644 --- a/pkgs/development/python-modules/llama-index-cli/default.nix +++ b/pkgs/development/python-modules/llama-index-cli/default.nix @@ -1,34 +1,50 @@ { lib , buildPythonPackage -, fetchFromGitHub +, fetchPypi , llama-index-core , llama-index-embeddings-openai , llama-index-llms-openai , llama-index-vector-stores-chroma , poetry-core +, pythonOlder }: buildPythonPackage rec { pname = "llama-index-cli"; - - inherit (llama-index-core) version src meta; - + version = "0.1.11"; pyproject = true; - sourceRoot = "${src.name}/${pname}"; + disabled = pythonOlder "3.8"; - nativeBuildInputs = [ + src = fetchPypi { + pname = "llama_index_cli"; + inherit version; + hash = "sha256-XecH4SWqh31wxh2nDMRP6nKp9623f0E7Ufc7He/911A="; + }; + + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ llama-index-core llama-index-embeddings-openai llama-index-llms-openai llama-index-vector-stores-chroma ]; + # Tests are only available in the mono repo + doCheck = false; + pythonImportsCheck = [ "llama_index.cli" ]; + + meta = with lib; { + description = "LlamaIndex CLI"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-cli"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; + } From 5d803d5b63b8313758329b4719422a41efcdec2e Mon Sep 17 00:00:00 2001 From: Lucas Rasmussen Date: Tue, 13 Feb 2024 08:50:27 +0100 Subject: [PATCH 062/114] raylib: 4.5.0 -> 5.0 changelog: https://github.com/raysan5/raylib/releases/tag/5.0 raylib: remove libpulse and libasound patch --- pkgs/development/libraries/raylib/default.nix | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/raylib/default.nix b/pkgs/development/libraries/raylib/default.nix index e655645cd866..bb59eb9d654c 100644 --- a/pkgs/development/libraries/raylib/default.nix +++ b/pkgs/development/libraries/raylib/default.nix @@ -25,13 +25,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "raylib"; - version = "4.5.0"; + version = "5.0"; src = fetchFromGitHub { owner = "raysan5"; repo = "raylib"; rev = finalAttrs.version; - hash = "sha256-Uqqzq5shDp0AgSBT5waHBNUkEu0LRj70SNOlR5R2yAM="; + hash = "sha256-gEstNs3huQ1uikVXOW4uoYnIDr5l8O9jgZRTX1mkRww="; }; nativeBuildInputs = [ cmake ]; @@ -56,20 +56,17 @@ stdenv.mkDerivation (finalAttrs: { passthru.tests = [ raylib-games ]; patches = [ - # Patch version in CMakeList to 4.5.0 - # Remove this when updating to a new revision + # Patch version in CMakeLists.txt to 5.0.0 + # The library author doesn't use cmake, so when updating this package please + # check that the resulting library extension matches the version + # and remove/update this patch (resulting library name should match + # libraylib.so.${finalAttrs.version} (fetchpatch { - url = "https://github.com/raysan5/raylib/commit/0d4db7ad7f6fd442ed165ebf8ab8b3f4033b04e7.patch"; - hash = "sha256-RGokbQAwJAZm2FU2VNwraE3xko8E+RLLFjUfDRXeKhA="; + url = "https://github.com/raysan5/raylib/commit/032cc497ca5aaca862dc926a93c2a45ed8017737.patch"; + hash = "sha256-qsX5AwyQaGoRsbdszOO7tUF9dR+AkEFi4ebNkBVHNEY="; }) ]; - # fix libasound.so/libpulse.so not being found - preFixup = '' - ${lib.optionalString alsaSupport "patchelf --add-needed ${alsa-lib}/lib/libasound.so $out/lib/libraylib.so.${finalAttrs.version}"} - ${lib.optionalString pulseSupport "patchelf --add-needed ${libpulseaudio}/lib/libpulse.so $out/lib/libraylib.so.${finalAttrs.version}"} - ''; - meta = with lib; { description = "A simple and easy-to-use library to enjoy videogames programming"; homepage = "https://www.raylib.com/"; From 5a731aa57994d68bfd57c312026936286501e92c Mon Sep 17 00:00:00 2001 From: aktaboot Date: Mon, 25 Mar 2024 09:11:42 +0100 Subject: [PATCH 063/114] onionshare: 2.6.1 -> 2.6.2 --- pkgs/applications/networking/onionshare/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/onionshare/default.nix b/pkgs/applications/networking/onionshare/default.nix index 9b184a8fa13d..3d675d04d58f 100644 --- a/pkgs/applications/networking/onionshare/default.nix +++ b/pkgs/applications/networking/onionshare/default.nix @@ -29,12 +29,12 @@ }: let - version = "2.6.1"; + version = "2.6.2"; src = fetchFromGitHub { owner = "onionshare"; repo = "onionshare"; rev = "v${version}"; - sha256 = "sha256-LR3Ao4Q8kEDwrFV+gYdMSEeYF4hDtEa1rJgvRRrJMwc="; + hash = "sha256-J8Hdriy8eWpHuMCI87a9a/zCR6xafM3A/Tkyom0Ktko="; }; meta = with lib; { description = "Securely and anonymously send and receive files"; From ef2964174c4afef141407657bb949df24b643d0d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 09:26:03 +0100 Subject: [PATCH 064/114] python312Packages.lupa: 2.0 -> 2.1 Changelog: https://github.com/scoder/lupa/blob/lupa-2.1/CHANGES.rst --- pkgs/development/python-modules/lupa/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/lupa/default.nix b/pkgs/development/python-modules/lupa/default.nix index b2123b92eb1f..c79f0de9dd89 100644 --- a/pkgs/development/python-modules/lupa/default.nix +++ b/pkgs/development/python-modules/lupa/default.nix @@ -1,24 +1,26 @@ { lib , buildPythonPackage -, cython +, cython_3 , fetchPypi , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "lupa"; - version = "2.0"; - format = "setuptools"; + version = "2.1"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-rT/vSGvnrd3TSf6anDk3iQYTEs+Y68UztIm+NPSEy3k="; + hash = "sha256-dgAwcS1SczlvXpY92HMa77WsZdku/4v4/UEkwWMP6VA="; }; - nativeBuildInputs = [ - cython + build-system = [ + cython_3 + setuptools ]; pythonImportsCheck = [ From fc029c2e53e8cd281ccf59d7e2ab6888c49f0a18 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 09:26:46 +0100 Subject: [PATCH 065/114] python312Packages.dnfile: 0.14.1 -> 0.15.0 Diff: https://github.com/malwarefrank/dnfile/compare/refs/tags/v0.14.1...v0.15.0 Changelog: https://github.com/malwarefrank/dnfile/blob/v0.15.0/HISTORY.rst --- pkgs/development/python-modules/dnfile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dnfile/default.nix b/pkgs/development/python-modules/dnfile/default.nix index 232927aace70..71f7e33a877e 100644 --- a/pkgs/development/python-modules/dnfile/default.nix +++ b/pkgs/development/python-modules/dnfile/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "dnfile"; - version = "0.14.1"; + version = "0.15.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "malwarefrank"; repo = "dnfile"; rev = "refs/tags/v${version}"; - hash = "sha256-5xkoG7c9Piwrv+9qour7MZ+rabdngtd05b0T+AU8tSo="; + hash = "sha256-HzlMJ4utBHyLLhO+u0uiTfqtk8jX80pEyO75QvpJ3yg="; fetchSubmodules = true; }; From 8ac38ca881a68c694ee80adb70a09a8fa00936fe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 09:27:28 +0100 Subject: [PATCH 066/114] python312Packages.dnfile: refactor --- pkgs/development/python-modules/dnfile/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/dnfile/default.nix b/pkgs/development/python-modules/dnfile/default.nix index 71f7e33a877e..40b97b6b6d8a 100644 --- a/pkgs/development/python-modules/dnfile/default.nix +++ b/pkgs/development/python-modules/dnfile/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "dnfile"; version = "0.15.0"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.8"; @@ -22,11 +22,11 @@ buildPythonPackage rec { fetchSubmodules = true; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ pefile ]; From d1c05d840676344c417e2148ea385294d08ee457 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 10:15:36 +0100 Subject: [PATCH 067/114] tunnelgraf: init at 0.6.1 Tool to manage SSH tunnel hops to many endpoints https://github.com/denniswalker/tunnelgraf --- pkgs/by-name/tu/tunnelgraf/package.nix | 52 ++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/tu/tunnelgraf/package.nix diff --git a/pkgs/by-name/tu/tunnelgraf/package.nix b/pkgs/by-name/tu/tunnelgraf/package.nix new file mode 100644 index 000000000000..d7f2c77dab0a --- /dev/null +++ b/pkgs/by-name/tu/tunnelgraf/package.nix @@ -0,0 +1,52 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "tunnelgraf"; + version = "0.6.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "denniswalker"; + repo = "tunnelgraf"; + rev = "refs/tags/v${version}"; + hash = "sha256-CsrbSpp1VszEAKpmHx8GbB7vfZCOvB+tDFNFwWKexEw="; + }; + + pythonRelaxDeps = [ + "click" + "pydantic" + ]; + + build-system = with python3.pkgs; [ + hatchling + pythonRelaxDepsHook + ]; + + dependencies = with python3.pkgs; [ + click + deepmerge + paramiko + pydantic + python-hosts + pyyaml + sshtunnel + ]; + + # Project has no tests + doCheck = false; + + pythonImportsCheck = [ + "tunnelgraf" + ]; + + meta = with lib; { + description = "Tool to manage SSH tunnel hops to many endpoints"; + homepage = "https://github.com/denniswalker/tunnelgraf"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + mainProgram = "tunnelgraf"; + }; +} From 8a085eb56fd0051a65a5b08a5e9fd7669635cd74 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 25 Mar 2024 00:50:23 +0100 Subject: [PATCH 068/114] epub-thumbnailer: init at unstable-2024-03-16 --- pkgs/by-name/ep/epub-thumbnailer/package.nix | 40 ++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkgs/by-name/ep/epub-thumbnailer/package.nix diff --git a/pkgs/by-name/ep/epub-thumbnailer/package.nix b/pkgs/by-name/ep/epub-thumbnailer/package.nix new file mode 100644 index 000000000000..b1e45ff99b37 --- /dev/null +++ b/pkgs/by-name/ep/epub-thumbnailer/package.nix @@ -0,0 +1,40 @@ +{ lib +, python3 +, fetchFromGitHub +, unstableGitUpdater +}: + +python3.pkgs.buildPythonApplication { + pname = "epub-thumbnailer"; + version = "0-unstable-2024-03-16"; + pyproject = true; + + src = fetchFromGitHub { + owner = "marianosimone"; + repo = "epub-thumbnailer"; + rev = "035c31e9269bcb30dcc20fed31b6dc54e9bfed63"; + hash = "sha256-G/CeYmr+wgJidbavfvIuCbRLJGQzoxAnpo3t4YFJq0c="; + }; + + nativeBuildInputs = with python3.pkgs; [ + setuptools + ]; + + propagatedBuildInputs = with python3.pkgs; [ + pillow + ]; + + postInstall = '' + mv $out/bin/epub-thumbnailer.py $out/bin/epub-thumbnailer + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "Script to extract the cover of an epub book and create a thumbnail for it"; + homepage = "https://github.com/marianosimone/epub-thumbnailer"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ GaetanLepage ]; + mainProgram = "epub-thumbnailer"; + }; +} From e5a2f3d996fa7e207fb447e4511f60ce3523970e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 10:58:55 +0100 Subject: [PATCH 069/114] python311Packages.enterpriseattack: init at 0.1.8 Module to interact with the Mitre Att&ck Enterprise dataset https://github.com/xakepnz/enterpriseattack --- .../enterpriseattack/default.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/enterpriseattack/default.nix diff --git a/pkgs/development/python-modules/enterpriseattack/default.nix b/pkgs/development/python-modules/enterpriseattack/default.nix new file mode 100644 index 000000000000..745cc331c604 --- /dev/null +++ b/pkgs/development/python-modules/enterpriseattack/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, requests +, setuptools +, ujson +}: + +buildPythonPackage rec { + pname = "enterpriseattack"; + version = "0.1.8"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "xakepnz"; + repo = "enterpriseattack"; + rev = "refs/tags/v.${version}"; + hash = "sha256-cxbGc9iQe94Th6MSUldI17oVCclFhUM78h1w+6KXzm4="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + requests + ujson + ]; + + # Tests require network access + doCheck = false; + + pythonImportsCheck = [ + "enterpriseattack" + ]; + + meta = with lib; { + description = "Module to interact with the Mitre Att&ck Enterprise dataset"; + homepage = "https://github.com/xakepnz/enterpriseattack"; + changelog = "https://github.com/xakepnz/enterpriseattack/releases/tag/v.${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 920adf4d088f..61088fc5a017 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3749,6 +3749,8 @@ self: super: with self; { enrich = callPackage ../development/python-modules/enrich { }; + enterpriseattack = callPackage ../development/python-modules/enterpriseattack { }; + entrance = callPackage ../development/python-modules/entrance { routerFeatures = false; }; From d16247054bc892271fa886d5bfee6d2cd30611f8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 10:47:41 +0000 Subject: [PATCH 070/114] minijinja: 1.0.13 -> 1.0.15 --- pkgs/by-name/mi/minijinja/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mi/minijinja/package.nix b/pkgs/by-name/mi/minijinja/package.nix index 7f1b547c6549..50cc95e53366 100644 --- a/pkgs/by-name/mi/minijinja/package.nix +++ b/pkgs/by-name/mi/minijinja/package.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "minijinja"; - version = "1.0.13"; + version = "1.0.15"; src = fetchFromGitHub { owner = "mitsuhiko"; repo = "minijinja"; rev = version; - hash = "sha256-VVd90j8ZOubtHX15jMGAIA3LF4tg4SzFxO046QVwDjc="; + hash = "sha256-ync0MkLi+CV1g9eBDLcV1dnV101H5Gc6K0NrnVeh8Jw="; }; - cargoHash = "sha256-f9hXH0c8vVpexYyuQuS0D8jzEqJSrHOwp/FropTKTJg="; + cargoHash = "sha256-j8GLpMU7xwc3BWkjcFmGODiKieedNIB8VbHjJcrq8z4="; # The tests relies on the presence of network connection doCheck = false; From 67c188883265883818b60c0eecb6b62cc7a43b9f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 11:59:06 +0100 Subject: [PATCH 071/114] forbidden: init at 10.8 Tool to bypass 4xx HTTP response status code https://github.com/ivan-sincek/forbidden --- pkgs/by-name/fo/forbidden/package.nix | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pkgs/by-name/fo/forbidden/package.nix diff --git a/pkgs/by-name/fo/forbidden/package.nix b/pkgs/by-name/fo/forbidden/package.nix new file mode 100644 index 000000000000..adbd83ada4b0 --- /dev/null +++ b/pkgs/by-name/fo/forbidden/package.nix @@ -0,0 +1,51 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "forbidden"; + version = "10.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ivan-sincek"; + repo = "forbidden"; + rev = "refs/tags/v${version}"; + hash = "sha256-jitmgN+We6m5CTgRc1NYwZkg5GYvD6ZlJ8FKtTa+rAY="; + }; + + pythonRemoveDeps = [ + # https://github.com/ivan-sincek/forbidden/pull/3 + "argparse" + ]; + + build-system = with python3.pkgs; [ + pythonRelaxDepsHook + setuptools + ]; + + dependencies = with python3.pkgs; [ + colorama + datetime + pycurl + pyjwt + regex + requests + tabulate + termcolor + ]; + + pythonImportsCheck = [ + "forbidden" + ]; + + meta = with lib; { + description = "Tool to bypass 4xx HTTP response status code"; + homepage = "https://github.com/ivan-sincek/forbidden"; + changelog = "https://github.com/ivan-sincek/forbidden/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + mainProgram = "forbidden"; + }; +} From f94f689a8ddbd490bd8ab0872179109f1ff38a55 Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Mon, 25 Mar 2024 11:05:28 +0000 Subject: [PATCH 072/114] dnsproxy: 0.65.2 -> 0.66.0 --- pkgs/tools/networking/dnsproxy/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix index 15bf69ad6efe..804def68c25f 100644 --- a/pkgs/tools/networking/dnsproxy/default.nix +++ b/pkgs/tools/networking/dnsproxy/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "dnsproxy"; - version = "0.65.2"; + version = "0.66.0"; src = fetchFromGitHub { owner = "AdguardTeam"; repo = "dnsproxy"; rev = "v${version}"; - hash = "sha256-+82dYFk5mN1p17++2Yg3GCLe8Ud4KbZIGgdfaTepEBw="; + hash = "sha256-6cTqAKhPtSNlUHe/DqzrxjjxwfRc4Zn79h5CBLgqchA="; }; - vendorHash = "sha256-kBf32hXZ5fpu2ME30t5FmYwGMnD6Jp6owGnjUL9CViY="; + vendorHash = "sha256-98fwlPbOuCUBHR1xsp5Ff6AO89zYVTUYbhYOfQ/+AZU="; ldflags = [ "-s" "-w" "-X" "github.com/AdguardTeam/dnsproxy/internal/version.version=${version}" ]; From 484c41edacd80190c1cacbd853d29f1bcab762ac Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 12:07:26 +0100 Subject: [PATCH 073/114] websecprobe: 0.0.11 -> 0.0.12 --- pkgs/by-name/we/websecprobe/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/we/websecprobe/package.nix b/pkgs/by-name/we/websecprobe/package.nix index 544d56f0114b..1e826a2db445 100644 --- a/pkgs/by-name/we/websecprobe/package.nix +++ b/pkgs/by-name/we/websecprobe/package.nix @@ -5,20 +5,20 @@ python3.pkgs.buildPythonApplication rec { pname = "websecprobe"; - version = "0.0.11"; + version = "0.0.12"; pyproject = true; src = fetchPypi { pname = "WebSecProbe"; inherit version; - hash = "sha256-OKbKz3HSTtwyx/JNUtLJBTaHQcxkUWroMg9/msVWgk4="; + hash = "sha256-RX4tc6JaUVaNx8nidn8eMcbsmbcSY+VZbup6c6P7oOs="; }; - nativeBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ setuptools ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3.pkgs; [ requests tabulate ]; From 37ebe71349ec8e4cd42d8da6dafc8a89b8845d69 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 12:09:25 +0100 Subject: [PATCH 074/114] websecprobe: add changelog to meta --- pkgs/by-name/we/websecprobe/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/we/websecprobe/package.nix b/pkgs/by-name/we/websecprobe/package.nix index 1e826a2db445..aecc77881557 100644 --- a/pkgs/by-name/we/websecprobe/package.nix +++ b/pkgs/by-name/we/websecprobe/package.nix @@ -34,6 +34,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Web Security Assessment Tool"; homepage = "https://github.com/spyboy-productions/WebSecProbe/"; + changelog = "https://github.com/spyboy-productions/WebSecProbe/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; mainProgram = "websecprobe"; From 51b2c9d232fdad59e564d4e7e062f5ce383b5dd5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 12:21:00 +0100 Subject: [PATCH 075/114] puncia: init at 0.15-unstable-2024-03-23 CLI utility for Subdomain Center & Exploit Observer https://github.com/ARPSyndicate/puncia --- pkgs/by-name/pu/puncia/package.nix | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 pkgs/by-name/pu/puncia/package.nix diff --git a/pkgs/by-name/pu/puncia/package.nix b/pkgs/by-name/pu/puncia/package.nix new file mode 100644 index 000000000000..89e0850e0f54 --- /dev/null +++ b/pkgs/by-name/pu/puncia/package.nix @@ -0,0 +1,42 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "puncia"; + version = "0.15-unstable-2024-03-23"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ARPSyndicate"; + repo = "puncia"; + # https://github.com/ARPSyndicate/puncia/issues/5 + rev = "c70ed93ea1e7e42e12dd9c14713cab71bb0e0fe9"; + hash = "sha256-xGJk8y26tluHUPm9ikrBBiWGuzq6MKl778BF8wNDmps="; + }; + + build-system = with python3.pkgs; [ + setuptools + ]; + + dependencies = with python3.pkgs; [ + requests + ]; + + # Project has no tests + doCheck = false; + + pythonImportsCheck = [ + "puncia" + ]; + + meta = with lib; { + description = "CLI utility for Subdomain Center & Exploit Observer"; + homepage = "https://github.com/ARPSyndicate/puncia"; + # https://github.com/ARPSyndicate/puncia/issues/6 + license = licenses.unfree; + maintainers = with maintainers; [ fab ]; + mainProgram = "puncia"; + }; +} From b3af1ff4d4e77efab7b1d745e1f50d7cb67b9705 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Mon, 25 Mar 2024 09:16:14 -0300 Subject: [PATCH 076/114] vcluster: 0.19.4 -> 0.19.5 Release: https://github.com/loft-sh/vcluster/releases/tag/v0.19.5 Changelog: https://github.com/loft-sh/vcluster/compare/v0.19.4...v0.19.5 --- .../networking/cluster/vcluster/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/cluster/vcluster/default.nix b/pkgs/applications/networking/cluster/vcluster/default.nix index 540e203fea74..f475ba4fbd0c 100644 --- a/pkgs/applications/networking/cluster/vcluster/default.nix +++ b/pkgs/applications/networking/cluster/vcluster/default.nix @@ -2,27 +2,27 @@ buildGoModule rec { pname = "vcluster"; - version = "0.19.4"; + version = "0.19.5"; src = fetchFromGitHub { owner = "loft-sh"; repo = "vcluster"; rev = "v${version}"; - hash = "sha256-fzHaB+EeS8Gr1EVlxAZzKDYgv3Jij4LwmYaXN4tjYBg="; + hash = "sha256-V+Y2LekBYlKZU53BsYCW6ADSMJOxkwSK9hbFGXBaa9o="; }; vendorHash = null; subPackages = [ "cmd/vclusterctl" ]; - nativeBuildInputs = [ installShellFiles ]; - ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.goVersion=${lib.getVersion go}" ]; + nativeBuildInputs = [ installShellFiles ]; + # Test is disabled because e2e tests expect k8s. doCheck = false; @@ -48,10 +48,10 @@ buildGoModule rec { meta = { changelog = "https://github.com/loft-sh/vcluster/releases/tag/v${version}"; description = "Create fully functional virtual Kubernetes clusters"; - mainProgram = "vcluster"; downloadPage = "https://github.com/loft-sh/vcluster"; homepage = "https://www.vcluster.com/"; license = lib.licenses.asl20; + mainProgram = "vcluster"; maintainers = with lib.maintainers; [ berryp peterromfeldhk qjoly superherointj ]; }; } From 2c64797d78b44e255abadfdf47eccadb4e8213bd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 12:23:13 +0000 Subject: [PATCH 077/114] cargo-expand: 1.0.79 -> 1.0.80 --- pkgs/development/tools/rust/cargo-expand/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix index 86c322f7116c..15c8706601f5 100644 --- a/pkgs/development/tools/rust/cargo-expand/default.nix +++ b/pkgs/development/tools/rust/cargo-expand/default.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-expand"; - version = "1.0.79"; + version = "1.0.80"; src = fetchFromGitHub { owner = "dtolnay"; repo = pname; rev = version; - sha256 = "sha256-P0pwQSKkQI/hIaCxU9a3BMdFaBtY4GtB38vqDOvdbaU="; + sha256 = "sha256-qK3ZpcY/kxOaRcmlD6AUkd4BVjX8ZcFz8NG60oHh5qo="; }; - cargoHash = "sha256-G0JNTZZMe4V1o/7KqhlubNczSemIPvrPeH5KQ1oNYWY="; + cargoHash = "sha256-c2h/ij2fWpJMoq8d60l2Ujw7Xnw8q39GmDlcPffpjMU="; meta = with lib; { description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code"; From a402824cf2341afc28436e72d17e25cf2c6cd77c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 13:30:55 +0100 Subject: [PATCH 078/114] trueseeing: 2.2.1 -> 2.2.2 Diff: https://github.com/alterakey/trueseeing/compare/refs/tags/v2.2.1...v2.2.2 Changelog: https://github.com/alterakey/trueseeing/releases/tag/v2.2.2 --- pkgs/tools/security/trueseeing/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/security/trueseeing/default.nix b/pkgs/tools/security/trueseeing/default.nix index 182f33138b95..e5d89ab3ac0c 100644 --- a/pkgs/tools/security/trueseeing/default.nix +++ b/pkgs/tools/security/trueseeing/default.nix @@ -5,28 +5,30 @@ python3.pkgs.buildPythonApplication rec { pname = "trueseeing"; - version = "2.2.1"; + version = "2.2.2"; pyproject = true; src = fetchFromGitHub { owner = "alterakey"; repo = "trueseeing"; rev = "refs/tags/v${version}"; - hash = "sha256-bgvnzCcxRiJnjcHVbcIA6YfpCOIDTLD5tQae/0Tqk4E="; + hash = "sha256-5IHJXlpHZJFKj7rdmRsWA5FXZFJf3usGsLgXx1cYEmU="; }; - nativeBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ flit-core pythonRelaxDepsHook ]; pythonRelaxDeps = true; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3.pkgs; [ + aiohttp asn1crypto attrs importlib-metadata jinja2 + lief lxml progressbar2 pypubsub @@ -44,10 +46,10 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Non-decompiling Android vulnerability scanner"; - mainProgram = "trueseeing"; homepage = "https://github.com/alterakey/trueseeing"; changelog = "https://github.com/alterakey/trueseeing/releases/tag/v${version}"; license = with licenses; [ gpl3Plus ]; maintainers = with maintainers; [ fab ]; + mainProgram = "trueseeing"; }; } From 3c13804bbc7e1baaea78e8547cdb6c7660d46a7d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 12:34:07 +0000 Subject: [PATCH 079/114] detekt: 1.23.5 -> 1.23.6 --- pkgs/development/tools/detekt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/detekt/default.nix b/pkgs/development/tools/detekt/default.nix index 5881997e6dbe..9b51881e5c2b 100644 --- a/pkgs/development/tools/detekt/default.nix +++ b/pkgs/development/tools/detekt/default.nix @@ -1,13 +1,13 @@ { detekt, lib, stdenv, fetchurl, makeWrapper, jre_headless, testers }: stdenv.mkDerivation rec { pname = "detekt"; - version = "1.23.5"; + version = "1.23.6"; jarfilename = "${pname}-${version}-executable.jar"; src = fetchurl { url = "https://github.com/detekt/detekt/releases/download/v${version}/detekt-cli-${version}-all.jar"; - sha256 = "sha256-Pz+MaZimJMCjtGPy7coi6SSE7IdAQhtp2u8YV4s7KLY="; + sha256 = "sha256-iY3PgQ6JH0SeTj+fSk4tx1rs+OEInfQaQqaa2yy7z/o="; }; dontUnpack = true; From b392a0c041ef8c15e0afafd5ce5beeccc7655066 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 13:35:04 +0100 Subject: [PATCH 080/114] python312Packages.wsgidav: 4.3.0 -> 4.3.1 Diff: https://github.com/mar10/wsgidav/compare/refs/tags/v4.3.0...v4.3.1 Changelog: https://github.com/mar10/wsgidav/blob/v4.3.1/CHANGELOG.md --- pkgs/development/python-modules/wsgidav/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wsgidav/default.nix b/pkgs/development/python-modules/wsgidav/default.nix index e9f65687a3ee..14427fb1fff4 100644 --- a/pkgs/development/python-modules/wsgidav/default.nix +++ b/pkgs/development/python-modules/wsgidav/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "wsgidav"; - version = "4.3.0"; + version = "4.3.1"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "mar10"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-DEUoKoFELIOg5KX6hL1VgR18dtsery4ZzKksrxl0D7Q="; + hash = "sha256-jgn4bculVIXfMx3Or3pKF478UOzCL8nhEeNvOeGyjPI="; }; nativeBuildInputs = [ From 408853845d1e162ae0a0d458b7c10058a3e044fd Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 13:36:13 +0100 Subject: [PATCH 081/114] python312Packages.wsgidav: refactor --- pkgs/development/python-modules/wsgidav/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/wsgidav/default.nix b/pkgs/development/python-modules/wsgidav/default.nix index 14427fb1fff4..132af924c3d2 100644 --- a/pkgs/development/python-modules/wsgidav/default.nix +++ b/pkgs/development/python-modules/wsgidav/default.nix @@ -17,22 +17,22 @@ buildPythonPackage rec { pname = "wsgidav"; version = "4.3.1"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "mar10"; - repo = pname; + repo = "wsgidav"; rev = "refs/tags/v${version}"; hash = "sha256-jgn4bculVIXfMx3Or3pKF478UOzCL8nhEeNvOeGyjPI="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ defusedxml jinja2 json5 @@ -55,10 +55,10 @@ buildPythonPackage rec { meta = with lib; { description = "Generic and extendable WebDAV server based on WSGI"; - mainProgram = "wsgidav"; homepage = "https://wsgidav.readthedocs.io/"; changelog = "https://github.com/mar10/wsgidav/blob/v${version}/CHANGELOG.md"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; + mainProgram = "wsgidav"; }; } From dc22db7e734bf0d1c6c47f30b6617f3c99bf93e4 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Mon, 25 Mar 2024 09:21:03 -0400 Subject: [PATCH 082/114] tun2socks: 2.5.2 -> 2.5.2-unstable-2024-02-28 Diff: https://github.com/xjasonlyu/tun2socks/compare/v2.5.2...8c7c9085c21d8be8d18bf79ff547e1f2225842a9 --- pkgs/tools/networking/tun2socks/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/networking/tun2socks/default.nix b/pkgs/tools/networking/tun2socks/default.nix index dc7cdd243fec..a26c2e3f9377 100644 --- a/pkgs/tools/networking/tun2socks/default.nix +++ b/pkgs/tools/networking/tun2socks/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "tun2socks"; - version = "2.5.2"; + version = "2.5.2-unstable-2024-02-28"; src = fetchFromGitHub { owner = "xjasonlyu"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-siAengVJXusQ5o9cTaADeRn5eW4IoCHkMMf6Bx8iWws="; + rev = "8c7c9085c21d8be8d18bf79ff547e1f2225842a9"; + hash = "sha256-LdiCVp6w5yGbFnbArUcjPIwbqFk3zgbbZO1rQNW4w0M="; }; - vendorHash = "sha256-zeiOcn33PnyoseYb0wynkn7MfGp3rHEYBStY98C6aR8="; + vendorHash = "sha256-7x3vVRFFxWhwwelPJ2EV78UTSXIo6bMj3ljVIPTPteg="; ldflags = [ "-w" "-s" From 81bf0daa238f256d6ffcade22d7731474da07c16 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 14:26:05 +0100 Subject: [PATCH 083/114] python312Packages.python-gvm: 24.1.0 -> 24.3.0 Diff: https://github.com/greenbone/python-gvm/compare/refs/tags/v24.1.0...v24.3.0 Changelog: https://github.com/greenbone/python-gvm/releases/tag/v24.3.0 --- pkgs/development/python-modules/python-gvm/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix index 4a455fa79800..efe048a33d1f 100644 --- a/pkgs/development/python-modules/python-gvm/default.nix +++ b/pkgs/development/python-modules/python-gvm/default.nix @@ -9,11 +9,12 @@ , pontos , pytestCheckHook , pythonOlder +, typing-extensions }: buildPythonPackage rec { pname = "python-gvm"; - version = "24.1.0"; + version = "24.3.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -22,17 +23,18 @@ buildPythonPackage rec { owner = "greenbone"; repo = "python-gvm"; rev = "refs/tags/v${version}"; - hash = "sha256-1MJajawm/QdioZM+/efnXOAFcuDOk/xJ1acPrxKp700="; + hash = "sha256-GIEsP8+RJMIehsBbZWpIRXCdqxm042lPbYTHY7/fknM="; }; - nativeBuildInputs = [ + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ defusedxml lxml paramiko + typing-extensions ]; nativeCheckInputs = [ From 130ff4bb83fcd2271dc9ee7e1194c592b322b76d Mon Sep 17 00:00:00 2001 From: Julian Stecklina Date: Mon, 25 Mar 2024 14:35:44 +0100 Subject: [PATCH 084/114] virtualboxKvm: 20240225 -> 20240325 --- pkgs/applications/virtualization/virtualbox/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index df2094c3b1fc..73f7e6bad8be 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -116,11 +116,11 @@ in stdenv.mkDerivation { # we don't take any chances and only apply it if people actually want to use KVM support. ++ optional enableKvm (fetchpatch (let - patchVersion = "20240226"; + patchVersion = "20240325"; in { name = "virtualbox-${version}-kvm-dev-${patchVersion}.patch"; - url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${patchVersion}/virtualbox-${version}-kvm-dev-${patchVersion}.patch"; - hash = "sha256-3YT1ZN/TwoNWNb2eqOcPF8GTrVGfOPaPb8vpGoPNISY="; + url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${patchVersion}/kvm-backend-${version}-dev-${patchVersion}.patch"; + hash = "sha256-D1ua8X5Iyw/I89PtskiGdnGr4NhdFtI93ThltiOcu8w="; })) ++ [ ./qt-dependency-paths.patch From 9a3955480e3e9df33cb316d9ad6e8a03be1fc066 Mon Sep 17 00:00:00 2001 From: Julian Stecklina Date: Mon, 25 Mar 2024 14:57:40 +0100 Subject: [PATCH 085/114] virtualbox: add myself as maintainer --- pkgs/applications/virtualization/virtualbox/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 73f7e6bad8be..b75a5afdbde4 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -281,7 +281,7 @@ in stdenv.mkDerivation { ]; license = licenses.gpl2; homepage = "https://www.virtualbox.org/"; - maintainers = with maintainers; [ sander friedrichaltheide ]; + maintainers = with maintainers; [ sander friedrichaltheide blitz ]; platforms = [ "x86_64-linux" ]; mainProgram = "VirtualBox"; }; From 04aa995e2ad8b076d3f1202e2b42bae5811d7040 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 25 Mar 2024 15:34:23 +0100 Subject: [PATCH 086/114] python311Packages.jax: exclude from bulk updates The jax-0.4.25 and jaxlib-0.4.25 luckily pointed to the same commit here. --- pkgs/development/python-modules/jax/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix index 22e4c5aa838d..e160eec612cf 100644 --- a/pkgs/development/python-modules/jax/default.nix +++ b/pkgs/development/python-modules/jax/default.nix @@ -38,7 +38,7 @@ buildPythonPackage rec { owner = "google"; repo = "jax"; # google/jax contains tags for jax and jaxlib. Only use jax tags! - rev = "refs/tags/jaxlib-v${version}"; + rev = "refs/tags/jax-v${version}"; hash = "sha256-poQQo2ZgEhPYzK3aCs+BjaHTNZbezJAECd+HOdY1Yok="; }; @@ -144,6 +144,9 @@ buildPythonPackage rec { }; }; + # updater fails to pick the correct branch + passthru.skipBulkUpdate = true; + meta = with lib; { description = "Differentiate, compile, and transform Numpy code"; homepage = "https://github.com/google/jax"; From 16b48915aabb9e9b6bca39bb23fb489bc706f935 Mon Sep 17 00:00:00 2001 From: Emilio Ziniades Date: Mon, 25 Mar 2024 14:36:22 +0200 Subject: [PATCH 087/114] tmux-sessionizer: 0.4.0-unstable-2024-02-06 -> 0.4.2 --- pkgs/tools/misc/tmux-sessionizer/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/tools/misc/tmux-sessionizer/default.nix b/pkgs/tools/misc/tmux-sessionizer/default.nix index 11dedf8e599d..207962a82e35 100644 --- a/pkgs/tools/misc/tmux-sessionizer/default.nix +++ b/pkgs/tools/misc/tmux-sessionizer/default.nix @@ -7,28 +7,29 @@ , Security , testers , tmux-sessionizer -}: let +}: +let name = "tmux-sessionizer"; - # v0.4.1 is not released yet, but v0.4.0 has version discrepancy between Cargo.toml and Cargo.lock and does not build - version = "0.4.0-unstable-2024-02-06"; + version = "0.4.2"; -in rustPlatform.buildRustPackage { +in +rustPlatform.buildRustPackage { pname = name; inherit version; src = fetchFromGitHub { owner = "jrmoulton"; repo = name; - rev = "79ab43a4087aa7e4e865cab6a181dfd24c6e7a90"; - hash = "sha256-gzbCeNZML2ygIy/H3uT9apahqI+4hmrTwgXvcZq4Xog="; + rev = "v${version}"; + hash = "sha256-n6DXqsq3TsNob/fEqeOwNTVLPAvCr7CDN9qtXAiOMWQ="; }; - cargoHash = "sha256-Zvr2OH2pKtX60EApUSWhBV4cACMLl750UOiS3nN3J3Q="; + cargoHash = "sha256-e2U6x7HFoFbZxtJvY/ZpgEWagIrdRxPVZw2rP5aDIqg="; passthru.tests.version = testers.testVersion { package = tmux-sessionizer; - version = "0.4.1"; + version = version; }; # Needed to get openssl-sys to use pkg-config. From 908ee27832efd831086fe4494757d2b91bd6e3f6 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 25 Mar 2024 15:37:42 +0100 Subject: [PATCH 088/114] Revert "python3Packages.wandb: 0.16.0 -> 0.16.4" This reverts commit 5c050686ff6c1754700028d6ab393393c2728991. Closes: #297949 --- pkgs/development/python-modules/wandb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index b2f22092638b..654d63981a65 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -55,7 +55,7 @@ buildPythonPackage rec { pname = "wandb"; - version = "0.16.4"; + version = "0.16.0"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -64,7 +64,7 @@ buildPythonPackage rec { owner = pname; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-Q4NHUHay1/xb+V494n96jxE1VyAP7uVyQbIbS0/E85c="; + hash = "sha256-XXs9KjiAPzZ932r4UJ87RpM+qhg/bNDWEYsq2Ua6SRw="; }; patches = [ From 6a11c00bd597db012e5dec40e11b06fa48fbc1c7 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 25 Mar 2024 15:39:03 +0100 Subject: [PATCH 089/114] python311Packages.wandb: exclude from bulk updates --- pkgs/development/python-modules/wandb/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index 654d63981a65..61f32785757d 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -302,6 +302,9 @@ buildPythonPackage rec { "wandb" ]; + # unmaintainable list of disabled tests + passthru.skipBulkUpdate = true; + meta = with lib; { description = "A CLI and library for interacting with the Weights and Biases API"; homepage = "https://github.com/wandb/wandb"; From d23a9cf25c5dabd9b2e09e32715960f83b183570 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 15:51:14 +0000 Subject: [PATCH 090/114] glooctl: 1.16.8 -> 1.16.9 --- pkgs/applications/networking/cluster/glooctl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix index ffe98a73c904..446d0e8ca7c1 100644 --- a/pkgs/applications/networking/cluster/glooctl/default.nix +++ b/pkgs/applications/networking/cluster/glooctl/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "glooctl"; - version = "1.16.8"; + version = "1.16.9"; src = fetchFromGitHub { owner = "solo-io"; repo = "gloo"; rev = "v${version}"; - hash = "sha256-M8ZNDt+sO8ZtVM1PyISOsFwXrD6q9ACPG0T99bqwk1c="; + hash = "sha256-9zGtMfVZL+VIpEw2D5n4LzyTYNLCJFKf7Q++QiUKPxA="; }; vendorHash = "sha256-UyzqKpF2WBj25Bm4MtkF6yjl87A61vGsteBNCjJV178="; From 0595923f003d2128f1e46c18c7b5453e5a2c2dfa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 16:56:27 +0100 Subject: [PATCH 091/114] python311Packages.llama-index-readers-json: 0.10.20 -> 0.1.5 No longer use the mono repo for the source as the release cylcle don't match --- .../llama-index-readers-json/default.nix | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/llama-index-readers-json/default.nix b/pkgs/development/python-modules/llama-index-readers-json/default.nix index c29dcd78c433..4b1d670818b6 100644 --- a/pkgs/development/python-modules/llama-index-readers-json/default.nix +++ b/pkgs/development/python-modules/llama-index-readers-json/default.nix @@ -1,34 +1,43 @@ { lib , buildPythonPackage -, fetchFromGitHub +, fetchPypi , llama-index-core , poetry-core -, pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "llama-index-readers-json"; - version = "0.1.2"; - - inherit (llama-index-core) src meta; - + version = "0.1.5"; pyproject = true; - sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}"; + disabled = pythonOlder "3.8"; - nativeBuildInputs = [ + src = fetchPypi { + pname = "llama_index_readers_json"; + inherit version; + hash = "sha256-H+CG+2FtoOF/DUG6EuAWzY2xe1upLX0pakVutJTZFE0="; + }; + + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ llama-index-core ]; - nativeCheckInputs = [ - pytestCheckHook - ]; + # Tests are only available in the mono repo + doCheck = false; pythonImportsCheck = [ "llama_index.readers.json" ]; + + meta = with lib; { + description = "LlamaIndex Readers Integration for Json"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/readers/llama-index-readers-json"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; } From b7815d7f94b9524a275c6a3e29dac5baaf188f49 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Sat, 23 Mar 2024 10:49:12 -0300 Subject: [PATCH 092/114] python3Packages.robotframework-tidy: init at 4.11.0 Signed-off-by: Otavio Salvador --- .../robotframework-tidy/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/robotframework-tidy/default.nix diff --git a/pkgs/development/python-modules/robotframework-tidy/default.nix b/pkgs/development/python-modules/robotframework-tidy/default.nix new file mode 100644 index 000000000000..f89e7c88c78a --- /dev/null +++ b/pkgs/development/python-modules/robotframework-tidy/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + robotframework, + click, + colorama, + pathspec, + tomli, + rich-click, + jinja2, +}: + +buildPythonPackage rec { + pname = "robotframework-tidy"; + version = "4.11.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "MarketSquare"; + repo = "robotframework-tidy"; + rev = "${version}"; + hash = "sha256-pWW7Ex184WgnPfqHg5qQjfE+9UPvCmE5pwkY8jrp9bI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + robotframework + click + colorama + pathspec + tomli + rich-click + jinja2 + ]; + + meta = with lib; { + changelog = "https://github.com/MarketSquare/robotframework-tidy/blob/main/docs/releasenotes/${version}.rst"; + description = "Code autoformatter for Robot Framework"; + homepage = "https://robotidy.readthedocs.io"; + license = licenses.asl20; + maintainers = with maintainers; [ otavio ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7bdc4b6a42a1..192ed5a4f0e2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13089,6 +13089,8 @@ self: super: with self; { robotframework-sshlibrary = callPackage ../development/python-modules/robotframework-sshlibrary { }; + robotframework-tidy = callPackage ../development/python-modules/robotframework-tidy { }; + robotframework-tools = callPackage ../development/python-modules/robotframework-tools { }; robotstatuschecker = callPackage ../development/python-modules/robotstatuschecker { }; From d24294f5858614542827210347fa531a843f0e53 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 17:06:36 +0000 Subject: [PATCH 093/114] python312Packages.mkdocs-swagger-ui-tag: 0.6.8 -> 0.6.9 --- .../python-modules/mkdocs-swagger-ui-tag/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix index 60fe20c468af..62f5286747f0 100644 --- a/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix +++ b/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "mkdocs-swagger-ui-tag"; - version = "0.6.8"; + version = "0.6.9"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "Blueswen"; repo = "mkdocs-swagger-ui-tag"; rev = "refs/tags/v${version}"; - hash = "sha256-TV7V1PttzyLeVQ/Ag/tMV2aqtCys1mlYpj6i0x+ko/w="; + hash = "sha256-4cRElwF8AOvTLZJq1NF9Yqa7g44uiT96giyhqKZKp5M="; }; propagatedBuildInputs = [ From 974f5dbc1457e5f51d1966757f919fe3ce76b613 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 17:08:11 +0000 Subject: [PATCH 094/114] python312Packages.niaclass: 0.1.4 -> 0.2.0 --- pkgs/development/python-modules/niaclass/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/niaclass/default.nix b/pkgs/development/python-modules/niaclass/default.nix index eca766c67a0f..796bb17063f9 100644 --- a/pkgs/development/python-modules/niaclass/default.nix +++ b/pkgs/development/python-modules/niaclass/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "niaclass"; - version = "0.1.4"; + version = "0.2.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "lukapecnik"; repo = "NiaClass"; rev = "refs/tags/${version}"; - hash = "sha256-md1e/cOIOQKoB760E5hjzjCsC5tS1CzgqAPTeVtrmuo="; + hash = "sha256-C3EF18lzheE+dXHJA6WJNFECAH4HfPiCDo7QxtHvOLI="; }; pythonRelaxDeps = [ From cebdbffcedf867da49325f914130ce95a729d794 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 17:16:43 +0000 Subject: [PATCH 095/114] python312Packages.pyoverkiz: 1.13.8 -> 1.13.9 --- pkgs/development/python-modules/pyoverkiz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix index bf1efac9de74..0b22058a8463 100644 --- a/pkgs/development/python-modules/pyoverkiz/default.nix +++ b/pkgs/development/python-modules/pyoverkiz/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "pyoverkiz"; - version = "1.13.8"; + version = "1.13.9"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "iMicknl"; repo = "python-overkiz-api"; rev = "refs/tags/v${version}"; - hash = "sha256-tvS7aPfBTs75Rq1WGslWDMv1pOTVt7MtwpXPRJtqbuk="; + hash = "sha256-J1nsRB9KYg3yUuxQV79/Udjjkux+BE4YcawpRJcSYHI="; }; postPatch = '' From c83f685cfa6eea50cd271f2e621cbda343589e9f Mon Sep 17 00:00:00 2001 From: "Miao, ZhiCheng" Date: Sun, 31 Dec 2023 09:31:52 +0200 Subject: [PATCH 096/114] insync: bugfix of 3.8.6.50504 other changes: - moved under pkgs/by-name/ - applied a hugly workaround to the start command's deamon crashing issue in the fhs wrapper. --- .../in/insync/package.nix} | 57 +++++++++---------- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 27 insertions(+), 32 deletions(-) rename pkgs/{applications/networking/insync/default.nix => by-name/in/insync/package.nix} (65%) diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/by-name/in/insync/package.nix similarity index 65% rename from pkgs/applications/networking/insync/default.nix rename to pkgs/by-name/in/insync/package.nix index 844b8648d6c8..fb004a6a3e0d 100644 --- a/pkgs/applications/networking/insync/default.nix +++ b/pkgs/by-name/in/insync/package.nix @@ -1,22 +1,27 @@ { lib , writeShellScript -, buildFHSEnvBubblewrap +, buildFHSEnv , stdenvNoCC , fetchurl , autoPatchelfHook , dpkg , nss +, cacert +, alsa-lib , libvorbis , libdrm , libGL , wayland , xkeyboard_config , libthai +, libsForQt5 }: let pname = "insync"; + # Find a binary from https://www.insynchq.com/downloads/linux#ubuntu. version = "3.8.6.50504"; + ubuntu-dist = "mantic_amd64"; meta = with lib; { platforms = ["x86_64-linux"]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; @@ -35,7 +40,6 @@ let Known bug(s): 1) Currently the system try icon does not render correctly. - 2) libqtvirtualkeyboardplugin does not have necessary Qt library shipped from vendor. ''; mainProgram = "insync"; }; @@ -45,22 +49,27 @@ let inherit version meta; src = fetchurl { - # Find a binary from https://www.insynchq.com/downloads/linux#ubuntu. - url = "https://cdn.insynchq.com/builds/linux/insync_${version}-lunar_amd64.deb"; - sha256 = "sha256-BxTFtQ1rAsOuhKnH5vsl3zkM7WOd+vjA4LKZGxl4jk0="; + url = "https://cdn.insynchq.com/builds/linux/insync_${version}-${ubuntu-dist}.deb"; + sha256 = "sha256-QfSfTJjMTWShQETlUQqXQTYT7mBNhmj0HHoT5bjF0o8="; }; + nativeBuildInputs = [ + dpkg + autoPatchelfHook + libsForQt5.qt5.wrapQtAppsHook + ]; + buildInputs = [ nss + alsa-lib libvorbis libdrm libGL wayland libthai + libsForQt5.qt5.qtvirtualkeyboard ]; - nativeBuildInputs = [ autoPatchelfHook dpkg ]; - unpackPhase = '' dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner ''; @@ -71,15 +80,6 @@ let mkdir -p $out cp -R usr/* $out/ - # use system glibc - rm $out/lib/insync/{libgcc_s.so.1,libstdc++.so.6} - - # remove badly packaged plugins - rm $out/lib/insync/PySide2/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so - - # remove the unused vendor wrapper - rm $out/bin/insync - runHook postInstall ''; @@ -87,31 +87,28 @@ let dontStrip = true; }; -in buildFHSEnvBubblewrap { +in buildFHSEnv { name = pname; inherit meta; targetPkgs = pkgs: with pkgs; [ - insync-pkg + cacert libudev0-shim + insync-pkg ]; - runScript = writeShellScript "insync-wrapper.sh" '' - # QT_STYLE_OVERRIDE was used to suppress a QT warning, it should have no actual effect for this binary. - echo Unsetting QT_STYLE_OVERRIDE=$QT_STYLE_OVERRIDE - echo Unsetting QT_QPA_PLATFORMTHEME=$QT_QPA_PLATFORMTHEME - unset QT_STYLE_OVERRIDE - unset QPA_PLATFORMTHEME + extraInstallCommands = '' + cp -rsHf "${insync-pkg}"/share $out + ''; + runScript = writeShellScript "insync-wrapper.sh" '' # xkb configuration needed: https://github.com/NixOS/nixpkgs/issues/236365 export XKB_CONFIG_ROOT=${xkeyboard_config}/share/X11/xkb/ - echo XKB_CONFIG_ROOT=$XKB_CONFIG_ROOT - # For debuging: + # For debugging: # export QT_DEBUG_PLUGINS=1 - # find -L /usr/share -name "*insync*" - exec /usr/lib/insync/insync "$@" + QT_QPA_PLATFORMTHEME=hicolor QT_STYLE_OVERRIDE=hicolor LC_TIME=C exec /usr/lib/insync/insync "$@" ''; # As intended by this bubble wrap, share as much namespaces as possible with user. @@ -121,6 +118,6 @@ in buildFHSEnvBubblewrap { unshareNet = false; unshareUts = false; unshareCgroup = false; - # Since "insync start" command starts a daemon, this daemon should die with it. - dieWithParent = false; + + dieWithParent = true; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b682c3501ecd..e2cdc1cc0323 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -34742,8 +34742,6 @@ with pkgs; myfitnesspal = with python3Packages; toPythonApplication myfitnesspal; - insync = callPackage ../applications/networking/insync { }; - lemurs = callPackage ../applications/display-managers/lemurs { }; libstrangle = callPackage ../tools/X11/libstrangle { From f7b7bf991245f944a8bafc05518054289279c8e3 Mon Sep 17 00:00:00 2001 From: hellwolf Date: Mon, 25 Mar 2024 19:53:19 +0200 Subject: [PATCH 097/114] insync: 3.8.6.50504 -> 3.8.7.50516 --- pkgs/by-name/in/insync/package.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/in/insync/package.nix b/pkgs/by-name/in/insync/package.nix index fb004a6a3e0d..b8206c38ce90 100644 --- a/pkgs/by-name/in/insync/package.nix +++ b/pkgs/by-name/in/insync/package.nix @@ -20,7 +20,7 @@ let pname = "insync"; # Find a binary from https://www.insynchq.com/downloads/linux#ubuntu. - version = "3.8.6.50504"; + version = "3.8.7.50516"; ubuntu-dist = "mantic_amd64"; meta = with lib; { platforms = ["x86_64-linux"]; @@ -50,7 +50,7 @@ let src = fetchurl { url = "https://cdn.insynchq.com/builds/linux/insync_${version}-${ubuntu-dist}.deb"; - sha256 = "sha256-QfSfTJjMTWShQETlUQqXQTYT7mBNhmj0HHoT5bjF0o8="; + sha256 = "sha256-U7BcgghbdR7r9WiZpEOka+BzXwnxrzL6p4imGESuB/k="; }; nativeBuildInputs = [ @@ -92,7 +92,6 @@ in buildFHSEnv { inherit meta; targetPkgs = pkgs: with pkgs; [ - cacert libudev0-shim insync-pkg ]; @@ -108,7 +107,7 @@ in buildFHSEnv { # For debugging: # export QT_DEBUG_PLUGINS=1 - QT_QPA_PLATFORMTHEME=hicolor QT_STYLE_OVERRIDE=hicolor LC_TIME=C exec /usr/lib/insync/insync "$@" + exec /usr/lib/insync/insync "$@" ''; # As intended by this bubble wrap, share as much namespaces as possible with user. From e48ef08dea1e1aa3d026edee6ba40988ace615e3 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Mon, 25 Mar 2024 19:51:15 +0100 Subject: [PATCH 098/114] jffi: clean up and make deterministic --- .../libraries/java/jffi/default.nix | 72 +++++++++++++------ 1 file changed, 49 insertions(+), 23 deletions(-) diff --git a/pkgs/development/libraries/java/jffi/default.nix b/pkgs/development/libraries/java/jffi/default.nix index 3ba336aa18e9..46f270163549 100644 --- a/pkgs/development/libraries/java/jffi/default.nix +++ b/pkgs/development/libraries/java/jffi/default.nix @@ -1,40 +1,66 @@ -{ lib, stdenv, fetchFromGitHub, jdk, jre, ant, libffi, texinfo, pkg-config }: +{ lib +, stdenv +, fetchFromGitHub +, ant +, jdk +, libffi +, pkg-config +, texinfo +, stripJavaArchivesHook +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "jffi"; version = "1.3.13"; src = fetchFromGitHub { owner = "jnr"; repo = "jffi"; - rev = "jffi-${version}"; - sha256 = "sha256-aBQkkZyXZkaJc4sr/jHnIRaJYP116u4Jqsr9XXzfOBA="; + rev = "jffi-${finalAttrs.version}"; + hash = "sha256-aBQkkZyXZkaJc4sr/jHnIRaJYP116u4Jqsr9XXzfOBA="; }; - nativeBuildInputs = [ jdk ant texinfo pkg-config ]; - buildInputs = [ libffi ] ; + nativeBuildInputs = [ + ant + jdk + pkg-config + texinfo + stripJavaArchivesHook + ]; + + buildInputs = [ libffi ]; + + # The pkg-config script in the build.xml doesn't work propery + # set the lib path manually to work around this. + env.LIBFFI_LIBS = "${libffi}/lib/libffi${stdenv.hostPlatform.extensions.sharedLibrary}"; + env.ANT_ARGS = "-Duse.system.libffi=1"; buildPhase = '' - # The pkg-config script in the build.xml doesn't work propery - # set the lib path manually to work around this. - export LIBFFI_LIBS="${libffi}/lib/libffi.so" - - ant -Duse.system.libffi=1 jar - ant -Duse.system.libffi=1 archive-platform-jar - ''; - - installPhase = '' - mkdir -p $out/share/java - cp -r dist/* $out/share/java + runHook preBuild + ant jar + ant archive-platform-jar + runHook postBuild ''; doCheck = true; - checkPhase = '' - # The pkg-config script in the build.xml doesn't work propery - # set the lib path manually to work around this. - export LIBFFI_LIBS="${libffi}/lib/libffi.so" - ant -Duse.system.libffi=1 test + checkPhase = '' + runHook preCheck + ant test + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + install -Dm644 dist/*.jar -t $out/share/java + runHook postInstall + ''; + + # nix can't detect libffi as a dependency inside the jar file, so we create + # a dummy file with the path to libffi, to make sure that nix knows about it + postFixup = '' + mkdir -p $out/nix-support + echo ${libffi} > $out/nix-support/depends ''; meta = with lib; { @@ -45,4 +71,4 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = with maintainers; [ bachp ]; }; -} +}) From 0325eb70a99d02700d976b4fcbe8d5c30a3bd345 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 20:03:19 +0100 Subject: [PATCH 099/114] python311Packages.pymupdf: disable failing tests --- .../python-modules/pymupdf/default.nix | 80 +++++++++++++++++-- 1 file changed, 74 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index bf40f44732d3..f225524e7e18 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -30,7 +30,12 @@ let # PyMuPDF needs the C++ bindings generated - mupdf-cxx = mupdf.override { enableOcr = true; enableCxx = true; enablePython = true; python3 = python; }; + mupdf-cxx = mupdf.override { + enableOcr = true; + enableCxx = true; + enablePython = true; + python3 = python; + }; in buildPythonPackage rec { pname = "pymupdf"; version = "1.23.26"; @@ -45,12 +50,12 @@ in buildPythonPackage rec { hash = "sha256-m2zq04+PDnlzFuqeSt27UhdHXTHxpHdMPIg5RQl/5bQ="; }; - # swig is not wrapped as python package + # swig is not wrapped as Python package # libclang calls itself just clang in wheel metadata postPatch = '' substituteInPlace pyproject.toml \ - --replace '"swig",' "" \ - --replace "libclang" "clang" + --replace-fail '"swig",' "" \ + --replace-fail "libclang" "clang" ''; nativeBuildInputs = [ @@ -95,16 +100,79 @@ in buildPythonPackage rec { fonttools ]; + preCheck = '' + export PATH="$PATH:$out/bin"; + ''; + disabledTests = [ # fails for indeterminate reasons - "test_color_count" - "test_2753" "test_2548" + "test_2753" + "test_3020" + "test_3050" + "test_3058" + "test_3177" + "test_3186" + "test_color_count" + "test_pilsave" + "test_fz_write_pixmap_as_jpeg" + # NotImplementedError + "test_1824" + "test_2093" + "test_2093" + "test_2108" + "test_2182" + "test_2182" + "test_2246" + "test_2270" + "test_2270" + "test_2391" + "test_2788" + "test_2861" + "test_2871" + "test_2886" + "test_2904" + "test_2922" + "test_2934" + "test_2957" + "test_2969" + "test_3070" + "test_3131" + "test_3140" + "test_3209" + "test_3209" + "test_caret" + "test_deletion" + "test_file_info" + "test_line" + "test_page_links_generator" + "test_polyline" + "test_redact" + "test_techwriter_append" + "test_text2" + # Issue with FzArchive + "test_htmlbox" + "test_2246" + "test_3140" + "test_fit_springer" + "test_write_stabilized_with_links" + "test_textbox" + "test_delete_image" + # Fonts not available + "test_fontarchive" + "test_subset_fonts" + # Exclude lint tests + "test_flake8" ] ++ lib.optionals stdenv.isDarwin [ # darwin does not support OCR right now "test_tesseract" ]; + disabledTestPaths = [ + # Issue with FzArchive + "tests/test_docs_samples.py" + ]; + pythonImportsCheck = [ "fitz" "fitz_old" From c321c6c859403b5a262baf7a278ee9da01a33e41 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 20:03:58 +0100 Subject: [PATCH 100/114] python311Packages.llama-index-readers-file: 0.1.7 -> 0.1.12 --- .../llama-index-readers-file/default.nix | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/llama-index-readers-file/default.nix b/pkgs/development/python-modules/llama-index-readers-file/default.nix index 4c5503c66071..f4b441142bfb 100644 --- a/pkgs/development/python-modules/llama-index-readers-file/default.nix +++ b/pkgs/development/python-modules/llama-index-readers-file/default.nix @@ -1,27 +1,30 @@ { lib , beautifulsoup4 , buildPythonPackage -, fetchFromGitHub +, fetchPypi , llama-index-core , poetry-core , pymupdf , pypdf -, pytestCheckHook +, pythonOlder , pythonRelaxDepsHook +, striprtf }: buildPythonPackage rec { pname = "llama-index-readers-file"; - version = "0.1.7"; - - inherit (llama-index-core) src meta; - + version = "0.1.12"; pyproject = true; - sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}"; + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "llama_index_readers_file"; + inherit version; + hash = "sha256-YGXL+AsPtdGJVYuLkK273JKsuGFH/KGS2I/MJwStKvM="; + }; pythonRelaxDeps = [ - "beautifulsoup4" "pymupdf" "pypdf" ]; @@ -30,23 +33,30 @@ buildPythonPackage rec { "bs4" ]; - nativeBuildInputs = [ + build-system = [ poetry-core pythonRelaxDepsHook ]; - propagatedBuildInputs = [ + dependencies = [ beautifulsoup4 llama-index-core pymupdf pypdf + striprtf ]; - nativeCheckInputs = [ - pytestCheckHook - ]; + # Tests are only available in the mono repo + doCheck = false; pythonImportsCheck = [ "llama_index.readers.file" ]; + + meta = with lib; { + description = "LlamaIndex Readers Integration for files"; + homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/readers/llama-index-readers-file"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; } From c0c1f663b384ef181c5c87fd5e210c07736b72a2 Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Mon, 25 Mar 2024 20:55:53 +0100 Subject: [PATCH 101/114] devenv: use cargoHash instead of cargoLock file --- pkgs/by-name/de/devenv/Cargo.lock | 2126 ---------------------------- pkgs/by-name/de/devenv/package.nix | 4 +- 2 files changed, 1 insertion(+), 2129 deletions(-) delete mode 100644 pkgs/by-name/de/devenv/Cargo.lock diff --git a/pkgs/by-name/de/devenv/Cargo.lock b/pkgs/by-name/de/devenv/Cargo.lock deleted file mode 100644 index 37df5751911b..000000000000 --- a/pkgs/by-name/de/devenv/Cargo.lock +++ /dev/null @@ -1,2126 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aho-corasick" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" -dependencies = [ - "memchr", -] - -[[package]] -name = "ansiterm" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab587f5395da16dd2e6939adf53dede583221b320cadfb94e02b5b7b9bf24cc" -dependencies = [ - "winapi", -] - -[[package]] -name = "anstream" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" - -[[package]] -name = "anstyle-parse" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "backtrace-ext" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50" -dependencies = [ - "backtrace", -] - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" - -[[package]] -name = "bumpalo" -version = "3.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" - -[[package]] -name = "bytes" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" - -[[package]] -name = "castaway" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc" -dependencies = [ - "rustversion", -] - -[[package]] -name = "cc" -version = "1.0.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive 3.2.25", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap", -] - -[[package]] -name = "clap" -version = "4.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" -dependencies = [ - "clap_builder", - "clap_derive 4.5.0", -] - -[[package]] -name = "clap_builder" -version = "4.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" -dependencies = [ - "anstream", - "anstyle", - "clap_lex 0.7.0", - "strsim 0.11.0", -] - -[[package]] -name = "clap_derive" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" -dependencies = [ - "heck", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "clap_derive" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "clap_lex" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" - -[[package]] -name = "cli-table" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d" -dependencies = [ - "cli-table-derive", - "csv", - "termcolor", - "unicode-width", -] - -[[package]] -name = "cli-table-derive" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af3bfb9da627b0a6c467624fb7963921433774ed435493b5c08a3053e829ad4" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "colorchoice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" - -[[package]] -name = "compact_str" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f" -dependencies = [ - "castaway", - "cfg-if", - "itoa", - "ryu", - "static_assertions", -] - -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - -[[package]] -name = "darling" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 2.0.51", -] - -[[package]] -name = "darling_macro" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "devenv" -version = "1.0.2" -dependencies = [ - "ansiterm", - "clap 4.5.1", - "cli-table", - "dotlock", - "fs2", - "include_dir", - "indoc", - "miette", - "nix", - "regex", - "reqwest", - "schematic", - "serde", - "serde_json", - "serde_yaml", - "tempdir", - "tracing", - "which", - "whoami", - "xdg", -] - -[[package]] -name = "devenv-run-tests" -version = "0.1.0" -dependencies = [ - "clap 3.2.25", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "dotlock" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c541575b952e53113caddb5be24869705052591b534ea11a81a3d4743416a3" -dependencies = [ - "tempfile", -] - -[[package]] -name = "dyn-clone" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" - -[[package]] -name = "either" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" - -[[package]] -name = "encoding_rs" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "fastrand" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-core", - "futures-io", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "garde" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fa8fb3ffe035745c6194540b2064b2fe275f32367fbb4eb026024b7921e2e5" -dependencies = [ - "compact_str", - "garde_derive", - "once_cell", - "regex", - "smallvec", -] - -[[package]] -name = "garde_derive" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf62650515830c41553b72bd49ec20fb120226f9277c7f2847f071cf998325b" -dependencies = [ - "proc-macro2", - "quote", - "regex", - "syn 2.0.51", -] - -[[package]] -name = "getrandom" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "h2" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.2.3", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "http" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "include_dir" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" -dependencies = [ - "equivalent", - "hashbrown 0.14.3", - "serde", -] - -[[package]] -name = "indoc" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "is_ci" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" - -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "js-sys" -version = "0.3.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" - -[[package]] -name = "libredox" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" -dependencies = [ - "bitflags 2.4.2", - "libc", - "redox_syscall", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[package]] -name = "log" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "markdown" -version = "1.0.0-alpha.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0f0025e8c0d89b84d6dc63e859475e40e8e82ab1a08be0a93ad5731513a508" -dependencies = [ - "unicode-id", -] - -[[package]] -name = "memchr" -version = "2.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" - -[[package]] -name = "miette" -version = "7.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baed61d13cc3723ee6dbed730a82bfacedc60a85d81da2d77e9c3e8ebc0b504a" -dependencies = [ - "backtrace", - "backtrace-ext", - "miette-derive", - "owo-colors", - "supports-color", - "supports-hyperlinks", - "supports-unicode", - "terminal_size", - "textwrap", - "thiserror", - "unicode-width", -] - -[[package]] -name = "miette-derive" -version = "7.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301c3f54f98abc6c212ee722f5e5c62e472a334415840669e356f04850051ec" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "miniz_oxide" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nix" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" -dependencies = [ - "bitflags 2.4.2", - "cfg-if", - "cfg_aliases", - "libc", -] - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "openssl" -version = "0.10.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" -dependencies = [ - "bitflags 2.4.2", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - -[[package]] -name = "owo-colors" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pin-project-lite" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_users" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "reqwest" -version = "0.11.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bf93c4af7a8bb7d879d51cebe797356ff10ae8516ace542b5182d9dcac10b2" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustix" -version = "0.38.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" -dependencies = [ - "bitflags 2.4.2", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64", -] - -[[package]] -name = "rustversion" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" - -[[package]] -name = "ryu" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" - -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "schemars" -version = "0.8.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" -dependencies = [ - "dyn-clone", - "serde", - "serde_json", -] - -[[package]] -name = "schematic" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709e1f0b0a3db267a98da09c89a7818e307cc8daea841e1079eb5f5a02591d54" -dependencies = [ - "garde", - "indexmap 2.2.3", - "markdown", - "miette", - "reqwest", - "schemars", - "schematic_macros", - "schematic_types", - "serde", - "serde_json", - "serde_path_to_error", - "serde_yaml", - "starbase_styles", - "thiserror", - "tracing", -] - -[[package]] -name = "schematic_macros" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31af7347544d97d00870a5865d2077dac07c069a5290c26215ddd1138b302590" -dependencies = [ - "convert_case", - "darling", - "proc-macro2", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "schematic_types" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3adfbe1c90a6a9643433e490ef1605c6a99f93be37e4c83fe5149fca9698c6" - -[[package]] -name = "security-framework" -version = "2.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "serde" -version = "1.0.197" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.197" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "serde_json" -version = "1.0.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" -dependencies = [ - "indexmap 2.2.3", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_path_to_error" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" -dependencies = [ - "itoa", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_yaml" -version = "0.9.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f" -dependencies = [ - "indexmap 2.2.3", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" - -[[package]] -name = "smawk" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" - -[[package]] -name = "socket2" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "starbase_styles" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e06fa37c027e48ef341787d8c3d26cfbe8507aa4e2e8c61fcba82fe931bb598" -dependencies = [ - "dirs", - "owo-colors", - "supports-color", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "strsim" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" - -[[package]] -name = "supports-color" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9829b314621dfc575df4e409e79f9d6a66a3bd707ab73f23cb4aa3a854ac854f" -dependencies = [ - "is_ci", -] - -[[package]] -name = "supports-hyperlinks" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c0a1e5168041f5f3ff68ff7d95dcb9c8749df29f6e7e89ada40dd4c9de404ee" - -[[package]] -name = "supports-unicode" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tempdir" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" -dependencies = [ - "rand", - "remove_dir_all", -] - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "terminal_size" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -dependencies = [ - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "textwrap" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "pin-project-lite", - "socket2", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-id" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1b6def86329695390197b82c1e244a54a131ceb66c996f2088a3876e2ae083f" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-width" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" - -[[package]] -name = "unsafe-libyaml" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b" - -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.51", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.51", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" - -[[package]] -name = "web-sys" -version = "0.3.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "which" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "whoami" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" -dependencies = [ - "redox_syscall", - "wasite", - "web-sys", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.3", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" -dependencies = [ - "windows_aarch64_gnullvm 0.52.3", - "windows_aarch64_msvc 0.52.3", - "windows_i686_gnu 0.52.3", - "windows_i686_msvc 0.52.3", - "windows_x86_64_gnu 0.52.3", - "windows_x86_64_gnullvm 0.52.3", - "windows_x86_64_msvc 0.52.3", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "xdg" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 21877f043c00..07b81431ec13 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -37,9 +37,7 @@ in rustPlatform.buildRustPackage { hash = "sha256-JCxjmWr2+75KMPOoVybNZhy9zhhrg9BAKA8D+J6MNBc="; }; - cargoLock = { - lockFile = ./Cargo.lock; - }; + cargoHash = "sha256-FGB8p9ClGokYDrV0b47PnjeSlOv7p+IgThNajve3yms="; nativeBuildInputs = [ makeWrapper pkg-config ]; From 961cd16135ccb9cc37f8d7443bb46372ee8c4b27 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmeier Date: Mon, 25 Mar 2024 21:02:02 +0100 Subject: [PATCH 102/114] nixpkgs-review: 2.10.3 -> 2.10.4 --- .../package-management/nixpkgs-review/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/package-management/nixpkgs-review/default.nix b/pkgs/tools/package-management/nixpkgs-review/default.nix index 5e57c6964238..3c3956bb94cc 100644 --- a/pkgs/tools/package-management/nixpkgs-review/default.nix +++ b/pkgs/tools/package-management/nixpkgs-review/default.nix @@ -16,14 +16,14 @@ python3.pkgs.buildPythonApplication rec { pname = "nixpkgs-review"; - version = "2.10.3"; + version = "2.10.4"; format = "pyproject"; src = fetchFromGitHub { owner = "Mic92"; repo = "nixpkgs-review"; rev = version; - hash = "sha256-iO+B/4UsMi+vf85oyLwZTigZ+mmt7Sk3qGba20/0XBs="; + hash = "sha256-+4T6Mm4YfH0wWlkNYS03H9Z9oNlYQnVUncvWGA0CKIQ="; }; nativeBuildInputs = [ @@ -53,9 +53,9 @@ python3.pkgs.buildPythonApplication rec { postInstall = lib.optionalString withAutocomplete '' for cmd in nix-review nixpkgs-review; do installShellCompletion --cmd $cmd \ - --bash <(register-python-argcomplete $out/bin/$cmd) \ - --fish <(register-python-argcomplete $out/bin/$cmd -s fish) \ - --zsh <(register-python-argcomplete $out/bin/$cmd -s zsh) + --bash <(register-python-argcomplete $cmd) \ + --fish <(register-python-argcomplete $cmd -s fish) \ + --zsh <(register-python-argcomplete $cmd -s zsh) done ''; From eb1beb497b618d4f06131677da5081f973788618 Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Mon, 25 Mar 2024 21:03:29 +0100 Subject: [PATCH 103/114] devenv: function parameters cleanup Little logical and alphabitical reordering of function parameters --- pkgs/by-name/de/devenv/package.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 07b81431ec13..10d061f591f8 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -1,14 +1,15 @@ -{ stdenv -, lib -, openssl +{ lib +, stdenv +, fetchFromGitHub +, makeWrapper +, rustPlatform + +, cachix , darwin , libgit2 -, makeWrapper , nix +, openssl , pkg-config -, rustPlatform -, cachix -, fetchFromGitHub }: let From 5a15f09929f05a046c7619bbc82cf3d465025a71 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 21:19:07 +0100 Subject: [PATCH 104/114] python312Packages.bc-detect-secrets: 1.5.4 -> 1.5.5 Diff: https://github.com/bridgecrewio/detect-secrets/compare/refs/tags/1.5.4...1.5.5 --- pkgs/development/python-modules/bc-detect-secrets/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bc-detect-secrets/default.nix b/pkgs/development/python-modules/bc-detect-secrets/default.nix index e15cae256240..198004887ad8 100644 --- a/pkgs/development/python-modules/bc-detect-secrets/default.nix +++ b/pkgs/development/python-modules/bc-detect-secrets/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "bc-detect-secrets"; - version = "1.5.4"; + version = "1.5.5"; pyproject = true; disabled = pythonOlder "3.8"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "bridgecrewio"; repo = "detect-secrets"; rev = "refs/tags/${version}"; - hash = "sha256-Gm8PYN9vqYkGaGKpLZkx0Ehd1P3G2d5LkSjWXxpPerI="; + hash = "sha256-05hxc34ecSoAp0GBVf9yq2BC928wxZOLZJHAbJ7cdtk="; }; nativeBuildInputs = [ From c40032835e6ef5892c7c5af99a03d58f9d5be3ca Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Mon, 25 Mar 2024 21:24:12 +0100 Subject: [PATCH 105/114] devenv: add version test --- pkgs/by-name/de/devenv/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 10d061f591f8..2d482956eed4 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , makeWrapper , rustPlatform +, testers , cachix , darwin @@ -10,6 +11,8 @@ , nix , openssl , pkg-config + +, devenv # required to run version test }: let @@ -50,6 +53,13 @@ in rustPlatform.buildRustPackage { wrapProgram $out/bin/devenv --set DEVENV_NIX ${devenv_nix} --prefix PATH ":" "$out/bin:${cachix}/bin" ''; + passthru.tests = { + version = testers.testVersion { + package = devenv; + command = "export XDG_DATA_HOME=$PWD; devenv version"; + }; + }; + meta = { changelog = "https://github.com/cachix/devenv/releases/tag/v${version}"; description = "Fast, Declarative, Reproducible, and Composable Developer Environments"; From 4535b714c66c01b2e647207a5df12b62c1b6889d Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 25 Mar 2024 17:30:44 -0300 Subject: [PATCH 106/114] graphicsmagick: 1.3.42 -> 1.3.43 (#298535) * graphicsmagick: adopt and refactor - finalAttrs design pattern - split man output - rename patches - update link that explains the patch * graphicsmagick-imagemagick-compat: rename filename * graphicsmagick-imagemagick-compat: hide it inside graphicsmagick.passthru * graphicsmagick-imagemagick-compat: refactor - use stdenvNoCC (since no compiler is called) - split man output - do not expose attributes - set `dontBuild = true` instead of using a fake `buildPhase` - install the artifacts via an elegant but questionable, Lispy dark magic * graphicsmagick: migrate to by-name * graphicsmagick: 1.3.42 -> 1.3.43 Co-authored-by: R. Ryantm * graphicsmagick: remove patch Since the security breach was solved upstream. --------- Co-authored-by: R. Ryantm --- .../graphics/graphicsmagick/compat.nix | 37 ------ .../graphics/graphicsmagick/default.nix | 67 ----------- .../graphicsmagick/disable-popen.patch | 12 -- .../gr/graphicsmagick/imagemagick-compat.nix | 48 ++++++++ pkgs/by-name/gr/graphicsmagick/package.nix | 105 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +- 6 files changed, 154 insertions(+), 119 deletions(-) delete mode 100644 pkgs/applications/graphics/graphicsmagick/compat.nix delete mode 100644 pkgs/applications/graphics/graphicsmagick/default.nix delete mode 100644 pkgs/applications/graphics/graphicsmagick/disable-popen.patch create mode 100644 pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix create mode 100644 pkgs/by-name/gr/graphicsmagick/package.nix diff --git a/pkgs/applications/graphics/graphicsmagick/compat.nix b/pkgs/applications/graphics/graphicsmagick/compat.nix deleted file mode 100644 index b715093308fa..000000000000 --- a/pkgs/applications/graphics/graphicsmagick/compat.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, graphicsmagick }: - -stdenv.mkDerivation { - pname = "graphicsmagick-imagemagick-compat"; - inherit (graphicsmagick) version; - - dontUnpack = true; - buildPhase = "true"; - - utils = [ - "composite" - "conjure" - "convert" - "identify" - "mogrify" - "montage" - "animate" - "display" - "import" - ]; - - # TODO: symlink libraries? - installPhase = '' - mkdir -p "$out"/bin - mkdir -p "$out"/share/man/man1 - for util in ''${utils[@]}; do - ln -s ${graphicsmagick}/bin/gm "$out/bin/$util" - ln -s ${graphicsmagick}/share/man/man1/gm.1.gz "$out/share/man/man1/$util.1.gz" - done - ''; - - meta = { - description = "ImageMagick interface for GraphicsMagick"; - license = lib.licenses.free; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix deleted file mode 100644 index 893d2cebb601..000000000000 --- a/pkgs/applications/graphics/graphicsmagick/default.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ lib, stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript -, libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11 -, libwebp, quantumdepth ? 8, fixDarwinDylibNames, nukeReferences -, coreutils -, runCommand -, graphicsmagick # for passthru.tests -}: - -stdenv.mkDerivation rec { - pname = "graphicsmagick"; - version = "1.3.42"; - - src = fetchurl { - url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; - sha256 = "sha256-SE/M/Ssvr2wrqRUUaezlByvLkbpO1z517T2ORsdZ1Vc="; - }; - - patches = [ - ./disable-popen.patch - ]; - - configureFlags = [ - # specify delegates explicitly otherwise `gm` will invoke the build - # coreutils for filetypes it doesn't natively support. - "MVDelegate=${lib.getExe' coreutils "mv"}" - "--enable-shared" - "--with-frozenpaths" - "--with-quantum-depth=${toString quantumdepth}" - "--with-gslib=yes" - ]; - - buildInputs = - [ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2 - zlib libtool libwebp - ]; - - nativeBuildInputs = [ xz nukeReferences ] - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - # Remove CFLAGS from the binaries to avoid closure bloat. - # In the past we have had -dev packages in the closure of the binaries soley due to the string references. - postConfigure = '' - nuke-refs -e $out ./magick/magick_config.h - ''; - - postInstall = '' - sed -i 's/-ltiff.*'\'/\'/ $out/bin/* - ''; - - passthru = { - tests = { - issue-157920 = runCommand "issue-157920-regression-test" { - buildInputs = [ graphicsmagick ]; - } '' - gm convert ${graphviz}/share/doc/graphviz/neatoguide.pdf jpg:$out - ''; - }; - }; - - meta = { - homepage = "http://www.graphicsmagick.org"; - description = "Swiss army knife of image processing"; - license = lib.licenses.mit; - platforms = lib.platforms.all; - mainProgram = "gm"; - }; -} diff --git a/pkgs/applications/graphics/graphicsmagick/disable-popen.patch b/pkgs/applications/graphics/graphicsmagick/disable-popen.patch deleted file mode 100644 index 2cdb1f7e90f7..000000000000 --- a/pkgs/applications/graphics/graphicsmagick/disable-popen.patch +++ /dev/null @@ -1,12 +0,0 @@ -http://permalink.gmane.org/gmane.comp.security.oss.general/19669 - ---- a/magick/blob.c Sat Nov 07 14:49:16 2015 -0600 -+++ b/magick/blob.c Sun May 29 14:12:57 2016 -0500 -@@ -68,6 +68,7 @@ - */ - #define DefaultBlobQuantum 65541 - -+#undef HAVE_POPEN - - /* - Enum declarations. diff --git a/pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix b/pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix new file mode 100644 index 000000000000..9e278da037bc --- /dev/null +++ b/pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix @@ -0,0 +1,48 @@ +{ lib +, graphicsmagick +, stdenvNoCC +}: + +stdenvNoCC.mkDerivation { + pname = "graphicsmagick-imagemagick-compat"; + inherit (graphicsmagick) version; + + outputs = [ "out" "man" ]; + + dontUnpack = true; + dontBuild = true; + + # TODO: symlink libraries? + installPhase = let + utilities = [ + "animate" + "composite" + "conjure" + "convert" + "display" + "identify" + "import" + "mogrify" + "montage" + ]; + linkUtilityBin = utility: '' + ln -s ${lib.getExe graphicsmagick} "$out/bin/${utility}" + ''; + linkUtilityMan = utility: '' + ln -s ${lib.getMan graphicsmagick}/share/man/man1/gm.1.gz "$man/share/man/man1/${utility}.1.gz" + ''; + in '' + runHook preInstall + + mkdir -p "$out"/bin + ${lib.concatStringsSep "\n" (map linkUtilityBin utilities)} + mkdir -p "$man"/share/man/man1 + ${lib.concatStringsSep "\n" (map linkUtilityMan utilities)} + + runHook postInstall + ''; + + meta = graphicsmagick.meta // { + description = "A repack of GraphicsMagick that provides compatibility with ImageMagick interfaces"; + }; +} diff --git a/pkgs/by-name/gr/graphicsmagick/package.nix b/pkgs/by-name/gr/graphicsmagick/package.nix new file mode 100644 index 000000000000..fb6a9fbd29af --- /dev/null +++ b/pkgs/by-name/gr/graphicsmagick/package.nix @@ -0,0 +1,105 @@ +{ lib +, bzip2 +, callPackage +, coreutils +, fetchurl +, fixDarwinDylibNames +, freetype +, ghostscript +, graphviz +, libX11 +, libjpeg +, libpng +, libtiff +, libtool +, libwebp +, libxml2 +, nukeReferences +, quantumdepth ? 8 +, runCommand +, stdenv +, xz +, zlib +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "graphicsmagick"; + version = "1.3.43"; + + src = fetchurl { + url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${finalAttrs.version}.tar.xz"; + hash = "sha256-K4hYBzLNfkCdniLGEWI4vvSuBvzaEUUb8z0ln5y/OZ8="; + }; + + outputs = [ "out" "man" ]; + + buildInputs = [ + bzip2 + freetype + ghostscript + graphviz + libX11 + libjpeg + libpng + libtiff + libtool + libwebp + libxml2 + zlib + ]; + + nativeBuildInputs = [ + nukeReferences + xz + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]; + + configureFlags = [ + # specify delegates explicitly otherwise `gm` will invoke the build + # coreutils for filetypes it doesn't natively support. + "MVDelegate=${lib.getExe' coreutils "mv"}" + (lib.enableFeature true "shared") + (lib.withFeature true "frozenpaths") + (lib.withFeatureAs true "quantum-depth" (toString quantumdepth)) + (lib.withFeatureAs true "gslib" "yes") + ]; + + # Remove CFLAGS from the binaries to avoid closure bloat. + # In the past we have had -dev packages in the closure of the binaries soley + # due to the string references. + postConfigure = '' + nuke-refs -e $out ./magick/magick_config.h + ''; + + postInstall = '' + sed -i 's/-ltiff.*'\'/\'/ $out/bin/* + ''; + + passthru = { + imagemagick-compat = callPackage ./imagemagick-compat.nix { + graphicsmagick = finalAttrs.finalPackage; + }; + tests = { + issue-157920 = runCommand "issue-157920-regression-test" { + buildInputs = [ finalAttrs.finalPackage ]; + } '' + gm convert ${graphviz}/share/doc/graphviz/neatoguide.pdf jpg:$out + ''; + }; + }; + + meta = { + homepage = "http://www.graphicsmagick.org"; + description = "Swiss army knife of image processing"; + longDescription = '' + GraphicsMagick is the swiss army knife of image processing, providing a + robust and efficient collection of tools and libraries which support + reading, writing, and manipulating an image in over 92 major formats + including important formats like DPX, GIF, JPEG, JPEG-2000, JXL, PNG, PDF, + PNM, TIFF, and WebP. + ''; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ AndersonTorres ]; + mainProgram = "gm"; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f7c71c3f40f..30aced23bf3b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31666,10 +31666,8 @@ with pkgs; pythonPackages = python3Packages; }; - graphicsmagick = callPackage ../applications/graphics/graphicsmagick { }; graphicsmagick_q16 = graphicsmagick.override { quantumdepth = 16; }; - - graphicsmagick-imagemagick-compat = callPackage ../applications/graphics/graphicsmagick/compat.nix { }; + graphicsmagick-imagemagick-compat = graphicsmagick.imagemagick-compat; grisbi = callPackage ../applications/office/grisbi { gtk = gtk3; }; From 4a93ca1c448ad51acfe1d22620c608231fa5310f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 21:37:27 +0100 Subject: [PATCH 107/114] python312Packages.bc-detect-secrets: refactor --- pkgs/development/python-modules/bc-detect-secrets/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bc-detect-secrets/default.nix b/pkgs/development/python-modules/bc-detect-secrets/default.nix index 198004887ad8..df19afca09d5 100644 --- a/pkgs/development/python-modules/bc-detect-secrets/default.nix +++ b/pkgs/development/python-modules/bc-detect-secrets/default.nix @@ -28,11 +28,11 @@ buildPythonPackage rec { hash = "sha256-05hxc34ecSoAp0GBVf9yq2BC928wxZOLZJHAbJ7cdtk="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ pyyaml requests unidiff From f627921693447d108330e853ce882f79bf5ff289 Mon Sep 17 00:00:00 2001 From: aktaboot <120214979+aktaboot@users.noreply.github.com> Date: Mon, 25 Mar 2024 21:39:54 +0100 Subject: [PATCH 108/114] ricochet-refresh: 3.0.18 -> 3.0.22 (#298866) * ricochet-refresh: 3.0.18 -> 3.0.22 * ricochet-refresh: remove darwin builds --- pkgs/by-name/ri/ricochet-refresh/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ri/ricochet-refresh/package.nix b/pkgs/by-name/ri/ricochet-refresh/package.nix index 384932ed7c85..4d753b760d69 100644 --- a/pkgs/by-name/ri/ricochet-refresh/package.nix +++ b/pkgs/by-name/ri/ricochet-refresh/package.nix @@ -13,13 +13,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "ricochet-refresh"; - version = "3.0.18"; + version = "3.0.22"; src = fetchFromGitHub { owner = "blueprint-freespeech"; repo = "ricochet-refresh"; rev = "v${finalAttrs.version}-release"; - hash = "sha256-QN2cxcYWGoszPdrWv+4FoTGNjQViK/OwxbBC6uoDhfA="; + hash = "sha256-xPOAtH+K3WTPjbDw4ZhwpO2+wUYe5JdqKdtfNKQbgSM="; fetchSubmodules = true; }; @@ -75,6 +75,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://www.ricochetrefresh.net/"; downloadPage = "https://github.com/blueprint-freespeech/ricochet-refresh/releases"; license = lib.licenses.bsd3; - platforms = lib.platforms.unix; + platforms = lib.platforms.linux; }; }) From 03adc266bf51cdd6bf04b660b421012b8c5cc281 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 25 Mar 2024 16:42:39 -0400 Subject: [PATCH 109/114] rutabaga_gfx: fix build on Darwin (#298441) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gfxstream: fix build on Darwin - Add patch from upstream to remove libdrm dependency; - Modify `meson.build` to support Objective-C; - Add required Darwin frameworks; and - Ensure everything that’s required is linked on Darwin. * rutabaga_gfx: fix build on Darwin --- .../libraries/gfxstream/default.nix | 43 ++++++++++++++++--- .../rutabaga_gfx/darwin-install.patch | 31 +++++++++++++ .../libraries/rutabaga_gfx/default.nix | 12 +++++- 3 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 pkgs/development/libraries/rutabaga_gfx/darwin-install.patch diff --git a/pkgs/development/libraries/gfxstream/default.nix b/pkgs/development/libraries/gfxstream/default.nix index 196bca7cdc5f..e3164c95a4c6 100644 --- a/pkgs/development/libraries/gfxstream/default.nix +++ b/pkgs/development/libraries/gfxstream/default.nix @@ -1,5 +1,5 @@ -{ lib, stdenv, fetchFromGitiles, meson, ninja, pkg-config, python3 -, aemu, libdrm, libglvnd, vulkan-headers, vulkan-loader, xorg +{ lib, stdenv, fetchFromGitiles, fetchpatch, meson, ninja, pkg-config, python3 +, aemu, darwin, libdrm, libglvnd, vulkan-headers, vulkan-loader, xorg }: stdenv.mkDerivation { @@ -12,14 +12,45 @@ stdenv.mkDerivation { hash = "sha256-IYXkaHZPEYIE9KW731GN6x6yRS+FYtP1zyHcaSofhIM="; }; + patches = [ + # Make libdrm an optional dependency, which is required to build on Darwin. + (fetchpatch { + url = "https://android.googlesource.com/platform/hardware/google/gfxstream/+/a8df2a3eb099b419a7b3638e68ea30b4cffb751b%5E%21/?format=TEXT"; + decode = "base64 -d"; + hash = "sha256-shjeNuxtQokscCGBKEUbOPKOWRELBAnHFNj3Y5w87Nw="; + }) + ]; + + # Ensure that meson can find an Objective-C compiler on Darwin. + postPatch = lib.optionalString stdenv.isDarwin '' + substituteInPlace meson.build \ + --replace-fail "project('gfxstream_backend', 'cpp', 'c'" "project('gfxstream_backend', 'cpp', 'c', 'objc'" + ''; + nativeBuildInputs = [ meson ninja pkg-config python3 ]; buildInputs = [ aemu libglvnd vulkan-headers vulkan-loader xorg.libX11 ] - ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform libdrm) libdrm; + ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ libdrm ] + ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + darwin.apple_sdk.frameworks.CoreGraphics + darwin.apple_sdk.frameworks.IOKit + darwin.apple_sdk.frameworks.IOSurface + darwin.apple_sdk.frameworks.OpenGL + darwin.apple_sdk.frameworks.QuartzCore + ]; + + env = lib.optionalAttrs stdenv.isDarwin { + NIX_LDFLAGS = toString [ + "-framework Cocoa" + "-framework IOKit" + "-framework IOSurface" + "-framework OpenGL" + "-framework QuartzCore" + "-needed-lvulkan" + ]; + }; # dlopens libvulkan. - # - # XXX: Unsure if this is required on Darwin. If it is, it probably - # needs to be done using install_name_tool. preConfigure = lib.optionalString (!stdenv.isDarwin) '' mesonFlagsArray=(-Dcpp_link_args="-Wl,--push-state -Wl,--no-as-needed -lvulkan -Wl,--pop-state") ''; diff --git a/pkgs/development/libraries/rutabaga_gfx/darwin-install.patch b/pkgs/development/libraries/rutabaga_gfx/darwin-install.patch new file mode 100644 index 000000000000..0b68ec2beb85 --- /dev/null +++ b/pkgs/development/libraries/rutabaga_gfx/darwin-install.patch @@ -0,0 +1,31 @@ +diff --git a/rutabaga_gfx/ffi/Makefile b/rutabaga_gfx/ffi/Makefile +index f8c7820bf..e88a6c308 100644 +--- a/rutabaga_gfx/ffi/Makefile ++++ b/rutabaga_gfx/ffi/Makefile +@@ -47,24 +47,16 @@ build: + cargo build $(gfxstream_feature) $(release) + + install: build +-ifeq ($(UNAME), Linux) + install -D -m 755 $(OUT)/$(LIB_NAME) $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION) +-endif + ifeq ($(UNAME), Darwin) +- install_name_tool -id $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME) ++ install_name_tool -id $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION) + endif + + ln -sf $(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION_MAJOR) + ln -sf $(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME) + +-ifeq ($(UNAME), Linux) + install -D -m 0644 $(SRC)/share/rutabaga_gfx_ffi.pc $(DESTDIR)$(libdir)/pkgconfig/rutabaga_gfx_ffi.pc + install -D -m 0644 $(SRC)/include/rutabaga_gfx_ffi.h $(DESTDIR)$(includedir)/rutabaga_gfx_ffi.h +-endif +-ifeq ($(UNAME), Darwin) +- install -m 0644 $(SRC)/share/rutabaga_gfx_ffi.pc $(DESTDIR)$(libdir)/pkgconfig/rutabaga_gfx_ffi.pc +- install -m 0644 $(SRC)/include/rutabaga_gfx_ffi.h $(DESTDIR)$(includedir)/rutabaga_gfx_ffi.h +-endif + + clean: + cargo clean $(release) + diff --git a/pkgs/development/libraries/rutabaga_gfx/default.nix b/pkgs/development/libraries/rutabaga_gfx/default.nix index 63f1ed88ae6c..687500272735 100644 --- a/pkgs/development/libraries/rutabaga_gfx/default.nix +++ b/pkgs/development/libraries/rutabaga_gfx/default.nix @@ -8,6 +8,7 @@ , aemu , gfxstream , libdrm +, libiconv }: stdenv.mkDerivation (finalAttrs: { @@ -29,10 +30,19 @@ stdenv.mkDerivation (finalAttrs: { decode = "base64 -d"; hash = "sha256-Ji1bK7jnRlg0OpDfCLcTHfPSiz3zYcdgsWL4n3EoIYI="; }) + # Fix error in Makefile where it uses eight spaces instead of a tab + # https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4863380 + (fetchpatch { + url = "https://chromium.googlesource.com/crosvm/crosvm/+/fc415bccc43d36f63a2fd4c28878591bb1053450%5E%21/?format=TEXT"; + decode = "base64 -d"; + hash = "sha256-SLzlZ4o1+R2bGTPvA0a5emq97hOIIIHrubFhcQjqYwg="; + }) + # Install the dylib on Darwin. + ./darwin-install.patch ]; nativeBuildInputs = [ cargo pkg-config rustPlatform.cargoSetupHook ]; - buildInputs = lib.optionals (lib.meta.availableOn stdenv.hostPlatform gfxstream) ([ + buildInputs = [ libiconv ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gfxstream) ([ aemu gfxstream ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ From 5616042a51ddfa5ab5ac248f94938a46a273d2a4 Mon Sep 17 00:00:00 2001 From: Aleksana Date: Tue, 26 Mar 2024 04:45:19 +0800 Subject: [PATCH 110/114] doc: add build rust package with meson example (#298881) --- doc/languages-frameworks/rust.section.md | 60 ++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md index 75e57a8bb574..274ee9ce9cc4 100644 --- a/doc/languages-frameworks/rust.section.md +++ b/doc/languages-frameworks/rust.section.md @@ -651,6 +651,66 @@ buildPythonPackage rec { } ``` +#### Rust package built with `meson` {#rust-package-built-with-meson} + +Some projects, especially GNOME applications, are built with the Meson Build System instead of calling Cargo directly. Using `rustPlatform.buildRustPackage` may successfully build the main program, but related files will be missing. Instead, you need to set up Cargo dependencies with `fetchCargoTarball` and `cargoSetupHook` and leave the rest to Meson. `rust` and `cargo` are still needed in `nativeBuildInputs` for Meson to use. + +```nix +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +, rustPlatform +, rustc +, cargo +, wrapGAppsHook4 +, blueprint-compiler +, libadwaita +, libsecret +, tracker +}: + +stdenv.mkDerivation rec { + pname = "health"; + version = "0.95.0"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "health"; + rev = version; + hash = "sha256-PrNPprSS98yN8b8yw2G6hzTSaoE65VbsM3q7FVB4mds="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-8fa3fa+sFi5H+49B5sr2vYPkp9C9s6CcE0zv4xB8gww="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + rustPlatform.cargoSetupHook + rustc + cargo + wrapGAppsHook4 + blueprint-compiler + ]; + + buildInputs = [ + libadwaita + libsecret + tracker + ]; + + # ... +} +``` + ## `buildRustCrate`: Compiling Rust crates using Nix instead of Cargo {#compiling-rust-crates-using-nix-instead-of-cargo} ### Simple operation {#simple-operation} From 100dee1ca26f47f2ce1ad9c111f61b620c3acea0 Mon Sep 17 00:00:00 2001 From: piotr152 Date: Mon, 25 Mar 2024 21:47:35 +0100 Subject: [PATCH 111/114] sunshine: fix systemd user service (#295918) --- pkgs/servers/sunshine/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/servers/sunshine/default.nix b/pkgs/servers/sunshine/default.nix index a4fd4abc109c..a401f318a911 100644 --- a/pkgs/servers/sunshine/default.nix +++ b/pkgs/servers/sunshine/default.nix @@ -160,6 +160,10 @@ stdenv'.mkDerivation rec { --subst-var-by PROJECT_NAME 'Sunshine' \ --subst-var-by PROJECT_DESCRIPTION 'Self-hosted game stream host for Moonlight' \ --replace-fail '/usr/bin/env systemctl start --u sunshine' 'sunshine' + + substituteInPlace packaging/linux/sunshine.service.in \ + --subst-var-by PROJECT_DESCRIPTION 'Self-hosted game stream host for Moonlight' \ + --subst-var-by SUNSHINE_EXECUTABLE_PATH $out/bin/sunshine ''; preBuild = '' From 5209f97ff7713fdaf02bc98b30bd6d172427ccb5 Mon Sep 17 00:00:00 2001 From: Felix Buehler Date: Thu, 29 Feb 2024 21:50:49 +0100 Subject: [PATCH 112/114] gnucap: deprecate phases --- pkgs/by-name/gn/gnucap/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/gn/gnucap/package.nix b/pkgs/by-name/gn/gnucap/package.nix index d50e6eb8712d..b80e46b42d51 100644 --- a/pkgs/by-name/gn/gnucap/package.nix +++ b/pkgs/by-name/gn/gnucap/package.nix @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = selectedPlugins; - phases = [ "installPhase" "fixupPhase" ]; + dontUnpack = true; installPhase = '' mkdir -p $out/bin From a73c84a808feacaf6a95b0c97990b3a9e035e0c9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 Mar 2024 21:55:08 +0100 Subject: [PATCH 113/114] checkov: 3.2.44 -> 3.2.45 Diff: https://github.com/bridgecrewio/checkov/compare/refs/tags/3.2.44...3.2.45 Changelog: https://github.com/bridgecrewio/checkov/releases/tag/3.2.45 --- pkgs/development/tools/analysis/checkov/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 5e5a4a0b5a24..a29cd3f894ed 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "checkov"; - version = "3.2.44"; + version = "3.2.45"; pyproject = true; src = fetchFromGitHub { owner = "bridgecrewio"; repo = "checkov"; rev = "refs/tags/${version}"; - hash = "sha256-/5kT+msrsiz9NuqEjeJNEdX/qbt8Ohuz2RNNYK6eqpw="; + hash = "sha256-mVGfWBQEWKS5WsWQUi8NdsR1bX21MbUnNDijZ/l/ksY="; }; patches = [ From 2e8d555aa37559cc4f54f3609c06d2422ad51abe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 21:11:37 +0000 Subject: [PATCH 114/114] python311Packages.pinecone-client: 3.1.0 -> 3.2.1 --- pkgs/development/python-modules/pinecone-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pinecone-client/default.nix b/pkgs/development/python-modules/pinecone-client/default.nix index 86edb6e597cb..c846603e8ca5 100644 --- a/pkgs/development/python-modules/pinecone-client/default.nix +++ b/pkgs/development/python-modules/pinecone-client/default.nix @@ -16,13 +16,13 @@ }: buildPythonPackage rec { pname = "pinecone-client"; - version = "3.1.0"; + version = "3.2.1"; pyproject = true; src = fetchPypi { pname = "pinecone_client"; inherit version; - hash = "sha256-RbggYBP5GpgrmU8fuqOefoyZ0w7zd4qfMZxDuMmS/EI="; + hash = "sha256-hWD/r7E7nEWpLrnrd6LbMtWh+nkDodsX969Y7hBYu2A="; }; nativeBuildInputs = [