diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index fad930c8206d..d367775d60c2 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -192,7 +192,7 @@ following are specific to `buildPythonPackage`: When `__structuredAttrs = false`, the attribute `makeWrapperArgs` is passed as a space-separated string to the build script. Developers should use `prependToVar` or `appendToVar` to add arguments to it in build phases, or use `__structuredAttrs = true` to ensure that `makeWrapperArgs` is passed as a Bash array. For compatibility purposes, - when `makeWrapperArgs` shell variable is specified as a space-separated string (instead of a Bash array) in the build script, the string content is Bash-expanded before concatenated into the `wrapProgram` command. Still, developers should not rely on such behaviours, but use `__structuredAttrs = true` to specify flags containing spaces (e.g. `makeWrapperArgs = [ "--set" "GREETING" "Hello, world!" ]`), or use -pre and -post phases to specify flags with Bash-expansions (e.g. `preFixup = ''makeWrapperArgs+=(--prefix PATH : "$SOME_PATH")`''). + when `makeWrapperArgs` shell variable is specified as a space-separated string (instead of a Bash array) in the build script, the string content is Bash-expanded before concatenated into the `wrapProgram` command. Still, developers should not rely on such behaviours, but use `__structuredAttrs = true` to specify flags containing spaces (e.g. `makeWrapperArgs = [ "--set" "GREETING" "Hello, world!" ]`), or use -pre and -post phases to specify flags with Bash-expansions (e.g. `preFixup = ''makeWrapperArgs+=(--prefix PATH : "$SOME_PATH")''`). ::: * `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this diff --git a/maintainers/computed-team-list.nix b/maintainers/computed-team-list.nix index 7ee37f4283e3..543a6d216d37 100644 --- a/maintainers/computed-team-list.nix +++ b/maintainers/computed-team-list.nix @@ -12,48 +12,65 @@ let ]; maintainerSetToList = - githubTeam: - lib.mapAttrsToList ( - login: id: - maintainersById.${toString id} - or (throw "lib.teams: No maintainer entry for GitHub user @${login} who's part of the @NixOS/${githubTeam} team") - ); - -in -# TODO: Consider automatically exposing all GitHub teams under `lib.teams`, -# so that no manual PRs are necessary to add such teams anymore -lib.mapAttrs ( - name: attrs: - if attrs ? github then + githubTeam: users: let - githubTeam = - githubTeams.${attrs.github} - or (throw "lib.teams.${name}: Corresponding GitHub team ${attrs.github} not known yet, make sure to create it and wait for the regular team sync"); + missingUsers = lib.filter (login: !maintainersById ? ${toString users.${login}}) ( + lib.attrNames users + ); in - # TODO: Consider specifying `githubId` in team-list.nix and inferring `github` from it (or even dropping it) - # This would make renames easier because no additional place needs to keep track of them. - # Though in a future where all Nixpkgs GitHub teams are automatically exposed under `lib.teams`, - # this would also not be an issue anymore. - assert lib.assertMsg (!attrs ? githubId) - "lib.teams.${name}: Both `githubId` and `github` is set, but the former is synced from the latter"; - assert lib.assertMsg (!attrs ? shortName) - "lib.teams.${name}: Both `shortName` and `github` is set, but the former is synced from the latter"; - assert lib.assertMsg ( - !attrs ? scope - ) "lib.teams.${name}: Both `scope` and `github` is set, but the former is synced from the latter"; - assert lib.assertMsg ( - !attrs ? members - ) "lib.teams.${name}: Both `members` and `github` is set, but the former is synced from the latter"; - attrs - // { - githubId = githubTeam.id; - shortName = githubTeam.name; - scope = githubTeam.description; - members = - maintainerSetToList attrs.github githubTeam.maintainers - ++ maintainerSetToList attrs.github githubTeam.members; - githubMaintainers = maintainerSetToList attrs.github githubTeam.maintainers; - } - else - attrs -) teams + if missingUsers == [ ] then + lib.mapAttrsToList (login: id: maintainersById.${toString id}) users + else + { + errors = map ( + login: + "\n- No maintainer entry for GitHub user @${login} who's part of the @NixOS/${githubTeam} team" + ) missingUsers; + }; + + # TODO: Consider automatically exposing all GitHub teams under `lib.teams`, + # so that no manual PRs are necessary to add such teams anymore + result = lib.mapAttrs ( + name: attrs: + if attrs ? github then + let + githubTeam = + githubTeams.${attrs.github} + or (throw "lib.teams.${name}: Corresponding GitHub team ${attrs.github} not known yet, make sure to create it and wait for the regular team sync"); + maintainers = maintainerSetToList attrs.github githubTeam.maintainers; + nonMaintainers = maintainerSetToList attrs.github githubTeam.members; + in + # TODO: Consider specifying `githubId` in team-list.nix and inferring `github` from it (or even dropping it) + # This would make renames easier because no additional place needs to keep track of them. + # Though in a future where all Nixpkgs GitHub teams are automatically exposed under `lib.teams`, + # this would also not be an issue anymore. + assert lib.assertMsg (!attrs ? githubId) + "lib.teams.${name}: Both `githubId` and `github` is set, but the former is synced from the latter"; + assert lib.assertMsg (!attrs ? shortName) + "lib.teams.${name}: Both `shortName` and `github` is set, but the former is synced from the latter"; + assert lib.assertMsg ( + !attrs ? scope + ) "lib.teams.${name}: Both `scope` and `github` is set, but the former is synced from the latter"; + assert lib.assertMsg ( + !attrs ? members + ) "lib.teams.${name}: Both `members` and `github` is set, but the former is synced from the latter"; + if !maintainers ? errors && !nonMaintainers ? errors then + attrs + // { + githubId = githubTeam.id; + shortName = githubTeam.name; + scope = githubTeam.description; + members = maintainers ++ nonMaintainers; + githubMaintainers = maintainers; + } + else + maintainers.errors or [ ] ++ nonMaintainers.errors or [ ] + else + attrs + ) teams; + + errors = lib.concatLists ( + lib.mapAttrsToList (name: value: value) (lib.filterAttrs (name: lib.isList) result) + ); +in +if errors == [ ] then result else throw ("lib.teams:" + lib.concatStrings errors) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2824b32dccf9..29df4d5cdc6d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1832,6 +1832,13 @@ githubId = 6091755; name = "Anirrudh Krishnan"; }; + anish = { + email = "i@anish.land"; + github = "ap-1"; + githubId = 67872951; + name = "Anish Pallati"; + keys = [ { fingerprint = "2A0A 16F5 E026 BE3B A47F B7A6 841A FB68 9A5B ACCB"; } ]; + }; ankhers = { email = "me@ankhers.dev"; github = "ankhers"; diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 6ac6888d206e..90f7b5c80947 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -97,6 +97,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh +- Cinnamon has been updated to 6.6, please check the [upstream announcement](https://www.linuxmint.com/rel_zena_whatsnew.php) for more details. + - `services.frp` now supports multiple instances through `services.frp.instances` to make it possible to run multiple frp clients or servers at the same time. - `services.openssh` now supports generating host SSH keys by setting `services.openssh.generateHostKeys = true` while leaving `services.openssh.enable` disabled. This is particularly useful for systems that have no need of an SSH daemon but want SSH host keys for other purposes such as using agenix or sops-nix. diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix index 9cb29c65ea98..58d6a4f8e569 100644 --- a/nixos/modules/services/hardware/tlp.nix +++ b/nixos/modules/services/hardware/tlp.nix @@ -172,6 +172,12 @@ in # won't fail due to the save dir not existing. serviceConfig.StateDirectory = "tlp"; }; + + services.tlp-pd = lib.mkIf cfg.pd.enable { + # have to define again because [Install] in included file not honored + # https://github.com/NixOS/nixpkgs/issues/81138 + wantedBy = [ "graphical.target" ]; + }; }; }; } diff --git a/nixos/tests/web-servers/llama-swap.nix b/nixos/tests/web-servers/llama-swap.nix index 698b562515ad..90766b74c1ed 100644 --- a/nixos/tests/web-servers/llama-swap.nix +++ b/nixos/tests/web-servers/llama-swap.nix @@ -55,6 +55,10 @@ in llama-server = lib.getExe' llama-cpp "llama-server"; in { + # more useful logging output + logLevel = "debug"; + logToStdout = "both"; + hooks.on_startup.preload = [ "smollm2" ]; @@ -62,14 +66,14 @@ in models = { "smollm2" = { ttl = 10; - cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9"; + cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --alias smollm2 --no-webui --temp 0.2 --top-k 9"; }; "smollm2-group-1" = { - cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9 -c 1024"; + cmd = "${llama-server} --port \${PORT} -m ${smollm2-135m} --alias smollm2-group-1 --no-webui --temp 0.2 --top-k 9 -c 1024"; }; "smollm2-group-2" = { proxy = "http://127.0.0.1:5802"; - cmd = "${llama-server} --port 5802 -m ${smollm2-135m} --no-webui --temp 0.2 --top-k 9 -c 1024"; + cmd = "${llama-server} --port 5802 -m ${smollm2-135m} --alias smollm2-group-2 --no-webui --temp 0.2 --top-k 9 -c 1024"; }; }; groups = { @@ -115,7 +119,6 @@ in '-s', '--fail', '-H "Content-Type: application/json"', - '-H "Authorization: Bearer no-key"', "-d '{d}'".format(d=json.dumps(data)) ] return json.loads(machine.succeed('curl {args} http://localhost:8080{route}'.format(args=" ".join(args), route=route))) @@ -127,7 +130,8 @@ in machine.succeed('curl --fail http:/localhost:8080/ui/') with subtest('check is healthy'): - machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/health | grep "OK"') + response_healthy = machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/health') + assert 'OK' in response_healthy, '/health was not OK' '' + lib.optionalString useSmollm2-135m '' @@ -135,10 +139,10 @@ in with subtest('check `/running` for preloaded smollm2'): machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/running | grep "smollm2"') running_response = get_json('/running') - assert len(running_response['running']) == 1 + assert len(running_response['running']) == 1, f'running doesn\'t have one entry as expected: {running_response}' running_model = running_response['running'][0] - assert running_model['model'] == 'smollm2' - assert running_model['state'] == 'ready' + assert running_model['model'] == 'smollm2', f'running model is not smollm2: {running_response}' + assert running_model['state'] == 'ready', f'running smollm2 is not ready: {running_response}' with subtest('runs smollm2'): response = None @@ -155,31 +159,30 @@ in response = post_json('/v1/chat/completions', data) with subtest('response is from smollm2'): - assert response['model'] == 'smollm2' + assert response['model'] == 'smollm2', f'response was not from smollm2: {response['model']}' with subtest('response contains at least one item in "choices"'): - assert len(response['choices']) >= 1 + assert len(response['choices']) >= 1, f'response had no choices: {response}' assistant_choices = None with subtest('response contains at least one "assistant" message'): assistant_choices = [c for c in response['choices'] if c['message']['role'] == 'assistant'] - assert len(assistant_choices) >= 1 + assert len(assistant_choices) >= 1, f'response had no assistant message: {response}' with subtest('first message (lowercase) starts with "hello"'): - assert assistant_choices[0]['message']['content'].lower()[:5] == 'hello' + assert assistant_choices[0]['message']['content'].lower()[:5] == 'hello', f'response didn\'t start with hello: {response}' with subtest('check `/running` for just smollm2'): running_response = get_json('/running') - assert len(running_response['running']) == 1 + assert len(running_response['running']) == 1, f'running doesn\'t have one entry as expected: {running_response}' running_model = running_response['running'][0] - assert running_model['model'] == 'smollm2' - assert running_model['state'] == 'ready' + assert running_model['model'] == 'smollm2', f'running model is not smollm2: {running_response}' + assert running_model['state'] == 'ready', f'running smollm2 is not ready: {running_response}' with subtest('check `/running` for smollm2 to timeout'): - machine.succeed('curl --silent --fail http://localhost:8080/running | grep "smollm2"') machine.wait_until_succeeds('curl --silent --fail http://localhost:8080/running | grep -v "smollm2"', timeout=11) running_response = get_json('/running') - assert len(running_response['running']) == 0 + assert len(running_response['running']) == 0, "smollm2 was still running after timeout" with subtest('runs smollm2-group-1 and smollm2-group-2'): response_1 = None @@ -196,25 +199,25 @@ in response_1 = post_json('/v1/chat/completions', data) with subtest('response 1 is from smollm2-group-1'): - assert response_1['model'] == 'smollm2-group-1' + assert response_1['model'] == 'smollm2-group-1', f'response was not from smollm2-group-1: {response_1['model']}' with subtest('response 1 contains at least one item in "choices"'): - assert len(response['choices']) >= 1 + assert len(response_1['choices']) >= 1, f'response had no choices: {response_1}' assistant_choices_1 = None with subtest('response 1 contains at least one "assistant" message'): assistant_choices_1 = [c for c in response_1['choices'] if c['message']['role'] == 'assistant'] - assert len(assistant_choices_1) >= 1 + assert len(assistant_choices_1) >= 1, f'response had no assistant message: {response_1}' with subtest('first message (lowercase) in response 1 starts with "hello"'): - assert assistant_choices_1[0]['message']['content'].lower()[:5] == 'hello' + assert assistant_choices_1[0]['message']['content'].lower()[:5] == 'hello', f'response didn\'t start with hello: {response_1}' with subtest('check `/running` for just smollm2-group-1'): running_response = get_json('/running') - assert len(running_response['running']) == 1 + assert len(running_response['running']) == 1, f'running doesn\'t have one entry as expected: {running_response}' running_model = running_response['running'][0] - assert running_model['model'] == 'smollm2-group-1' - assert running_model['state'] == 'ready' + assert running_model['model'] == 'smollm2-group-1', f'running model is not smollm2-group-1: {running_response}' + assert running_model['state'] == 'ready', f'running smollm2-group-1 is not ready: {running_response}' response_2 = None with subtest('send request to smollm2-group-2'): @@ -230,29 +233,29 @@ in response_2 = post_json('/v1/chat/completions', data) with subtest('response 2 is from smollm2-group-2'): - assert response_2['model'] == 'smollm2-group-2' + assert response_2['model'] == 'smollm2-group-2', f'response was not from smollm2-group-2: {response_2['model']}' with subtest('response 2 contains at least one item in "choices"'): - assert len(response['choices']) >= 1 + assert len(response_2['choices']) >= 1, f'response had no choices: {response_2}' assistant_choices_2 = None with subtest('response 2 contains at least one "assistant" message'): assistant_choices_2 = [c for c in response_2['choices'] if c['message']['role'] == 'assistant'] - assert len(assistant_choices_2) >= 1 + assert len(assistant_choices_2) >= 1, f'response had no assistant message: {response_2}' with subtest('first message (lowercase) in response 1 starts with "hello"'): - assert assistant_choices_2[0]['message']['content'].lower()[:5] == 'hello' + assert assistant_choices_2[0]['message']['content'].lower()[:5] == 'hello', f'response didn\'t start with hello: {response_2}' with subtest('check `/running` for both smollm2-group-1 and smollm2-group-2'): running_response = get_json('/running')['running'] - assert len(running_response) == 2 + assert len(running_response) == 2, 'expected both in smollm2 group to be running' assert len([ rm for rm in running_response if rm['state'] == 'ready' and rm['model'] == 'smollm2-group-1' - ]) == 1 + ]) == 1, f'smollm2-group-1 not in running group and ready {running_response}' assert len([ rm for rm in running_response if rm['state'] == 'ready' and rm['model'] == 'smollm2-group-2' - ]) == 1 + ]) == 1, f'smollm2-group-2 not in running group and ready {running_response}' ''; } diff --git a/pkgs/by-name/al/all-the-package-names/package.nix b/pkgs/by-name/al/all-the-package-names/package.nix index bb24fc97bcbf..7724e840b9c5 100644 --- a/pkgs/by-name/al/all-the-package-names/package.nix +++ b/pkgs/by-name/al/all-the-package-names/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "all-the-package-names"; - version = "2.0.2315"; + version = "2.0.2321"; src = fetchFromGitHub { owner = "nice-registry"; repo = "all-the-package-names"; tag = "v${version}"; - hash = "sha256-kVTwrxvNBRVuovgnfjBktgBXgP9tYfl+ivYyS10bPdM="; + hash = "sha256-wkgVhmzfI15GFZ1YDI0MYGdfFIzyfd3ob949kyWA8N4="; }; - npmDepsHash = "sha256-iizozowyq1mVJWLKIC8EPoRX4c1YdyVVWuhLtadNDYI="; + npmDepsHash = "sha256-mikgLEfjusRvmOMjdeENRtC+Vi+yV9zwBIqu3IbLY8A="; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ch/changedetection-io/package.nix b/pkgs/by-name/ch/changedetection-io/package.nix index 2635335406ff..1ce916a303b6 100644 --- a/pkgs/by-name/ch/changedetection-io/package.nix +++ b/pkgs/by-name/ch/changedetection-io/package.nix @@ -57,6 +57,7 @@ python3.pkgs.buildPythonApplication rec { openpyxl paho-mqtt panzi-json-logic + playwright pluggy price-parser psutil diff --git a/pkgs/by-name/ch/chroma/package.nix b/pkgs/by-name/ch/chroma/package.nix index e2a2039a542a..42a9a9943b18 100644 --- a/pkgs/by-name/ch/chroma/package.nix +++ b/pkgs/by-name/ch/chroma/package.nix @@ -10,7 +10,7 @@ in buildGoModule rec { pname = "chroma"; - version = "2.20.0"; + version = "2.22.0"; # To update: # nix-prefetch-git --rev v${version} https://github.com/alecthomas/chroma.git > src.json @@ -21,7 +21,7 @@ buildGoModule rec { inherit (srcInfo) sha256; }; - vendorHash = "sha256-GiaVgqhhrexSnBWVtQ+/cwdykHVDxR95BFMkrH1s+8Q="; + vendorHash = "sha256-kzlXrIMSa5C4UFt+BiMh6NedelQG49OxYbreeWhCb80="; modRoot = "./cmd/chroma"; diff --git a/pkgs/by-name/ch/chroma/src.json b/pkgs/by-name/ch/chroma/src.json index c705d660c1cb..2ae37368251d 100644 --- a/pkgs/by-name/ch/chroma/src.json +++ b/pkgs/by-name/ch/chroma/src.json @@ -1,13 +1,14 @@ { "url": "https://github.com/alecthomas/chroma.git", - "rev": "303b65df3f2d2151cee24bcf9f9b625db474ef51", - "date": "2025-08-04T13:55:06+10:00", - "path": "/nix/store/1f8p33h1srs9knj6sn6mc5rf0wcybf4g-chroma", - "sha256": "05w4hnfcxqdlsz7mkc0m3jbp1aj67wzyhq5jh8ldfgnyjnlafia3", - "hash": "sha256-Q0WnqJXePtcogrJg6D8/RqpwlxwVsFnP17ThzpyFhBc=", + "rev": "467c878aa553cdb4b0d486a534ea744f6ac7ef5e", + "date": "2026-01-10T09:37:30+11:00", + "path": "/nix/store/qkfgjvpw8j5rkfgh687kxzkv8ac9apba-chroma", + "sha256": "1wlvxxlbwaq963rkr9fwxc6qwa77m49icq2gdzf46w7wdc3cygpm", + "hash": "sha256-9T7PBmv8cEPcb09gFhOp5yiODevcpTzzMAkrvmjvm/I=", "fetchLFS": false, "fetchSubmodules": false, "deepClone": false, "fetchTags": false, - "leaveDotGit": false + "leaveDotGit": false, + "rootDir": "" } diff --git a/pkgs/by-name/cn/cnijfilter2/bool.patch b/pkgs/by-name/cn/cnijfilter2/bool.patch new file mode 100644 index 000000000000..77e64c9a06a8 --- /dev/null +++ b/pkgs/by-name/cn/cnijfilter2/bool.patch @@ -0,0 +1,11 @@ +--- a/lgmon3/src/common/libcnnet2_type.h ++++ b/lgmon3/src/common/libcnnet2_type.h +@@ -48,7 +48,7 @@ + } CNNET2_SETTING_FLAGS; + + #ifndef __cplusplus +-typedef char bool; ++#include + #endif + + typedef struct { diff --git a/pkgs/by-name/cn/cnijfilter2/package.nix b/pkgs/by-name/cn/cnijfilter2/package.nix index aca035cd916f..f3c6b3e1fec2 100644 --- a/pkgs/by-name/cn/cnijfilter2/package.nix +++ b/pkgs/by-name/cn/cnijfilter2/package.nix @@ -1,174 +1,161 @@ { - stdenv, - lib, - fetchzip, autoconf, automake, + autoPatchelfHook, cups, + fetchpatch2, + fetchzip, glib, - libxml2, - libusb1, + lib, libtool, - withDebug ? false, + libusb1, + libxml2, + stdenv, }: - +let + blobDir = "com/libs_bin_${stdenv.hostPlatform.uname.processor}"; +in stdenv.mkDerivation { pname = "cnijfilter2"; - - version = "6.40"; + version = "6.90-1"; src = fetchzip { - url = "https://gdlp01.c-wss.com/gds/1/0100011381/01/cnijfilter2-source-6.40-1.tar.gz"; - sha256 = "3RoG83jLOsdTEmvUkkxb7wa8oBrJA4v1mGtxTGwSowU="; + url = "https://gdlp01.c-wss.com/gds/9/0100012819/01/cnijfilter2-source-6.90-1.tar.gz"; + hash = "sha256-kvMEC2IR448JAM8unoLzF01GDlWhTSk/gi6giHI0u0E="; }; + patches = [ + ./stdlib.patch + ./bool.patch + + # See: + # - https://github.com/NixOS/nixpkgs/pull/180681#issuecomment-1192304711 + # - https://bugs.gentoo.org/723186 + (fetchpatch2 { + url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/net-print/cnijfilter2/files/cnijfilter2-5.80-fno-common.patch?id=24688d64544b43f2c14be54531ad8764419dde09"; + hash = "sha256-ygAfS68100ducWsxeA2Q2eoE8cBFMVO7KiXn/RGIHFw="; + }) + ]; + nativeBuildInputs = [ automake autoconf - ]; - buildInputs = [ - cups + autoPatchelfHook glib - libxml2 - libusb1 libtool ]; - patches = [ - ./patches/get_protocol.patch - ./patches/add_missing_import.patch + buildInputs = [ + cups + libusb1 + libxml2 ]; - # lgmon3's --enable-libdir flag is used solely for specifying in which - # directory the cnnnet.ini cache file should reside. - # NixOS uses /var/cache/cups, and given the name, it seems like a reasonable - # place to put the cnnet.ini file, and thus we do so. - # - # Note that the drivers attempt to dlopen - # $out/lib/cups/filter/libcnbpcnclapicom2.so + postPatch = '' + substituteInPlace lgmon3/src/Makefile.am \ + --replace-fail /usr/include/libusb-1.0 ${lib.getDev libusb1}/include/libusb-1.0 + ''; + + preConfigure = '' + for i in cmdtocanonij2 cmdtocanonij3 cnijbe2 lgmon3 rastertocanonij tocanonij tocnpwg; do + cd $i + env NOCONFIGURE=1 ./autogen.sh + cd .. + done + ''; + + configurePhase = '' + runHook preConfigure + for i in cmdtocanonij2 cmdtocanonij3 cnijbe2 lgmon3 rastertocanonij tocanonij tocnpwg; do + cd $i + configureFlags="--build=${stdenv.buildPlatform.config}" + configureFlags="$configureFlags --host=${stdenv.hostPlatform.config}" + configureFlags="$configureFlags --target=${stdenv.targetPlatform.config}" + configureFlags="$configureFlags --prefix=$out --disable-dependency-tracking --disable-static" + if [ $i = cnijbe2 -o $i = lgmon3 -o $i = rastertocanonij ]; then + configureFlags="$configureFlags --enable-progpath=$out/bin" + fi + if [ $i = lgmon3 ]; then + # lgmon3's --enable-libdir flag is used solely for specifying in which + # directory the cnnnet.ini cache file should reside. + # NixOS uses /var/cache/cups, and given the name, it seems like a reasonable + # place to put the cnnet.ini file, and thus we do so. + configureFlags="$configureFlags --enable-libpath=/var/cache/cups" + fi + ./configure $configureFlags + cd .. + done + runHook postConfigure + ''; + buildPhase = '' - mkdir -p $out/lib - cp com/libs_bin_x86_64/* $out/lib - mkdir -p $out/lib/cups/filter - ln -s $out/lib/libcnbpcnclapicom2.so $out/lib/cups/filter - - export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib" - '' - + lib.optionalString withDebug '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -D__DEBUG__ -DDEBUG_LOG" - '' - + '' - - ( - cd lgmon3 - substituteInPlace src/Makefile.am \ - --replace /usr/include/libusb-1.0 \ - ${libusb1.dev}/include/libusb-1.0 - ./autogen.sh --prefix=$out --enable-progpath=$out/bin \ - --datadir=$out/share \ - --enable-libdir=/var/cache/cups + runHook preBuild + for i in cmdtocanonij2 cmdtocanonij3 cnijbe2 lgmon3 rastertocanonij tocanonij tocnpwg; do + cd $i make - ) - - ( - cd cmdtocanonij2 - ./autogen.sh --prefix=$out - make - ) - - ( - cd cmdtocanonij3 - ./autogen.sh --prefix=$out - make - ) - - ( - cd cnijbe2 - substituteInPlace src/Makefile.am \ - --replace "/usr/lib/cups/backend" \ - "$out/lib/cups/backend" - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( - cd rastertocanonij - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( - cd tocanonij - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( - cd tocnpwg - ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) + cd .. + done + runHook postBuild ''; installPhase = '' - ( - cd lgmon3 + runHook preInstall + for i in cmdtocanonij2 cmdtocanonij3 cnijbe2 lgmon3 rastertocanonij tocanonij tocnpwg; do + cd $i make install - ) - - ( - cd cmdtocanonij2 - make install - ) - - ( - cd cmdtocanonij3 - make install - ) - - ( - cd cnijbe2 - make install - ) - - ( - cd rastertocanonij - make install - ) - - ( - cd tocanonij - make install - ) - - ( - cd tocnpwg - make install - ) - - mkdir -p $out/share/cups/model - cp ppd/*.ppd $out/share/cups/model + cd .. + done + runHook postInstall ''; + postInstall = '' + install -Dm755 -t $out/lib ${blobDir}/* + install -Dm644 -t $out/share/cups/model ppd/*.ppd + ''; + + runtimeDependencies = [ (placeholder "out") ]; + + env = { + NIX_CFLAGS_COMPILE = "-I${lib.getDev libxml2}/include/libxml2"; + NIX_LDFLAGS = "-L../../${blobDir}"; + }; + meta = { description = "Canon InkJet printer drivers for many Pixma series printers"; longDescription = '' - Canon InjKet printer drivers for series E200, E300, E3100, E3300, E4200, E450, E470, E480, - G3000, G3010, G4000, G4010, G5000, G5080, G6000, G6050, G6080, G7000, G7050, G7080, GM2000, - GM2080, GM4000, GM4080, iB4000, iB4100, iP110, MB2000, MB2100, MB2300, MB2700, MB5000, - MB5100, MB5300, MB5400, MG2900, MG3000, MG3600, MG5600, MG5700, MG6600, MG6700, MG6800, - MG6900, MG7500, MG7700, MX490, TR4500, TR703, TR7500, TR7530, TR8500, TR8530, TR8580, TR9530, - TS200, TS300, TS3100, TS3300, TS5000, TS5100, TS5300, TS5380, TS6000, TS6100, TS6130, TS6180, - TS6200, TS6230, TS6280, TS6300, TS6330, TS6380, TS700, TS708, TS7330, TS8000, TS8100, TS8130, - TS8180, TS8200, TS8230, TS8280, TS8300, TS8330, TS8380, TS9000, TS9100, TS9180, TS9500, - TS9580, XK50, XK60, XK70, XK80. + Canon InkJet printer drivers for series BX110, E200, E300, E460, E470, + E480, E3100, E3300, E3400, E3600, E4200, E4500, G500, G600, G1020, G1030, + G2020, G2030, G2060, G2070, G3000, G3010, G3020, G3030, G3060, G3070, + G3080, G3090, G4000, G4010, G4070, G4080, G4090, G5000, G5080, G6000, + G6080, G7000, G7080, GM2000, GM2080, GM4000, GM4080, GX1000, GX2000, + GX3000, GX4000, GX4000i, GX5000, GX5100, GX5500, GX6000, GX6100, GX6500, + GX7000, GX7100, GX7100i, iB4000, iB4100, iP110, MB2000, MB2100, MB2300, + MB2700, MB5000, MB5100, MB5300, MB5400, MG2900, MG3000, MG3600, MG5600, + MG5700, MG6600, MG6800, MG6900, MG7500, MG7700, MX490, TR150, TR160, + TR703, TR4500, TR4600, TR4700, TR7000, TR7100, TR7500, TR7530, TR7600, + TR7800, TR8500, TR8530, TR8580, TR8600, TR8630, TR9530, TS200, TS300, + TS700, TS708, TS2400, TS2600, TS3100, TS3300, TS3400, TS3500, TS3600, + TS3700, TS4000, TS4100i, TS4300, TS5000, TS5100, TS5300, TS5350i, TS5380, + TS5400, TS5500, TS5630, TS6000, TS6100, TS6130, TS6180, TS6200, TS6230, + TS6280, TS6300, TS6330, TS6380, TS6400, TS6500, TS6500i, TS6630, TS6730, + TS7330, TS7400, TS7430, TS7450i, TS7500i, TS7530, TS7600i, TS7630, TS7700, + TS7700A, TS7700i, TS8000, TS8100, TS8130, TS8180, TS8200, TS8230, TS8280, + TS8300, TS8330, TS8380, TS8430, TS8530, TS8630, TS8700, TS8800, TS8930, + TS9000, TS9100, TS9180, TS9500, TS9580, XK50, XK60, XK70, XK80, XK90, + XK100, XK110, XK120, XK130, XK140, XK500, XK510. ''; - homepage = "https://hk.canon/en/support/0101048401/1"; + downloadPage = "https://hk.canon/en/support/0101281901"; license = lib.licenses.unfree; + sourceProvenance = with lib.sourceTypes; [ + fromSource + binaryNativeCode + ]; + maintainers = with lib.maintainers; [ prince213 ]; platforms = [ + "aarch64-linux" "i686-linux" + "mips64el-linux" "x86_64-linux" ]; - maintainers = [ ]; }; } diff --git a/pkgs/by-name/cn/cnijfilter2/patches/get_protocol.patch b/pkgs/by-name/cn/cnijfilter2/patches/get_protocol.patch deleted file mode 100644 index 18cb1ce1d014..000000000000 --- a/pkgs/by-name/cn/cnijfilter2/patches/get_protocol.patch +++ /dev/null @@ -1,14 +0,0 @@ -# Resolves the compilation issue reported at https://github.com/NixOS/nixpkgs/pull/180681#issuecomment-1192304711 -# An identical issue was previously reported in Gentoo: https://bugs.gentoo.org/723186 -# This patch is taken from the solution of Alfredo Tupone (https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24688d64544b43f2c14be54531ad8764419dde09) ---- a/lgmon3/src/cnijlgmon3.c 2022-07-22 12:44:32.194641628 +0100 -+++ b/lgmon3/src/cnijlgmon3.c 2022-07-22 12:43:53.954817724 +0100 -@@ -55,7 +55,7 @@ - int (*GET_STATUS)(char *, int, int *, int * , char *); - int (*GET_STATUS2)(char *, int, char *, int *, int * , char *, char *); - int (*GET_STATUS2_MAINTENANCE)(char *, int, char *, int *, int * , char *, char *); --int (*GET_PROTOCOL)(char *, size_t); -+static int (*GET_PROTOCOL)(char *, size_t); - - - int main(int argc, char *argv[]) diff --git a/pkgs/by-name/cn/cnijfilter2/patches/add_missing_import.patch b/pkgs/by-name/cn/cnijfilter2/stdlib.patch similarity index 70% rename from pkgs/by-name/cn/cnijfilter2/patches/add_missing_import.patch rename to pkgs/by-name/cn/cnijfilter2/stdlib.patch index 298416e27706..abd9107580c2 100644 --- a/pkgs/by-name/cn/cnijfilter2/patches/add_missing_import.patch +++ b/pkgs/by-name/cn/cnijfilter2/stdlib.patch @@ -1,5 +1,3 @@ -diff --git a/lgmon3/src/keytext.c b/lgmon3/src/keytext.c -index 8c15ff8..b80bbe5 100644 --- a/lgmon3/src/keytext.c +++ b/lgmon3/src/keytext.c @@ -37,6 +37,7 @@ diff --git a/pkgs/by-name/di/dioxus-cli/package.nix b/pkgs/by-name/di/dioxus-cli/package.nix index 8464548ca211..d3be3f661a3d 100644 --- a/pkgs/by-name/di/dioxus-cli/package.nix +++ b/pkgs/by-name/di/dioxus-cli/package.nix @@ -6,7 +6,8 @@ cacert, openssl, rustfmt, - nix-update-script, + makeWrapper, + wasm-bindgen-cli_0_2_106, testers, dioxus-cli, withTelemetry ? false, @@ -35,6 +36,7 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ pkg-config cacert + makeWrapper ]; buildInputs = [ @@ -53,7 +55,6 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; passthru = { - updateScript = nix-update-script { }; tests = { version = testers.testVersion { package = dioxus-cli; @@ -65,6 +66,11 @@ rustPlatform.buildRustPackage (finalAttrs: { }; }; + postInstall = '' + wrapProgram $out/bin/dx \ + --prefix PATH : ${lib.makeBinPath [ wasm-bindgen-cli_0_2_106 ]} + ''; + meta = { description = "CLI for building fullstack web, desktop, and mobile apps with a single codebase."; homepage = "https://dioxus.dev"; @@ -75,6 +81,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; maintainers = with lib.maintainers; [ cathalmullan + anish ]; platforms = lib.platforms.all; mainProgram = "dx"; diff --git a/pkgs/by-name/ed/edl/package.nix b/pkgs/by-name/ed/edl/package.nix index 0f3dbe007739..96d19870e9dd 100644 --- a/pkgs/by-name/ed/edl/package.nix +++ b/pkgs/by-name/ed/edl/package.nix @@ -23,8 +23,7 @@ python3Packages.buildPythonPackage { pyusb pyserial docopt - pylzma - pycryptodome + pycryptodomex lxml colorama capstone diff --git a/pkgs/by-name/go/google-chat-linux/package.nix b/pkgs/by-name/go/google-chat-linux/package.nix index b64012899c98..180ce9dca571 100644 --- a/pkgs/by-name/go/google-chat-linux/package.nix +++ b/pkgs/by-name/go/google-chat-linux/package.nix @@ -5,20 +5,21 @@ fetchFromGitHub, lib, makeDesktopItem, + nix-update-script, }: buildNpmPackage rec { pname = "google-chat-linux"; - version = "5.29.23-1"; + version = "5.39.24-1"; src = fetchFromGitHub { owner = "squalou"; repo = "google-chat-linux"; tag = version; - hash = "sha256-JBjxZUs0HUgAkJJBYhNv2SHjpBtAcP09Ah4ATPwpZsQ="; + hash = "sha256-yQBnqGyTCUr/t+PCCSTsUhKvlT5wV/F/OvCXrgeiceA="; }; - npmDepsHash = "sha256-7lKWbXyDpYh1sP9LAV/oA7rfpckSbIucwKT21vBrJ3Y="; + npmDepsHash = "sha256-8eZAn8zIDcMDKi30AiG1di4T/3xVoCewJ/e4qf7n9nY="; dontNpmBuild = true; nativeBuildInputs = [ @@ -56,6 +57,8 @@ buildNpmPackage rec { }) ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Electron-base client for Google Hangouts Chat"; homepage = "https://github.com/squalou/google-chat-linux"; diff --git a/pkgs/by-name/ju/just/package.nix b/pkgs/by-name/ju/just/package.nix index 1182233cdd95..9be4d7dfc50a 100644 --- a/pkgs/by-name/ju/just/package.nix +++ b/pkgs/by-name/ju/just/package.nix @@ -17,7 +17,7 @@ withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: let - version = "1.45.0"; + version = "1.46.0"; in rustPlatform.buildRustPackage { inherit version; @@ -34,10 +34,10 @@ rustPlatform.buildRustPackage { owner = "casey"; repo = "just"; tag = version; - hash = "sha256-D+xMPpn8JLX88eIO9zY051K81KPGBhcFvhBIwuTDymk="; + hash = "sha256-NE54LKS2bYBfQL+yLJPaG4iF7EiJfDqBfnsrlPo1+OE="; }; - cargoHash = "sha256-zokI+mWyI/HmzP7GuO59usEsscl3tpeyhNT2tXmLny8="; + cargoHash = "sha256-yyaJAWp6luizA/aQuUGhdxRX2Ofri4CeLIO3/ndSCzc="; nativeBuildInputs = lib.optionals (installShellCompletions || installManPages) [ installShellFiles ] diff --git a/pkgs/by-name/li/libedgetpu/cstdint.patch b/pkgs/by-name/li/libedgetpu/cstdint.patch new file mode 100644 index 000000000000..a27eb2ba1125 --- /dev/null +++ b/pkgs/by-name/li/libedgetpu/cstdint.patch @@ -0,0 +1,13 @@ +diff --git a/driver/usb/usb_device_interface.h b/driver/usb/usb_device_interface.h +index 238bca9..54f2f6e 100644 +--- a/driver/usb/usb_device_interface.h ++++ b/driver/usb/usb_device_interface.h +@@ -15,6 +15,8 @@ + #ifndef DARWINN_DRIVER_USB_USB_DEVICE_INTERFACE_H_ + #define DARWINN_DRIVER_USB_USB_DEVICE_INTERFACE_H_ + ++#include ++ + #include "port/array_slice.h" + #include "port/integral_types.h" + #include "port/status.h" diff --git a/pkgs/by-name/li/libedgetpu/package.nix b/pkgs/by-name/li/libedgetpu/package.nix index ef4e2368ea42..fc5911ffb120 100644 --- a/pkgs/by-name/li/libedgetpu/package.nix +++ b/pkgs/by-name/li/libedgetpu/package.nix @@ -42,6 +42,7 @@ stdenv.mkDerivation { hash = "sha256-mMODpQmikfXtsQvtgh26cy97EiykYNLngSjidOBt/3I="; }) ./fix-abseil-20250512.0.patch + ./cstdint.patch ]; postPatch = '' diff --git a/pkgs/by-name/li/libvpx/package.nix b/pkgs/by-name/li/libvpx/package.nix index 3887adeddd39..f1c99103a243 100644 --- a/pkgs/by-name/li/libvpx/package.nix +++ b/pkgs/by-name/li/libvpx/package.nix @@ -84,6 +84,8 @@ let "arm64" else if stdenv.hostPlatform.isx86_32 then "x86" + else if (stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian) then + "ppc64le" else stdenv.hostPlatform.parsed.cpu.name; @@ -97,7 +99,10 @@ let stdenv.hostPlatform.parsed.kernel.name; isGeneric = - (stdenv.hostPlatform.isPower && stdenv.hostPlatform.isLittleEndian) + ( + stdenv.hostPlatform.isPower + && !(stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian) + ) || stdenv.hostPlatform.parsed.cpu.name == "armv6l" || stdenv.hostPlatform.isLoongArch64 || stdenv.hostPlatform.isRiscV; diff --git a/pkgs/by-name/ll/llama-swap/package.nix b/pkgs/by-name/ll/llama-swap/package.nix index 113cadfe5cca..49fe455bdfef 100644 --- a/pkgs/by-name/ll/llama-swap/package.nix +++ b/pkgs/by-name/ll/llama-swap/package.nix @@ -17,7 +17,7 @@ let in buildGoModule (finalAttrs: { pname = "llama-swap"; - version = "176"; + version = "182"; outputs = [ "out" @@ -28,7 +28,7 @@ buildGoModule (finalAttrs: { owner = "mostlygeek"; repo = "llama-swap"; tag = "v${finalAttrs.version}"; - hash = "sha256-nfkuaiEITOmpkiLft3iNW1VUexHwZ36c8gwcQKGANbQ="; + hash = "sha256-w/VQS8uCpgniwLiJsH/8IG/AGasRxjCv7fADTfpvWLw="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -41,7 +41,7 @@ buildGoModule (finalAttrs: { ''; }; - vendorHash = "sha256-/EbFyuCVFxHTTO0UwSV3B/6PYUpudxB2FD8nNx1Bb+M="; + vendorHash = "sha256-XiDYlw/byu8CWvg4KSPC7m8PGCZXtp08Y1velx4BR8U="; passthru.ui = callPackage ./ui.nix { llama-swap = finalAttrs.finalPackage; }; diff --git a/pkgs/by-name/ma/magic-vlsi/package.nix b/pkgs/by-name/ma/magic-vlsi/package.nix index 284220fc2ca2..1aa95871a0b4 100644 --- a/pkgs/by-name/ma/magic-vlsi/package.nix +++ b/pkgs/by-name/ma/magic-vlsi/package.nix @@ -87,7 +87,8 @@ stdenv.mkDerivation rec { install_name_tool -add_rpath ${mesa_glu.out}/lib $out/lib/magic/tcl/magicexec ''; - env.NIX_CFLAGS_COMPILE = "-Wno-implicit-function-declaration"; + # gnu89 is needed for GCC 15 that is more strict about K&R style prototypes + env.NIX_CFLAGS_COMPILE = "-std=gnu89 -Wno-implicit-function-declaration"; env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-headerpad_max_install_names"; meta = { diff --git a/pkgs/by-name/md/mdbook-variables/package.nix b/pkgs/by-name/md/mdbook-variables/package.nix index d25c13ed3643..f99b4d6a959c 100644 --- a/pkgs/by-name/md/mdbook-variables/package.nix +++ b/pkgs/by-name/md/mdbook-variables/package.nix @@ -6,16 +6,16 @@ }: rustPlatform.buildRustPackage rec { pname = "mdbook-variables"; - version = "0.2.4"; + version = "0.4.0"; src = fetchFromGitLab { owner = "tglman"; repo = "mdbook-variables"; rev = version; - hash = "sha256-whvRCV1g2avKegfQpMgYi+E6ETxT2tQqVS2SWRpAqF8="; + hash = "sha256-zverdL4Mrnn/8pxQk6qVyidPJNxnrmaETt+XTp64Rns="; }; - cargoHash = "sha256-WLHXeYNfALa7GfFAHEO9PAlFKB2lbDefgAYCn6G0U6Y="; + cargoHash = "sha256-/zp5Qj2NUVpQqKAFgQP4QatYzg/hMJQE08ANacvNPko="; nativeInstallCheckInputs = [ versionCheckHook diff --git a/pkgs/by-name/mp/mpv/scripts/mpris.nix b/pkgs/by-name/mp/mpv/scripts/mpris.nix index 7d488c7e66fd..a2a661fed9cc 100644 --- a/pkgs/by-name/mp/mpv/scripts/mpris.nix +++ b/pkgs/by-name/mp/mpv/scripts/mpris.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "mpv-mpris"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "hoyon"; repo = "mpv-mpris"; rev = version; - hash = "sha256-vZIO6ILatIWa9nJYOp4AMKwvaZLahqYWRLMDOizyBI0="; + hash = "sha256-Q2kNaXZtI6U+x2f00x5CiHZq4o64xFTNC/3W4IiP0+4="; }; passthru.updateScript = gitUpdater { }; diff --git a/pkgs/by-name/op/open-webui/package.nix b/pkgs/by-name/op/open-webui/package.nix index 5b5d790a5a1e..3305fa23d373 100644 --- a/pkgs/by-name/op/open-webui/package.nix +++ b/pkgs/by-name/op/open-webui/package.nix @@ -9,13 +9,13 @@ }: let pname = "open-webui"; - version = "0.6.43"; + version = "0.7.1"; src = fetchFromGitHub { owner = "open-webui"; repo = "open-webui"; tag = "v${version}"; - hash = "sha256-gkCG2SIYCF89IFi6neslvZNFyoC6PrMM2Vda/a3mc0k="; + hash = "sha256-pjrzZhY886LjkUnbG58r9j/ynq1fjTNCCqLmCPKoeek="; }; frontend = buildNpmPackage rec { @@ -32,7 +32,7 @@ let url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2"; }; - npmDepsHash = "sha256-bw0f6jlA09s7Ptd8+q8RHRFZgnyE+ecsfY30XdKlyRM="; + npmDepsHash = "sha256-useP5o3Hx9I7WY0j+idKaa4KHx2w69/Us5ezN/v2+Ns="; # See https://github.com/open-webui/open-webui/issues/15880 npmFlags = [ diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index 1e929fe4fa42..d88772d19622 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -14,12 +14,12 @@ }: let pname = "opencode"; - version = "1.1.8"; + version = "1.1.11"; src = fetchFromGitHub { owner = "anomalyco"; repo = "opencode"; tag = "v${version}"; - hash = "sha256-i0PYcI3qM52jcl72dqHxiBUQH5n4oBXTlxJqvWNS8CQ="; + hash = "sha256-PZB9XsuUr8EzXDhlzM3tKANFAXc19RheIyxSXjLuZrM="; }; node_modules = stdenvNoCC.mkDerivation { @@ -71,7 +71,7 @@ let # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-NbKp1XXTirox/UnBSn/VfLtPXnjrDJxU94MaAh22wk4="; + outputHash = "sha256-vRIWQt02VljcoYG3mwJy8uCihSTB/OLypyw+vt8LuL8="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; diff --git a/pkgs/by-name/or/orbiton/package.nix b/pkgs/by-name/or/orbiton/package.nix index fd0a2ea71b10..a416b5e1693d 100644 --- a/pkgs/by-name/or/orbiton/package.nix +++ b/pkgs/by-name/or/orbiton/package.nix @@ -12,13 +12,13 @@ buildGoModule rec { pname = "orbiton"; - version = "2.70.4"; + version = "2.70.5"; src = fetchFromGitHub { owner = "xyproto"; repo = "orbiton"; tag = "v${version}"; - hash = "sha256-cdaYD6PyOjgBo83eWD2+YWQj5uJzmeHDo67dlA7Pj1g="; + hash = "sha256-w2t3IxWB8F2QXB0caTP/kTGum6zec5BRxK9+kYwAcDY="; }; vendorHash = null; diff --git a/pkgs/by-name/ph/photoqt/package.nix b/pkgs/by-name/ph/photoqt/package.nix index df1176e327a2..15aee4d2062e 100644 --- a/pkgs/by-name/ph/photoqt/package.nix +++ b/pkgs/by-name/ph/photoqt/package.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { pname = "photoqt"; - version = "4.9.2"; + version = "5.0"; src = fetchurl { - url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz"; - hash = "sha256-kPhxWekecE57wY45qLy/EnfmjFLn0cEmZ+4qWHGbL4U="; + url = "https://photoqt.org/downloads/source/photoqt-${version}.tar.gz"; + hash = "sha256-BSe95dwzBCVp5jHIX6xh9BZ4OgPl88YUxt0iTSTnx18="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/su/superscs/package.nix b/pkgs/by-name/su/superscs/package.nix index ae5fb5537be4..7bce24bc5bea 100644 --- a/pkgs/by-name/su/superscs/package.nix +++ b/pkgs/by-name/su/superscs/package.nix @@ -19,7 +19,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Qu7RM6Ew4hEmoIXO0utDDVmjmNX3yt3FxWZXCQ/Xjp4="; }; - postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + postPatch = '' + substituteInPlace include/unit_test_util.h \ + --replace-fail "typedef int bool;" "#include " + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' substituteInPlace Makefile --replace-fail \ ".so" \ ".dylib" diff --git a/pkgs/by-name/sv/svu/package.nix b/pkgs/by-name/sv/svu/package.nix index 81e09d06f760..d0bcf2d5bb56 100644 --- a/pkgs/by-name/sv/svu/package.nix +++ b/pkgs/by-name/sv/svu/package.nix @@ -4,6 +4,8 @@ fetchFromGitHub, testers, svu, + installShellFiles, + stdenv, }: buildGoModule rec { @@ -31,6 +33,14 @@ buildGoModule rec { rm internal/git/git_test.go ''; + nativeBuildInputs = [ installShellFiles ]; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd svu \ + --bash <($out/bin/svu completion bash) \ + --fish <($out/bin/svu completion fish) \ + --zsh <($out/bin/svu completion zsh) + ''; + passthru.tests.version = testers.testVersion { package = svu; }; meta = { diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 11086b6e757b..5c191539a1d0 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.9.22"; + version = "0.9.24"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-6LdOzNnmPPpfoi3/QtsZgiAb39ClZVRpNqzZ0w/gQrE="; + hash = "sha256-ZgZhEgSzCje7penbL1bgSyt2zu42dar9v9RBQUMv96U="; }; - cargoHash = "sha256-2u9OAFoSD4XvEAG4bzQSGFKnMI3XljLL8dgJdk4hlf0="; + cargoHash = "sha256-D00LMdCQ3j5Uguc6aU1TYkSezy35r0+yRtI17HxAX64="; buildInputs = [ rust-jemalloc-sys diff --git a/pkgs/by-name/wo/woodpecker-plugin-git/package.nix b/pkgs/by-name/wo/woodpecker-plugin-git/package.nix index cd9a311ce00b..662368ee4938 100644 --- a/pkgs/by-name/wo/woodpecker-plugin-git/package.nix +++ b/pkgs/by-name/wo/woodpecker-plugin-git/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "woodpecker-plugin-git"; - version = "2.7.0"; + version = "2.8.0"; src = fetchFromGitHub { owner = "woodpecker-ci"; repo = "plugin-git"; tag = version; - hash = "sha256-5P3YCMOrF7X+2ExI4Y/T6PJFyGqxI8gsKIAPJjM0zpk="; + hash = "sha256-fUGTO60ZgMt8t/O4Cb3trSMmTFhKBxG8sjft+hrmUjQ="; }; - vendorHash = "sha256-ZBGDFgS8lYNCBrQRq3/JX3JRaDEJPaRbr9P4grlbG7Q="; + vendorHash = "sha256-FbtktDU6Rl3lu3U2vu20M+hz1HdLMu1krUcqXX3HfeA="; env.CGO_ENABLED = "0"; diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 938cb4eda4bd..ab4dd9a16f82 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -1657,7 +1657,7 @@ builtins.intersectAttrs super { overrideCabal (old: { passthru = old.passthru or { } // { - nixPackage = pkgs.nixVersions.nix_2_28; + nixPackage = pkgs.nixVersions.nix_2_31; }; }) ( diff --git a/pkgs/development/haskell-modules/replacements-by-name/cabal-pkg-config-version-hook.nix b/pkgs/development/haskell-modules/replacements-by-name/cabal-pkg-config-version-hook.nix new file mode 100644 index 000000000000..0381063b1689 --- /dev/null +++ b/pkgs/development/haskell-modules/replacements-by-name/cabal-pkg-config-version-hook.nix @@ -0,0 +1,24 @@ +{ + mkDerivation, + base, + Cabal, + containers, + lens, + lib, + process, +}: +mkDerivation { + pname = "cabal-pkg-config-version-hook"; + version = "0.1.1.0"; + sha256 = "18l87dcq2854vqchg21bvv85sdm4126nbk8sj9ilr5819qslk26f"; + libraryHaskellDepends = [ + base + Cabal + containers + lens + process + ]; + homepage = "https://github.com/hercules-ci/hercules-ci-agent/tree/master/cabal-pkg-config-version-hook#readme"; + description = "Make Cabal aware of pkg-config package versions"; + license = lib.licensesSpdx."BSD-3-Clause"; +} diff --git a/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-agent.nix b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-agent.nix new file mode 100644 index 000000000000..ff02b6fb32d2 --- /dev/null +++ b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-agent.nix @@ -0,0 +1,255 @@ +{ + mkDerivation, + aeson, + async, + attoparsec, + base, + base64-bytestring, + bifunctors, + binary, + binary-conduit, + boost, + bytestring, + Cabal, + cabal-pkg-config-version-hook, + cachix, + cachix-api, + conduit, + conduit-extra, + containers, + directory, + dlist, + exceptions, + file-embed, + filepath, + hercules-ci-api, + hercules-ci-api-agent, + hercules-ci-api-core, + hercules-ci-cnix-expr, + hercules-ci-cnix-store, + hostname, + hspec, + hspec-discover, + http-client, + http-client-tls, + http-conduit, + HUnit, + inline-c, + inline-c-cpp, + katip, + lens, + lens-aeson, + lib, + lifted-async, + lifted-base, + monad-control, + mtl, + network, + network-uri, + nix, + optparse-applicative, + process, + process-extras, + profunctors, + protolude, + QuickCheck, + safe-exceptions, + scientific, + servant, + servant-auth-client, + servant-client, + servant-client-core, + stm, + tagged, + temporary, + text, + time, + tls, + tomland, + transformers, + transformers-base, + unbounded-delays, + unix, + unliftio, + unliftio-core, + unordered-containers, + uuid, + vector, + websockets, + wuss, +}: +mkDerivation { + pname = "hercules-ci-agent"; + version = "0.10.8"; + sha256 = "0f8d5xfix0bsxdvanf6zn1l2qs80aivva86qf3j1clfr2dny4g59"; + isLibrary = true; + isExecutable = true; + setupHaskellDepends = [ + base + Cabal + cabal-pkg-config-version-hook + ]; + libraryHaskellDepends = [ + aeson + async + base + binary + binary-conduit + bytestring + conduit + containers + directory + dlist + exceptions + file-embed + filepath + hercules-ci-api-agent + hercules-ci-api-core + hercules-ci-cnix-expr + hercules-ci-cnix-store + katip + lens + lens-aeson + lifted-async + lifted-base + monad-control + mtl + network + network-uri + process + process-extras + protolude + safe-exceptions + stm + tagged + temporary + text + time + tls + transformers + transformers-base + unbounded-delays + unix + unliftio + unliftio-core + uuid + vector + websockets + wuss + ]; + executableHaskellDepends = [ + aeson + async + attoparsec + base + base64-bytestring + bifunctors + binary + binary-conduit + bytestring + cachix + cachix-api + conduit + conduit-extra + containers + directory + dlist + exceptions + filepath + hercules-ci-api + hercules-ci-api-agent + hercules-ci-api-core + hercules-ci-cnix-expr + hercules-ci-cnix-store + hostname + http-client + http-client-tls + http-conduit + inline-c + inline-c-cpp + katip + lens + lens-aeson + lifted-async + lifted-base + monad-control + mtl + network + network-uri + optparse-applicative + process + process-extras + profunctors + protolude + safe-exceptions + scientific + servant + servant-auth-client + servant-client + servant-client-core + stm + temporary + text + time + tomland + transformers + transformers-base + unix + unliftio + unliftio-core + unordered-containers + uuid + vector + websockets + wuss + ]; + executableSystemDepends = [ boost ]; + executablePkgconfigDepends = [ nix ]; + testHaskellDepends = [ + aeson + async + attoparsec + base + bifunctors + binary + binary-conduit + bytestring + conduit + containers + exceptions + filepath + hercules-ci-api-agent + hercules-ci-api-core + hercules-ci-cnix-store + hspec + HUnit + katip + lens + lens-aeson + lifted-async + lifted-base + monad-control + mtl + process + profunctors + protolude + QuickCheck + safe-exceptions + scientific + stm + tagged + temporary + text + tomland + transformers + transformers-base + unliftio-core + unordered-containers + uuid + vector + ]; + testToolDepends = [ hspec-discover ]; + homepage = "https://docs.hercules-ci.com"; + description = "Runs Continuous Integration tasks on your machines"; + license = lib.licensesSpdx."Apache-2.0"; +} diff --git a/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cli.nix b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cli.nix new file mode 100644 index 000000000000..e06ec7fbfc1e --- /dev/null +++ b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cli.nix @@ -0,0 +1,132 @@ +{ + mkDerivation, + aeson, + aeson-pretty, + async, + atomic-write, + attoparsec, + base, + bytestring, + conduit, + containers, + data-has, + directory, + exceptions, + filepath, + hercules-ci-agent, + hercules-ci-api, + hercules-ci-api-agent, + hercules-ci-api-core, + hercules-ci-cnix-expr, + hercules-ci-cnix-store, + hercules-ci-optparse-applicative, + hostname, + hspec, + http-client, + http-client-tls, + http-types, + inline-c-cpp, + katip, + lens, + lens-aeson, + lib, + lifted-base, + monad-control, + network-uri, + process, + protolude, + QuickCheck, + retry, + rio, + safe-exceptions, + servant, + servant-auth-client, + servant-client, + servant-client-core, + servant-conduit, + temporary, + text, + tls, + transformers, + transformers-base, + unix, + unliftio, + unliftio-core, + unordered-containers, + uuid, +}: +mkDerivation { + pname = "hercules-ci-cli"; + version = "0.3.9"; + sha256 = "091j83ac4byr6vbmd0wq1b86p23d1z7sn5ls6w24l72dp8fvfjjp"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + aeson + aeson-pretty + async + atomic-write + attoparsec + base + bytestring + conduit + containers + data-has + directory + exceptions + filepath + hercules-ci-agent + hercules-ci-api + hercules-ci-api-agent + hercules-ci-api-core + hercules-ci-cnix-expr + hercules-ci-cnix-store + hercules-ci-optparse-applicative + hostname + http-client + http-client-tls + http-types + inline-c-cpp + katip + lens + lens-aeson + lifted-base + monad-control + network-uri + process + protolude + retry + rio + safe-exceptions + servant + servant-auth-client + servant-client + servant-client-core + servant-conduit + temporary + text + tls + transformers + transformers-base + unix + unliftio + unliftio-core + unordered-containers + uuid + ]; + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + aeson + base + bytestring + containers + hspec + protolude + QuickCheck + unordered-containers + ]; + homepage = "https://docs.hercules-ci.com"; + description = "The hci command for working with Hercules CI"; + license = lib.licenses.asl20; + mainProgram = "hci"; +} diff --git a/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cnix-expr.nix b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cnix-expr.nix new file mode 100644 index 000000000000..90ad7e7240a5 --- /dev/null +++ b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cnix-expr.nix @@ -0,0 +1,82 @@ +{ + mkDerivation, + aeson, + base, + boost, + bytestring, + Cabal, + cabal-pkg-config-version-hook, + conduit, + containers, + directory, + exceptions, + filepath, + hercules-ci-cnix-store, + hspec, + hspec-discover, + inline-c, + inline-c-cpp, + lib, + nix, + process, + protolude, + QuickCheck, + scientific, + temporary, + text, + unliftio, + unordered-containers, + vector, +}: +mkDerivation { + pname = "hercules-ci-cnix-expr"; + version = "0.5.1.0"; + sha256 = "01m6l915yy3v6qpc53xq48kp3mi39bclsjdwswvgwvp9z9hjvg0p"; + setupHaskellDepends = [ + base + Cabal + cabal-pkg-config-version-hook + ]; + libraryHaskellDepends = [ + aeson + base + bytestring + conduit + containers + directory + exceptions + filepath + hercules-ci-cnix-store + inline-c + inline-c-cpp + protolude + scientific + text + unliftio + unordered-containers + vector + ]; + librarySystemDepends = [ boost ]; + libraryPkgconfigDepends = [ nix ]; + testHaskellDepends = [ + aeson + base + bytestring + containers + filepath + hercules-ci-cnix-store + hspec + process + protolude + QuickCheck + scientific + temporary + text + unordered-containers + vector + ]; + testToolDepends = [ hspec-discover ]; + homepage = "https://docs.hercules-ci.com"; + description = "Bindings for the Nix evaluator"; + license = lib.licensesSpdx."Apache-2.0"; +} diff --git a/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cnix-store.nix b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cnix-store.nix new file mode 100644 index 000000000000..7fd0763154ea --- /dev/null +++ b/pkgs/development/haskell-modules/replacements-by-name/hercules-ci-cnix-store.nix @@ -0,0 +1,65 @@ +{ + mkDerivation, + base, + boost, + bytestring, + Cabal, + cabal-pkg-config-version-hook, + conduit, + containers, + exceptions, + hspec, + hspec-discover, + inline-c, + inline-c-cpp, + lib, + nix, + protolude, + template-haskell, + temporary, + text, + unix, + unliftio-core, + vector, +}: +mkDerivation { + pname = "hercules-ci-cnix-store"; + version = "0.4.1.0"; + sha256 = "0jy7p69jhv81rg8xikd7smgpg3vwccjzly3k8hs7ipdp2mprwffc"; + setupHaskellDepends = [ + base + Cabal + cabal-pkg-config-version-hook + ]; + libraryHaskellDepends = [ + base + bytestring + conduit + containers + inline-c + inline-c-cpp + protolude + template-haskell + unix + unliftio-core + vector + ]; + librarySystemDepends = [ boost ]; + libraryPkgconfigDepends = [ nix ]; + testHaskellDepends = [ + base + bytestring + containers + exceptions + hspec + inline-c + inline-c-cpp + protolude + temporary + text + ]; + testToolDepends = [ hspec-discover ]; + homepage = "https://docs.hercules-ci.com"; + description = "Haskell bindings for Nix's libstore"; + license = lib.licensesSpdx."Apache-2.0"; +} diff --git a/pkgs/development/ocaml-modules/ansiterminal/default.nix b/pkgs/development/ocaml-modules/ansiterminal/default.nix index ecbb4c9d7b2e..07652e61dd94 100644 --- a/pkgs/development/ocaml-modules/ansiterminal/default.nix +++ b/pkgs/development/ocaml-modules/ansiterminal/default.nix @@ -27,7 +27,10 @@ buildDunePackage rec { this part is currently work in progress). ''; homepage = "https://github.com/Chris00/ANSITerminal"; - license = lib.licenses.lgpl3; + license = with lib.licenses; [ + lgpl3Plus + ocamlLgplLinkingException + ]; maintainers = [ lib.maintainers.jirkamarsik ]; }; } diff --git a/pkgs/development/python-modules/aioconsole/default.nix b/pkgs/development/python-modules/aioconsole/default.nix index 88c5d428dfa7..f25c181fde24 100644 --- a/pkgs/development/python-modules/aioconsole/default.nix +++ b/pkgs/development/python-modules/aioconsole/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, pytest-asyncio, @@ -22,8 +23,6 @@ buildPythonPackage rec { version = "0.8.2"; pyproject = true; - disabled = pythonOlder "3.8"; - src = fetchFromGitHub { owner = "vxgmichel"; repo = "aioconsole"; @@ -52,6 +51,11 @@ buildPythonPackage rec { "test_interact_multiple_indented_lines" ]; + disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ + # OSError: AF_UNIX path too long + "tests/test_server.py::test_uds_server[default]" + ]; + pythonImportsCheck = [ "aioconsole" ]; meta = { diff --git a/pkgs/development/python-modules/altair/default.nix b/pkgs/development/python-modules/altair/default.nix index 9bf7c73401b1..bc86a2f5255d 100644 --- a/pkgs/development/python-modules/altair/default.nix +++ b/pkgs/development/python-modules/altair/default.nix @@ -3,10 +3,12 @@ buildPythonPackage, fetchFromGitHub, hatchling, + anywidget, ipython, ipywidgets, jinja2, jsonschema, + mistune, narwhals, numpy, packaging, @@ -17,21 +19,20 @@ pythonOlder, toolz, typing-extensions, - vega-datasets, + vl-convert-python, + writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "altair"; - version = "5.5.0"; + version = "6.0.0"; pyproject = true; - disabled = pythonOlder "3.9"; - src = fetchFromGitHub { owner = "altair-viz"; repo = "altair"; - tag = "v${version}"; - hash = "sha256-lrKC4FYRQEax5E0lQNhO9FLk5UOJ0TnYzqZjndlRpGI="; + tag = "v${finalAttrs.version}"; + hash = "sha256-+Qc51L4tL1pRDpWwadxPpTE4tDH3FTO/wH67FtXMN7k="; }; build-system = [ hatchling ]; @@ -48,16 +49,23 @@ buildPythonPackage rec { ++ lib.optional (pythonOlder "3.14") typing-extensions; nativeCheckInputs = [ + anywidget ipython ipywidgets + mistune polars pytest-xdist pytestCheckHook - vega-datasets + vl-convert-python + writableTmpDirAsHomeHook ]; pythonImportsCheck = [ "altair" ]; + enabledTestPaths = [ + "tests/" + ]; + disabledTests = [ # ValueError: Saving charts in 'svg' format requires the vl-convert-python or altair_saver package: see http://github.com/altair-viz/altair_saver/ "test_renderer_with_none_embed_options" @@ -66,13 +74,17 @@ buildPythonPackage rec { "test_dataframe_to_csv[pandas]" # Network access "test_theme_remote_lambda" + "test_chart_validation_errors" + "test_multiple_field_strings_in_condition" ]; disabledTestPaths = [ # Disabled because it requires internet connectivity "tests/test_examples.py" + "tests/test_datasets.py" + "altair/datasets/_data.py" # TODO: Disabled because of missing altair_viewer package - "tests/vegalite/v5/test_api.py" + "tests/vegalite/v6/test_api.py" # avoid updating files and dependency on black "tests/test_toplevel.py" # require vl-convert package @@ -90,4 +102,4 @@ buildPythonPackage rec { vinetos ]; }; -} +}) diff --git a/pkgs/development/tools/parsing/antlr/4.nix b/pkgs/development/tools/parsing/antlr/4.nix index 0352698f42f4..366c0d4b3502 100644 --- a/pkgs/development/tools/parsing/antlr/4.nix +++ b/pkgs/development/tools/parsing/antlr/4.nix @@ -8,9 +8,6 @@ ninja, pkg-config, - # darwin only - CoreFoundation ? null, - # ANTLR 4.8 & 4.9 libuuid, diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0503f831cbab..5e2b03f24cfc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5718,13 +5718,11 @@ self: super: with self; { fontfeatures = callPackage ../development/python-modules/fontfeatures { }; - fontforge = disabledIf (pythonOlder "3.10") ( - toPythonModule ( - pkgs.fontforge.override { - withPython = true; - python3 = python; - } - ) + fontforge = toPythonModule ( + pkgs.fontforge.override { + withPython = true; + python3 = python; + } ); fontmake = callPackage ../development/python-modules/fontmake { };