Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2026-01-19 00:20:04 +00:00
committed by GitHub
108 changed files with 1661 additions and 1076 deletions
+6
View File
@@ -17325,6 +17325,12 @@
githubId = 20436235;
name = "Billy Zaelani Malik";
};
mio = {
name = "Mio";
email = "mio@mio19.uk";
github = "mio-19";
githubId = 57285379;
};
mir06 = {
email = "armin.leuprecht@uni-graz.at";
github = "mir06";
+7 -2
View File
@@ -65,12 +65,17 @@
"module-services-keycloak-unix-socket": [
"index.html#module-services-keycloak-unix-socket"
],
"module-services-tandoor-recipes-migrating-media-option-1": [
"module-services-tandoor-recipes-migrating-media-option-move": [
"index.html#module-services-tandoor-recipes-migrating-media-option-move",
"index.html#module-services-tandoor-recipes-migrating-media-option-1"
],
"module-services-tandoor-recipes-migrating-media-option-2": [
"module-services-tandoor-recipes-migrating-media-option-postgresql": [
"index.html#module-services-tandoor-recipes-migrating-media-option-postgresql",
"index.html#module-services-tandoor-recipes-migrating-media-option-2"
],
"module-services-tandoor-recipes-migrating-media-option-disallow-access": [
"index.html#module-services-tandoor-recipes-migrating-media-option-disallow-access"
],
"sec-override-nixos-test": [
"index.html#sec-override-nixos-test"
],
+19 -13
View File
@@ -7,19 +7,22 @@
let
sanitizeUTF8Capitalization =
lang: (lib.replaceStrings [ "utf8" "utf-8" "UTF8" ] [ "UTF-8" "UTF-8" "UTF-8" ] lang);
aggregatedLocales = [
"${config.i18n.defaultLocale}/${config.i18n.defaultCharset}"
]
++ lib.pipe config.i18n.extraLocaleSettings [
# See description of extraLocaleSettings for why is this ignored here.
(x: lib.removeAttrs x [ "LANGUAGE" ])
(lib.mapAttrs (n: v: (sanitizeUTF8Capitalization v)))
(lib.mapAttrsToList (LCRole: lang: lang + "/" + (config.i18n.localeCharsets.${LCRole} or "UTF-8")))
]
++ (map sanitizeUTF8Capitalization (
lib.optionals (builtins.isList config.i18n.extraLocales) config.i18n.extraLocales
))
++ (lib.optional (builtins.isString config.i18n.extraLocales) config.i18n.extraLocales);
aggregatedLocales =
lib.optionals (config.i18n.defaultLocale != "C") [
"${config.i18n.defaultLocale}/${config.i18n.defaultCharset}"
]
++ lib.pipe config.i18n.extraLocaleSettings [
# See description of extraLocaleSettings for why is this ignored here.
(x: lib.removeAttrs x [ "LANGUAGE" ])
(lib.mapAttrs (n: v: (sanitizeUTF8Capitalization v)))
# C locales are always installed
(lib.filterAttrs (n: v: v != "C"))
(lib.mapAttrsToList (LCRole: lang: lang + "/" + (config.i18n.localeCharsets.${LCRole} or "UTF-8")))
]
++ (map sanitizeUTF8Capitalization (
lib.optionals (builtins.isList config.i18n.extraLocales) config.i18n.extraLocales
))
++ (lib.optional (builtins.isString config.i18n.extraLocales) config.i18n.extraLocales);
in
{
###### interface
@@ -111,6 +114,9 @@ in
description = ''
Per each {option}`i18n.extraLocaleSettings`, choose the character set
to use for it. Essentially defaults to UTF-8 for all of them.
Note that for a locale category that uses the `C` locale, setting a
character set to it via this setting is ignored.
'';
};
+40 -6
View File
@@ -1,19 +1,53 @@
# Tandoor Recipes {#module-services-tandoor-recipes}
## Dealing with `MEDIA_ROOT` for installations prior 26.05 {#module-services-tandoor-recipes-migrating-media}
## Remediating insecure `MEDIA_ROOT` for installations prior to 26.05 {#module-services-tandoor-recipes-migrating-media}
See https://github.com/NixOS/nixpkgs/issues/338339 for some background.
Tandoor Recipes installations initialized with `system.stateVersion < 26.05`
may suffer from a security vulnerability. To remediate this issue, apply one of
the recommendations below.
### Option 1: Migrate media to new `MEDIA_ROOT` {#module-services-tandoor-recipes-migrating-media-option-1}
See [NixOS/nixpkgs#338339](https://github.com/NixOS/nixpkgs/issues/338339) and
[GHSA-g8w3-p77x-mmxh](https://github.com/NixOS/nixpkgs/security/advisories/GHSA-g8w3-p77x-mmxh)
for some background.
### Recommended: Move `MEDIA_ROOT` into a subdirectory {#module-services-tandoor-recipes-migrating-media-option-move}
The issue is only present when `MEDIA_ROOT` is the same as the data directory. Moving it into a subdirectory of `/var/lib/tandoor-recipes` remediates this and any similar issues in the future.
1. Stop the currently running service: `systemctl stop tandoor-recipes.service`
2. Create a media folder. NixOS `26.05` creates the media path at `/var/lib/tandoor-recipes/media` by default, but you may choose any other path as well. `mkdir -p /var/lib/tandoor-recipes/media`
3. Move existing media to the new path: `mv /var/lib/tandoor-recipes/{files,recipes} /var/lib/tandoor-recipes/media`
4. Set `services.tandoor-recipes.extraConfig.MEDIA_ROOT = "/var/lib/tandoor-recipes/media";` in your NixOS configuration (not needed if `system.stateVersion >= 26.05`).
5. Rebuild and switch!
5. If not using `GUNICORN_MEDIA`, update your reverse proxy / web server configuration accordingly.
6. Rebuild and switch!
These changes can be reverted by moving the files back into the state directory.
### Option 2: Keep existing directory (may be insecure) {#module-services-tandoor-recipes-migrating-media-option-2}
### Not recommended: Switch to PostgreSQL {#module-services-tandoor-recipes-migrating-media-option-postgresql}
To keep the existing directory, set `services.tandoor-recipes.extraConfig.MEDIA_ROOT = "/var/lib/tandoor-recipes";`.
When using an external database like PostgreSQL (the only other option available in Tandoor Recipes) this issue does not manifest.
A simple PostgreSQL configuration can be enabled using the option
[`services.tandoor-recipes.database.createLocally`](https://search.nixos.org/options?channel=unstable&show=services.tandoor-recipes.database.createLocally).
Note that this will require migrating the existing database to PostgreSQL. Refer to the [upstream documentation](https://docs.tandoor.dev/system/migration_sqlite-postgres/) for this procedure. It is important to delete or move the `db.sqlite3` file out of the media path, after this has been done.
More information on configuring PostgreSQL can be found in the [upstream documentation](https://docs.tandoor.dev/system/configuration/#database).
Set the following option to ignore the evaluation warnings once `db.sqlite3` has been deleted.
```nix
{
services.tandoor-recipes.extraConfig.MEDIA_ROOT = "/var/lib/tandoor-recipes";
}
```
As future releases of Tandoor Recipes could add additional files to the data
directory, this is not a future-proof solution.
### Not recommended: Disallow access to `db.sqlite3` {#module-services-tandoor-recipes-migrating-media-option-disallow-access}
When using a web server like nginx, access to this file can be disabled.
As future releases of Tandoor Recipes could add additional files to the data
directory, this is not a future-proof solution.
+2
View File
@@ -104,6 +104,8 @@ in
config = mkIf cfg.enable (mkMerge [
{
system.switch.inhibitors.dbus-implementation = cfg.implementation;
environment.etc."dbus-1".source = configDir;
environment.pathsToLink = [
+4 -1
View File
@@ -153,6 +153,9 @@ in
// cfg.poolConfig;
};
# Required for symphony
part-db.settings.APP_SHARE_DIR = "/var/lib/part-db/share";
postgresql = mkIf cfg.enablePostgresql {
enable = true;
ensureUsers = [
@@ -173,7 +176,7 @@ in
root = "${pkg}/public";
locations = {
"/" = {
tryFiles = "$uri $uri/ /index.php";
tryFiles = "$uri $uri/ /index.php?$query_string";
index = "index.php";
extraConfig = ''
sendfile off;
@@ -32,12 +32,12 @@
};
inhibitors = lib.mkOption {
type = lib.types.listOf lib.types.pathInStore;
default = [ ];
type = lib.types.attrsOf lib.types.str;
default = { };
description = ''
List of derivations that will prevent switching into a configuration when
Attribute set of strings that will prevent switching into a configuration when
they change.
This can be manually overridden on the command line if required.
The switch can be manually forced on the command line if required.
'';
};
};
@@ -67,80 +67,86 @@
ln -s ${config.system.build.inhibitSwitch} $out/switch-inhibitors
'';
build.inhibitSwitch = pkgs.writeTextFile {
name = "switch-inhibitors";
text = lib.concatMapStringsSep "\n" (drv: drv.outPath) config.system.switch.inhibitors;
};
build.inhibitSwitch = pkgs.writers.writeJSON "switch-inhibitors" config.system.switch.inhibitors;
preSwitchChecks.switchInhibitors =
let
realpath = lib.getExe' pkgs.coreutils "realpath";
sha256sum = lib.getExe' pkgs.coreutils "sha256sum";
diff = lib.getExe' pkgs.diffutils "diff";
mktemp = lib.getExe' pkgs.coreutils "mktemp";
rm = lib.getExe' pkgs.coreutils "rm";
jq = lib.getExe' pkgs.jq "jq";
in
lib.mkIf (lib.length config.system.switch.inhibitors > 0)
# bash
''
incoming="''${1-}"
action="''${2-}"
# bash
''
incoming="''${1-}"
action="''${2-}"
if [ "$action" == "boot" ]; then
echo "Not checking switch inhibitors (action = $action)"
exit
fi
if [ "$action" == "boot" ]; then
echo "Not checking switch inhibitors (action = $action)"
exit
fi
echo -n "Checking switch inhibitors..."
echo -n "Checking switch inhibitors..."
booted_inhibitors="$(${realpath} /run/booted-system)/switch-inhibitors"
booted_inhibitors_sha="$(
if [ -f "$booted_inhibitors" ]; then
${sha256sum} - < "$booted_inhibitors"
else
echo 'none'
fi
)"
# Create a temporary file that we use in case a generation does not have
# the switch-inhibitors file.
empty="$(${mktemp} -t switch_inhibit.XXXX)"
# shellcheck disable=SC2329
clean_up() {
${rm} -f "$empty"
}
trap clean_up EXIT
echo "{}" > "$empty"
if [ "$booted_inhibitors_sha" == "none" ]; then
echo
echo "The previous configuration did not specify switch inhibitors, nothing to check."
exit
fi
current_inhibitors="$(${realpath} /run/current-system)/switch-inhibitors"
if [ ! -f "$current_inhibitors" ]; then
current_inhibitors="$empty"
fi
new_inhibitors="$(${realpath} "$incoming")/switch-inhibitors"
new_inhibitors_sha="$(
if [ -f "$new_inhibitors" ]; then
${sha256sum} - < "$new_inhibitors"
else
echo 'none'
fi
)"
new_inhibitors="$(${realpath} "$incoming")/switch-inhibitors"
if [ ! -f "$new_inhibitors" ]; then
new_inhibitors="$empty"
fi
if [ "$new_inhibitors_sha" == "none" ]; then
echo
echo "The new configuration does not specify switch inhibitors, nothing to check."
exit
fi
diff="$(
${jq} \
--raw-output \
--null-input \
--rawfile current "$current_inhibitors" \
--rawfile newgen "$new_inhibitors" \
'
$current | try fromjson catch {} as $old |
$newgen | try fromjson catch {} as $new |
$old |
to_entries |
map(
select(.key | in ($new)) |
select(.value != $new.[.key]) |
[ .key, ":", .value, "->", $new.[.key] ] | join(" ")
) |
join("\n")
' \
)"
if [ "$new_inhibitors_sha" != "$booted_inhibitors_sha" ]; then
echo
echo "Found diff in switch inhibitors:"
echo
${diff} --color "$booted_inhibitors" "$new_inhibitors"
echo
echo "The new configuration contains changes to packages that were"
echo "listed as switch inhibitors."
echo "You probably want to run 'nixos-rebuild boot' and reboot your system."
echo
echo "If you really want to switch into this configuration directly, then"
echo "you can set NIXOS_NO_CHECK=1 to ignore pre-switch checks."
echo
echo "WARNING: doing so might cause the switch to fail or your system to become unstable."
echo
exit 1
else
echo " done"
fi
'';
if [ -n "$diff" ]; then
echo
echo "There are changes to critical components of the system:"
echo
echo "$diff"
echo
echo "Switching into this system is not recommended."
echo "You probably want to run 'nixos-rebuild boot' and reboot your system instead."
echo
echo "If you really want to switch into this configuration directly, then"
echo "you can set NIXOS_NO_CHECK=1 to ignore pre-switch checks."
echo
echo "WARNING: doing so might cause the switch to fail or your system to become unstable."
echo
exit 1
else
echo " done"
fi
'';
};
security =
+1
View File
@@ -1208,6 +1208,7 @@ in
paperless = runTest ./paperless.nix;
paretosecurity = runTest ./paretosecurity.nix;
parsedmarc = handleTest ./parsedmarc { };
part-db = runTest ./web-apps/part-db.nix;
pass-secret-service = runTest ./pass-secret-service.nix;
password-option-override-ordering = runTest ./password-option-override-ordering.nix;
patroni = handleTestOn [ "x86_64-linux" ] ./patroni.nix { };
+27 -1
View File
@@ -38,6 +38,32 @@
};
};
};
Csimple = {
i18n = {
defaultLocale = "C";
};
};
CnonDefault = {
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_COLLATE = "C";
LC_MESSAGES = "C";
LC_TIME = "C";
};
};
};
};
testScript = { nodes, ... }: "";
testScript =
{ nodes, ... }:
lib.pipe nodes [
builtins.attrNames
(map (node: ''
${node}.copy_from_vm(
${node}.succeed("readlink -f /etc/locale.conf").strip(),
"${node}"
)
''))
(lib.concatStringsSep "\n")
];
}
+36
View File
@@ -646,6 +646,23 @@ in
EOF
'';
};
no_inhibitors.configuration.system.switch.inhibitors = lib.mkForce { };
inhibitors.configuration.system.switch.inhibitors = lib.mkForce {
foo = "bar";
quz = "bor";
};
inhibitors_changed.configuration.system.switch.inhibitors = lib.mkForce {
foo = "baz";
quz = "boz";
};
inhibitors_new.configuration.system.switch.inhibitors = lib.mkForce {
foo = "bar";
qux = "baz";
};
};
};
@@ -658,6 +675,7 @@ in
echo "this should succeed (config: $config, action: $action)"
[ "$action" == "check" ] || [ "$action" == "test" ]
'';
boot.loader.grub.enable = false;
specialisation.failingCheck.configuration.system.preSwitchChecks.failEveryTime = ''
echo this will fail
false
@@ -745,6 +763,24 @@ in
out = switch_to_specialisation("${otherSystem}", "failingCheck", action="check", fail=True)
assert_contains(out, "this will fail")
with subtest("switch inhibitors"):
# Start without any inhibitors
switch_to_specialisation("${machine}", "no_inhibitors", action="switch")
# Check that we can switch into a generation with inhibitors from one that doesn't have any
switch_to_specialisation("${machine}", "inhibitors", action="switch")
# Check that we cannot switch into a generation that has a different value for an existing inhibitor
out = switch_to_specialisation("${machine}", "inhibitors_changed", action="switch", fail=True)
assert_contains(out, "There are changes to critical components of the system")
assert_contains(out, "foo")
assert_contains(out, "bar")
assert_contains(out, "baz")
# Confirm that we can set that same generation as the new boot default
switch_to_specialisation("${machine}", "inhibitors_changed", action="boot")
# Check that we can switch into a new generation with new inhibitors, but same values for existing ones
switch_to_specialisation("${machine}", "inhibitors_new", action="switch")
# Check that we can switch back into a generation without inhibitors
switch_to_specialisation("${machine}", "no_inhibitors", action="switch")
with subtest("actions"):
# boot action
out = switch_to_specialisation("${machine}", "simpleService", action="boot")
+2 -2
View File
@@ -66,7 +66,7 @@
machine.succeed(f"curl --head {db_path} | grep \"HTTP/1.1 404 Not Found\"")
# Switch to NixOS 24.11 to check if the setup still functions the same
# Switch to NixOS 25.11 to check if the setup still functions the same
# as before.
stop_and_rm()
machine.succeed("${oldVersion}/bin/switch-to-configuration test")
@@ -77,7 +77,7 @@
machine.succeed(f"curl --head {db_path} | grep \"HTTP/1.1 200 OK\"")
# Switch to NixOS 24.11 with the MEDIA_ROOT already set to
# Switch to NixOS 25.11 with the MEDIA_ROOT already set to
# /var/lib/tandoor-recipes/media.
stop_and_rm()
machine.succeed("${oldVersionOverrideMedia}/bin/switch-to-configuration test")
+22
View File
@@ -0,0 +1,22 @@
{ lib, ... }:
{
name = "part-db";
meta.maintainers = with lib.maintainers; [ oddlama ];
nodes = {
machine = {
services.part-db.enable = true;
};
};
testScript = ''
start_all()
machine.wait_for_unit("postgresql.service")
machine.wait_for_unit("part-db-migrate.service")
machine.wait_for_unit("phpfpm-part-db.service")
machine.wait_for_unit("nginx.service")
machine.wait_for_open_port(80)
machine.succeed("curl -L --fail http://localhost | grep 'Part-DB'", timeout=10)
'';
}
@@ -52,6 +52,9 @@
rev = "3bd2036e710f609ea08fcfca5a1eb1169ecc114f";
hash = "sha256-VdfPZ39AEjvl+9r/LZNRGNIQsiTB9S065AnUc4MeohU=";
};
passthru.requires = [
"html"
];
meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular";
};
apex = buildGrammar {
@@ -75,6 +78,9 @@
rev = "53eb391da4c6c5857f8defa2c583c46c2594f565";
hash = "sha256-qQVUWCOZ4y9FTsIf0FI3vmYBhLYz4hcqRTo+5C2MYvc=";
};
passthru.requires = [
"cpp"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-arduino";
};
asm = buildGrammar {
@@ -97,6 +103,9 @@
rev = "213f6e6973d9b456c6e50e86f19f66877e7ef0ee";
hash = "sha256-TpXs3jbYn39EHxTdtSfR7wLA1L8v9uyK/ATPp5v4WqE=";
};
passthru.requires = [
"html"
];
meta.homepage = "https://github.com/virchau13/tree-sitter-astro";
};
authzed = buildGrammar {
@@ -405,6 +414,9 @@
rev = "12bd6f7e96080d2e70ec51d4068f2f66120dde35";
hash = "sha256-vmXTv6Idf0Le5ZVa8Rc1DVefqzUxkGeLGsYcSDNBpQU=";
};
passthru.requires = [
"c"
];
meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
};
css = buildGrammar {
@@ -428,6 +440,9 @@
hash = "sha256-9mW0kT4av/ULFqLXdMuyLrMPtQxrIOKY60GQ4QDB33o=";
};
location = "csv";
passthru.requires = [
"tsv"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-csv";
};
cuda = buildGrammar {
@@ -439,6 +454,9 @@
rev = "48b066f334f4cf2174e05a50218ce2ed98b6fd01";
hash = "sha256-sX9AOe8dJJsRbzGq20qakWBnLiwYQ90mQspAuYxQzoQ=";
};
passthru.requires = [
"cpp"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-cuda";
};
cue = buildGrammar {
@@ -882,6 +900,9 @@
rev = "69086d7627c03e1f4baf766bcef14c60d9e92331";
hash = "sha256-U0P9QoOZST1h6XI83CI0/6/CDTvqkv1Yiq62h6YdHpI=";
};
passthru.requires = [
"gap"
];
meta.homepage = "https://github.com/gap-system/tree-sitter-gaptst";
};
gdscript = buildGrammar {
@@ -1003,6 +1024,9 @@
rev = "12d98944c1d5077b957cbdb90d663a7c4d50118c";
hash = "sha256-3cJI6vcbU62kUIhphprNeAl9RyY9TThrzVeArdLfxnI=";
};
passthru.requires = [
"typescript"
];
meta.homepage = "https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript";
};
glsl = buildGrammar {
@@ -1014,6 +1038,9 @@
rev = "24a6c8ef698e4480fecf8340d771fbcb5de8fbb4";
hash = "sha256-TjF79WH3bX4nueYr8CbPptkNb2lNkHQNB0VZoMB35Nk=";
};
passthru.requires = [
"c"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-glsl";
};
gn = buildGrammar {
@@ -1268,6 +1295,9 @@
rev = "02fa3b79b3ff9a296066da6277adfc3f26cbc9e0";
hash = "sha256-NsTf3DR3gHVMYZDmTNvThB5bJcDwTcJ1+3eJhvsiDn8=";
};
passthru.requires = [
"json"
];
meta.homepage = "https://github.com/winston0410/tree-sitter-hjson";
};
hlsl = buildGrammar {
@@ -1279,6 +1309,9 @@
rev = "bab9111922d53d43668fabb61869bec51bbcb915";
hash = "sha256-BWjgXtMN6y/0ahD44Cm8a+MxxVMpCNhkf33V/vsCBTU=";
};
passthru.requires = [
"cpp"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-hlsl";
};
hlsplaylist = buildGrammar {
@@ -1422,6 +1455,9 @@
rev = "9b2f9aec2106b94b4e099fe75e73ebd8ae707c04";
hash = "sha256-vxe+g7o0gXgB4GjhjkxqLqcLL2+8wqMB3tm1xQFSitI=";
};
passthru.requires = [
"c"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-ispc";
};
janet_simple = buildGrammar {
@@ -1478,6 +1514,9 @@
hash = "sha256-a4/+tsouuYkkVEStpOEUiIos9H4Hw7NhJOFaasylWUk=";
};
location = "tree-sitter-jinja";
passthru.requires = [
"jinja_inline"
];
meta.homepage = "https://github.com/cathaysia/tree-sitter-jinja";
};
jinja_inline = buildGrammar {
@@ -1788,6 +1827,9 @@
rev = "a8914d6c1fc5131f8e1c13f769fa704c9f5eb02f";
hash = "sha256-5qbZA2mxTvrsfUrpgD+4y3oeJsifA91c/hfcVwQBRgI=";
};
passthru.requires = [
"lua"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-luau";
};
m68k = buildGrammar {
@@ -1822,6 +1864,9 @@
hash = "sha256-IYqh6JT74deu1UU4Nyls9Eg88BvQeYEta2UXZAbuZek=";
};
location = "tree-sitter-markdown";
passthru.requires = [
"markdown_inline"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-markdown";
};
markdown_inline = buildGrammar {
@@ -1945,6 +1990,9 @@
rev = "4ad352773688deb84a95eeaa9872acda5b466439";
hash = "sha256-dinMmbD36o1QkcLk2mgycgHZ9sW5Mg6lfnxssynaj58=";
};
passthru.requires = [
"nim_format_string"
];
meta.homepage = "https://github.com/alaviss/tree-sitter-nim";
};
nim_format_string = buildGrammar {
@@ -2011,6 +2059,9 @@
rev = "181a81b8f23a2d593e7ab4259981f50122909fda";
hash = "sha256-7W8ozhQJL+f+tQYz61EZexk9NkMu1pCAP5IIy1m3qak=";
};
passthru.requires = [
"c"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-objc";
};
objdump = buildGrammar {
@@ -2046,6 +2097,9 @@
hash = "sha256-8u1jtUFMjykVG6aCDzqcb4vFCY401CZ2o+JPGMadg6o=";
};
location = "grammars/interface";
passthru.requires = [
"ocaml"
];
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
};
ocamllex = buildGrammar {
@@ -2125,6 +2179,9 @@
hash = "sha256-XEKlsqC7HJ3mShmcwmfpezNP9DHE8f73f7/ru4MuxEo=";
};
location = "php";
passthru.requires = [
"php_only"
];
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
};
php_only = buildGrammar {
@@ -2259,6 +2316,9 @@
hash = "sha256-SEqqmkfV/wsr1ObcBN5My29RY9TWfxnQlsnEEIZyR18=";
};
location = "grammars/problog";
passthru.requires = [
"prolog"
];
meta.homepage = "https://github.com/foxyseta/tree-sitter-prolog";
};
prolog = buildGrammar {
@@ -2327,6 +2387,9 @@
hash = "sha256-9mW0kT4av/ULFqLXdMuyLrMPtQxrIOKY60GQ4QDB33o=";
};
location = "psv";
passthru.requires = [
"tsv"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-csv";
};
pug = buildGrammar {
@@ -2712,6 +2775,9 @@
rev = "c478c6868648eff49eb04a4df90d703dc45b312a";
hash = "sha256-BFtMT6eccBWUyq6b8UXRAbB1R1XD3CrrFf1DM3aUI5c=";
};
passthru.requires = [
"css"
];
meta.homepage = "https://github.com/serenadeai/tree-sitter-scss";
};
sflog = buildGrammar {
@@ -3126,6 +3192,9 @@
hash = "sha256-Kq0KtkF6xtZcN2s8KzYGyguJH2iOTlA2WRytZ+KGTUE=";
};
location = "dialects/terraform";
passthru.requires = [
"hcl"
];
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
};
textproto = buildGrammar {
@@ -3227,6 +3296,9 @@
hash = "sha256-A0M6IBoY87ekSV4DfGHDU5zzFWdLjGqSyVr6VENgA+s=";
};
location = "tsx";
passthru.requires = [
"typescript"
];
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
};
turtle = buildGrammar {
@@ -3528,6 +3600,9 @@
hash = "sha256-0ztP30xWqVWy5upWPp0JwhpQphOJufzlcYn+KvLejVs=";
};
location = "xml";
passthru.requires = [
"dtd"
];
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-xml";
};
xresources = buildGrammar {
@@ -3642,18 +3717,29 @@
};
angular = buildQueries {
language = "angular";
requires = [
"html"
"html_tags"
];
};
apex = buildQueries {
language = "apex";
};
arduino = buildQueries {
language = "arduino";
requires = [
"cpp"
];
};
asm = buildQueries {
language = "asm";
};
astro = buildQueries {
language = "astro";
requires = [
"html"
"html_tags"
];
};
authzed = buildQueries {
language = "authzed";
@@ -3738,15 +3824,24 @@
};
cpp = buildQueries {
language = "cpp";
requires = [
"c"
];
};
css = buildQueries {
language = "css";
};
csv = buildQueries {
language = "csv";
requires = [
"tsv"
];
};
cuda = buildQueries {
language = "cuda";
requires = [
"cpp"
];
};
cue = buildQueries {
language = "cue";
@@ -3870,6 +3965,9 @@
};
gaptst = buildQueries {
language = "gaptst";
requires = [
"gap"
];
};
gdscript = buildQueries {
language = "gdscript";
@@ -3900,12 +3998,21 @@
};
glimmer_javascript = buildQueries {
language = "glimmer_javascript";
requires = [
"ecma"
];
};
glimmer_typescript = buildQueries {
language = "glimmer_typescript";
requires = [
"typescript"
];
};
glsl = buildQueries {
language = "glsl";
requires = [
"c"
];
};
gn = buildQueries {
language = "gn";
@@ -3975,9 +4082,15 @@
};
hjson = buildQueries {
language = "hjson";
requires = [
"json"
];
};
hlsl = buildQueries {
language = "hlsl";
requires = [
"cpp"
];
};
hlsplaylist = buildQueries {
language = "hlsplaylist";
@@ -3990,6 +4103,9 @@
};
html = buildQueries {
language = "html";
requires = [
"html_tags"
];
};
html_tags = buildQueries {
language = "html_tags";
@@ -4020,6 +4136,9 @@
};
ispc = buildQueries {
language = "ispc";
requires = [
"c"
];
};
janet_simple = buildQueries {
language = "janet_simple";
@@ -4032,9 +4151,16 @@
};
javascript = buildQueries {
language = "javascript";
requires = [
"ecma"
"jsx"
];
};
jinja = buildQueries {
language = "jinja";
requires = [
"jinja_inline"
];
};
jinja_inline = buildQueries {
language = "jinja_inline";
@@ -4122,6 +4248,9 @@
};
luau = buildQueries {
language = "luau";
requires = [
"lua"
];
};
m68k = buildQueries {
language = "m68k";
@@ -4131,6 +4260,9 @@
};
markdown = buildQueries {
language = "markdown";
requires = [
"markdown_inline"
];
};
markdown_inline = buildQueries {
language = "markdown_inline";
@@ -4164,6 +4296,9 @@
};
nim = buildQueries {
language = "nim";
requires = [
"nim_format_string"
];
};
nim_format_string = buildQueries {
language = "nim_format_string";
@@ -4182,6 +4317,9 @@
};
objc = buildQueries {
language = "objc";
requires = [
"c"
];
};
objdump = buildQueries {
language = "objdump";
@@ -4191,6 +4329,9 @@
};
ocaml_interface = buildQueries {
language = "ocaml_interface";
requires = [
"ocaml"
];
};
ocamllex = buildQueries {
language = "ocamllex";
@@ -4212,6 +4353,9 @@
};
php = buildQueries {
language = "php";
requires = [
"php_only"
];
};
php_only = buildQueries {
language = "php_only";
@@ -4248,6 +4392,9 @@
};
problog = buildQueries {
language = "problog";
requires = [
"prolog"
];
};
prolog = buildQueries {
language = "prolog";
@@ -4266,6 +4413,9 @@
};
psv = buildQueries {
language = "psv";
requires = [
"tsv"
];
};
pug = buildQueries {
language = "pug";
@@ -4290,6 +4440,9 @@
};
qmljs = buildQueries {
language = "qmljs";
requires = [
"ecma"
];
};
query = buildQueries {
language = "query";
@@ -4371,6 +4524,9 @@
};
scss = buildQueries {
language = "scss";
requires = [
"css"
];
};
sflog = buildQueries {
language = "sflog";
@@ -4443,6 +4599,9 @@
};
svelte = buildQueries {
language = "svelte";
requires = [
"html_tags"
];
};
sway = buildQueries {
language = "sway";
@@ -4482,6 +4641,9 @@
};
terraform = buildQueries {
language = "terraform";
requires = [
"hcl"
];
};
textproto = buildQueries {
language = "textproto";
@@ -4509,6 +4671,11 @@
};
tsx = buildQueries {
language = "tsx";
requires = [
"ecma"
"jsx"
"typescript"
];
};
turtle = buildQueries {
language = "turtle";
@@ -4518,6 +4685,9 @@
};
typescript = buildQueries {
language = "typescript";
requires = [
"ecma"
];
};
typespec = buildQueries {
language = "typespec";
@@ -4569,6 +4739,9 @@
};
vue = buildQueries {
language = "vue";
requires = [
"html_tags"
];
};
wgsl = buildQueries {
language = "wgsl";
@@ -4590,6 +4763,9 @@
};
xml = buildQueries {
language = "xml";
requires = [
"dtd"
];
};
xresources = buildQueries {
language = "xresources";
@@ -17,12 +17,15 @@ let
inherit (neovimUtils) grammarToPlugin;
buildQueries =
{ language }:
{
language,
requires ? [ ],
}:
vimUtils.toVimPlugin (
runCommand "nvim-treesitter-queries-${language}"
{
passthru = {
inherit language;
inherit language requires;
isTreesitterQuery = true;
};
meta.description = "Queries for ${language} from nvim-treesitter";
@@ -45,18 +48,50 @@ let
inherit (generated) parsers queries;
parsersWithMeta = lib.mapAttrs (
queriesWithDeps = lib.mapAttrs (
lang: query:
let
requires = query.requires or [ ];
dependencies = map (req: queries.${req}) requires;
in
if dependencies != [ ] then
query.overrideAttrs (old: {
passthru = old.passthru or { } // {
inherit dependencies;
};
})
else
query
) queries;
parsersWithQueries = lib.mapAttrs (
lang: parser:
if lib.hasAttr lang queries then
if lib.hasAttr lang queriesWithDeps then
parser.overrideAttrs (old: {
passthru = (old.passthru or { }) // {
associatedQuery = queries.${lang};
passthru = old.passthru or { } // {
associatedQuery = queriesWithDeps.${lang};
};
})
else
parser
) parsers;
parsersWithMeta = lib.mapAttrs (
lang: parser:
let
requires = parser.requires or [ ];
dependencies = map (req: grammarToPlugin parsersWithQueries.${req}) requires;
in
if dependencies != [ ] then
parser.overrideAttrs (old: {
passthru = old.passthru or { } // {
inherit dependencies;
};
})
else
parser
) parsersWithQueries;
# add aliases so grammars from `tree-sitter` are overwritten in `withPlugins`
# for example, for ocaml_interface, the following aliases will be added
# ocaml-interface
@@ -92,7 +127,7 @@ let
grammarPlugins = map grammarToPlugin selectedGrammars;
queryPlugins = lib.pipe selectedGrammars [
(map (g: g.passthru.associatedQuery or null))
(map (g: g.associatedQuery or null))
(lib.filter (q: q != null))
];
in
@@ -115,9 +150,9 @@ in
grammarToPlugin
withPlugins
withAllGrammars
queries
;
queries = queriesWithDeps;
parsers = grammarPlugins;
tests = {
@@ -15,12 +15,10 @@ log = logging.getLogger("vim-updater")
NURR_JSON_URL = (
"https://raw.githubusercontent.com/lumen-oss/nurr/main/tree-sitter-parsers.json"
)
NVIM_TREESITTER_QUERIES_URL = (
"https://api.github.com/repos/nvim-treesitter/nvim-treesitter/contents/runtime/queries"
)
NVIM_TREESITTER_QUERIES_URL = "https://api.github.com/repos/nvim-treesitter/nvim-treesitter/contents/runtime/queries"
def generate_grammar(lang, parser_info):
def generate_grammar(lang, parser_info, parsers_map):
"""Generate grammar for a language based on the parser info"""
if "install_info" not in parser_info:
log.warning(f"Parser {lang} does not have install_info, skipping")
@@ -36,9 +34,7 @@ def generate_grammar(lang, parser_info):
version = "0.0.0+rev={rev[:7]}";
src = """
generated += subprocess.check_output(
["nurl", url, rev, "--indent=6"], text=True
)
generated += subprocess.check_output(["nurl", url, rev, "--indent=6"], text=True)
generated += ";"
location = install_info.get("location", "")
@@ -50,6 +46,23 @@ def generate_grammar(lang, parser_info):
generated += """
generate = true;"""
# Add requires field - only include parsers
requires = parser_info.get("requires", [])
if requires:
# Filter to only include parser dependencies (those with install_info)
parser_requires = [
req
for req in requires
if req in parsers_map and "install_info" in parsers_map[req]
]
if parser_requires:
generated += """
passthru.requires = [
"""
for req in parser_requires:
generated += f' "{req}"\n'
generated += " ];"
generated += f"""
meta.homepage = "{url}";
}};
@@ -58,12 +71,28 @@ def generate_grammar(lang, parser_info):
return generated
def generate_query(lang):
def generate_query(lang: str, parser_info: dict | None, queries_set: set[str]):
"""Generate query derivation for a language"""
return f""" {lang} = buildQueries {{
language = "{lang}";
}};
generated = f""" {lang} = buildQueries {{
language = "{lang}";"""
# Add requires field for queries - include everything that has queries
if parser_info and "requires" in parser_info:
requires = parser_info["requires"]
# Filter to only include langs that have queries
query_requires = [req for req in requires if queries_set and req in queries_set]
if query_requires:
generated += """
requires = [
"""
for req in query_requires:
generated += f' "{req}"\n'
generated += " ];"
generated += """
};
"""
return generated
def fetch_nurr_parsers():
@@ -111,9 +140,9 @@ def fetch_available_queries():
return languages
def process_parser_info(parser_info):
def process_parser_info(parser_info, parsers_map):
"""Process a single parser info entry and generate grammar for it"""
return generate_grammar(parser_info["lang"], parser_info)
return generate_grammar(parser_info["lang"], parser_info, parsers_map)
def update_grammars():
@@ -121,6 +150,9 @@ def update_grammars():
parsers_info = fetch_nurr_parsers()
queries_list = fetch_available_queries()
# Create a mapping of lang -> parser_info for quick lookup
parsers_map = {p["lang"]: p for p in parsers_info}
generated_file = """# generated by pkgs/applications/editors/vim/plugins/utils/nvim-treesitter/update.py
# Using parser data from https://github.com/nvim-neorocks/nurr/blob/main/tree-sitter-parsers.json
@@ -141,7 +173,9 @@ def update_grammars():
# Process parsers in parallel for better performance
with ThreadPoolExecutor(max_workers=5) as executor:
for generated in executor.map(process_parser_info, parsers_info):
for generated in executor.map(
lambda p: process_parser_info(p, parsers_map), parsers_info
):
generated_file += generated
generated_file += """ };
@@ -149,9 +183,13 @@ def update_grammars():
queries = {
"""
# Process queries
# Convert queries list to a set for fast lookup
queries_set = set(queries_list)
# Process queries - include parser info if available for requires field
for lang in queries_list:
generated_file += generate_query(lang)
parser_info = parsers_map.get(lang)
generated_file += generate_query(lang, parser_info, queries_set)
generated_file += " };\n}\n"
return generated_file
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mame2003-plus";
version = "0-unstable-2026-01-05";
version = "0-unstable-2026-01-16";
src = fetchFromGitHub {
owner = "libretro";
repo = "mame2003-plus-libretro";
rev = "9e119625ae7aab771c6f12e6e5ffccfd24b3bd4d";
hash = "sha256-Zso1EmJ+JH+eynV87tBUWGq9sPqhMwSHmc4gbF94btE=";
rev = "b9b7bfaa2d9e40ca5b94af1f6e9ec77332e4f6c3";
hash = "sha256-92lHdfYlITWPO4uVzVf3l+rm3RPyUu7/dO6h9t/+A4Q=";
};
makefile = "Makefile";
@@ -959,13 +959,13 @@
"vendorHash": "sha256-OAd8SeTqTrH0kMoM2LsK3vM2PI23b3gl57FaJYM9hM0="
},
"newrelic_newrelic": {
"hash": "sha256-P0lxCwEBhkShLE3xJX7V1wxI+xjpgjepuTWYiXbRYBE=",
"hash": "sha256-SfUTt9Ag6pBC9a8rJERBCbccKgJYdNiI1UXoptZoYdw=",
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
"owner": "newrelic",
"repo": "terraform-provider-newrelic",
"rev": "v3.76.7",
"rev": "v3.78.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-xTlalKIWvU2MDBvwNjl3cWFVH26EyDthwrnXVmbK+rc="
"vendorHash": "sha256-RyGnUzRkIR0XoEPc/cc+40QACAJhvOMENzJc1T0Yz40="
},
"ns1-terraform_ns1": {
"hash": "sha256-pKdybFzTuuD6D76Uhuz+fLN+EmpDxUwjIWXYK6DRKOY=",
+12 -5
View File
@@ -14,7 +14,14 @@
wrapQtAppsHook,
}:
python3Packages.buildPythonApplication rec {
let
pythonPackages = python3Packages.overrideScope (
final: prev: {
pyqt5 = prev.pyqt5.override { withWebSockets = true; };
}
);
in
pythonPackages.buildPythonApplication rec {
pname = "gns3-gui";
inherit version;
format = "setuptools";
@@ -28,20 +35,20 @@ python3Packages.buildPythonApplication rec {
nativeBuildInputs = [ wrapQtAppsHook ];
build-system = with python3Packages; [ setuptools ];
build-system = with pythonPackages; [ setuptools ];
propagatedBuildInputs = [ qt5.qtwayland ];
dependencies =
with python3Packages;
with pythonPackages;
[
distro
jsonschema
psutil
pyqt5
sentry-sdk
setuptools
sip
(pyqt5.override { withWebSockets = true; })
truststore
]
++ lib.optionals (pythonOlder "3.9") [
@@ -56,7 +63,7 @@ python3Packages.buildPythonApplication rec {
doCheck = true;
checkInputs = with python3Packages; [ pytestCheckHook ];
checkInputs = with pythonPackages; [ pytestCheckHook ];
preCheck = ''
export HOME=$(mktemp -d)
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -206,7 +206,7 @@ let
self = python;
packageOverrides = final: prev: {
# https://github.com/goauthentik/authentik/pull/16324
django = final.django_5_2;
django = final.django_5;
django-channels-postgres = final.buildPythonPackage {
pname = "django-channels-postgres";
@@ -91,7 +91,7 @@ python3.pkgs.buildPythonApplication rec {
description = "Self-hosted free open source website change detection tracking, monitoring and notification service";
homepage = "https://github.com/dgtlmoon/changedetection.io";
changelog = "https://github.com/dgtlmoon/changedetection.io/releases/tag/${src.tag}";
license = lib.licenses.asl20;
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
mikaelfangel
thanegill
+3 -3
View File
@@ -1,6 +1,6 @@
import ./generic.nix {
version = "25.12.2.54-stable";
rev = "e06d8a2be22920e4c146389bbde5358b78aa8ef6";
hash = "sha256-F9v+qwjnqsp9At5h41gNWP8cD6C7nnI0AjuOU2mRfPs=";
version = "25.12.3.21-stable";
rev = "7c3f65751609dab4f2f66de305cbc96dbeb1c4f2";
hash = "sha256-1cPAEh8CuKGLcQhUSAMXE8sR3pStzVEtPpgUTj2z0cw=";
lts = false;
}
+2 -2
View File
@@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "confy";
version = "0.8.1";
version = "0.9.0";
src = fetchFromSourcehut {
owner = "~fabrixxm";
repo = "confy";
rev = finalAttrs.version;
hash = "sha256-rkVem9bPjp68Pk8fVPMDZLFFQsqeeRsynWciCk6xWhU=";
hash = "sha256-dcQ0ynEqrrGjAqQoWXtLMpvBVzpilXGpGWVNaVHp3CY=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -10,16 +10,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "cook-cli";
version = "0.19.3";
version = "0.20.0";
src = fetchFromGitHub {
owner = "cooklang";
repo = "cookcli";
rev = "v${version}";
hash = "sha256-qfsyEHQnOfJYqgZi5QxiGJX1pbXx7oR7qzBEwTYH7oY=";
hash = "sha256-kGjeyw3E6hYcEOcGugW+mgvXGJ38pFp+z9vAMJqPTVE=";
};
cargoHash = "sha256-xQTMxas5gO17DvNXvxdJ03Rhd4kaJPBf+GikbCE1fWI=";
cargoHash = "sha256-SUnpv53UQiawGNdQLJCjpxzmbMV8eZq2ycRMnWJxVLc=";
# Build without the self-updating feature
buildNoDefaultFeatures = true;
@@ -30,14 +30,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "debian-devscripts";
version = "2.26.3";
version = "2.26.4";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "devscripts";
tag = "v${finalAttrs.version}";
hash = "sha256-LJZ1pt36KccnA/fimZsOzEjXvqVE2eSww1Wkq5+siJk=";
hash = "sha256-QGveq9PZfy/m+ah4gBvZDMkVWS50oj1f4SJsKcCKGug=";
};
patches = [
+5 -5
View File
@@ -7,7 +7,7 @@
openssl,
rustfmt,
makeWrapper,
wasm-bindgen-cli_0_2_106,
wasm-bindgen-cli_0_2_108,
testers,
dioxus-cli,
withTelemetry ? false,
@@ -15,15 +15,15 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "dioxus-cli";
version = "0.7.2";
version = "0.7.3";
src = fetchCrate {
pname = "dioxus-cli";
version = finalAttrs.version;
hash = "sha256-VCoTxZKFYkGBCu1X/9US/OCFpp6zc5ojmXWJfzozCxc=";
hash = "sha256-6uG737MNk+wTKqNWgFEd8MsOOvllZLDnIrJPAn5Wjuw=";
};
cargoHash = "sha256-de8z68uXnrzyxTJY53saJ6hT7rvYbSdsSA/WWQa6nl4=";
cargoHash = "sha256-BdPsdWah/f2pveQViPikIV2riSwjSo+qGOFoP+hHaiM=";
buildFeatures = [
"no-downloads"
]
@@ -68,7 +68,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
postInstall = ''
wrapProgram $out/bin/dx \
--prefix PATH : ${lib.makeBinPath [ wasm-bindgen-cli_0_2_106 ]}
--prefix PATH : ${lib.makeBinPath [ wasm-bindgen-cli_0_2_108 ]}
'';
meta = {
+4 -1
View File
@@ -37,7 +37,10 @@ rustPlatform.buildRustPackage rec {
description = "Run Linux desktop applications under a different local user";
homepage = "https://github.com/intgr/ego";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dit7ya ];
maintainers = with lib.maintainers; [
dit7ya
mio
];
mainProgram = "ego";
};
}
@@ -0,0 +1,17 @@
diff --git a/src/exo/utils/dashboard_path.py b/src/exo/utils/dashboard_path.py
index b5ce9c04..ec60ef4a 100644
--- a/src/exo/utils/dashboard_path.py
+++ b/src/exo/utils/dashboard_path.py
@@ -5,11 +5,7 @@ from typing import cast
def find_dashboard() -> Path:
- dashboard = (
- _find_dashboard_in_env()
- or _find_dashboard_in_repo()
- or _find_dashboard_in_bundle()
- )
+ dashboard = "@dashboard@"
if not dashboard:
raise FileNotFoundError(
"Unable to locate dashboard assets - make sure the dashboard has been built, or export DASHBOARD_DIR if you've built the dashboard elsewhere."
@@ -0,0 +1,29 @@
diff --git a/src/exo/master/api.py b/src/exo/master/api.py
index 30f87e2a..4aac51fe 100644
--- a/src/exo/master/api.py
+++ b/src/exo/master/api.py
@@ -67,7 +67,14 @@ from exo.utils.channels import Receiver, Sender, channel
from exo.utils.dashboard_path import find_dashboard
from exo.utils.event_buffer import OrderedBuffer
-encoding = load_harmony_encoding(HarmonyEncodingName.HARMONY_GPT_OSS)
+_encoding: object = None
+
+
+def get_encoding():
+ global _encoding
+ if _encoding is None:
+ _encoding = load_harmony_encoding(HarmonyEncodingName.HARMONY_GPT_OSS)
+ return _encoding
def chunk_to_response(
@@ -382,7 +389,7 @@ class API:
)
async def _process_gpt_oss(self, token_chunks: Receiver[TokenChunk]):
- stream = StreamableParser(encoding, role=Role.ASSISTANT)
+ stream = StreamableParser(_encoding, role=Role.ASSISTANT)
thinking = False
async for chunk in token_chunks:
+167 -46
View File
@@ -3,80 +3,201 @@
stdenv,
fetchFromGitHub,
python3Packages,
gitUpdater,
}:
python3Packages.buildPythonApplication rec {
pname = "exo";
version = "0.0.14-alpha";
pyproject = true;
replaceVars,
macmon,
# pyo3-bindings
rustPlatform,
# dashboard
buildNpmPackage,
fetchNpmDeps,
writableTmpDirAsHomeHook,
nix-update-script,
}:
let
version = "1.0.63";
src = fetchFromGitHub {
name = "exo";
owner = "exo-explore";
repo = "exo";
tag = "v${version}";
hash = "sha256-GoYfpr6oFpreWQtSomOwgfzSoBAbjqGZ1mcc0u9TBl4=";
hash = "sha256-aQ3rGLtT/zvIVdKQcwqODulzEHBKg7KMkBg3KJEscho=";
};
build-system = with python3Packages; [ setuptools ];
pyo3-bindings = python3Packages.buildPythonPackage (finalAttrs: {
pname = "exo-pyo3-bindings";
inherit version src;
pyproject = true;
buildAndTestSubdir = "rust/exo_pyo3_bindings";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname src version;
hash = "sha256-N7B1WFqPdqeNPZe9hXGyX7F3EbB1spzeKc19BFDDwls=";
};
# Bypass rust nightly features not being available on rust stable
env.RUSTC_BOOTSTRAP = 1;
nativeBuildInputs = [
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
];
nativeCheckInputs = with python3Packages; [
pytest-asyncio
pytestCheckHook
];
enabledTestPaths = [
"rust/exo_pyo3_bindings/tests/"
];
});
dashboard = buildNpmPackage (finalAttrs: {
pname = "exo-dashboard";
inherit src version;
sourceRoot = "${finalAttrs.src.name}/dashboard";
npmDeps = fetchNpmDeps {
inherit (finalAttrs)
pname
version
src
sourceRoot
;
fetcherVersion = 2;
hash = "sha256-w3FZL/yy8R+SWCQF7+v21sKyizvZMmipG6IfhJeSjyQ=";
};
});
in
python3Packages.buildPythonApplication (finalAttrs: {
pname = "exo";
pyproject = true;
inherit version src;
patches = [
(replaceVars ./inject-dashboard-path.patch {
dashboard = "${dashboard}/lib/node_modules/${dashboard.pname}/build";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "uv_build>=0.8.9,<0.9.0" "uv_build"
''
# MemoryObjectStreamState was renamed in
# https://github.com/agronholm/anyio/pull/1009/changes/bdc945a826d0d5917aea3517ceb9fe335b468094
+ ''
substituteInPlace src/exo/utils/channels.py \
--replace-fail \
"MemoryObjectStreamState as AnyioState," \
"_MemoryObjectStreamState as AnyioState,"
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace src/exo/worker/utils/macmon.py \
--replace-fail \
'path = shutil.which("macmon")' \
'path = "${lib.getExe macmon}"'
substituteInPlace src/exo/worker/utils/tests/test_macmon.py \
--replace-fail \
'cmd=["macmon"' \
'cmd=["${lib.getExe macmon}"'
'';
build-system = with python3Packages; [
uv-build
];
pythonRelaxDeps = true;
pythonRemoveDeps = [ "uuid" ];
dependencies = with python3Packages; [
aiohttp
aiohttp-cors
aiofiles
grpcio
grpcio-tools
jinja2
numpy
nuitka
nvidia-ml-py
opencv-python
pillow
prometheus-client
protobuf
psutil
pydantic
requests
rich
scapy
tqdm
transformers
tinygrad
uvloop
pythonRemoveDeps = [
"types-aiofiles"
"uuid"
];
dependencies =
with python3Packages;
[
aiofiles
aiohttp
aiohttp-cors
anyio
fastapi
filelock
grpcio
grpcio-tools
httpx
huggingface-hub
hypercorn
jinja2
loguru
mlx
mlx-lm
nvidia-ml-py
openai
openai-harmony
opencv-python
pillow
prometheus-client
psutil
pydantic
pyo3-bindings
rustworkx
scapy
tiktoken
tinygrad
transformers
uvloop
]
++ sqlalchemy.optional-dependencies.asyncio;
pythonImportsCheck = [
"exo"
"exo.inference.tinygrad.models"
"exo.main"
];
nativeCheckInputs = with python3Packages; [
mlx
pytestCheckHook
nativeCheckInputs = [
python3Packages.pytest-asyncio
python3Packages.pytestCheckHook
writableTmpDirAsHomeHook
];
# Otherwise fails with 'import file mismatch'
preCheck = ''
rm src/exo/__init__.py
'';
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# AssertionError: assert "MacMon not found in PATH" in str(exc_info.value)
"test_macmon_not_found_raises_macmon_error"
# ValueError: zip() argument 2 is longer than argument 1
"test_events_processed_in_correct_order"
];
disabledTestPaths = [
"test/test_tokenizers.py"
# All tests hang indefinitely
"src/exo/worker/tests/unittests/test_mlx/test_tokenizers.py"
];
# Tests require `mlx` which is not supported on linux.
doCheck = stdenv.hostPlatform.isDarwin;
passthru = {
updateScript = gitUpdater {
rev-prefix = "v-";
};
updateScript = nix-update-script { };
exo-pyo3-bindings = pyo3-bindings;
exo-dashboard = dashboard;
};
meta = {
description = "Run your own AI cluster at home with everyday devices";
homepage = "https://github.com/exo-explore/exo";
changelog = "https://github.com/exo-explore/exo/releases/tag/v${version}";
changelog = "https://github.com/exo-explore/exo/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ GaetanLepage ];
mainProgram = "exo";
};
}
})
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "flake-edit";
version = "0.3.0";
version = "0.3.1";
src = fetchFromGitHub {
owner = "a-kenji";
repo = "flake-edit";
rev = "v${version}";
hash = "sha256-cBW2UH25MRSqqQ1930xxIydg+sSf62NFvbjqfkK0vnI=";
hash = "sha256-Ptg/Wt8H6vOvk/V6juDmFd6Vzu/F3LzxDIGObuwySLA=";
};
cargoHash = "sha256-VhDN9Wq6O5lB78zEE/vjO7uzr5de0jKWfd2nRlyLtu8=";
cargoHash = "sha256-5i3wll3CdrRbwN8zsD4MQg62hvsMPESMW4YrtjPeySw=";
nativeBuildInputs = [
installShellFiles
+32 -7
View File
@@ -5,30 +5,55 @@
iverilog,
verilator,
gnumake,
gitMinimal,
openssh,
writableTmpDirAsHomeHook,
}:
python3Packages.buildPythonPackage rec {
python3Packages.buildPythonApplication rec {
pname = "fusesoc";
version = "2.2.1";
format = "setuptools";
version = "2.4.5";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-M36bXBgY8hR33AVDlHoH8PZJG2Bi0KOEI07IMns7R4w=";
hash = "sha256-VBjJ7wiEz441iVquLMGabtdYbK07+dtHY05x8QzdSL8=";
};
nativeBuildInputs = with python3Packages; [ setuptools-scm ];
build-system = with python3Packages; [
setuptools
setuptools-scm
];
dependencies = with python3Packages; [
edalize
fastjsonschema
pyparsing
pyyaml
simplesat
ipyxact
fastjsonschema
argcomplete
];
nativeCheckInputs = [
gitMinimal
openssh
python3Packages.pytestCheckHook
writableTmpDirAsHomeHook
];
pythonImportsCheck = [ "fusesoc" ];
disabledTestPaths = [
# These tests require network access
"tests/test_coremanager.py::test_export"
"tests/test_libraries.py::test_library_add"
"tests/test_libraries.py::test_library_update_with_initialize"
"tests/test_provider.py::test_git_provider"
"tests/test_provider.py::test_github_provider"
"tests/test_provider.py::test_url_provider"
"tests/test_usecases.py::test_git_library_with_default_branch_is_added_and_updated"
"tests/test_usecases.py::test_update_git_library_with_fixed_version"
];
makeWrapperArgs = [
"--suffix PATH : ${
lib.makeBinPath [
+1 -1
View File
@@ -13,7 +13,7 @@ let
python = python313.override {
self = python;
packageOverrides = final: prev: {
django = final.django_5_2;
django = final.django_5;
django-csp = prev.django-csp.overridePythonAttrs rec {
version = "4.0";
src = fetchPypi {
+10
View File
@@ -2,6 +2,7 @@
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule rec {
@@ -25,6 +26,15 @@ buildGoModule rec {
subPackages = [ "cmd/gok" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd gok \
--bash <($out/bin/gok completion bash) \
--fish <($out/bin/gok completion fish) \
--zsh <($out/bin/gok completion zsh)
'';
meta = {
description = "Turn your Go program(s) into an appliance running on the Raspberry Pi 3, Pi 4, Pi Zero 2 W, or amd64 PCs";
homepage = "https://github.com/gokrazy/gokrazy";
@@ -1,10 +1,9 @@
{
lib,
stdenv,
llvmPackages,
lib,
fetchFromGitHub,
cmake,
fetchpatch2,
flatbuffers,
libffi,
libpng,
@@ -29,29 +28,15 @@ assert blas.implementation == "openblas" && lapack.implementation == "openblas";
stdenv.mkDerivation (finalAttrs: {
pname = "halide";
version = "19.0.0";
version = "21.0.0";
src = fetchFromGitHub {
owner = "halide";
repo = "Halide";
tag = "v${finalAttrs.version}";
hash = "sha256-0SFGX4G6UR8NS4UsdFOb99IBq2/hEkr/Cm2p6zkIh/8=";
hash = "sha256-A5EnZgXc9+L+bzWHftaL74nHmP8Jf0rnT5KJAAWvKis=";
};
patches = [
# The following two patches fix cmake/HalidePackageConfigHelpers.cmake to
# support specifying an absolute library install path (which is what Nix
# does when "lib" is included as a separate output)
(fetchpatch2 {
url = "https://github.com/halide/Halide/commit/ac2cd23951aff9ac3b765e51938f1e576f1f0ee9.diff?full_index=1";
hash = "sha256-JTktOTSyReDUEHTaPPMoi+/K/Gzg39i6MI97cO3654k=";
})
(fetchpatch2 {
url = "https://github.com/halide/Halide/commit/59f4fff30f4ab628da9aa7e5f77a7f1bb218a779.diff?full_index=1";
hash = "sha256-yOzE+1jai1w1GQisLYfu8F9pbTE/bYg0MTLq8rPXdGk=";
})
];
postPatch = ''
substituteInPlace src/runtime/CMakeLists.txt --replace-fail \
'-isystem "''${VulkanHeaders_INCLUDE_DIR}"' \
@@ -69,18 +54,18 @@ stdenv.mkDerivation (finalAttrs: {
'';
cmakeFlags = [
"-DWITH_PYTHON_BINDINGS=${if pythonSupport then "ON" else "OFF"}"
(lib.cmakeBool "WITH_PYTHON_BINDINGS" pythonSupport)
(lib.cmakeBool "WITH_TESTS" doCheck)
(lib.cmakeBool "WITH_TUTORIALS" doCheck)
# Disable performance tests since they may fail on busy machines
"-DWITH_TEST_PERFORMANCE=OFF"
(lib.cmakeBool "WITH_TEST_PERFORMANCE" false)
# Disable fuzzing tests -- this has become the default upstream after the
# v16 release (See https://github.com/halide/Halide/commit/09c5d1d19ec8e6280ccbc01a8a12decfb27226ba)
# These tests also fail to compile on Darwin because of some missing command line options...
"-DWITH_TEST_FUZZ=OFF"
(lib.cmakeBool "WITH_TEST_FUZZ" false)
# Disable FetchContent and use versions from nixpkgs instead
"-DHalide_USE_FETCHCONTENT=OFF"
"-DHalide_WASM_BACKEND=${if wasmSupport then "wabt" else "OFF"}"
(lib.cmakeBool "Halide_USE_FETCHCONTENT" false)
(lib.cmakeFeature "Halide_WASM_BACKEND" (if wasmSupport then "wabt" else "OFF"))
(lib.cmakeBool "Halide_LLVM_SHARED_LIBS" wasmSupport)
];
@@ -101,6 +86,10 @@ stdenv.mkDerivation (finalAttrs: {
"anderson2021_test_apps_autoscheduler"
"correctness_cross_compilation"
"correctness_simd_op_check_hvx"
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
# Failed Required regular expression not found
"mullapudi2016_histogram"
];
dontUseNinjaCheck = true;
@@ -158,6 +147,7 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "C++ based language for image processing and computational photography";
homepage = "https://halide-lang.org";
changelog = "https://github.com/halide/Halide/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [
@@ -166,5 +156,10 @@ stdenv.mkDerivation (finalAttrs: {
twesterhout
];
broken = !stdenv.buildPlatform.canExecute stdenv.hostPlatform;
badPlatforms = [
# Build fails on darwin:
# FAILED: [code=133] test/autoschedulers/anderson2021/anderson2021_demo.h
lib.systems.inspect.patterns.isDarwin
];
};
})
+2 -2
View File
@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "htgettoken";
version = "2.5";
version = "2.6";
format = "setuptools";
src = fetchFromGitHub {
owner = "fermitools";
repo = "htgettoken";
tag = "v${version}";
hash = "sha256-CUzkivrkvMr8EE00tjHswyK5WidQjmki5nLYpeb8jjU=";
hash = "sha256-jHKKTnFZ+6LHaB61wi5+Ht6ZHrE4dDqADIMfGWI47oM=";
};
nativeBuildInputs = with python3.pkgs; [
+2 -2
View File
@@ -36,11 +36,11 @@
stdenv.mkDerivation rec {
pname = "hugin";
version = "2025.0.0";
version = "2025.0.1";
src = fetchurl {
url = "mirror://sourceforge/hugin/hugin-${version}.tar.bz2";
hash = "sha256-DeJ6XVQy421OXTisJde8r8e33VQqqwMWQKYe1mdnB2w";
hash = "sha256-fPjrM6aohIzH+Bb69LyIOJIoiD1VExNtzLXLJDkSq3k=";
};
buildInputs = [
+1 -1
View File
@@ -13,7 +13,7 @@ let
python = python3.override {
self = python3;
packageOverrides = self: super: {
django = super.django_5_2;
django = super.django_5;
};
};
+1 -1
View File
@@ -7,7 +7,7 @@
let
python = python3.override {
self = python3;
packageOverrides = (self: super: { django = super.django_5_2; });
packageOverrides = (self: super: { django = super.django_5; });
};
in
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "lazydocker";
version = "0.24.3";
version = "0.24.4";
src = fetchFromGitHub {
owner = "jesseduffield";
repo = "lazydocker";
rev = "v${version}";
sha256 = "sha256-JbiG3cy+nn9BWJxX43YW+FKmWvsJPtRZ9NdMHtulzcw=";
sha256 = "sha256-cW90/yblSLBkcR4ZdtcSI9MXFjOUxyEectjRn9vZwvg=";
};
vendorHash = null;
+2 -4
View File
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libosmium";
version = "2.22.0";
version = "2.23.0";
src = fetchFromGitHub {
owner = "osmcode";
repo = "libosmium";
tag = "v${finalAttrs.version}";
hash = "sha256-b4jdPh6lJ/ALPVblDt16Nabx9ZL8MW8/roI+NqTZshU=";
hash = "sha256-VYNNp7czQgIvPhYxXlPaY/qlVxoZZ6CiJXWrHW+zAD8=";
};
nativeBuildInputs = [ cmake ];
@@ -34,8 +34,6 @@ stdenv.mkDerivation (finalAttrs: {
];
cmakeFlags = [
# Fix the build with CMake 4.
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
(lib.cmakeBool "INSTALL_GDALCPP" true)
];
+1 -1
View File
@@ -17,7 +17,7 @@ buildGoModule (finalAttrs: {
owner = "knadh";
repo = "listmonk";
rev = "v${finalAttrs.version}";
hash = "sha256-qfFspzAbb+wCv0rVasfgEVUgbFuFLR1ouT3LeWyKShQ=";
hash = "sha256-FUhmbp4P9zQFlSf3ss17zs4ZaPUi0CbVceq3ZJeIXBY=";
};
vendorHash = "sha256-R4chuOzpy/aEB5i5owZV3M7ByqnrXzxLaCeUOcjzQKE=";
+4 -3
View File
@@ -9,16 +9,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "mago";
version = "1.0.0-beta.14";
version = "1.0.3";
src = fetchFromGitHub {
owner = "carthage-software";
repo = "mago";
tag = finalAttrs.version;
hash = "sha256-UKoq4RkFcLS47DZHPY/MhrRuLQoWYLoOzO2BeeJZoQw=";
hash = "sha256-i8iC16TFT2zqgJeCcJICcbmPr2kAOTZHvZvAXtHwQQw=";
forceFetchGit = true; # Does not download all files otherwise
};
cargoHash = "sha256-/THZFU3lJbgJGA4lxWt6fyiHqIgQ539vj57iKoQfXZo=";
cargoHash = "sha256-EGtUvFZw16Rxj8gPQLBapJpKUgRjawZQmn1sRD5gU1E=";
env = {
# Get openssl-sys to use pkg-config
+5 -4
View File
@@ -9,18 +9,19 @@
buildGoModule rec {
pname = "meowlnir";
version = "0.7.0";
version = "26.01";
tag = "v0.2601.0";
src = fetchFromGitHub {
owner = "maunium";
repo = "meowlnir";
tag = "v${version}";
hash = "sha256-S0GrM8uKfWJh0/oAQp2f7P+yj99N0bovCNscM8b7tB8=";
inherit tag;
hash = "sha256-vrj19+YuhCFwluR+f73WPOJ4bMVxzoG3WjWrN3QuhZ0=";
};
buildInputs = [ olm ];
vendorHash = "sha256-gzigJ2gg9jaREbFdX+38sUV8I/gcB5x+lYaABnS2Mbk=";
vendorHash = "sha256-l6H6NqAq3C0OBYaea3ed6g/wHdNmo5tVkgizx+vU09E=";
doCheck = true;
doInstallCheck = true;
+3 -3
View File
@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "moon";
version = "1.41.5";
version = "1.41.8";
src = fetchFromGitHub {
owner = "moonrepo";
repo = "moon";
tag = "v${finalAttrs.version}";
hash = "sha256-BcDKjw2k102TQmLeq6+59Z6b4IpnGDRbQ4/nAXXIPBo=";
hash = "sha256-KPK1XE18A8vh5FlGIPizxWmEVPkJHcy6fvtFsOQlhok=";
};
cargoHash = "sha256-mc3A573QaovLwhcZshe9Z60ebHmcCyW/izbxlb2FNpk=";
cargoHash = "sha256-U3Hq5zy1dvG/sJA08bBi2mwMbTP2E5LLIpx0rMq2U1A=";
env = {
RUSTFLAGS = "-C strip=symbols";
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "netbird-dashboard";
version = "2.26.1";
version = "2.27.1";
src = fetchFromGitHub {
owner = "netbirdio";
repo = "dashboard";
rev = "v${version}";
hash = "sha256-8MC3sHKs7HmxzqFw7px+Q0zX9PzzZhb4I5gcJ/fQ4uc=";
hash = "sha256-XVB3zgdfgApqNwMdZMung4qLZOPfsaWdpqlFUz5z9ZU=";
};
npmDepsHash = "sha256-RIhVSRjqzFawXaRZHAUwGodnNerGz+I3GbPFsP5qESY=";
npmDepsHash = "sha256-e4Uxy1bwR3a+thIkaNWpAwDvIJyTbM5TwVy+YVD0CQQ=";
npmFlags = [ "--legacy-peer-deps" ];
installPhase = ''
+1 -1
View File
@@ -9,7 +9,7 @@
let
py = python3.override {
self = py;
packageOverrides = _final: prev: { django = prev.django_5_2; };
packageOverrides = _final: prev: { django = prev.django_5; };
};
extraBuildInputs = plugins py.pkgs;
+1 -1
View File
@@ -9,7 +9,7 @@
let
py = python3.override {
self = py;
packageOverrides = _final: prev: { django = prev.django_5_2; };
packageOverrides = _final: prev: { django = prev.django_5; };
};
extraBuildInputs = plugins py.pkgs;
+4 -4
View File
@@ -7,16 +7,16 @@
buildGoModule {
pname = "nix-search-cli";
version = "0.2-unstable-2024-09-24";
version = "0.3-unstable-2025-12-03";
src = fetchFromGitHub {
owner = "peterldowns";
repo = "nix-search-cli";
rev = "7d6b4c501ee448dc2e5c123aa4c6d9db44a6dd12";
hash = "sha256-0Zms/QVCUKxILLLJYsaodSW64DJrVr/yB13SnNL8+Wg=";
rev = "ab0d5156c1e3b383c250ff273639cd3dea6de2d9";
hash = "sha256-NGL9jj4y16+d0Es7aK1oxqAimZn7sdJDAxVkcY3CTcg=";
};
vendorHash = "sha256-RZuB0aRiMSccPhX30cGKBBEMCSvmC6r53dWaqDYbmyA=";
vendorHash = "sha256-VlJ2OuHOTqIJeGUm2NbBiz33i8QTxaZnnm0JkVGkw1U=";
passthru.updateScript = unstableGitUpdater { };
+1 -1
View File
@@ -14,7 +14,7 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencode";
version = "1.1.23";
version = "1.1.25";
src = fetchFromGitHub {
owner = "anomalyco";
repo = "opencode";
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "orbvis";
version = "0.3.2";
version = "0.3.3";
src = fetchFromGitHub {
owner = "wojciech-graj";
repo = "orbvis";
tag = "v${finalAttrs.version}";
hash = "sha256-kPbRhm+HymY6DuR4JgE6qTTYKGIqVxvwxtveu7dOOO0=";
hash = "sha256-U19kslgAULBBFozK5KUtew6KRsFeJ4+h8bL9cXmnzso=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -42,7 +42,7 @@ let
python = python3.override {
self = python;
packageOverrides = final: prev: {
django = prev.django_5_2;
django = prev.django_5;
fido2 = prev.fido2.overridePythonAttrs {
version = "1.2.0";
@@ -1,24 +0,0 @@
diff --git a/composer.json b/composer.json
index 0659f2ee..5a2dee70 100644
--- a/composer.json
+++ b/composer.json
@@ -1,4 +1,6 @@
{
+ "name": "part-db/part-db-server",
+ "description": "Part-DB is an Open source inventory management system for your electronic components",
"type": "project",
"license": "AGPL-3.0-or-later",
"require": {
diff --git a/composer.lock b/composer.lock
index 614a35f7..e0c949eb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "465fa2ab7f9f8dad2b8cfbeaa640c136",
+ "content-hash": "cec123f8cbf51820ba08c5c69ec2ded4",
"packages": [
{
"name": "amphp/amp",
+24 -13
View File
@@ -7,29 +7,25 @@
nodejs,
yarnConfigHook,
yarnBuildHook,
yarnInstallHook,
nixosTests,
envLocalPath ? "/var/lib/part-db/env.local",
cachePath ? "/var/cache/part-db/",
logPath ? "/var/log/part-db/",
}:
let
pname = "part-db";
version = "1.14.5";
version = "2.4.0";
srcWithVendor = php.buildComposerProject {
srcWithVendor = php.buildComposerProject2 {
inherit pname version;
src = fetchFromGitHub {
owner = "Part-DB";
repo = "Part-DB-server";
tag = "v${version}";
hash = "sha256-KtNWog4aSnmgJsFckDuBrlnd9cj1f8kmSFi+nv2cZOg=";
hash = "sha256-z/bvFFzKVMN6lr9RnrBc/hTrZ9a/mjgpkDYslUFHM50=";
};
patches = [
./fix-composer-validate.diff
];
php = php.buildEnv {
extensions = (
{ enabled, all }:
@@ -40,15 +36,25 @@ let
);
};
vendorHash = "sha256-PJtm/3Vdm2zomUklVMKlDAe/vziJN4e+JNNf/u8N3B4=";
vendorHash = "sha256-gt5HBi+vV5WhaEXNFFIO8xcbX1Z60SICvxXWGNzsn5o=";
# Upstream composer.json file is missing the description field
composerStrictValidation = false;
composerNoPlugins = false;
postInstall = ''
chmod -R u+w $out/share
cd "$out"/share/php/part-db
echo "Running composer dump-autoload to generate autoload_runtime.php..."
composer dump-autoload --no-interaction
export APP_ENV=prod
export APP_SECRET=dummy
export DATABASE_URL=sqlite:///%kernel.project_dir%/data/app.db
php -d memory_limit=256M bin/console cache:warmup
cd /build
mv "$out"/share/php/part-db/* $out/
mv "$out"/share/php/part-db/.* $out/
cd $out/
php -d memory_limit=256M bin/console cache:warmup
rm -rf "$out/share"
'';
};
in
@@ -59,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: {
yarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-Mjss2UUHVUdJ4UAI3GkG6HB6g7LbJTqvgrIXFhZmw1Q=";
hash = "sha256-F9kZ8nAIghkg+xUkglvRZXOSadv2lbKTP0gNfLD4LYE=";
};
nativeBuildInputs = [
@@ -79,12 +85,17 @@ stdenv.mkDerivation (finalAttrs: {
ln -s ${cachePath} $out/var/cache
'';
passthru.tests = { inherit (nixosTests) part-db; };
meta = {
description = "Open source inventory management system for your electronic components";
homepage = "https://docs.part-db.de/";
changelog = "https://github.com/Part-DB/Part-DB-server/releases/tag/v${version}";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ felbinger ];
maintainers = with lib.maintainers; [
felbinger
oddlama
];
platforms = lib.platforms.linux;
};
})
+5 -5
View File
@@ -7,13 +7,13 @@ GEM
logger (~> 1.5)
cri (2.15.12)
deep_merge (1.2.2)
diff-lcs (1.5.1)
ffi (1.17.0)
diff-lcs (1.6.2)
ffi (1.17.2)
hitimes (2.0.0)
json-schema (4.3.1)
addressable (>= 2.8)
json_pure (2.6.3)
logger (1.6.1)
logger (1.7.0)
minitar (0.12.1)
pastel (0.8.0)
tty-color (~> 0.5)
@@ -34,7 +34,7 @@ GEM
tty-prompt (~> 0.23)
tty-spinner (~> 0.9)
tty-which (~> 0.5)
public_suffix (6.0.1)
public_suffix (6.0.2)
puppet-modulebuilder (1.1.0)
minitar (~> 0.9)
pathspec (>= 0.2.1, < 3.0.0)
@@ -60,4 +60,4 @@ DEPENDENCIES
pdk (= 3.3.0)
BUNDLED WITH
2.5.16
2.6.9
+8 -8
View File
@@ -46,20 +46,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7";
sha256 = "0qlrj2qyysc9avzlr4zs1py3x684hqm61n4czrsk1pyllz5x5q4s";
type = "gem";
};
version = "1.5.1";
version = "1.6.2";
};
ffi = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9";
type = "gem";
};
version = "1.17.0";
version = "1.17.2";
};
hitimes = {
groups = [ "default" ];
@@ -97,10 +97,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s";
sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
type = "gem";
};
version = "1.6.1";
version = "1.7.0";
};
minitar = {
groups = [ "default" ];
@@ -164,10 +164,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
type = "gem";
};
version = "6.0.1";
version = "6.0.2";
};
puppet-modulebuilder = {
dependencies = [
+1 -1
View File
@@ -10,7 +10,7 @@
let
python = python3.override {
packageOverrides = final: prev: {
django = prev.django_5_2;
django = prev.django_5;
};
};
in
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "pik";
version = "0.27.0";
version = "0.28.0";
src = fetchFromGitHub {
owner = "jacek-kurlit";
repo = "pik";
rev = version;
hash = "sha256-qpIMm6ivt+v+Un+F03cCtUYMX2dxN/jVGKeCMA20294=";
hash = "sha256-M3zje2UX03go7i9/06jXb8N2imx4VnZp6PHakJB3oZM=";
};
cargoHash = "sha256-ugoXWn2ybdF/HbKqqUQWfNLqtxMdANTn3qnooOYLDKI=";
cargoHash = "sha256-ulMgapYkfTfynNW3XfiC/jo4GWGJ4HS9TCnXAGqs7Ac=";
passthru.tests.version = testers.testVersion { package = pik; };
+35 -5
View File
@@ -5,21 +5,22 @@
git,
uv,
python312,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "prek";
version = "0.2.20";
version = "0.2.30";
src = fetchFromGitHub {
owner = "j178";
repo = "prek";
tag = "v${finalAttrs.version}";
hash = "sha256-AZyYjgUd2dGnBUHwo/cPagFE8IJmzsgMLwebTypLAgE=";
hash = "sha256-IqFUJNFs7a/M9IUNEwW40EZTAh+6a5Ov37xg5c9iwRc=";
};
cargoHash = "sha256-a1yBu4MuyR0veBSQAUdaE/9rB04i6RVJ/NdWNmpRzmM=";
cargoHash = "sha256-KOpQ3P9cmcWYT3bPKtKpzHPagX4b9hH0EiWGpt98NnE=";
nativeCheckInputs = [
git
@@ -45,7 +46,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
useNextest = true;
# some python tests use uv, which in turn needs python
UV_PYTHON = "${python312}/bin/python";
env = {
UV_PYTHON = "${python312}/bin/python";
UV_NO_MANAGED_PYTHON = true;
UV_SYSTEM_PYTHON = true;
};
cargoTestFlags = [ "--no-fail-fast" ];
checkFlags = map (t: "--skip ${t}") [
# these tests require internet access
@@ -67,6 +74,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
"rust::remote_hooks"
"rust::remote_hooks_with_lib_deps"
"unsupported::unsupported_language"
"remote_hook_non_workspace"
# "meta_hooks"
"reuse_env"
"docker::docker"
@@ -145,15 +153,37 @@ rustPlatform.buildRustPackage (finalAttrs: {
"run_in_non_git_repo"
# depends on locale
"init_nonexistent_repo"
# https://github.com/astral-sh/uv/issues/8635
"alternate_config_file"
"basic_discovery"
"color"
"cookiecutter_template_directories_are_skipped"
"empty_entry"
"git_dir_respected"
"git_env_vars_not_leaked_to_pip_install"
"gitignore_respected"
"invalid_entry"
"local_python_hook"
"orphan_projects"
"run_with_selectors"
"run_with_stdin_closed"
"show_diff_on_failure"
"submodule_discovery"
"workspace_install_hooks"
# We don't have git info; we run versionCheckHook instead
"version_info"
];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/j178/prek";
description = "Better `pre-commit`, re-engineered in Rust ";
mainProgram = "prek";
changelog = "https://github.com/j178/prek/releases/tag/${finalAttrs.src.tag}";
changelog = "https://github.com/j178/prek/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = [ lib.licenses.mit ];
maintainers = [ lib.maintainers.knl ];
};
+1 -1
View File
@@ -12,7 +12,7 @@ let
python = python3.override {
self = python;
packageOverrides = final: prev: {
django = prev.django_5_2;
django = prev.django_5;
django-countries = prev.django-countries.overridePythonAttrs (oldAttrs: rec {
version = "8.1.0";
+77 -86
View File
@@ -7,22 +7,25 @@ GEM
rexml
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
aws-eventstream (1.3.0)
aws-partitions (1.968.0)
aws-sdk-core (3.201.5)
aws-eventstream (1.4.0)
aws-partitions (1.1140.0)
aws-sdk-core (3.228.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
bigdecimal
jmespath (~> 1, >= 1.6.1)
aws-sdk-ec2 (1.470.0)
aws-sdk-core (~> 3, >= 3.201.0)
logger
aws-sdk-ec2 (1.544.0)
aws-sdk-core (~> 3, >= 3.228.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.9.1)
aws-sigv4 (1.12.1)
aws-eventstream (~> 1, >= 1.0.2)
base64 (0.2.0)
bigdecimal (3.1.8)
bindata (2.5.0)
bolt (3.30.0)
base64 (0.3.0)
bigdecimal (3.2.2)
bindata (2.5.1)
bolt (4.0.0)
CFPropertyList (>= 2.2)
addressable (~> 2.5)
aws-sdk-ec2 (~> 1)
@@ -35,57 +38,43 @@ GEM
net-scp (>= 1.2, < 5.0)
net-ssh (>= 4.0, < 8.0)
net-ssh-krb (~> 0.5)
orchestrator_client (~> 0.5)
orchestrator_client (~> 0.7)
puppet (>= 6.18.0)
puppet-resource_api (>= 1.8.1)
puppet-strings (>= 2.3.0, < 5.0)
puppetfile-resolver (>= 0.6.2, < 1.0)
r10k (~> 3.10)
r10k (>= 3.10, < 5)
ruby_smb (~> 1.0)
terminal-table (~> 3.0)
winrm (~> 2.0)
winrm-fs (~> 1.3)
builder (3.3.0)
colored2 (3.1.2)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
cri (2.15.12)
deep_merge (1.2.2)
erubi (1.13.0)
facter (4.6.1)
erubi (1.13.1)
facter (4.10.0)
hocon (~> 1.3)
thor (>= 1.0.1, < 2.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
thor (>= 1.0.1, < 1.3)
faraday (2.13.4)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-net_http (3.4.1)
net-http (>= 0.5.0)
faraday-net_http_persistent (2.3.1)
faraday (~> 2.5)
net-http-persistent (>= 4.0.4, < 5)
fast_gettext (2.4.0)
prime
ffi (1.17.0)
ffi (1.17.2)
forwardable (1.3.3)
getoptlong (0.2.1)
gettext (3.4.9)
gettext (3.5.1)
erubi
locale (>= 2.0.5)
prime
@@ -103,43 +92,49 @@ GEM
hiera-eyaml (3.4.0)
highline
optimist
highline (3.1.0)
highline (3.1.2)
reline
hocon (1.4.0)
httpclient (2.8.3)
io-console (0.7.2)
httpclient (2.9.0)
mutex_m
io-console (0.8.1)
jmespath (1.6.2)
jwt (2.7.1)
json (2.13.2)
jwt (2.10.2)
base64
little-plugger (1.1.4)
locale (2.1.4)
log4r (1.1.10)
logger (1.7.0)
logging (2.4.0)
little-plugger (~> 1.1)
multi_json (~> 1.14)
minitar (0.12.1)
molinillo (0.8.0)
multi_json (1.15.0)
multipart-post (2.4.1)
net-http-persistent (4.0.2)
connection_pool (~> 2.2)
net-scp (4.0.0)
multi_json (1.17.0)
mutex_m (0.3.0)
net-http (0.6.0)
uri
net-http-persistent (4.0.6)
connection_pool (~> 2.2, >= 2.2.4)
net-scp (4.1.0)
net-ssh (>= 2.6.5, < 8.0.0)
net-ssh (7.2.3)
net-ssh (7.3.0)
net-ssh-krb (0.5.1)
gssapi (~> 1.3.0)
net-ssh (>= 2.0)
nkf (0.2.0)
nori (2.7.1)
bigdecimal
optimist (3.1.0)
orchestrator_client (0.7.0)
faraday (~> 1.4)
net-http-persistent (~> 4.0)
prime (0.1.2)
optimist (3.2.1)
orchestrator_client (0.7.1)
faraday (>= 1.4, < 3.0)
faraday-net_http_persistent (>= 1.0, < 3.0)
prime (0.1.4)
forwardable
singleton
public_suffix (6.0.1)
puppet (8.8.1)
public_suffix (6.0.2)
puppet (8.10.0)
concurrent-ruby (~> 1.0)
deep_merge (~> 1.0)
facter (>= 4.3.0, < 5)
@@ -152,51 +147,47 @@ GEM
semantic_puppet (~> 1.0)
puppet-resource_api (1.9.0)
hocon (>= 1.0)
puppet-strings (4.1.2)
puppet-strings (4.1.3)
rgen (~> 0.9)
yard (~> 0.9)
puppet_forge (3.2.0)
faraday (~> 1.3)
faraday_middleware (~> 1.0)
minitar
yard (~> 0.9, < 0.9.37)
puppet_forge (5.0.4)
faraday (~> 2.0)
faraday-follow_redirects (~> 0.3.0)
minitar (< 1.0.0)
semantic_puppet (~> 1.0)
puppetfile-resolver (0.6.3)
molinillo (~> 0.6)
semantic_puppet (~> 1.0)
r10k (3.16.2)
r10k (4.1.0)
colored2 (= 3.1.2)
cri (>= 2.15.10)
fast_gettext (>= 1.1.0, < 3.0.0)
gettext (>= 3.0.2, < 4.0.0)
gettext-setup (>= 0.24, < 2.0.0)
jwt (>= 2.2.3, < 2.8.0)
gettext-setup (>= 0.24, < 2.0)
jwt (>= 2.2.3, < 3)
log4r (= 1.1.10)
minitar (~> 0.9)
multi_json (~> 1.10)
puppet_forge (>= 2.3.0, < 4.0.0)
puppet_forge (>= 4.1, < 6)
racc (1.8.1)
reline (0.5.9)
reline (0.6.2)
io-console (~> 0.5)
rexml (3.3.6)
strscan
rgen (0.9.1)
ruby2_keywords (0.0.5)
rexml (3.4.1)
rgen (0.10.2)
ruby_smb (1.1.0)
bindata
rubyntlm
windows_error
rubyntlm (0.6.5)
base64
rubyzip (2.3.2)
rubyzip (2.4.1)
scanf (1.0.0)
semantic_puppet (1.1.0)
singleton (0.2.0)
strscan (3.1.0)
semantic_puppet (1.1.1)
singleton (0.3.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
text (1.3.1)
thor (1.3.1)
unicode-display_width (2.5.0)
thor (1.2.2)
unicode-display_width (2.6.0)
uri (1.0.3)
windows_error (0.1.5)
winrm (2.3.9)
builder (>= 2.1.2)
@@ -222,4 +213,4 @@ DEPENDENCIES
bolt
BUNDLED WITH
2.5.16
2.6.9
+162 -223
View File
@@ -15,36 +15,39 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi";
sha256 = "0fqqdqg15rgwgz3mn4pj91agd20csk9gbrhi103d20328dfghsqi";
type = "gem";
};
version = "1.3.0";
version = "1.4.0";
};
aws-partitions = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0m74rrlwv741wlp2imw5y93ybrzczx0r2jvcgp1v4zq299z3zy29";
sha256 = "1snwg6nj6v1rmqp96xlff3k1lkg0z4jamkj7cj978vdkzsfi807k";
type = "gem";
};
version = "1.968.0";
version = "1.1140.0";
};
aws-sdk-core = {
dependencies = [
"aws-eventstream"
"aws-partitions"
"aws-sigv4"
"base64"
"bigdecimal"
"jmespath"
"logger"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0l5c37gvarb3p3zsip1p9mpmir0zdccp0aibgx9cy61im4pwaj0q";
sha256 = "0r3mvwqndqg0c29cnznhmgnkcsmxncx4r6gqwfjwp5imkrgarp86";
type = "gem";
};
version = "3.201.5";
version = "3.228.0";
};
aws-sdk-ec2 = {
dependencies = [
@@ -55,10 +58,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0z7zk5z9zyqqljh8fxhq8ngp8pixbm85pa9ygpr0nmgdl2b1i7ff";
sha256 = "0wi5xy62z34r6h1j5padz00wi6q21v4g1i7b04sqnvmb9kxdklzf";
type = "gem";
};
version = "1.470.0";
version = "1.544.0";
};
aws-sigv4 = {
dependencies = [ "aws-eventstream" ];
@@ -66,40 +69,40 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0yf396fxashbqn0drbnvd9srxfg7w06v70q8kqpzi04zqchf6lvp";
sha256 = "003ch8qzh3mppsxch83ns0jra8d222ahxs96p9cdrl0grfazywv9";
type = "gem";
};
version = "1.9.1";
version = "1.12.1";
};
base64 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
sha256 = "0yx9yn47a8lkfcjmigk79fykxvr80r4m1i35q82sxzynpbm7lcr7";
type = "gem";
};
version = "0.2.0";
version = "0.3.0";
};
bigdecimal = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558";
sha256 = "1p2szbr4jdvmwaaj2kxlbv1rp0m6ycbgfyp0kjkkkswmniv5y21r";
type = "gem";
};
version = "3.1.8";
version = "3.2.2";
};
bindata = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "08r67nglsqnxrbn803szf5bdnqhchhq8kf2by94f37fcl65wpp19";
sha256 = "0n4ymlgik3xcg94h52dzmh583ss40rl3sn0kni63v56sq8g6l62k";
type = "gem";
};
version = "2.5.0";
version = "2.5.1";
};
bolt = {
dependencies = [
@@ -130,10 +133,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0krs4mmy1db531gyibhzaxmghb606yjmqqyfghvriy7b9sgi6bq8";
sha256 = "0j7yr4v8id58ag521l1xmdqhb7nsmnffb7bv32krfzvwi1f26mrj";
type = "gem";
};
version = "3.30.0";
version = "4.0.0";
};
builder = {
groups = [ "default" ];
@@ -175,20 +178,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl";
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
type = "gem";
};
version = "1.3.4";
version = "1.3.5";
};
connection_pool = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g";
sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg";
type = "gem";
};
version = "2.4.1";
version = "2.5.3";
};
cri = {
groups = [ "default" ];
@@ -215,10 +218,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw";
sha256 = "1naaxsqkv5b3vklab5sbb9sdpszrjzlfsbqpy7ncbnw510xi10m0";
type = "gem";
};
version = "1.13.0";
version = "1.13.1";
};
facter = {
dependencies = [
@@ -229,145 +232,61 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0pxpldfcf40dr9khra3sa131ij7gzd97bba2vpw89c785pl736a7";
sha256 = "17d561xf4s5016fm9jkfkkafn6660g04fz1yp5xfvkb0j4xj32mp";
type = "gem";
};
version = "4.6.1";
version = "4.10.0";
};
faraday = {
dependencies = [
"faraday-em_http"
"faraday-em_synchrony"
"faraday-excon"
"faraday-httpclient"
"faraday-multipart"
"faraday-net_http"
"faraday-net_http_persistent"
"faraday-patron"
"faraday-rack"
"faraday-retry"
"ruby2_keywords"
"json"
"logger"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1c760q0ks4vj4wmaa7nh1dgvgqiwaw0mjr7v8cymy7i3ffgjxx90";
sha256 = "09mcghancmn0s5cwk2xz581j3xm3xqxfv0yxg75axnyhrx9gy6f7";
type = "gem";
};
version = "1.10.3";
version = "2.13.4";
};
faraday-em_http = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
type = "gem";
};
version = "1.0.0";
};
faraday-em_synchrony = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
type = "gem";
};
version = "1.0.0";
};
faraday-excon = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
type = "gem";
};
version = "1.1.0";
};
faraday-httpclient = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc";
type = "gem";
};
version = "1.0.1";
};
faraday-multipart = {
dependencies = [ "multipart-post" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "09871c4hd7s5ws1wl4gs7js1k2wlby6v947m2bbzg43pnld044lh";
type = "gem";
};
version = "1.0.4";
};
faraday-net_http = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3";
type = "gem";
};
version = "1.0.2";
};
faraday-net_http_persistent = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
type = "gem";
};
version = "1.2.0";
};
faraday-patron = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w";
type = "gem";
};
version = "1.0.0";
};
faraday-rack = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g";
type = "gem";
};
version = "1.0.0";
};
faraday-retry = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd";
type = "gem";
};
version = "1.0.3";
};
faraday_middleware = {
faraday-follow_redirects = {
dependencies = [ "faraday" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy";
sha256 = "1y87p3yk15bjbk0z9mf01r50lzxvp7agr56lbm9gxiz26mb9fbfr";
type = "gem";
};
version = "1.2.0";
version = "0.3.0";
};
faraday-net_http = {
dependencies = [ "net-http" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0fxbckg468dabkkznv48ss8zv14d9cd8mh1rr3m98aw7wzx5fmq9";
type = "gem";
};
version = "3.4.1";
};
faraday-net_http_persistent = {
dependencies = [
"faraday"
"net-http-persistent"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "18zwd0p2vknmpk7zrw3gz9rsln69is8h2g831yhhfy52sqvvmzr3";
type = "gem";
};
version = "2.3.1";
};
fast_gettext = {
dependencies = [ "prime" ];
@@ -385,10 +304,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9";
type = "gem";
};
version = "1.17.0";
version = "1.17.2";
};
forwardable = {
groups = [ "default" ];
@@ -422,10 +341,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16h0kda5z4s4zqygyk0f52xzs9mlz9r4lnhjwk729hhmdbz68a19";
sha256 = "0aji3873pxn6gc5qkvnv5y9025mqk0p6h22yrpyz2b3yx9qpzv03";
type = "gem";
};
version = "3.4.9";
version = "3.5.1";
};
gettext-setup = {
dependencies = [
@@ -487,10 +406,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1sxqnaz6wvkwbwzsipwsqcg1zw2kn67x7l362whv87zl5133w60l";
sha256 = "0jmvyhjp2v3iq47la7w6psrxbprnbnmzz0hxxski3vzn356x7jv7";
type = "gem";
};
version = "3.1.0";
version = "3.1.2";
};
hocon = {
groups = [ "default" ];
@@ -503,24 +422,25 @@
version = "1.4.0";
};
httpclient = {
dependencies = [ "mutex_m" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
sha256 = "1j4qwj1nv66v3n9s4xqf64x2galvjm630bwa5xngicllwic5jr2b";
type = "gem";
};
version = "2.8.3";
version = "2.9.0";
};
io-console = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h";
sha256 = "1jszj95hazqqpnrjjzr326nn1j32xmsc9xvd97mbcrrgdc54858y";
type = "gem";
};
version = "0.7.2";
version = "0.8.1";
};
jmespath = {
groups = [ "default" ];
@@ -532,15 +452,26 @@
};
version = "1.6.2";
};
jwt = {
json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87";
sha256 = "0s5vklcy2fgdxa9c6da34jbfrqq7xs6mryjglqqb5iilshcg3q82";
type = "gem";
};
version = "2.7.1";
version = "2.13.2";
};
jwt = {
dependencies = [ "base64" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1x64l31nkqjwfv51s2vsm0yqq4cwzrlnji12wvaq761myx3fxq9i";
type = "gem";
};
version = "2.10.2";
};
little-plugger = {
groups = [ "default" ];
@@ -572,6 +503,16 @@
};
version = "1.1.10";
};
logger = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
type = "gem";
};
version = "1.7.0";
};
logging = {
dependencies = [
"little-plugger"
@@ -611,20 +552,31 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
sha256 = "06sabsvnw0x1aqdcswc6bqrqz6705548bfd8z22jxgxfjrn1yn3n";
type = "gem";
};
version = "1.15.0";
version = "1.17.0";
};
multipart-post = {
mutex_m = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq";
sha256 = "0l875dw0lk7b2ywa54l0wjcggs94vb7gs8khfw9li75n2sn09jyg";
type = "gem";
};
version = "2.4.1";
version = "0.3.0";
};
net-http = {
dependencies = [ "uri" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ysrwaabhf0sn24jrp0nnp51cdv0jf688mh5i6fsz63q2c6b48cn";
type = "gem";
};
version = "0.6.0";
};
net-http-persistent = {
dependencies = [ "connection_pool" ];
@@ -632,10 +584,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0i1as2lgnw7b4jid0gw5glv5hnxz36nmfsbr9rmxbcap72ijgy03";
sha256 = "0pfxhhn1lqnxx8dj3ig3lgnhkxq5jsb0brg7w2wnrpwf8c23mfra";
type = "gem";
};
version = "4.0.2";
version = "4.0.6";
};
net-scp = {
dependencies = [ "net-ssh" ];
@@ -643,20 +595,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk";
sha256 = "0p8s7l4pr6hkn0l6rxflsc11alwi1kfg5ysgvsq61lz5l690p6x9";
type = "gem";
};
version = "4.0.0";
version = "4.1.0";
};
net-ssh = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0sqbq5aks9xxnldbd2hy20ypnd59zcra98ql0r7jjc26s5rgc18n";
sha256 = "1w1ypxa3n6mskkwb00b489314km19l61p5h3bar6zr8cng27c80p";
type = "gem";
};
version = "7.2.3";
version = "7.3.0";
};
net-ssh-krb = {
dependencies = [
@@ -698,24 +650,24 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0q4jqq3v1bxlfr9jgqmahnygkvl81lr6s1rhm8qg66c9xr9nz241";
sha256 = "0kp3f8g7g7cbw5vfkmpdv71pphhpcxk3lpc892mj9apkd7ys1y4c";
type = "gem";
};
version = "3.1.0";
version = "3.2.1";
};
orchestrator_client = {
dependencies = [
"faraday"
"net-http-persistent"
"faraday-net_http_persistent"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05jb10gjffrj5wy8ps1chki3n0z734bx1nx7a6wahh7cjnrqqmsg";
sha256 = "0iij18nwivxflzyxfxhx5d0i5085hx1fa87spvi980lq31akhnwy";
type = "gem";
};
version = "0.7.0";
version = "0.7.1";
};
prime = {
dependencies = [
@@ -726,20 +678,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1973kz8lbck6ga5v42f55jk8b8pnbgwp9p67dl1xw15gvz55dsfl";
sha256 = "0pi2g9sd9ssyrpvbybh4skrgzqrv0rrd1q7ylgrsd519gjzmwxad";
type = "gem";
};
version = "0.1.2";
version = "0.1.4";
};
public_suffix = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
sha256 = "1543ap9w3ydhx39ljcd675cdz9cr948x9mp00ab8qvq6118wv9xz";
type = "gem";
};
version = "6.0.1";
version = "6.0.2";
};
puppet = {
dependencies = [
@@ -758,10 +710,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0v2jqkan3nidifxdlpm7lk0ih5s8khl9ps0nz62wj3zlywck0wsi";
sha256 = "0fia3ji6isnqz4a31aq8k4nd8p7vkxn80hhgqfdc8kkrba7xxxgj";
type = "gem";
};
version = "8.8.1";
version = "8.10.0";
};
puppet-resource_api = {
dependencies = [ "hocon" ];
@@ -783,15 +735,15 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0zcs25xxkfymks4knilryfpr8k0v7z3nazdm61v7a1x4rxhs7sxp";
sha256 = "0gna12w39bjnczbqdz4gmlizqxhja8h4wvgn1qlpa3zm4w09xlcw";
type = "gem";
};
version = "4.1.2";
version = "4.1.3";
};
puppet_forge = {
dependencies = [
"faraday"
"faraday_middleware"
"faraday-follow_redirects"
"minitar"
"semantic_puppet"
];
@@ -799,10 +751,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "03aaznd1gyf3wpqg34y32zfj2yxf67r85m6zfz05pv9ijizrmdnj";
sha256 = "0d65zri1nmpph8iki5iigdzfqd6rfyc1mlgdfhg69q3566rcff06";
type = "gem";
};
version = "3.2.0";
version = "5.0.4";
};
puppetfile-resolver = {
dependencies = [
@@ -822,8 +774,6 @@
dependencies = [
"colored2"
"cri"
"fast_gettext"
"gettext"
"gettext-setup"
"jwt"
"log4r"
@@ -835,10 +785,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1f9fwfmr44lbnx31fdiabm7sb41nsbf10awm96zl79clp8kafxcp";
sha256 = "0k3fr2f0pwyrabs12wqig31f37sqrqs8qza7jrn01d6blvhvkrb4";
type = "gem";
};
version = "3.16.2";
version = "4.1.0";
};
racc = {
groups = [ "default" ];
@@ -856,41 +806,30 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0y6kyz7kcilwdpfy3saqfgnar38vr5ys9sp40ndffy6h1znxfbax";
sha256 = "0ii8l0q5zkang3lxqlsamzfz5ja7jc8ln905isfdawl802k2db8x";
type = "gem";
};
version = "0.5.9";
version = "0.6.2";
};
rexml = {
dependencies = [ "strscan" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ik3in0957l9s6iwdm3nsk4za072cj27riiqgpx6zzcd22flbw3s";
sha256 = "1jmbf6lf7pcyacpb939xjjpn1f84c3nw83dy3p1lwjx0l2ljfif7";
type = "gem";
};
version = "3.3.6";
version = "3.4.1";
};
rgen = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1abg3frzak6inwbr4caq6mfd5spx37xnwlxss8615jr12wh525vp";
sha256 = "0wgk4brd1v63ivdh5nnlkynfxk8m7bac9q50ydgq3d50hx4ghy6r";
type = "gem";
};
version = "0.9.1";
};
ruby2_keywords = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
type = "gem";
};
version = "0.0.5";
version = "0.10.2";
};
ruby_smb = {
dependencies = [
@@ -923,10 +862,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
sha256 = "05an0wz87vkmqwcwyh5rjiaavydfn5f4q1lixcsqkphzvj7chxw5";
type = "gem";
};
version = "2.3.2";
version = "2.4.1";
};
scanf = {
groups = [ "default" ];
@@ -943,30 +882,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ndqm3jnpdlwkk1jwqdyyb7yw7gv6r4kmjs30g09ap8siv80ilaj";
sha256 = "15ksbizvakfx0zfdgjbh34hqnrnkjj47m4kbnsg58mpqsx45pzqm";
type = "gem";
};
version = "1.1.0";
version = "1.1.1";
};
singleton = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0qq54imvbksnckzf9hrq9bjzcdb0n8wfv6l5jc0di10n88277jx6";
sha256 = "0y2pc7lr979pab5n5lvk3jhsi99fhskl5f2s6004v8sabz51psl3";
type = "gem";
};
version = "0.2.0";
};
strscan = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
type = "gem";
};
version = "3.1.0";
version = "0.3.0";
};
terminal-table = {
dependencies = [ "unicode-display_width" ];
@@ -994,20 +923,30 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps";
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
type = "gem";
};
version = "1.3.1";
version = "1.2.2";
};
unicode-display_width = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky";
sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj";
type = "gem";
};
version = "2.5.0";
version = "2.6.0";
};
uri = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9";
type = "gem";
};
version = "1.0.3";
};
windows_error = {
groups = [ "default" ];
+2 -2
View File
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
puppet-lint (4.2.4)
puppet-lint (4.3.0)
PLATFORMS
ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
puppet-lint
BUNDLED WITH
2.5.6
2.6.9
+2 -2
View File
@@ -4,9 +4,9 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1n2pffwxj1n33hc7aw74g6a4gn5v7rawcs7rglidbdq1g4kzd829";
sha256 = "1lbr7smgx3k48zxrsp4kkkpwfgr6q2mjyz0bz5r14j0in5j5j3xa";
type = "gem";
};
version = "4.2.4";
version = "4.3.0";
};
}
+5 -5
View File
@@ -3,18 +3,18 @@
stdenv,
fetchFromGitHub,
cmake,
qt5,
qt6,
}:
stdenv.mkDerivation rec {
pname = "qmqtt";
version = "1.0.3";
version = "1.0.4";
src = fetchFromGitHub {
owner = "emqx";
repo = "qmqtt";
rev = "v${version}";
hash = "sha256-JLGwEF5e/IKzPzCQBzB710REGWbc/MW+r5AHmyYUkUI=";
hash = "sha256-cIzBnJdMFY25cWf1rBoRQx1G0/5S32igF8vcte+nyHI=";
};
outputs = [
@@ -24,11 +24,11 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cmake
qt5.wrapQtAppsHook
qt6.wrapQtAppsHook
];
buildInputs = [
qt5.qtbase
qt6.qtbase
];
meta = {
+2 -2
View File
@@ -6,10 +6,10 @@
}:
let
pname = "remnote";
version = "1.22.56";
version = "1.22.58";
src = fetchurl {
url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage";
hash = "sha256-MGWwXEzgUD4vjBnxolvtma59abK8qpXQLVKMhk54wr4=";
hash = "sha256-xGA3ASWRuM+RloOHcaNregTClf+XUtP7jrTiQRem71s=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
@@ -20,13 +20,13 @@ let
in
stdenv.mkDerivation rec {
pname = "rocketchat-desktop";
version = "4.11.1";
version = "4.11.2";
src = fetchFromGitHub {
owner = "RocketChat";
repo = "Rocket.Chat.Electron";
tag = version;
hash = "sha256-JJb4VALCzw2QjiyBc4E9KUMMj1FvZL0SSJvyoEg7Olc=";
hash = "sha256-GTeRrj2zcu36h4z7zPLIYy0pEk94QejTi+6/e3r8XW8=";
};
# This might need to be updated between releases.
+2 -2
View File
@@ -9,7 +9,7 @@
let
baseName = "scalafmt";
version = "3.10.3";
version = "3.10.4";
deps = stdenv.mkDerivation {
name = "${baseName}-deps-${version}";
buildCommand = ''
@@ -19,7 +19,7 @@ let
cp $(< deps) $out/share/java/
'';
outputHashMode = "recursive";
outputHash = "sha256-xJqppoHji0cYvd1iAmhqjCbuX0yV15TvqCvYKrf7Y3E=";
outputHash = "sha256-i4J7qFdzzcSb3RnYH2vAKFBVdMdW1V4hHcxQvNOEjXg=";
};
in
stdenv.mkDerivation {
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "scooter";
version = "0.8.4";
version = "0.8.5";
src = fetchFromGitHub {
owner = "thomasschafer";
repo = "scooter";
rev = "v${version}";
hash = "sha256-hOuhgPE24DBF/uFz/S51h+d7j5yDjPs8Mvfkcp2BQsc=";
hash = "sha256-hKF0b3vgZ8kIK9QT129Ms+Rua6+Rrv8Jk2pt81eCc5Y=";
};
cargoHash = "sha256-S2oLItnyRURPyYDroa7PlHbKIhnE4HdXeo1y6cAKvss=";
cargoHash = "sha256-008wp5xa0G6E3e6rIhd1sE8cIIcHQ3LoCBl/cJx76Sw=";
# Ensure that only the `scooter` package is built (excluding `xtask`)
cargoBuildFlags = [
+6 -9
View File
@@ -13,14 +13,14 @@ in
python.pkgs.toPythonModule (
python.pkgs.buildPythonApplication rec {
pname = "searxng";
version = "0-unstable-2025-11-25";
version = "0-unstable-2026-01-11";
pyproject = true;
src = fetchFromGitHub {
owner = "searxng";
repo = "searxng";
rev = "ebb9ea45715d655072400b2b5925f03ec96cf5eb";
hash = "sha256-tRPaQcM7EzDuD4MOK4t81uY8mhl9lzvnC955CS7j/u8=";
rev = "cf74e1d9e9ad662aef450ddd79aedee43554dc3c";
hash = "sha256-hKnfZBPr8rJyZAYBtVXpyzXwBQqg2DPFwqzH08qCITs=";
};
nativeBuildInputs = with python.pkgs; [ pythonRelaxDepsHook ];
@@ -31,9 +31,8 @@ python.pkgs.toPythonModule (
"flask-babel"
"httpx-socks"
"lxml"
"setproctitle"
"msgspec"
"typer-slim"
"typing-extensions"
"whitenoise"
];
@@ -62,9 +61,7 @@ python.pkgs.toPythonModule (
with python.pkgs;
[
babel
brotli
certifi
cryptography
fasttext-predict
flask
flask-babel
@@ -78,9 +75,9 @@ python.pkgs.toPythonModule (
pygments
python-dateutil
pyyaml
setproctitle
sniffio
typer-slim
uvloop
typing-extensions
valkey
whitenoise
]
+1 -1
View File
@@ -2,7 +2,7 @@
"circle_chart": "sha256-BcnL/hRf+Yv2U8Nkl7pc8BtncBW+M2by86jO5IbFIRk=",
"computer": "sha256-qaD6jn78zDyZBktwJ4WTQa8oCvCWQJOBDaozBVsXNb8=",
"dartssh2": "sha256-Bl5eLrYU2YnpRcleff3wVXiTS9wuo2A1neiLUClvbGU=",
"fl_build": "sha256-e2BUk4WmwFzFrA2iHg4dG8fRqWhNt8KFuTEZgWL7H4g=",
"fl_build": "sha256-NLKmnx26FDuTRwdm4C/HxwpeRekmZkFypcPJVdvDS4U=",
"fl_lib": "sha256-0Dg21LBVIyTH5MLt/v+kGzfOK8PFVYfNiK6P/jcy2jI=",
"gtk": "sha256-nt7d2MvIfizxezWhQNm2/yHEzYuPKDvfHGM9Bnq3f04=",
"plain_notification_token": "sha256-Cy1/S8bAtKCBnjfDEeW4Q2nP4jtwyCstAC1GH1efu8I=",
+2 -2
View File
@@ -13,13 +13,13 @@
}:
let
version = "1.0.1276";
version = "1.0.1291";
src = fetchFromGitHub {
owner = "lollipopkit";
repo = "flutter_server_box";
tag = "v${version}";
hash = "sha256-fmL03BNVi1aKhb0jV7MnEtRKTOEaLBGl6uMJtLr6cFk=";
hash = "sha256-5SEw0hNeZg2a4SaqFnkKASeEVXpLWVjQVNT2NlaJz9c=";
};
in
flutter338.buildFlutterApplication {
+3 -3
View File
@@ -587,8 +587,8 @@
"dependency": "direct dev",
"description": {
"path": ".",
"ref": "v1.0.52",
"resolved-ref": "38e7d41ccd71bf44e286d86b4ad656f05c5c2548",
"ref": "v1.0.53",
"resolved-ref": "61ee37ea6f082592f5be56340b7746dce4ffbfda",
"url": "https://github.com/lppcg/fl_build.git"
},
"source": "git",
@@ -1998,7 +1998,7 @@
"version": "2.2.2"
},
"url_launcher": {
"dependency": "transitive",
"dependency": "direct main",
"description": {
"name": "url_launcher",
"sha256": "f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8",
+4 -1
View File
@@ -52,7 +52,10 @@ python3.pkgs.buildPythonApplication rec {
homepage = "https://github.com/TheR1D/shell_gpt";
changelog = "https://github.com/TheR1D/shell_gpt/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ SohamG ];
maintainers = with lib.maintainers; [
SohamG
mio
];
mainProgram = "sgpt";
};
}
+3
View File
@@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
"--with-zlib=${zlib.dev}"
];
# Borrowed solution from homebrew: https://github.com/Homebrew/homebrew-core/blob/1c7c95183c0984a84b1680422afab6578c300a27/Formula/s/siege.rb#L31
CFLAGS = lib.optionalString stdenv.cc.isClang "-Wno-int-conversion";
meta = {
description = "HTTP load tester";
homepage = "https://www.joedog.org/siege-home/";
+4 -1
View File
@@ -152,7 +152,10 @@ stdenv.mkDerivation rec {
description = "Car racing game - TORCS fork with more experimental approach";
homepage = "https://www.speed-dreams.net/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ raskin ];
maintainers = with lib.maintainers; [
raskin
mio
];
platforms = lib.platforms.linux;
mainProgram = "speed-dreams";
};
+1 -1
View File
@@ -143,7 +143,7 @@ stdenv.mkDerivation (finalAttrs: {
mpl11
mpl20
];
maintainers = [ ];
maintainers = with lib.maintainers; [ mio ];
# The darwin src zip file holds simply a prebuilt swt.jar file
sourceProvenance = lib.optionals stdenv.hostPlatform.isDarwin [
lib.sourceTypes.binaryNativeCode
+21 -12
View File
@@ -2,35 +2,36 @@
lib,
stdenv,
fetchFromGitHub,
pnpm_9,
pnpm_10,
fetchPnpmDeps,
pnpmConfigHook,
nodejs_22,
versionCheckHook,
nix-update-script,
}:
let
pnpm' = pnpm_9.override { nodejs = nodejs_22; };
pnpm' = pnpm_10.override { nodejs = nodejs_22; };
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "tsx";
version = "4.19.3";
version = "4.21.0";
src = fetchFromGitHub {
owner = "privatenumber";
repo = "tsx";
tag = "v${version}";
hash = "sha256-wdv2oqJNc6U0Fyv4jT+0LUcYaDfodHk1vQZGMdyFF/E=";
tag = "v${finalAttrs.version}";
hash = "sha256-vlVRq637l84xi9Og0ryzYuu+1b/eBq13jQJIptY0u0o=";
};
pnpmDeps = fetchPnpmDeps {
inherit
inherit (finalAttrs)
pname
version
src
;
pnpm = pnpm';
fetcherVersion = 1;
hash = "sha256-57KDZ9cHb7uqnypC0auIltmYMmIhs4PWyf0HTRWEFiU=";
hash = "sha256-6ZizQtZC43yXrz634VXksRCKGkDKryICvT3Q+JCuIEw=";
};
nativeBuildInputs = [
@@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
# because tsx uses semantic-release, the package.json has a placeholder
# version number. this patches it to match the version of the nix package,
# which in turn is the release version in github.
substituteInPlace package.json --replace-fail "0.0.0-semantic-release" "${version}"
substituteInPlace package.json --replace-fail "0.0.0-semantic-release" "${finalAttrs.version}"
runHook postPatch
'';
@@ -62,7 +63,10 @@ stdenv.mkDerivation rec {
buildPhase = ''
runHook preBuild
npm run build
pnpm run build
# remove unneeded files
find dist -type f \( -name '*.cts' -or -name '*.mts' -or -name '*.ts' \) -delete
# remove devDependencies that are only required to build
# and package the typescript code
@@ -93,11 +97,16 @@ stdenv.mkDerivation rec {
];
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "TypeScript Execute (tsx): The easiest way to run TypeScript in Node.js";
homepage = "https://tsx.is";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.sdedovic ];
maintainers = with lib.maintainers; [
sdedovic
higherorderlogic
];
mainProgram = "tsx";
};
}
})
@@ -0,0 +1,19 @@
{
buildWasmBindgenCli,
fetchCrate,
rustPlatform,
}:
buildWasmBindgenCli rec {
src = fetchCrate {
pname = "wasm-bindgen-cli";
version = "0.2.108";
hash = "sha256-UsuxILm1G6PkmVw0I/JF12CRltAfCJQFOaT4hFwvR8E=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
inherit (src) pname version;
hash = "sha256-iqQiWbsKlLBiJFeqIYiXo3cqxGLSjNM8SOWXGM9u43E=";
};
}
+1 -1
View File
@@ -18,7 +18,7 @@
let
python = python3.override {
packageOverrides = final: prev: {
django = prev.django_5_2;
django = prev.django_5;
};
};
in
+2 -2
View File
@@ -5,12 +5,12 @@
}:
let
version = "2.20.0";
version = "2.22.0";
pname = "wowup-cf";
src = fetchurl {
url = "https://github.com/WowUp/WowUp.CF/releases/download/v${version}/WowUp-CF-${version}.AppImage";
hash = "sha256-Fu0FqeWJip0cXSifu1QDktu73SsxGpkEU3cuYbFghxc=";
hash = "sha256-X5gDnj4YBZRBwJEeb8sVMNoGmWUI9iVdWOmsA20bWig=";
};
appimageContents = appimageTools.extractType1 { inherit pname version src; };
+3 -3
View File
@@ -8,14 +8,14 @@
rustPlatform.buildRustPackage rec {
pname = "zbus_xmlgen";
version = "5.1.0";
version = "5.2.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-LHY4E2YemGksK8xJx0r3iTHnk3CqMl5abM08VSBPIfo=";
hash = "sha256-CFXOPUWjbzNkE8mb+AC4ZtdvV0MSb/eBr1C0WyreAoU=";
};
cargoHash = "sha256-g5GLyloeyVXcJgMVx21ePYlcYUj+NGFtVarpYeQN9rw=";
cargoHash = "sha256-ggKuTcsUMhfhY39i/iZj7oPrsFchRdcko1oDE+XQLfE=";
nativeBuildInputs = [ makeBinaryWrapper ];
nativeCheckInputs = [ rustfmt ];
+3 -3
View File
@@ -9,13 +9,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zuban";
version = "0.4.1";
version = "0.4.2";
src = fetchFromGitHub {
owner = "zubanls";
repo = "zuban";
tag = "v${finalAttrs.version}";
hash = "sha256-RLJ5PX/4Fh3OWqhZD3UnS8P2aappNADK8Mb56aRcLng=";
hash = "sha256-3K2PHccGXLD4Jk+DhSoD8dbOG+n40tbiAPfEF27vukg=";
fetchSubmodules = true;
};
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildAndTestSubdir = "crates/zuban";
cargoHash = "sha256-7gCUQjt1egnrDQ0TXElHXrwidQfFRS8VSGpUYuqv+bY=";
cargoHash = "sha256-2TlCwbGabJtIusfRVWSnQiZbv6UQIBXfcUBVQrrepYM=";
nativeInstallCheckInputs = [
versionCheckHook
+3 -3
View File
@@ -27,9 +27,9 @@ let
"20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw=";
"21.1.8".officialRelease.sha256 = "sha256-pgd8g9Yfvp7abjCCKSmIn1smAROjqtfZaJkaUkBSKW0=";
"22.0.0-git".gitRelease = {
rev = "2c72af88213c0f9c507d9c8b34a39de8173a6fcc";
rev-version = "22.0.0-unstable-2025-12-28";
sha256 = "sha256-R7WcZLas5+a4gUDzG0EBLL1S56PvUBZM6c91nYhmEsQ=";
rev = "dcf8ae80289fd5e343b6ca172073388b6d227b62";
rev-version = "22.0.0-unstable-2026-01-11";
sha256 = "sha256-7IQ4v4K4onZZ/oBQKUy32LaZ6M7E7N/QIUYdjhOsbqc=";
};
}
// llvmVersions;
@@ -4608,15 +4608,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "rocks.nvim";
version = "2.47.0-1";
version = "2.47.2-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/rocks.nvim-2.47.0-1.rockspec";
sha256 = "0gbf79n2glnbcdccli9k555708dgwpjmki2wc8439d2q8l3g2ywm";
url = "mirror://luarocks/rocks.nvim-2.47.2-1.rockspec";
sha256 = "01h368ckrpdq8yrczb0lx6bmj3vv1hlj22y784p6isypxma5iyrf";
}).outPath;
src = fetchzip {
url = "https://github.com/lumen-oss/rocks.nvim/archive/v2.47.0.zip";
sha256 = "0m4cdyj1pbyi85l9vjmwj8qwrzqachpgjh6yhw8yin1hrqzr6d0k";
url = "https://github.com/lumen-oss/rocks.nvim/archive/v2.47.2.zip";
sha256 = "1kzhn02zhydb0shha6lhb2ddqhbvldjhpk3h4fmr0kcfv7sf0r99";
};
disabled = lua.luaversion != "5.1";
@@ -127,6 +127,10 @@ in
}
];
env = old.env // {
NIX_CFLAGS_COMPILE = "-std=gnu17"; # for gcc15
};
# Upstream rockspec is pointlessly broken into separate rockspecs, per Lua
# version, which doesn't work well for us, so modify it
postConfigure =
@@ -997,6 +1001,27 @@ in
'';
};
rocks-nvim = prev.rocks-nvim.overrideAttrs (oa: {
nativeCheckInputs = [
final.nlua
final.busted
writableTmpDirAsHomeHook
];
doCheck = lua.luaversion == "5.1";
nvimSkipModules = [
"bootstrap" # tries to install luarocks from network
];
checkPhase = ''
runHook preCheck
busted --run=offline
runHook postCheck
'';
});
rtp-nvim = prev.rtp-nvim.overrideAttrs {
doCheck = lua.luaversion == "5.1";
nativeCheckInputs = [
+11 -5
View File
@@ -2,21 +2,27 @@
lib,
fetchFromGitHub,
php,
versionCheckHook,
}:
(php.withExtensions ({ enabled, all }: enabled ++ (with all; [ ast ]))).buildComposerProject
(php.withExtensions ({ enabled, all }: enabled ++ (with all; [ ast ]))).buildComposerProject2
(finalAttrs: {
pname = "phan";
version = "5.5.1";
version = "6.0.0";
src = fetchFromGitHub {
owner = "phan";
repo = "phan";
rev = finalAttrs.version;
hash = "sha256-G17ORkHmu6nkfJ8UrGzcaybPOKPrq1Q+LXVS56aVOZ8=";
tag = finalAttrs.version;
hash = "sha256-1qRGNDptiAdcGc1x+iLrxe9TjLGaL8EM8xuTOUNB+Ww=";
};
vendorHash = "sha256-Ake5/7IyoweC2ONDuWt9jJSbG0JbnU9lmCRu2p6uUQM=";
vendorHash = "sha256-Ro5/lA72xVIkZyuRNix77Cpeyyj1GbW5J4DzjQMq0Rc=";
composerStrictValidation = false;
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = {
description = "Static analyzer for PHP";
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "django-import-export";
version = "4.3.14";
version = "4.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "django-import-export";
repo = "django-import-export";
tag = version;
hash = "sha256-dY6utdWlzoQiODjFn7alJBBnDxq+1G9fdGvwu/2Ynfs=";
hash = "sha256-TIvgJL+JvRiEf05pyQCfCkahTg7ld8qFOn5VgCPxasY=";
};
pythonRelaxDeps = [ "tablib" ];
@@ -53,10 +53,15 @@ buildPythonPackage rec {
"dscribe.ext"
];
# Prevents python from loading dscribe from the current working directory instead of using $out
preCheck = ''
rm -rf dscribe
'';
preCheck =
# Prevents python from loading dscribe from the current working directory instead of using $out
''
rm -rf dscribe
''
# Prevents 'Fatal Python error: Aborted' on darwin during checkPhase
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
export MPLBACKEND="Agg"
'';
nativeCheckInputs = [
pytestCheckHook
@@ -72,12 +77,7 @@ buildPythonPackage rec {
[
# AssertionError on a numerical test
"test_cell_list"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Fatal Python error: Aborted
# matplotlib/backend_bases.py", line 2654 in create_with_canvas
"test_examples"
];
];
# Broken due to use of missing _get_constraints attr in ase >= 3.26.0
# https://github.com/SINGROUP/dscribe/issues/160
@@ -12,13 +12,13 @@
buildPythonPackage rec {
pname = "entsoe-apy";
version = "0.7.0";
version = "0.8.1";
src = fetchFromGitHub {
owner = "berrij";
repo = "entsoe-apy";
tag = "v${version}";
hash = "sha256-ui+F9EOz95yCfn52pSsxDs9p6d0a2g3VpxHd3WjU9W0=";
hash = "sha256-9bfGEBOXILO+bwkyFgnVFSY1k9gA6RmzWv9mEmJGOeM=";
};
pyproject = true;
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
hatchling,
numpy,
pytestCheckHook,
@@ -10,16 +11,16 @@
torchvision,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "fickling";
version = "0.1.6";
version = "0.1.7";
pyproject = true;
src = fetchFromGitHub {
owner = "trailofbits";
repo = "fickling";
tag = "v${version}";
hash = "sha256-p2XkHKqheVHqLTQKmUApiYH7NIaHc091B/TjiCDYWtA=";
tag = "v${finalAttrs.version}";
hash = "sha256-uirVOJ6CI7gBu9lOoPtpjUZeBmIhBMI0tjSDI/ASy7w=";
};
build-system = [
@@ -40,21 +41,21 @@ buildPythonPackage rec {
];
};
nativeCheckInputs = [ pytestCheckHook ] ++ lib.concatAttrValues optional-dependencies;
nativeCheckInputs = [
pytestCheckHook
]
++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies;
disabledTestPaths = [
# https://github.com/trailofbits/fickling/issues/162
# AttributeError: module 'numpy.lib.format' has no attribute...
"test/test_polyglot.py"
];
# Tests fail upstream in pytorch under python 3.14
doCheck = pythonOlder "3.14";
pythonImportsCheck = [ "fickling" ];
meta = {
description = "Python pickling decompiler and static analyzer";
homepage = "https://github.com/trailofbits/fickling";
changelog = "https://github.com/trailofbits/fickling/releases/tag/${src.tag}";
changelog = "https://github.com/trailofbits/fickling/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ sarahec ];
};
}
})
@@ -18,14 +18,14 @@
buildPythonPackage rec {
pname = "langgraph-sdk";
version = "0.3.1";
version = "0.3.2";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langgraph";
tag = "sdk==${version}";
hash = "sha256-pIQuvOYyjXajPxqoRDHuolxNgaBeSmJvPRskinXkkDo=";
hash = "sha256-PGQjIxdd4aDh2t9p1gttMlREBxqMOR9Ghtb10wL0gBI=";
};
sourceRoot = "${src.name}/libs/sdk-py";
@@ -30,14 +30,14 @@
buildPythonPackage rec {
pname = "langsmith";
version = "0.5.1";
version = "0.6.4";
pyproject = true;
src = fetchFromGitHub {
owner = "langchain-ai";
repo = "langsmith-sdk";
tag = "v${version}";
hash = "sha256-6iJk8JfGIhrAcEXrsJKWn0G2jJ2kitWjx/YJCWcGNfY=";
hash = "sha256-325A2kEx2UrykxVRzp6WQCPrg92Vy+6R1CfgnCLV2V8=";
};
sourceRoot = "${src.name}/python";
@@ -40,16 +40,16 @@
gitUpdater,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "magic-wormhole";
version = "0.21.1";
version = "0.22.0";
pyproject = true;
src = fetchFromGitHub {
owner = "magic-wormhole";
repo = "magic-wormhole";
tag = version;
hash = "sha256-HZ6ZS2dkJoW+yL6F3U9WguUHicfG2KWnk4/YuNPwpUc=";
tag = finalAttrs.version;
hash = "sha256-22UFwBcpuutFDRPFJAS9MBwoTdIx2xW0DSpR44DJ1lU=";
};
postPatch =
@@ -103,7 +103,7 @@ buildPythonPackage rec {
pytestCheckHook
pytest-twisted
]
++ optional-dependencies.dilation
++ finalAttrs.finalPackage.optional-dependencies.dilation
++ lib.optionals stdenv.hostPlatform.isDarwin [ unixtools.locale ];
__darwinAllowLocalNetworking = true;
@@ -112,7 +112,7 @@ buildPythonPackage rec {
install -Dm644 docs/wormhole.1 $out/share/man/man1/wormhole.1
# https://github.com/magic-wormhole/magic-wormhole/issues/619
installShellCompletion --cmd ${meta.mainProgram} \
installShellCompletion --cmd ${finalAttrs.meta.mainProgram} \
--bash wormhole_complete.bash \
--fish wormhole_complete.fish \
--zsh wormhole_complete.zsh
@@ -122,11 +122,11 @@ buildPythonPackage rec {
passthru.updateScript = gitUpdater { };
meta = {
changelog = "https://github.com/magic-wormhole/magic-wormhole/blob/${version}/NEWS.md";
changelog = "https://github.com/magic-wormhole/magic-wormhole/blob/${finalAttrs.src.rev}/NEWS.md";
description = "Securely transfer data between computers";
homepage = "https://magic-wormhole.readthedocs.io/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.mjoerg ];
mainProgram = "wormhole";
};
}
})
@@ -52,15 +52,14 @@ buildPythonPackage rec {
]
++ lib.optionals (pythonOlder "3.11") [ tomli ];
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
# Prevents 'Fatal Python error: Aborted' on darwin during checkPhase
MPLBACKEND = "Agg";
};
disabledTests = [
# Test requires extra nltk data dependency
"test_text_mining"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Fatal Python error: Aborted
# matplotlib/backend_bases.py", line 2654 in create_with_canvas
"test_hill_slopes"
"test_two_key_plot"
];
nativeCheckInputs = [ pytestCheckHook ];
@@ -70,22 +70,16 @@ buildPythonPackage rec {
openssh
];
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# Fatal Python error: Aborted
# matplotlib/backend_bases.py", line 2654 in create_with_canvas
"test_optimize_kl_domain_expansion"
"test_plot_priorsamples"
# Prevents 'Fatal Python error: Aborted' on darwin during checkPhase
preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
export MPLBACKEND="Agg"
'';
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# [XPASS(strict)] np.vdot inaccurate for single precision
"test_vdot"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
# Fatal Python error: Aborted
# matplotlib/backend_bases.py", line 2654 in create_with_canvas
"test/test_plot.py"
];
__darwinAllowLocalNetworking = true;
postCheck =
lib.optionalString
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "onedrive-personal-sdk";
version = "0.0.17";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "zweckj";
repo = "onedrive-personal-sdk";
tag = "v${version}";
hash = "sha256-dJ8cFZKnSN8sQxe2wMqwPXf7CaFKUP6TZbS/J4Z0qa0=";
hash = "sha256-97gIkMaX/iBPtEPdE7yjGN3LeknxmVUDPMZGZAKX6q8=";
};
build-system = [ setuptools ];
@@ -84,10 +84,15 @@ buildPythonPackage rec {
];
};
# grpc tests are racy
preCheck = ''
sed -i '/"grpc",/d' optuna/testing/storages.py
'';
preCheck =
# grpc tests are racy
''
sed -i '/"grpc",/d' optuna/testing/storages.py
''
# Prevents 'Fatal Python error: Aborted' on darwin during checkPhase
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
export MPLBACKEND="Agg"
'';
nativeCheckInputs = [
addBinToPathHook
@@ -117,24 +122,6 @@ buildPythonPackage rec {
"test_plot_intermediate_values"
"test_plot_rank"
"test_plot_terminator_improvement"
# Fatal Python error: Aborted
# matplotlib/backend_bases.py", line 2654 in create_with_canvas
"test_edf_plot_no_trials"
"test_get_timeline_plot"
"test_plot_contour"
"test_plot_contour_customized_target_name"
"test_plot_edf_with_multiple_studies"
"test_plot_edf_with_target"
"test_plot_parallel_coordinate"
"test_plot_parallel_coordinate_customized_target_name"
"test_plot_param_importances"
"test_plot_param_importances_customized_target_name"
"test_plot_param_importances_multiobjective_all_objectives_displayed"
"test_plot_slice"
"test_plot_slice_customized_target_name"
"test_target_is_none_and_study_is_multi_obj"
"test_visualizations_with_single_objectives"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
@@ -133,6 +133,10 @@ buildPythonPackage rec {
# ensure tests can find these
''
export PMG_TEST_FILES_DIR="$(realpath ./tests/files)"
''
# Prevents 'Fatal Python error: Aborted' on darwin during checkPhase
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
export MPLBACKEND="Agg"
'';
disabledTests = [
@@ -147,25 +151,6 @@ buildPythonPackage rec {
"test_mean_field"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Fatal Python error: Aborted
# matplotlib/backend_bases.py", line 2654 in create_with_canvas
# https://github.com/materialsproject/pymatgen/issues/4452
"test_angle"
"test_as_dict_from_dict"
"test_attributes"
"test_basic"
"test_core_state_eigen"
"test_eos_func"
"test_get_info_cohps_to_neighbors"
"test_get_plot"
"test_get_point_group_operations"
"test_matplotlib_plots"
"test_ph_plot_w_gruneisen"
"test_plot"
"test_proj_bandstructure_plot"
"test_structure"
"test_structure_environments"
# attempt to insert nil object from objects[1]
"test_timer_10_2_7"
"test_timer"

Some files were not shown because too many files have changed in this diff Show More