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 = [