lol

Merge staging-next into staging

authored by

github-actions[bot] and committed by
GitHub
dc058faf d7f8dfd0

+1057 -167
+61 -9
lib/lists.nix
··· 3 3 { lib }: 4 4 let 5 5 inherit (lib.strings) toInt; 6 - inherit (lib.trivial) compare min; 6 + inherit (lib.trivial) compare min id; 7 7 inherit (lib.attrsets) mapAttrs; 8 8 in 9 9 rec { ··· 180 180 else if len != 1 then multiple 181 181 else head found; 182 182 183 - /* Find the first element in the list matching the specified 183 + /* Find the first index in the list matching the specified 184 184 predicate or return `default` if no such element exists. 185 185 186 - Type: findFirst :: (a -> bool) -> a -> [a] -> a 186 + Type: findFirstIndex :: (a -> Bool) -> b -> [a] -> (Int | b) 187 187 188 188 Example: 189 - findFirst (x: x > 3) 7 [ 1 6 4 ] 190 - => 6 191 - findFirst (x: x > 9) 7 [ 1 6 4 ] 192 - => 7 189 + findFirstIndex (x: x > 3) null [ 0 6 4 ] 190 + => 1 191 + findFirstIndex (x: x > 9) null [ 0 6 4 ] 192 + => null 193 193 */ 194 - findFirst = 194 + findFirstIndex = 195 195 # Predicate 196 196 pred: 197 197 # Default value to return ··· 229 229 if resultIndex < 0 then 230 230 default 231 231 else 232 - elemAt list resultIndex; 232 + resultIndex; 233 + 234 + /* Find the first element in the list matching the specified 235 + predicate or return `default` if no such element exists. 236 + 237 + Type: findFirst :: (a -> bool) -> a -> [a] -> a 238 + 239 + Example: 240 + findFirst (x: x > 3) 7 [ 1 6 4 ] 241 + => 6 242 + findFirst (x: x > 9) 7 [ 1 6 4 ] 243 + => 7 244 + */ 245 + findFirst = 246 + # Predicate 247 + pred: 248 + # Default value to return 249 + default: 250 + # Input list 251 + list: 252 + let 253 + index = findFirstIndex pred null list; 254 + in 255 + if index == null then 256 + default 257 + else 258 + elemAt list index; 233 259 234 260 /* Return true if function `pred` returns true for at least one 235 261 element of `list`. ··· 636 662 (if start >= len then 0 637 663 else if start + count > len then len - start 638 664 else count); 665 + 666 + /* The common prefix of two lists. 667 + 668 + Type: commonPrefix :: [a] -> [a] -> [a] 669 + 670 + Example: 671 + commonPrefix [ 1 2 3 4 5 6 ] [ 1 2 4 8 ] 672 + => [ 1 2 ] 673 + commonPrefix [ 1 2 3 ] [ 1 2 3 4 5 ] 674 + => [ 1 2 3 ] 675 + commonPrefix [ 1 2 3 ] [ 4 5 6 ] 676 + => [ ] 677 + */ 678 + commonPrefix = 679 + list1: 680 + list2: 681 + let 682 + # Zip the lists together into a list of booleans whether each element matches 683 + matchings = zipListsWith (fst: snd: fst != snd) list1 list2; 684 + # Find the first index where the elements don't match, 685 + # which will then also be the length of the common prefix. 686 + # If all elements match, we fall back to the length of the zipped list, 687 + # which is the same as the length of the smaller list. 688 + commonPrefixLength = findFirstIndex id (length matchings) matchings; 689 + in 690 + take commonPrefixLength list1; 639 691 640 692 /* Return the last element of a list. 641 693
+63 -20
lib/tests/misc.nix
··· 500 500 expected = { a = [ 2 3 ]; b = [7]; c = [8];}; 501 501 }; 502 502 503 + testListCommonPrefixExample1 = { 504 + expr = lists.commonPrefix [ 1 2 3 4 5 6 ] [ 1 2 4 8 ]; 505 + expected = [ 1 2 ]; 506 + }; 507 + testListCommonPrefixExample2 = { 508 + expr = lists.commonPrefix [ 1 2 3 ] [ 1 2 3 4 5 ]; 509 + expected = [ 1 2 3 ]; 510 + }; 511 + testListCommonPrefixExample3 = { 512 + expr = lists.commonPrefix [ 1 2 3 ] [ 4 5 6 ]; 513 + expected = [ ]; 514 + }; 515 + testListCommonPrefixEmpty = { 516 + expr = lists.commonPrefix [ ] [ 1 2 3 ]; 517 + expected = [ ]; 518 + }; 519 + testListCommonPrefixSame = { 520 + expr = lists.commonPrefix [ 1 2 3 ] [ 1 2 3 ]; 521 + expected = [ 1 2 3 ]; 522 + }; 523 + testListCommonPrefixLazy = { 524 + expr = lists.commonPrefix [ 1 ] [ 1 (abort "lib.lists.commonPrefix shouldn't evaluate this")]; 525 + expected = [ 1 ]; 526 + }; 527 + # This would stack overflow if `commonPrefix` were implemented using recursion 528 + testListCommonPrefixLong = 529 + let 530 + longList = genList (n: n) 100000; 531 + in { 532 + expr = lists.commonPrefix longList longList; 533 + expected = longList; 534 + }; 535 + 503 536 testSort = { 504 537 expr = sort builtins.lessThan [ 40 2 30 42 ]; 505 538 expected = [2 30 40 42]; ··· 530 563 expected = false; 531 564 }; 532 565 533 - testFindFirstExample1 = { 534 - expr = findFirst (x: x > 3) 7 [ 1 6 4 ]; 535 - expected = 6; 566 + testFindFirstIndexExample1 = { 567 + expr = lists.findFirstIndex (x: x > 3) (abort "index found, so a default must not be evaluated") [ 1 6 4 ]; 568 + expected = 1; 536 569 }; 537 570 538 - testFindFirstExample2 = { 539 - expr = findFirst (x: x > 9) 7 [ 1 6 4 ]; 540 - expected = 7; 571 + testFindFirstIndexExample2 = { 572 + expr = lists.findFirstIndex (x: x > 9) "a very specific default" [ 1 6 4 ]; 573 + expected = "a very specific default"; 541 574 }; 542 575 543 - testFindFirstEmpty = { 544 - expr = findFirst (abort "when the list is empty, the predicate is not needed") null []; 576 + testFindFirstIndexEmpty = { 577 + expr = lists.findFirstIndex (abort "when the list is empty, the predicate is not needed") null []; 545 578 expected = null; 546 579 }; 547 580 548 - testFindFirstSingleMatch = { 549 - expr = findFirst (x: x == 5) null [ 5 ]; 550 - expected = 5; 581 + testFindFirstIndexSingleMatch = { 582 + expr = lists.findFirstIndex (x: x == 5) null [ 5 ]; 583 + expected = 0; 551 584 }; 552 585 553 - testFindFirstSingleDefault = { 554 - expr = findFirst (x: false) null [ (abort "if the predicate doesn't access the value, it must not be evaluated") ]; 586 + testFindFirstIndexSingleDefault = { 587 + expr = lists.findFirstIndex (x: false) null [ (abort "if the predicate doesn't access the value, it must not be evaluated") ]; 555 588 expected = null; 556 589 }; 557 590 558 - testFindFirstNone = { 559 - expr = builtins.tryEval (findFirst (x: x == 2) null [ 1 (throw "the last element must be evaluated when there's no match") ]); 591 + testFindFirstIndexNone = { 592 + expr = builtins.tryEval (lists.findFirstIndex (x: x == 2) null [ 1 (throw "the last element must be evaluated when there's no match") ]); 560 593 expected = { success = false; value = false; }; 561 594 }; 562 595 563 596 # Makes sure that the implementation doesn't cause a stack overflow 564 - testFindFirstBig = { 565 - expr = findFirst (x: x == 1000000) null (range 0 1000000); 597 + testFindFirstIndexBig = { 598 + expr = lists.findFirstIndex (x: x == 1000000) null (range 0 1000000); 566 599 expected = 1000000; 567 600 }; 568 601 569 - testFindFirstLazy = { 570 - expr = findFirst (x: x == 1) 7 [ 1 (abort "list elements after the match must not be evaluated") ]; 571 - expected = 1; 602 + testFindFirstIndexLazy = { 603 + expr = lists.findFirstIndex (x: x == 1) null [ 1 (abort "list elements after the match must not be evaluated") ]; 604 + expected = 0; 605 + }; 606 + 607 + testFindFirstExample1 = { 608 + expr = lists.findFirst (x: x > 3) 7 [ 1 6 4 ]; 609 + expected = 6; 610 + }; 611 + 612 + testFindFirstExample2 = { 613 + expr = lists.findFirst (x: x > 9) 7 [ 1 6 4 ]; 614 + expected = 7; 572 615 }; 573 616 574 617 # ATTRSETS
+3
nixos/doc/manual/release-notes/rl-2311.section.md
··· 34 34 35 35 - [ebusd](https://ebusd.eu), a daemon for handling communication with eBUS devices connected to a 2-wire bus system (“energy bus” used by numerous heating systems). Available as [services.ebusd](#opt-services.ebusd.enable). 36 36 37 + - [systemd-sysupdate](https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html), atomically updates the host OS, container images, portable service images or other sources. Available as [systemd.sysupdate](opt-systemd.sysupdate). 37 38 38 39 ## Backward Incompatibilities {#sec-release-23.11-incompatibilities} 39 40 ··· 140 141 - `services.prometheus.exporters` has a new [exporter](https://github.com/hipages/php-fpm_exporter) to monitor PHP-FPM processes, see [#240394](https://github.com/NixOS/nixpkgs/pull/240394) for more details. 141 142 142 143 - `programs.gnupg.agent.pinentryFlavor` is now set in `/etc/gnupg/gpg-agent.conf`, and will no longer take precedence over a `pinentry-program` set in `~/.gnupg/gpg-agent.conf`. 144 + 145 + - `wrapHelm` now exposes `passthru.pluginsDir` which can be passed to `helmfile`. For convenience, a top-level package `helmfile-wrapped` has been added, which inherits `passthru.pluginsDir` from `kubernetes-helm-wrapped`. See [#217768](https://github.com/NixOS/nixpkgs/issues/217768) for details. 143 146 144 147 ## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals} 145 148
+1
nixos/modules/module-list.nix
··· 1398 1398 ./system/boot/systemd/oomd.nix 1399 1399 ./system/boot/systemd/repart.nix 1400 1400 ./system/boot/systemd/shutdown.nix 1401 + ./system/boot/systemd/sysupdate.nix 1401 1402 ./system/boot/systemd/tmpfiles.nix 1402 1403 ./system/boot/systemd/user.nix 1403 1404 ./system/boot/systemd/userdbd.nix
+1 -1
nixos/modules/services/misc/paperless.nix
··· 176 176 description = lib.mdDoc '' 177 177 Extra paperless config options. 178 178 179 - See [the documentation](https://paperless-ngx.readthedocs.io/en/latest/configuration.html) 179 + See [the documentation](https://docs.paperless-ngx.com/configuration/) 180 180 for available options. 181 181 182 182 Note that some options such as `PAPERLESS_CONSUMER_IGNORE_PATTERN` expect JSON values. Use `builtins.toJSON` to ensure proper quoting.
+142
nixos/modules/system/boot/systemd/sysupdate.nix
··· 1 + { config, lib, pkgs, utils, ... }: 2 + 3 + let 4 + cfg = config.systemd.sysupdate; 5 + 6 + format = pkgs.formats.ini { }; 7 + 8 + listOfDefinitions = lib.mapAttrsToList 9 + (name: format.generate "${name}.conf") 10 + (lib.filterAttrs (k: _: !(lib.hasPrefix "_" k)) cfg.transfers); 11 + 12 + definitionsDirectory = pkgs.runCommand "sysupdate.d" { } '' 13 + mkdir -p $out 14 + ${(lib.concatStringsSep "\n" 15 + (map (pkg: "cp ${pkg} $out/${pkg.name}") listOfDefinitions) 16 + )} 17 + ''; 18 + in 19 + { 20 + options.systemd.sysupdate = { 21 + 22 + enable = lib.mkEnableOption (lib.mdDoc "systemd-sysupdate") // { 23 + description = lib.mdDoc '' 24 + Atomically update the host OS, container images, portable service 25 + images or other sources. 26 + 27 + If enabled, updates are triggered in regular intervals via a 28 + `systemd.timer` unit. 29 + 30 + Please see 31 + <https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html> 32 + for more details. 33 + ''; 34 + }; 35 + 36 + timerConfig = utils.systemdUtils.unitOptions.timerOptions.options.timerConfig // { 37 + default = { }; 38 + description = lib.mdDoc '' 39 + The timer configuration for performing the update. 40 + 41 + By default, the upstream configuration is used: 42 + <https://github.com/systemd/systemd/blob/main/units/systemd-sysupdate.timer> 43 + ''; 44 + }; 45 + 46 + reboot = { 47 + enable = lib.mkEnableOption (lib.mdDoc "automatically rebooting after an update") // { 48 + description = lib.mdDoc '' 49 + Whether to automatically reboot after an update. 50 + 51 + If set to `true`, the system will automatically reboot via a 52 + `systemd.timer` unit but only after a new version was installed. 53 + 54 + This uses a unit completely separate from the one performing the 55 + update because it is typically advisable to download updates 56 + regularly while the system is up, but delay reboots until the 57 + appropriate time (i.e. typically at night). 58 + 59 + Set this to `false` if you do not want to reboot after an update. This 60 + is useful when you update a container image or another source where 61 + rebooting is not necessary in order to finalize the update. 62 + ''; 63 + }; 64 + 65 + timerConfig = utils.systemdUtils.unitOptions.timerOptions.options.timerConfig // { 66 + default = { }; 67 + description = lib.mdDoc '' 68 + The timer configuration for rebooting after an update. 69 + 70 + By default, the upstream configuration is used: 71 + <https://github.com/systemd/systemd/blob/main/units/systemd-sysupdate-reboot.timer> 72 + ''; 73 + }; 74 + }; 75 + 76 + transfers = lib.mkOption { 77 + type = with lib.types; attrsOf format.type; 78 + default = { }; 79 + example = { 80 + "10-uki.conf" = { 81 + Transfer = { 82 + ProtectVersion = "%A"; 83 + }; 84 + 85 + Source = { 86 + Type = "url-file"; 87 + Path = "https://download.example.com/"; 88 + MatchPattern = "nixos_@v.efi.xz"; 89 + }; 90 + 91 + Target = { 92 + Type = "regular-file"; 93 + Path = "/EFI/Linux"; 94 + PathRelativeTo = "boot"; 95 + MatchPattern = '' 96 + nixos_@v+@l-@d.efi"; \ 97 + nixos_@v+@l.efi \ 98 + nixos_@v.efi 99 + ''; 100 + Mode = "0444"; 101 + TriesLeft = 3; 102 + TriesDone = 0; 103 + InstancesMax = 2; 104 + }; 105 + }; 106 + }; 107 + description = lib.mdDoc '' 108 + Specify transfers as a set of the names of the transfer files as the 109 + key and the configuration as its value. The configuration can use all 110 + upstream options. See 111 + <https://www.freedesktop.org/software/systemd/man/sysupdate.d.html> 112 + for all available options. 113 + ''; 114 + }; 115 + 116 + }; 117 + 118 + config = lib.mkIf cfg.enable { 119 + 120 + systemd.additionalUpstreamSystemUnits = [ 121 + "systemd-sysupdate.service" 122 + "systemd-sysupdate.timer" 123 + "systemd-sysupdate-reboot.service" 124 + "systemd-sysupdate-reboot.timer" 125 + ]; 126 + 127 + systemd.timers = { 128 + "systemd-sysupdate" = { 129 + wantedBy = [ "timers.target" ]; 130 + timerConfig = cfg.timerConfig; 131 + }; 132 + "systemd-sysupdate-reboot" = lib.mkIf cfg.reboot.enable { 133 + wantedBy = [ "timers.target" ]; 134 + timerConfig = cfg.reboot.timerConfig; 135 + }; 136 + }; 137 + 138 + environment.etc."sysupdate.d".source = definitionsDirectory; 139 + }; 140 + 141 + meta.maintainers = with lib.maintainers; [ nikstur ]; 142 + }
+1
nixos/tests/all-tests.nix
··· 772 772 systemd-portabled = handleTest ./systemd-portabled.nix {}; 773 773 systemd-repart = handleTest ./systemd-repart.nix {}; 774 774 systemd-shutdown = handleTest ./systemd-shutdown.nix {}; 775 + systemd-sysupdate = runTest ./systemd-sysupdate.nix; 775 776 systemd-timesyncd = handleTest ./systemd-timesyncd.nix {}; 776 777 systemd-user-tmpfiles-rules = handleTest ./systemd-user-tmpfiles-rules.nix {}; 777 778 systemd-misc = handleTest ./systemd-misc.nix {};
+21
nixos/tests/common/gpg-keyring.nix
··· 1 + { pkgs, ... }: 2 + 3 + pkgs.runCommand "gpg-keyring" { nativeBuildInputs = [ pkgs.gnupg ]; } '' 4 + mkdir -p $out 5 + export GNUPGHOME=$out 6 + cat > foo <<EOF 7 + %echo Generating a basic OpenPGP key 8 + %no-protection 9 + Key-Type: EdDSA 10 + Key-Curve: ed25519 11 + Name-Real: Bob Foobar 12 + Name-Email: bob@foo.bar 13 + Expire-Date: 0 14 + # Do a commit here, so that we can later print "done" 15 + %commit 16 + %echo done 17 + EOF 18 + gpg --batch --generate-key foo 19 + rm $out/S.gpg-agent $out/S.gpg-agent.* 20 + gpg --export bob@foo.bar -a > $out/pubkey.gpg 21 + ''
+1 -21
nixos/tests/systemd-nspawn.nix
··· 1 1 import ./make-test-python.nix ({pkgs, lib, ...}: 2 2 let 3 - gpgKeyring = (pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } '' 4 - mkdir -p $out 5 - export GNUPGHOME=$out 6 - cat > foo <<EOF 7 - %echo Generating a basic OpenPGP key 8 - %no-protection 9 - Key-Type: DSA 10 - Key-Length: 1024 11 - Subkey-Type: ELG-E 12 - Subkey-Length: 1024 13 - Name-Real: Bob Foobar 14 - Name-Email: bob@foo.bar 15 - Expire-Date: 0 16 - # Do a commit here, so that we can later print "done" 17 - %commit 18 - %echo done 19 - EOF 20 - gpg --batch --generate-key foo 21 - rm $out/S.gpg-agent $out/S.gpg-agent.* 22 - gpg --export bob@foo.bar -a > $out/pubkey.gpg 23 - ''); 3 + gpgKeyring = import ./common/gpg-keyring.nix { inherit pkgs; }; 24 4 25 5 nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } '' 26 6 mkdir -p $out
+66
nixos/tests/systemd-sysupdate.nix
··· 1 + # Tests downloading a signed update aritfact from a server to a target machine. 2 + # This test does not rely on the `systemd.timer` units provided by the 3 + # `systemd-sysupdate` module but triggers the `systemd-sysupdate` service 4 + # manually to make the test more robust. 5 + 6 + { lib, pkgs, ... }: 7 + 8 + let 9 + gpgKeyring = import ./common/gpg-keyring.nix { inherit pkgs; }; 10 + in 11 + { 12 + name = "systemd-sysupdate"; 13 + 14 + meta.maintainers = with lib.maintainers; [ nikstur ]; 15 + 16 + nodes = { 17 + server = { pkgs, ... }: { 18 + networking.firewall.enable = false; 19 + services.nginx = { 20 + enable = true; 21 + virtualHosts."server" = { 22 + root = pkgs.runCommand "sysupdate-artifacts" { buildInputs = [ pkgs.gnupg ]; } '' 23 + mkdir -p $out 24 + cd $out 25 + 26 + echo "nixos" > nixos_1.efi 27 + sha256sum nixos_1.efi > SHA256SUMS 28 + 29 + export GNUPGHOME="$(mktemp -d)" 30 + cp -R ${gpgKeyring}/* $GNUPGHOME 31 + 32 + gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS 33 + ''; 34 + }; 35 + }; 36 + }; 37 + 38 + target = { 39 + systemd.sysupdate = { 40 + enable = true; 41 + transfers = { 42 + "uki" = { 43 + Source = { 44 + Type = "url-file"; 45 + Path = "http://server/"; 46 + MatchPattern = "nixos_@v.efi"; 47 + }; 48 + Target = { 49 + Path = "/boot/EFI/Linux"; 50 + MatchPattern = "nixos_@v.efi"; 51 + }; 52 + }; 53 + }; 54 + }; 55 + 56 + environment.etc."systemd/import-pubring.gpg".source = "${gpgKeyring}/pubkey.gpg"; 57 + }; 58 + }; 59 + 60 + testScript = '' 61 + server.wait_for_unit("nginx.service") 62 + 63 + target.succeed("systemctl start systemd-sysupdate") 64 + assert "nixos" in target.wait_until_succeeds("cat /boot/EFI/Linux/nixos_1.efi", timeout=5) 65 + ''; 66 + }
+2 -2
pkgs/applications/blockchains/taproot-assets/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "taproot-assets"; 8 - version = "0.2.2"; 8 + version = "0.2.3"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "lightninglabs"; 12 12 repo = "taproot-assets"; 13 13 rev = "v${version}"; 14 - hash = "sha256-DOtCnPnS5Oq5B4xaYmNCXxMYJ9fhPZ11OfPKXH7eKUg="; 14 + hash = "sha256-nTgIoYajpnlEvyXPcwXbm/jOfG+C83TTZiPmoB2kK24="; 15 15 }; 16 16 17 17 vendorHash = "sha256-fc++0M7Mnn1nJOkV2gzAVRQCp3vOqsO2OQNlOKaMmB4=";
+9 -9
pkgs/applications/networking/browsers/chromium/upstream-info.json
··· 1 1 { 2 2 "stable": { 3 - "version": "115.0.5790.102", 4 - "sha256": "0sxhhsrn4cg9akpnb2qpn7kkgp286rh8y2mmypm2409s5grf1xh6", 5 - "sha256bin64": "18n7xqbvcdd68856wmbrxx1f5lqj61g9cyiir9dzlfmf0a9wxvml", 3 + "version": "115.0.5790.110", 4 + "sha256": "0wgp44qnvmdqf2kk870ndm51rcvar36li2qq632ay4n8gfpbrm79", 5 + "sha256bin64": "1w2jl92x78s4vxv4p1imkz7qaq51yvs0wiz2bclbjz0hjlw9akr3", 6 6 "deps": { 7 7 "gn": { 8 8 "version": "2023-05-19", ··· 19 19 } 20 20 }, 21 21 "beta": { 22 - "version": "115.0.5790.98", 23 - "sha256": "1wbasmwdqkg5jcmzpidvzjsq2n2dr73bxz85pr8a5j4grw767gpz", 24 - "sha256bin64": "0xbizb3d539h1cw1kj9ahd8azmkcdfjdmqb5bpp8cr21bh2qbqp5", 22 + "version": "116.0.5845.50", 23 + "sha256": "0r5m2bcrh2zpl2m8wnzyl4afh8s0dh2m2fnfjf50li94694vy4jz", 24 + "sha256bin64": "047wsszg4c23vxq93a335iymiqpy7lw5izzz4f0zk1a4sijafd59", 25 25 "deps": { 26 26 "gn": { 27 - "version": "2023-05-19", 27 + "version": "2023-06-09", 28 28 "url": "https://gn.googlesource.com/gn", 29 - "rev": "e9e83d9095d3234adf68f3e2866f25daf766d5c7", 30 - "sha256": "0y07c18xskq4mclqiz3a63fz8jicz2kqridnvdhqdf75lhp61f8a" 29 + "rev": "4bd1a77e67958fb7f6739bd4542641646f264e5d", 30 + "sha256": "14h9jqspb86sl5lhh6q0kk2rwa9zcak63f8drp7kb3r4dx08vzsw" 31 31 } 32 32 } 33 33 },
+2
pkgs/applications/networking/cluster/helm/plugins/default.nix
··· 12 12 13 13 helm-secrets = callPackage ./helm-secrets.nix { }; 14 14 15 + helm-unittest = callPackage ./helm-unittest.nix { }; 16 + 15 17 }
+34
pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix
··· 1 + { buildGoModule, fetchFromGitHub, lib }: 2 + 3 + buildGoModule rec { 4 + pname = "helm-unittest"; 5 + version = "0.3.3"; 6 + 7 + src = fetchFromGitHub { 8 + owner = pname; 9 + repo = pname; 10 + rev = "v${version}"; 11 + hash = "sha256-11rgARUfTbr8FkmR2lI4uoIqzi9cRuVPalUOsxsnO3E="; 12 + }; 13 + 14 + vendorHash = "sha256-E9HSP8c/rGG+PLbnT8V5GflpnFItCeXyeLGiqDj4tRI="; 15 + 16 + # NOTE: Remove the install and upgrade hooks. 17 + postPatch = '' 18 + sed -i '/^hooks:/,+2 d' plugin.yaml 19 + ''; 20 + 21 + postInstall = '' 22 + install -dm755 $out/${pname} 23 + mv $out/bin/helm-unittest $out/${pname}/untt 24 + rmdir $out/bin 25 + install -m644 -Dt $out/${pname} plugin.yaml 26 + ''; 27 + 28 + meta = with lib; { 29 + description = "BDD styled unit test framework for Kubernetes Helm charts as a Helm plugin"; 30 + homepage = "https://github.com/helm-unittest/helm-unittest"; 31 + license = licenses.mit; 32 + maintainers = with maintainers; [ yurrriq ]; 33 + }; 34 + }
+4 -1
pkgs/applications/networking/cluster/helm/wrapper.nix
··· 31 31 preferLocalBuild = true; 32 32 33 33 nativeBuildInputs = [ makeWrapper ]; 34 - passthru = { unwrapped = helm; }; 34 + passthru = { 35 + inherit pluginsDir; 36 + unwrapped = helm; 37 + }; 35 38 36 39 meta = helm.meta // { 37 40 # To prevent builds on hydra
+14 -3
pkgs/applications/networking/cluster/helmfile/default.nix
··· 1 - { lib, buildGoModule, fetchFromGitHub, installShellFiles }: 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + , installShellFiles 5 + , makeWrapper 6 + , pluginsDir ? null 7 + }: 2 8 3 9 buildGoModule rec { 4 10 pname = "helmfile"; ··· 19 25 20 26 ldflags = [ "-s" "-w" "-X go.szostok.io/version.version=v${version}" ]; 21 27 22 - nativeBuildInputs = [ installShellFiles ]; 28 + nativeBuildInputs = 29 + [ installShellFiles ] ++ 30 + lib.optional (pluginsDir != null) makeWrapper; 23 31 24 - postInstall = '' 32 + postInstall = lib.optionalString (pluginsDir != null) '' 33 + wrapProgram $out/bin/helmfile \ 34 + --set HELM_PLUGINS "${pluginsDir}" 35 + '' + '' 25 36 installShellCompletion --cmd helmfile \ 26 37 --bash <($out/bin/helmfile completion bash) \ 27 38 --fish <($out/bin/helmfile completion fish) \
+3 -3
pkgs/applications/science/logic/abc/default.nix
··· 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "abc-verifier"; 7 - version = "unstable-2023-02-23"; 7 + version = "unstable-2023-06-28"; 8 8 9 9 src = fetchFromGitHub { 10 10 owner = "yosyshq"; 11 11 repo = "abc"; 12 - rev = "2c1c83f75b8078ced51f92c697da3e712feb3ac3"; 13 - hash = "sha256-THcyEifIp9v1bOofFVm9NFPqgI6NfKKys+Ea2KyNpv8="; 12 + rev = "bb64142b07794ee685494564471e67365a093710"; 13 + hash = "sha256-Qkk61Lh84ervtehWskSB9GKh+JPB7mI1IuG32OSZMdg="; 14 14 }; 15 15 16 16 nativeBuildInputs = [ cmake ];
+80
pkgs/applications/science/logic/egglog/Cargo.lock
··· 249 249 version = "0.1.0" 250 250 dependencies = [ 251 251 "clap", 252 + "egraph-serialize", 252 253 "env_logger", 253 254 "glob", 254 255 "hashbrown 0.14.0", ··· 265 266 "ordered-float", 266 267 "regex", 267 268 "rustc-hash", 269 + "serde_json", 268 270 "smallvec", 269 271 "symbol_table", 270 272 "symbolic_expressions", 271 273 "thiserror", 274 + ] 275 + 276 + [[package]] 277 + name = "egraph-serialize" 278 + version = "0.1.0" 279 + source = "git+https://github.com/egraphs-good/egraph-serialize?rev=54b1a4f1e2f2135846b084edcb495cd159839540#54b1a4f1e2f2135846b084edcb495cd159839540" 280 + dependencies = [ 281 + "indexmap 2.0.0", 282 + "once_cell", 283 + "ordered-float", 284 + "serde", 285 + "serde_json", 272 286 ] 273 287 274 288 [[package]] ··· 404 418 dependencies = [ 405 419 "equivalent", 406 420 "hashbrown 0.14.0", 421 + "serde", 407 422 ] 408 423 409 424 [[package]] ··· 439 454 ] 440 455 441 456 [[package]] 457 + name = "itoa" 458 + version = "1.0.9" 459 + source = "registry+https://github.com/rust-lang/crates.io-index" 460 + checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 461 + 462 + [[package]] 442 463 name = "js-sys" 443 464 version = "0.3.64" 444 465 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 607 628 checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213" 608 629 dependencies = [ 609 630 "num-traits", 631 + "rand", 632 + "serde", 610 633 ] 611 634 612 635 [[package]] ··· 682 705 ] 683 706 684 707 [[package]] 708 + name = "rand" 709 + version = "0.8.5" 710 + source = "registry+https://github.com/rust-lang/crates.io-index" 711 + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 712 + dependencies = [ 713 + "rand_core", 714 + "serde", 715 + ] 716 + 717 + [[package]] 718 + name = "rand_core" 719 + version = "0.6.4" 720 + source = "registry+https://github.com/rust-lang/crates.io-index" 721 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 722 + dependencies = [ 723 + "serde", 724 + ] 725 + 726 + [[package]] 685 727 name = "redox_syscall" 686 728 version = "0.2.16" 687 729 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 765 807 checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" 766 808 767 809 [[package]] 810 + name = "ryu" 811 + version = "1.0.15" 812 + source = "registry+https://github.com/rust-lang/crates.io-index" 813 + checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 814 + 815 + [[package]] 768 816 name = "scopeguard" 769 817 version = "1.1.0" 770 818 source = "registry+https://github.com/rust-lang/crates.io-index" 771 819 checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 820 + 821 + [[package]] 822 + name = "serde" 823 + version = "1.0.171" 824 + source = "registry+https://github.com/rust-lang/crates.io-index" 825 + checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" 826 + dependencies = [ 827 + "serde_derive", 828 + ] 829 + 830 + [[package]] 831 + name = "serde_derive" 832 + version = "1.0.171" 833 + source = "registry+https://github.com/rust-lang/crates.io-index" 834 + checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" 835 + dependencies = [ 836 + "proc-macro2", 837 + "quote", 838 + "syn", 839 + ] 840 + 841 + [[package]] 842 + name = "serde_json" 843 + version = "1.0.103" 844 + source = "registry+https://github.com/rust-lang/crates.io-index" 845 + checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" 846 + dependencies = [ 847 + "indexmap 2.0.0", 848 + "itoa", 849 + "ryu", 850 + "serde", 851 + ] 772 852 773 853 [[package]] 774 854 name = "siphasher"
+4 -3
pkgs/applications/science/logic/egglog/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage { 7 7 pname = "egglog"; 8 - version = "unstable-2023-07-11"; 8 + version = "unstable-2023-07-19"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "egraphs-good"; 12 12 repo = "egglog"; 13 - rev = "14a6fc6060c09541728ae460e0a92909fabf508f"; 14 - hash = "sha256-1osdjd86xZHUAwvPBNxWYlkX6tKt+jI05AEVYr77YSQ="; 13 + rev = "9fe03ad35a2a975a2c9140a641ba91266b7a72ce"; 14 + hash = "sha256-9JeJJdZW8ecogReJzQrp3hFkK/pp/+pLxJMNREWuiyI="; 15 15 }; 16 16 17 17 cargoLock = { 18 18 lockFile = ./Cargo.lock; 19 19 outputHashes = { 20 + "egraph-serialize-0.1.0" = "sha256-1lDaoR/1TNFW+uaf3UdfDZgXlxyAb37Ij7yky16xCG8="; 20 21 "symbol_table-0.2.0" = "sha256-f9UclMOUig+N5L3ibBXou0pJ4S/CQqtaji7tnebVbis="; 21 22 "symbolic_expressions-5.0.3" = "sha256-mSxnhveAItlTktQC4hM8o6TYjgtCUgkdZj7i6MR4Oeo="; 22 23 };
+2 -2
pkgs/data/icons/numix-icon-theme-circle/default.nix
··· 2 2 3 3 stdenvNoCC.mkDerivation rec { 4 4 pname = "numix-icon-theme-circle"; 5 - version = "23.07.08"; 5 + version = "23.07.21"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "numixproject"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "sha256-JToou95HIrfqdT0IVh0colgGFXq3GR2D3FQU0Qc57Y4="; 11 + sha256 = "sha256-QwbjJ38fWRkzd1nmsPWcwUQ7p96S/tGEvIfhLsOX1bg="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ gtk3 ];
+2 -2
pkgs/data/misc/v2ray-domain-list-community/default.nix
··· 3 3 let 4 4 generator = pkgsBuildBuild.buildGoModule rec { 5 5 pname = "v2ray-domain-list-community"; 6 - version = "20230717050659"; 6 + version = "20230725085751"; 7 7 src = fetchFromGitHub { 8 8 owner = "v2fly"; 9 9 repo = "domain-list-community"; 10 10 rev = version; 11 - hash = "sha256-HmP5V02TUL48vlQ9bFRePV5l1J0ECszVzQ48UENDvuQ="; 11 + hash = "sha256-4D975ASoDoXjEi0kkwsUIIT6nwOE3ggBzNUVp0ojsbQ="; 12 12 }; 13 13 vendorHash = "sha256-dYaGR5ZBORANKAYuPAi9i+KQn2OAGDGTZxdyVjkcVi8="; 14 14 meta = with lib; {
+4 -2
pkgs/development/compilers/cudatoolkit/common.nix
··· 138 138 (ucx.override { enableCuda = false; }) # Avoid infinite recursion 139 139 xorg.libxshmfence 140 140 xorg.libxkbfile 141 - ] ++ (lib.optionals (lib.versionAtLeast version "12.1") (map lib.getLib ([ 141 + ] ++ (lib.optionals (lib.versionAtLeast version "12") (map lib.getLib ([ 142 142 # Used by `/target-linux-x64/CollectX/clx` and `/target-linux-x64/CollectX/libclx_api.so` for: 143 143 # - `libcurl.so.4` 144 144 curlMinimal ··· 183 183 "libcom_err.so.2" 184 184 ]; 185 185 186 - preFixup = '' 186 + preFixup = if lib.versionOlder version "11" then '' 187 + patchelf $out/targets/*/lib/libnvrtc.so --add-needed libnvrtc-builtins.so 188 + '' else '' 187 189 patchelf $out/lib64/libnvrtc.so --add-needed libnvrtc-builtins.so 188 190 ''; 189 191
+2 -2
pkgs/development/compilers/yosys/default.nix
··· 71 71 72 72 in stdenv.mkDerivation rec { 73 73 pname = "yosys"; 74 - version = "0.30"; 74 + version = "0.31"; 75 75 76 76 src = fetchFromGitHub { 77 77 owner = "YosysHQ"; 78 78 repo = "yosys"; 79 79 rev = "${pname}-${version}"; 80 - hash = "sha256-qhMcXJFEuBPl7vh+gYTu7PnSWi+L3YMLrBMQyYqfc0w="; 80 + hash = "sha256-BGeqI0U2AdKgsQQw3f/C0l1ENPTlQ3Eoa8TaLRE+aWI="; 81 81 }; 82 82 83 83 enableParallelBuilding = true;
+4 -4
pkgs/development/interpreters/python/hooks/default.nix
··· 1 - self: super: with self; 1 + self: dontUse: with self; 2 2 3 3 let 4 - pythonInterpreter = super.python.pythonForBuild.interpreter; 5 - pythonSitePackages = super.python.sitePackages; 6 - pythonCheckInterpreter = super.python.interpreter; 4 + pythonInterpreter = python.pythonForBuild.interpreter; 5 + pythonSitePackages = python.sitePackages; 6 + pythonCheckInterpreter = python.interpreter; 7 7 setuppy = ../run_setup.py; 8 8 in { 9 9 makePythonHook = args: pkgs.makeSetupHook ({passthru.provides.setupHook = true; } // args);
+3 -2
pkgs/development/interpreters/python/passthrufun.nix
··· 47 47 selfTargetTarget = pythonOnTargetForTarget.pkgs or {}; # There is no Python TargetTarget. 48 48 }; 49 49 hooks = import ./hooks/default.nix; 50 - keep = lib.extends hooks pythonPackagesFun; 50 + keep = self: hooks self {}; 51 51 extra = _: {}; 52 52 optionalExtensions = cond: as: lib.optionals cond as; 53 53 pythonExtension = import ../../../top-level/python-packages.nix; 54 54 python2Extension = import ../../../top-level/python2-packages.nix; 55 55 extensions = lib.composeManyExtensions ([ 56 + hooks 56 57 pythonExtension 57 58 ] ++ (optionalExtensions (!self.isPy3k) [ 58 59 python2Extension ··· 64 65 otherSplices 65 66 keep 66 67 extra 67 - (lib.extends (lib.composeExtensions aliases extensions) keep)) 68 + (lib.extends (lib.composeExtensions aliases extensions) pythonPackagesFun)) 68 69 { 69 70 overrides = packageOverrides; 70 71 python = self;
+2 -8
pkgs/development/libraries/jsoncpp/default.nix
··· 40 40 "-DBUILD_SHARED_LIBS=ON" 41 41 "-DBUILD_OBJECT_LIBS=OFF" 42 42 "-DJSONCPP_WITH_CMAKE_PACKAGE=ON" 43 + "-DBUILD_STATIC_LIBS=${if enableStatic then "ON" else "OFF"}" 43 44 ] 44 45 # the test's won't compile if secureMemory is used because there is no 45 46 # comparison operators and conversion functions between 46 47 # std::basic_string<..., Json::SecureAllocator<char>> vs. 47 48 # std::basic_string<..., [default allocator]> 48 - ++ lib.optional ((stdenv.buildPlatform != stdenv.hostPlatform) || secureMemory) "-DJSONCPP_WITH_TESTS=OFF" 49 - ++ lib.optional (!enableStatic) "-DBUILD_STATIC_LIBS=OFF"; 50 - 51 - # this is fixed and no longer necessary in 1.9.5 but there they use 52 - # memset_s without switching to a different c++ standard in the cmake files 53 - postInstall = lib.optionalString enableStatic '' 54 - (cd $out/lib && ln -sf libjsoncpp_static.a libjsoncpp.a) 55 - ''; 49 + ++ lib.optional ((stdenv.buildPlatform != stdenv.hostPlatform) || secureMemory) "-DJSONCPP_WITH_TESTS=OFF"; 56 50 57 51 meta = with lib; { 58 52 homepage = "https://github.com/open-source-parsers/jsoncpp";
+2
pkgs/development/libraries/libevent/default.nix
··· 20 20 }) 21 21 ]; 22 22 23 + configureFlags = lib.optional (!sslSupport) "--disable-openssl"; 24 + 23 25 preConfigure = lib.optionalString (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11") '' 24 26 MACOSX_DEPLOYMENT_TARGET=10.16 25 27 '';
+1
pkgs/development/libraries/science/math/cudnn/generic.nix
··· 94 94 # Without --add-needed autoPatchelf forgets $ORIGIN on cuda>=8.0.5. 95 95 postFixup = strings.optionalString (strings.versionAtLeast versionTriple "8.0.5") '' 96 96 patchelf $out/lib/libcudnn.so --add-needed libcudnn_cnn_infer.so 97 + patchelf $out/lib/libcudnn_ops_infer.so --add-needed libcublas.so --add-needed libcublasLt.so 97 98 ''; 98 99 99 100 passthru = {
+48
pkgs/development/libraries/tclap/1.4.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchgit 4 + , cmake 5 + , doxygen 6 + , python3 7 + }: 8 + stdenv.mkDerivation { 9 + pname = "tclap"; 10 + 11 + # This version is slightly newer than 1.4.0-rc1: 12 + # See https://github.com/mirror/tclap/compare/1.4.0-rc1..3feeb7b2499b37d9cb80890cadaf7c905a9a50c6 13 + version = "1.4-3feeb7b"; 14 + 15 + src = fetchgit { 16 + url = "git://git.code.sf.net/p/tclap/code"; 17 + rev = "3feeb7b2499b37d9cb80890cadaf7c905a9a50c6"; # 1.4 branch 18 + hash = "sha256-byLianB6Vf+I9ABMmsmuoGU2o5RO9c5sMckWW0F+GDM="; 19 + }; 20 + 21 + postPatch = '' 22 + substituteInPlace CMakeLists.txt \ 23 + --replace '$'{CMAKE_INSTALL_LIBDIR_ARCHIND} '$'{CMAKE_INSTALL_LIBDIR} 24 + substituteInPlace packaging/pkgconfig.pc.in \ 25 + --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ 26 + ''; 27 + 28 + nativeBuildInputs = [ 29 + cmake 30 + doxygen 31 + python3 32 + ]; 33 + 34 + # Installing docs is broken in this package+version so we stub out some files 35 + preInstall = '' 36 + touch docs/manual.html 37 + ''; 38 + 39 + doCheck = true; 40 + 41 + meta = with lib; { 42 + description = "Templatized C++ Command Line Parser Library (v1.4)"; 43 + homepage = "https://tclap.sourceforge.net/"; 44 + license = licenses.mit; 45 + maintainers = teams.deshaw.members; 46 + platforms = platforms.all; 47 + }; 48 + }
pkgs/development/libraries/tclap/default.nix pkgs/development/libraries/tclap/1.2.nix
+65
pkgs/development/python-modules/aiogram/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , pythonOlder 5 + , pytestCheckHook 6 + , aiohttp 7 + , aiohttp-socks 8 + , aioredis 9 + , aresponses 10 + , babel 11 + , certifi 12 + , magic-filter 13 + , pytest-asyncio 14 + , pytest-lazy-fixture 15 + , redis 16 + }: 17 + 18 + buildPythonPackage rec { 19 + pname = "aiogram"; 20 + version = "2.25.1"; 21 + format = "setuptools"; 22 + 23 + disabled = pythonOlder "3.7"; 24 + 25 + src = fetchFromGitHub { 26 + owner = "aiogram"; 27 + repo = "aiogram"; 28 + rev = "v${version}"; 29 + hash = "sha256-g8nuvna7DpXElvjBehnGKHUsrf+nyQcoKNnyR59RALo="; 30 + }; 31 + 32 + postPatch = '' 33 + substituteInPlace setup.py \ 34 + --replace "aiohttp>=3.8.0,<3.9.0" "aiohttp" \ 35 + --replace "Babel>=2.9.1,<2.10.0" "Babel" \ 36 + --replace "magic-filter>=1.0.9" "magic-filter" 37 + ''; 38 + 39 + propagatedBuildInputs = [ 40 + aiohttp 41 + babel 42 + certifi 43 + magic-filter 44 + ]; 45 + 46 + nativeCheckInputs = [ 47 + aiohttp-socks 48 + aioredis 49 + aresponses 50 + pytest-asyncio 51 + pytest-lazy-fixture 52 + pytestCheckHook 53 + redis 54 + ]; 55 + 56 + pythonImportsCheck = [ "aiogram" ]; 57 + 58 + meta = with lib; { 59 + description = "Modern and fully asynchronous framework for Telegram Bot API"; 60 + homepage = "https://github.com/aiogram/aiogram"; 61 + changelog = "https://github.com/aiogram/aiogram/releases/tag/v${version}"; 62 + license = licenses.mit; 63 + maintainers = with maintainers; [ sikmir ]; 64 + }; 65 + }
+3 -3
pkgs/development/python-modules/argilla/default.nix
··· 65 65 }: 66 66 let 67 67 pname = "argilla"; 68 - version = "1.12.0"; 68 + version = "1.13.2"; 69 69 optional-dependencies = { 70 70 server = [ 71 71 fastapi ··· 125 125 src = fetchFromGitHub { 126 126 owner = "argilla-io"; 127 127 repo = pname; 128 - rev = "v${version}"; 129 - hash = "sha256-NImtS2bbCfbhbrw12xhGdZp/JVfrB6cHnUHYX3xJ7tw="; 128 + rev = "refs/tags/v${version}"; 129 + hash = "sha256-FCPlEbgViWZEyXpdtaa6pJxpgbSXmcfJX/1RUFF7Zs4="; 130 130 }; 131 131 132 132 pythonRelaxDeps = [
+2 -2
pkgs/development/python-modules/faster-whisper/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "faster-whisper"; 18 - version = "0.7.0"; 18 + version = "0.7.1"; 19 19 format = "setuptools"; 20 20 21 21 src = fetchFromGitHub { 22 22 owner = "guillaumekln"; 23 23 repo = "faster-whisper"; 24 24 rev = "v${version}"; 25 - hash = "sha256-p8BJ+Bdvn+AQSUS6b2GeYNh2l4KXfPx3o0kImu7xVgw="; 25 + hash = "sha256-NTk0S+dMChygnC7Wix62AFO4NNSPJuKXyqoEyWiQhII="; 26 26 }; 27 27 28 28 postPatch = ''
+2 -2
pkgs/development/python-modules/flux-led/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "flux-led"; 12 - version = "1.0.0"; 12 + version = "1.0.1"; 13 13 format = "setuptools"; 14 14 15 15 disabled = pythonOlder "3.7"; ··· 18 18 owner = "Danielhiversen"; 19 19 repo = "flux_led"; 20 20 rev = "refs/tags/${version}"; 21 - hash = "sha256-QQz4wWfCMqNzu2QMoF0nfAKcMyvUHKTMsNVGt+7zkpE="; 21 + hash = "sha256-+eklvdmlWrwvdI6IwNyAIEI0kDlzIYh7bzNY94dzA+E="; 22 22 }; 23 23 24 24 propagatedBuildInputs = [
+40
pkgs/development/python-modules/magic-filter/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , pythonOlder 5 + , pytestCheckHook 6 + , hatchling 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "magic-filter"; 11 + version = "1.0.10"; 12 + format = "pyproject"; 13 + 14 + disabled = pythonOlder "3.7"; 15 + 16 + src = fetchFromGitHub { 17 + owner = "aiogram"; 18 + repo = "magic-filter"; 19 + rev = "v${version}"; 20 + hash = "sha256-mHqq/ci8uMACNutwmxKX1nrl3nTSnSyU2x1VxzWxqzM="; 21 + }; 22 + 23 + nativeBuildInputs = [ 24 + hatchling 25 + ]; 26 + 27 + nativeCheckInputs = [ 28 + pytestCheckHook 29 + ]; 30 + 31 + pythonImportsCheck = [ "magic_filter" ]; 32 + 33 + meta = with lib; { 34 + description = "Magic filter based on dynamic attribute getter"; 35 + homepage = "https://github.com/aiogram/magic-filter"; 36 + changelog = "https://github.com/aiogram/magic-filter/releases/tag/v${version}"; 37 + license = licenses.mit; 38 + maintainers = with maintainers; [ sikmir ]; 39 + }; 40 + }
+2 -2
pkgs/development/python-modules/opower/default.nix
··· 11 11 12 12 buildPythonPackage rec { 13 13 pname = "opower"; 14 - version = "0.0.14"; 14 + version = "0.0.15"; 15 15 format = "pyproject"; 16 16 17 17 disabled = pythonOlder "3.7"; ··· 20 20 owner = "tronikos"; 21 21 repo = "opower"; 22 22 rev = "refs/tags/v${version}"; 23 - hash = "sha256-eTlFb/v88jaEzx5H8ofHMNkqPunDvXcXGvg5ThripeA="; 23 + hash = "sha256-hSwKdxtWgxJCdKk9tw7iCBC7I4buxbRfx4GRwyym6rg="; 24 24 }; 25 25 26 26 pythonRemoveDeps = [
+2 -2
pkgs/development/python-modules/pydeps/default.nix
··· 11 11 12 12 buildPythonPackage rec { 13 13 pname = "pydeps"; 14 - version = "1.12.12"; 14 + version = "1.12.13"; 15 15 format = "setuptools"; 16 16 17 17 disabled = pythonOlder "3.7"; ··· 20 20 owner = "thebjorn"; 21 21 repo = pname; 22 22 rev = "refs/tags/v${version}"; 23 - hash = "sha256-upqlLEGxetkFiwHuwwf7c2wbqrXQcRSamRszYUTsyNk="; 23 + hash = "sha256-n4FmMqpCqxPmGJokfaxnruG9d5oodv6Yfg80Y1EIr34="; 24 24 }; 25 25 26 26 buildInputs = [
+2 -2
pkgs/development/python-modules/python-otbr-api/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "python-otbr-api"; 15 - version = "2.2.0"; 15 + version = "2.3.0"; 16 16 format = "pyproject"; 17 17 18 18 disabled = pythonOlder "3.9"; ··· 21 21 owner = "home-assistant-libs"; 22 22 repo = pname; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-jozMYrmXHSykv5npboyySuVDs1Lamlee15ZPYI4zmO4="; 24 + hash = "sha256-oLqgjTuC5rpAzXTJO+KFn+uQ0TV7rNPWHOAJtRI4otk="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/pyunifiprotect/default.nix
··· 31 31 32 32 buildPythonPackage rec { 33 33 pname = "pyunifiprotect"; 34 - version = "4.10.5"; 34 + version = "4.10.6"; 35 35 format = "pyproject"; 36 36 37 37 disabled = pythonOlder "3.9"; ··· 40 40 owner = "briis"; 41 41 repo = pname; 42 42 rev = "refs/tags/v${version}"; 43 - hash = "sha256-BrdffDuPTn/uFKT9F0pF1+0/MraIPRwsN64DdseQdQA="; 43 + hash = "sha256-vO60QMr+J3tE7ZIU7fZP27jMuPeCJH56Hbhjek5ZfXI="; 44 44 }; 45 45 46 46 postPatch = ''
+2 -2
pkgs/development/python-modules/types-pyopenssl/default.nix
··· 6 6 7 7 buildPythonPackage rec { 8 8 pname = "types-pyopenssl"; 9 - version = "23.2.0.1"; 9 + version = "23.2.0.2"; 10 10 format = "setuptools"; 11 11 12 12 src = fetchPypi { 13 13 pname = "types-pyOpenSSL"; 14 14 inherit version; 15 - hash = "sha256-vutdInBMYloeS23HVjVcW0rwuYATi3AqnZ+TKs8CCQM="; 15 + hash = "sha256-agENrJ7NQrWC190sw+nkBIa3mztkuy//uhR0/5avkG0="; 16 16 }; 17 17 18 18 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/xknx/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "xknx"; 15 - version = "2.11.1"; 15 + version = "2.11.2"; 16 16 format = "pyproject"; 17 17 18 18 disabled = pythonOlder "3.8"; ··· 21 21 owner = "XKNX"; 22 22 repo = pname; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-9H5LQX6uXWr9pQ/WosNl1LrcbR+MAwVtZv8Cdb+WFvg="; 24 + hash = "sha256-rKvHb0wkWVuZO8M8uIQdOiY1N6DmGSpqUgz4YYbUfSM="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
-26
pkgs/development/python-modules/zope_broken/default.nix
··· 1 - { lib 2 - , buildPythonPackage 3 - , fetchPypi 4 - , zope_interface 5 - }: 6 - 7 - buildPythonPackage rec { 8 - pname = "zope.broken"; 9 - version = "3.6.0"; 10 - 11 - src = fetchPypi { 12 - inherit pname version; 13 - extension = "zip"; 14 - sha256 = "b9b8776002da4f7b6b12dfcce77eb642ae62b39586dbf60e1d9bdc992c9f2999"; 15 - }; 16 - 17 - buildInputs = [ zope_interface ]; 18 - 19 - meta = with lib; { 20 - homepage = "http://pypi.python.org/pypi/zope.broken"; 21 - description = "Zope Broken Object Interfaces"; 22 - license = licenses.zpl20; 23 - maintainers = with maintainers; [ goibhniu ]; 24 - }; 25 - 26 - }
+5 -5
pkgs/development/tools/build-managers/scala-cli/sources.json
··· 1 1 { 2 - "version": "1.0.1", 2 + "version": "1.0.2", 3 3 "assets": { 4 4 "aarch64-darwin": { 5 5 "asset": "scala-cli-aarch64-apple-darwin.gz", 6 - "sha256": "0n6jlxbfw21ck1qg2xzkrp0p4hlvr21cxfp3p27svp01104n6ig8" 6 + "sha256": "0a1gsrzavflyp6vk7qghb7az9ki1mq4vkncsbjwq0b5hrmy4mxry" 7 7 }, 8 8 "aarch64-linux": { 9 9 "asset": "scala-cli-aarch64-pc-linux.gz", 10 - "sha256": "05rmxi7nwxkvx6as6sbfvrsyll2lp06iq77z22glkkv8y1dd6334" 10 + "sha256": "0six9qcrihshn4sbiyzkbxdnkflqq5az166fdi5wz4rq0l4jj02z" 11 11 }, 12 12 "x86_64-darwin": { 13 13 "asset": "scala-cli-x86_64-apple-darwin.gz", 14 - "sha256": "1vsjp3sdnclx5w4bv1kzkk23q848374phlx3ix0qln04ih821q0l" 14 + "sha256": "1c6dsidgcjscqzknvn1sl66kjvjbg400dxxb9lp134zm2sn8r3r2" 15 15 }, 16 16 "x86_64-linux": { 17 17 "asset": "scala-cli-x86_64-pc-linux.gz", 18 - "sha256": "1904f2z3hvkl2rmj0czk5qkw9327zqf5m8i4ad0bzyrri5q7q4ki" 18 + "sha256": "1a35xhkvri5nlk65ms0rwlcgsbl8264j6c60665ds2h9dwph06n7" 19 19 } 20 20 } 21 21 }
+2 -2
pkgs/development/tools/language-servers/lua-language-server/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "lua-language-server"; 5 - version = "3.6.24"; 5 + version = "3.6.25"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "luals"; 9 9 repo = "lua-language-server"; 10 10 rev = version; 11 - sha256 = "sha256-PjJUoh2wqXUhYNNYIu5PLk3WZoWxBvwf3NA36xEYb2I="; 11 + sha256 = "sha256-fERsqOjuZSIPpTEAQbKZ/ZYzQENxJi8Gibb6Oi073pA="; 12 12 fetchSubmodules = true; 13 13 }; 14 14
+4 -4
pkgs/development/tools/misc/complgen/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage { 7 7 pname = "complgen"; 8 - version = "unstable-2023-07-10"; 8 + version = "unstable-2023-07-20"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "adaszko"; 12 12 repo = "complgen"; 13 - rev = "6b1fbc50d56061c74e3324362b23ba5211aaff25"; 14 - hash = "sha256-y94DOMW3w+/YJ4uNvEM4y/dZXZuwFPYhDuh2TOyBn8U="; 13 + rev = "18ad7e5def8e9b9701a79511a23a2091baad8a9e"; 14 + hash = "sha256-1nNxcYi7HrA2vcggiLC5UPTX3dmM5xgjubnX7WtCq/A="; 15 15 }; 16 16 17 - cargoHash = "sha256-fzLM1vxY1FBpw/5JDp4+VO9SVfCQCH8Et5a0WTYSHwk="; 17 + cargoHash = "sha256-rR9wj34QUmIn5HE0k2nOa7HHO5DI+w6BbCgJ4Aelt44="; 18 18 19 19 meta = with lib; { 20 20 description = "Generate {bash,fish,zsh} completions from a single EBNF-like grammar";
+6 -3
pkgs/games/prismlauncher/default.nix
··· 25 25 in 26 26 stdenv.mkDerivation rec { 27 27 pname = "prismlauncher-unwrapped"; 28 - version = "7.1"; 28 + version = "7.2"; 29 29 30 30 src = fetchFromGitHub { 31 31 owner = "PrismLauncher"; 32 32 repo = "PrismLauncher"; 33 33 rev = version; 34 - sha256 = "sha256-ri4oaeJKmvjJapUASPX10nl4JcLPjA3SgTp2EyaEPWg="; 34 + sha256 = "sha256-RArg60S91YKp1Mt97a5JNfBEOf2cmuX4pK3VAx2WfqM="; 35 35 }; 36 36 37 37 nativeBuildInputs = [ extra-cmake-modules cmake jdk17 ninja ]; ··· 46 46 47 47 hardeningEnable = [ "pie" ]; 48 48 49 - cmakeFlags = lib.optionals (msaClientID != null) [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ] 49 + cmakeFlags = [ 50 + # downstream branding 51 + "-DLauncher_BUILD_PLATFORM=nixpkgs" 52 + ] ++ lib.optionals (msaClientID != null) [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ] 50 53 ++ lib.optionals (lib.versionOlder qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=5" ]; 51 54 52 55 postUnpack = ''
+147
pkgs/os-specific/linux/dcgm/default.nix
··· 1 + { lib 2 + , callPackage 3 + , gcc11Stdenv 4 + , fetchFromGitHub 5 + , addOpenGLRunpath 6 + , catch2 7 + , cmake 8 + , cudaPackages_10_2 9 + , cudaPackages_11_8 10 + , cudaPackages_12 11 + , fmt_9 12 + , git 13 + , jsoncpp 14 + , libevent 15 + , plog 16 + , python3 17 + , symlinkJoin 18 + , tclap_1_4 19 + , yaml-cpp 20 + }: 21 + let 22 + # Flags copied from DCGM's libevent build script 23 + libevent-nossl = libevent.override { sslSupport = false; }; 24 + libevent-nossl-static = libevent-nossl.overrideAttrs (super: { 25 + CFLAGS = "-Wno-cast-function-type -Wno-implicit-fallthrough -fPIC"; 26 + CXXFLAGS = "-Wno-cast-function-type -Wno-implicit-fallthrough -fPIC"; 27 + configureFlags = super.configureFlags ++ [ "--disable-shared" "--with-pic" ]; 28 + }); 29 + 30 + jsoncpp-static = jsoncpp.override { enableStatic = true; }; 31 + 32 + # DCGM depends on 3 different versions of CUDA at the same time. 33 + # The runtime closure, thankfully, is quite small because most things 34 + # are statically linked. 35 + cudaPackageSetByVersion = [ 36 + { 37 + version = "10"; 38 + # Nixpkgs cudaPackages_10 doesn't have redist packages broken out. 39 + pkgSet = [ 40 + cudaPackages_10_2.cudatoolkit 41 + cudaPackages_10_2.cudatoolkit.lib 42 + ]; 43 + } 44 + { 45 + version = "11"; 46 + pkgSet = getCudaPackages cudaPackages_11_8; 47 + } 48 + { 49 + version = "12"; 50 + pkgSet = getCudaPackages cudaPackages_12; 51 + } 52 + ]; 53 + 54 + # Select needed redist packages from cudaPackages 55 + # C.f. https://github.com/NVIDIA/DCGM/blob/7e1012302679e4bb7496483b32dcffb56e528c92/dcgmbuild/scripts/0080_cuda.sh#L24-L39 56 + getCudaPackages = p: with p; [ 57 + cuda_cccl 58 + cuda_cudart 59 + cuda_nvcc 60 + cuda_nvml_dev 61 + libcublas 62 + libcufft 63 + libcurand 64 + ]; 65 + 66 + # Builds CMake code to add CUDA paths for include and lib. 67 + mkAppendCudaPaths = { version, pkgSet }: 68 + let 69 + # The DCGM CMake assumes that the folder containing cuda.h contains all headers, so we must 70 + # combine everything together for headers to work. 71 + # It would be more convenient to use symlinkJoin on *just* the include subdirectories 72 + # of each package, but not all of them have an include directory and making that work 73 + # is more effort than it's worth for this temporary, build-time package. 74 + combined = symlinkJoin { 75 + name = "cuda-combined-${version}"; 76 + paths = pkgSet; 77 + }; 78 + # The combined package above breaks the build for some reason so we just configure 79 + # each package's library path. 80 + libs = lib.concatMapStringsSep " " (x: ''"${x}/lib"'') pkgSet; 81 + in '' 82 + list(APPEND Cuda${version}_INCLUDE_PATHS "${combined}/include") 83 + list(APPEND Cuda${version}_LIB_PATHS ${libs}) 84 + ''; 85 + 86 + # gcc11 is required by DCGM's very particular build system 87 + # C.f. https://github.com/NVIDIA/DCGM/blob/7e1012302679e4bb7496483b32dcffb56e528c92/dcgmbuild/build.sh#L22 88 + in gcc11Stdenv.mkDerivation rec { 89 + pname = "dcgm"; 90 + version = "3.1.8"; 91 + 92 + src = fetchFromGitHub { 93 + owner = "NVIDIA"; 94 + repo = "DCGM"; 95 + rev = "refs/tags/v${version}"; 96 + hash = "sha256-OXqXkP2ZUNPzafGIgJ0MKa39xB84keVFFYl+JsHgnks="; 97 + }; 98 + 99 + # Add our paths to the CUDA paths so FindCuda.cmake can find them. 100 + EXTRA_CUDA_PATHS = lib.concatMapStringsSep "\n" mkAppendCudaPaths cudaPackageSetByVersion; 101 + prePatch = '' 102 + echo "$EXTRA_CUDA_PATHS"$'\n'"$(cat cmake/FindCuda.cmake)" > cmake/FindCuda.cmake 103 + ''; 104 + 105 + hardeningDisable = [ "all" ]; 106 + 107 + nativeBuildInputs = [ 108 + addOpenGLRunpath 109 + cmake 110 + git 111 + python3 112 + 113 + jsoncpp-static 114 + jsoncpp-static.dev 115 + libevent-nossl-static 116 + libevent-nossl-static.dev 117 + plog.dev # header-only 118 + tclap_1_4 # header-only 119 + ]; 120 + 121 + buildInputs = [ 122 + catch2 123 + fmt_9 124 + yaml-cpp 125 + ]; 126 + 127 + # libcuda.so must be found at runtime because it is supplied by the NVIDIA 128 + # driver. autoAddOpenGLRunpathHook breaks on the statically linked exes. 129 + postFixup = '' 130 + find "$out/bin" "$out/lib" -type f -executable -print0 | while IFS= read -r -d "" f; do 131 + if isELF "$f" && [[ $(patchelf --print-needed "$f" || true) == *libcuda.so* ]]; then 132 + addOpenGLRunpath "$f" 133 + fi 134 + done 135 + ''; 136 + 137 + disallowedReferences = lib.concatMap (x: x.pkgSet) cudaPackageSetByVersion; 138 + 139 + meta = with lib; { 140 + description = "Data Center GPU Manager (DCGM) is a daemon that allows users to monitor NVIDIA data-center GPUs."; 141 + homepage = "https://developer.nvidia.com/dcgm"; 142 + license = licenses.asl20; 143 + maintainers = teams.deshaw.members; 144 + mainProgram = "dcgmi"; 145 + platforms = platforms.linux; 146 + }; 147 + }
+66
pkgs/servers/monitoring/prometheus/dcgm-exporter/default.nix
··· 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + , cudaPackages 5 + , dcgm 6 + , linuxPackages 7 + }: 8 + buildGoModule rec { 9 + pname = "dcgm-exporter"; 10 + version = "3.1.8-3.1.5"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "NVIDIA"; 14 + repo = pname; 15 + rev = "refs/tags/${version}"; 16 + hash = "sha256-Jzv3cU3gmGIXV+DV3wV/1zSWwz18s3Jax6JC7WZW7Z4="; 17 + }; 18 + 19 + # Upgrade to go 1.17 during the vendoring FOD build because it fails otherwise. 20 + overrideModAttrs = _: { 21 + preBuild = '' 22 + substituteInPlace go.mod --replace 'go 1.16' 'go 1.17' 23 + go mod tidy 24 + ''; 25 + postInstall = '' 26 + cp go.mod "$out/go.mod" 27 + ''; 28 + }; 29 + 30 + CGO_LDFLAGS = "-ldcgm"; 31 + 32 + buildInputs = [ 33 + dcgm 34 + ]; 35 + 36 + # gonvml and go-dcgm do not work with ELF BIND_NOW hardening because not all 37 + # symbols are available on startup. 38 + hardeningDisable = [ "bindnow" ]; 39 + 40 + # Copy the modified go.mod we got from the vendoring process. 41 + preBuild = '' 42 + cp vendor/go.mod go.mod 43 + ''; 44 + 45 + vendorHash = "sha256-KMCV79kUY1sNYysH0MmB7pVU98r7v+DpLIoYHxyyG4U="; 46 + 47 + nativeBuildInputs = [ 48 + cudaPackages.autoAddOpenGLRunpathHook 49 + ]; 50 + 51 + # Tests try to interact with running DCGM service. 52 + doCheck = false; 53 + 54 + postFixup = '' 55 + patchelf --add-needed libnvidia-ml.so "$out/bin/dcgm-exporter" 56 + ''; 57 + 58 + meta = with lib; { 59 + description = "NVIDIA GPU metrics exporter for Prometheus leveraging DCGM"; 60 + homepage = "https://github.com/NVIDIA/dcgm-exporter"; 61 + license = licenses.asl20; 62 + maintainers = teams.deshaw.members; 63 + mainProgram = "dcgm-exporter"; 64 + platforms = platforms.linux; 65 + }; 66 + }
+50
pkgs/test/texlive/default.nix
··· 321 321 echo "tested $binCount binCount: $ignoredCount ignored, $brokenCount broken, $failedCount failed" 322 322 [[ $failedCount = 0 ]] 323 323 ''; 324 + 325 + # verify that the precomputed licensing information in default.nix 326 + # does indeed match the metadata of the individual packages. 327 + # 328 + # This is part of the test suite (and not the normal evaluation) to save 329 + # time for "normal" evaluations. To be more in line with the other tests, this 330 + # also builds a derivation, even though it is essentially an eval-time assertion. 331 + licenses = 332 + let 333 + concatLicenses = builtins.foldl' (acc: el: if builtins.elem el acc then acc else acc ++ [ el ]); 334 + # converts a license to its attribute name in lib.licenses 335 + licenseToAttrName = license: 336 + builtins.head (builtins.attrNames 337 + (lib.filterAttrs (n: v: license == v) lib.licenses)); 338 + lt = (a: b: a < b); 339 + 340 + savedLicenses = scheme: scheme.meta.license; 341 + savedLicensesAttrNames = scheme: map licenseToAttrName (savedLicenses scheme); 342 + 343 + correctLicenses = scheme: builtins.foldl' 344 + (acc: pkg: concatLicenses acc (lib.toList (pkg.meta.license or []))) 345 + [] 346 + scheme.passthru.packages; 347 + correctLicensesAttrNames = scheme: 348 + lib.sort lt 349 + (map licenseToAttrName (correctLicenses scheme)); 350 + 351 + hasLicenseMismatch = scheme: 352 + (lib.isDerivation scheme) && 353 + (savedLicensesAttrNames scheme) != (correctLicensesAttrNames scheme); 354 + incorrectSchemes = lib.filterAttrs 355 + (n: hasLicenseMismatch) 356 + texlive.combined; 357 + prettyPrint = name: scheme: 358 + '' 359 + license info for ${name} is incorrect! Note that order is enforced. 360 + saved: [ ${lib.concatStringsSep " " (savedLicensesAttrNames scheme)} ] 361 + correct: [ ${lib.concatStringsSep " " (correctLicensesAttrNames scheme)} ] 362 + ''; 363 + errorText = lib.concatStringsSep "\n\n" (lib.mapAttrsToList prettyPrint incorrectSchemes); 364 + in 365 + runCommand "texlive-test-license" { 366 + inherit errorText; 367 + } 368 + (if (incorrectSchemes == {}) 369 + then "echo everything is fine! > $out" 370 + else '' 371 + echo "$errorText" 372 + false 373 + ''); 324 374 }
+3 -3
pkgs/tools/misc/ripdrag/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "ripdrag"; 5 - version = "0.3.1"; 5 + version = "0.3.2"; 6 6 7 7 src = fetchCrate { 8 8 inherit pname version; 9 - hash = "sha256-SSH/HCvrUvWNIqlx7F6eNMM1eGxGGg5eel/X/q1Um1g="; 9 + hash = "sha256-vxAAAFLTIfLqYD7E/nwsHgFLhzMRF7DspIaWqAMZcXk="; 10 10 }; 11 11 12 - cargoHash = "sha256-FvStPBmyETjCaBqQK/KYHpwtqNCiY6n484E5bumdRzk="; 12 + cargoHash = "sha256-6GKLBnG1p6iaFvnEQgfNlGpZwEG93tI256DCMLuJjOU="; 13 13 14 14 nativeBuildInputs = [ pkg-config wrapGAppsHook4 ]; 15 15
+2 -2
pkgs/tools/networking/babeld/default.nix
··· 6 6 7 7 stdenv.mkDerivation rec { 8 8 pname = "babeld"; 9 - version = "1.13"; 9 + version = "1.13.1"; 10 10 11 11 src = fetchurl { 12 12 url = "https://www.irif.fr/~jch/software/files/${pname}-${version}.tar.gz"; 13 - hash = "sha256-0IXMzPsGoR1/pbVMUdnEEPXzsKk4n1hJUTNv8Xjyk7g="; 13 + hash = "sha256-FfJNJtoMz8Bzq83vAwnygeRoTyqnESb4JlcsTIRejdk="; 14 14 }; 15 15 16 16 outputs = [
+3 -3
pkgs/tools/security/sequoia-chameleon-gnupg/default.nix
··· 11 11 12 12 rustPlatform.buildRustPackage rec { 13 13 pname = "sequoia-chameleon-gnupg"; 14 - version = "0.3.1"; 14 + version = "0.3.2"; 15 15 16 16 src = fetchFromGitLab { 17 17 owner = "sequoia-pgp"; 18 18 repo = pname; 19 19 rev = "v${version}"; 20 - hash = "sha256-sxjWd02INP2Dr5RQR7+dHHIQkGoCx6CZmvrq9x9zVC8="; 20 + hash = "sha256-Qe9KKZh0Zim/BdPn2aMxkH6FBOBB6zijkp5ft9YfzzU="; 21 21 }; 22 22 23 - cargoHash = "sha256-+0MLfq2Gjs4oh9bC8OEQsx0RHxlzB/HlIgyXtwzvGUY="; 23 + cargoHash = "sha256-KuVSpbAfLVIy5YJ/8qb+Rfw1TgZkWfR+Ai9gDcf4EQ4="; 24 24 25 25 nativeBuildInputs = [ 26 26 rustPlatform.bindgenHook
+2 -2
pkgs/tools/text/gtree/default.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "gtree"; 10 - version = "1.9.2"; 10 + version = "1.9.3"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "ddddddO"; 14 14 repo = "gtree"; 15 15 rev = "v${version}"; 16 - hash = "sha256-RBGbFC+MOteCImPwzn2WYq5LTYF6rZEpTt1hlfHvUBw="; 16 + hash = "sha256-cQO34m78lvgfbDf+Ok0Yo3rnou8ndGfegeIy1Z8xuPU="; 17 17 }; 18 18 19 19 vendorHash = "sha256-QxcDa499XV43p8fstENOtfe3iZ176R5/Ub5iovXlYIM=";
+17
pkgs/tools/typesetting/tex/texlive/UPGRADING.md
··· 72 72 the same output. Should those assumptions not hold, remove the previous fixed 73 73 hashes for the relevant package, or for all packages. 74 74 75 + ### Updating the licensing information 76 + 77 + The license of each package in texlive is automatically extracted from texlive's 78 + texlive.tlpdb into tlpdb.nix. The combined licenses of the schemes is stored 79 + separately in `default.nix` and must be kept in sync with the licenses of the 80 + actual contents of these schemes. Whether this is the case can be verified with the 81 + `pkgs.tests.texlive.licenses` test. In case of a mismatch, copy the “correct” 82 + license lists reported by the test into `default.nix`. 83 + 84 + ### Running the testsuite 85 + 86 + There are a some other useful tests that haven't been mentioned before. Build them with 87 + ``` 88 + nix-build ../../../../.. -A tests.texlive --no-out-link 89 + ``` 90 + 91 + 75 92 ### Commit changes 76 93 77 94 Commit the updated `tlpdb.nix` and `fixed-hashes.nix` to the repository with
+27 -1
pkgs/tools/typesetting/tex/texlive/default.nix
··· 43 43 # it seems to need it to transform fonts 44 44 xdvi.deps = (orig.xdvi.deps or []) ++ [ "metafont" ]; 45 45 46 + # TODO: remove when updating to texlive-2023, metadata has been corrected in the TeX catalogue 46 47 # tlpdb lists license as "unknown", but the README says lppl13: http://mirrors.ctan.org/language/arabic/arabi-add/README 47 48 arabi-add.license = [ "lppl13c" ]; 48 49 ··· 254 255 255 256 # Pre-defined combined packages for TeX Live schemes, 256 257 # to make nix-env usage more comfortable and build selected on Hydra. 257 - combined = with lib; recurseIntoAttrs ( 258 + combined = with lib; 259 + let 260 + # these license lists should be the sorted union of the licenses of the packages the schemes contain. 261 + # The correctness of this collation is tested by tests.texlive.licenses 262 + licenses = with lib.licenses; { 263 + scheme-basic = [ free gfl gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ]; 264 + scheme-context = [ bsd2 bsd3 cc-by-sa-40 free gfl gfsl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21 265 + lppl1 lppl13c mit ofl publicDomain x11 ]; 266 + scheme-full = [ artistic1 artistic1-cl8 asl20 bsd2 bsd3 bsdOriginal cc-by-10 cc-by-40 cc-by-sa-10 cc-by-sa-20 267 + cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl1Plus gpl2 gpl2Plus gpl3 gpl3Plus isc knuth 268 + lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ]; 269 + scheme-gust = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gfsl gpl1Only gpl2 270 + gpl2Plus gpl3 gpl3Plus knuth lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ]; 271 + scheme-infraonly = [ gpl2 lgpl21 ]; 272 + scheme-medium = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 fdl13Only 273 + free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a lppl13c mit ofl 274 + publicDomain x11 ]; 275 + scheme-minimal = [ free gpl1Only gpl2 gpl2Plus knuth lgpl21 lppl1 lppl13c mit ofl publicDomain ]; 276 + scheme-small = [ asl20 cc-by-40 cc-by-sa-40 cc0 fdl13Only free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus knuth 277 + lgpl2 lgpl21 lppl1 lppl12 lppl13a lppl13c mit ofl publicDomain x11 ]; 278 + scheme-tetex = [ artistic1-cl8 asl20 bsd2 bsd3 cc-by-40 cc-by-sa-10 cc-by-sa-20 cc-by-sa-30 cc-by-sa-40 cc0 279 + fdl13Only free gfl gpl1Only gpl2 gpl2Plus gpl3 gpl3Plus isc knuth lgpl2 lgpl21 lgpl3 lppl1 lppl12 lppl13a 280 + lppl13c mit ofl publicDomain x11]; 281 + }; 282 + in recurseIntoAttrs ( 258 283 mapAttrs 259 284 (pname: attrs: 260 285 addMetaAttrs rec { 261 286 description = "TeX Live environment for ${pname}"; 262 287 platforms = lib.platforms.all; 263 288 maintainers = with lib.maintainers; [ veprbl ]; 289 + license = licenses.${pname}; 264 290 } 265 291 (combine { 266 292 ${pname} = attrs;
+12 -1
pkgs/top-level/all-packages.nix
··· 555 555 556 556 dbip-country-lite = callPackage ../data/misc/dbip-country-lite { }; 557 557 558 + dcgm = callPackage ../os-specific/linux/dcgm { }; 559 + 558 560 dhallDirectoryToNix = callPackage ../build-support/dhall/directory-to-nix.nix { }; 559 561 560 562 dhallPackageToNix = callPackage ../build-support/dhall/package-to-nix.nix { }; ··· 25017 25019 25018 25020 taskflow = callPackage ../development/libraries/taskflow { }; 25019 25021 25020 - tclap = callPackage ../development/libraries/tclap { }; 25022 + tclap = tclap_1_2; 25023 + 25024 + tclap_1_2 = callPackage ../development/libraries/tclap/1.2.nix { }; 25025 + 25026 + tclap_1_4 = callPackage ../development/libraries/tclap/1.4.nix { }; 25021 25027 25022 25028 tcllib = callPackage ../development/libraries/tcllib { }; 25023 25029 ··· 26847 26853 prometheus-cloudflare-exporter = callPackage ../servers/monitoring/prometheus/cloudflare-exporter.nix { }; 26848 26854 prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { }; 26849 26855 prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { }; 26856 + prometheus-dcgm-exporter = callPackage ../servers/monitoring/prometheus/dcgm-exporter { }; 26850 26857 prometheus-dnsmasq-exporter = callPackage ../servers/monitoring/prometheus/dnsmasq-exporter.nix { }; 26851 26858 prometheus-dovecot-exporter = callPackage ../servers/monitoring/prometheus/dovecot-exporter.nix { }; 26852 26859 prometheus-domain-exporter = callPackage ../servers/monitoring/prometheus/domain-exporter.nix { }; ··· 39927 39934 helm = callPackage ../applications/audio/helm { }; 39928 39935 39929 39936 helmfile = callPackage ../applications/networking/cluster/helmfile { }; 39937 + 39938 + helmfile-wrapped = callPackage ../applications/networking/cluster/helmfile { 39939 + inherit (kubernetes-helm-wrapped.passthru) pluginsDir; 39940 + }; 39930 39941 39931 39942 helm-dashboard = callPackage ../applications/networking/cluster/helm-dashboard { }; 39932 39943
+1
pkgs/top-level/python-aliases.nix
··· 377 377 zake = throw "zake has been removed because it is abandoned"; # added 2023-06-20 378 378 zc-buildout221 = zc-buildout; # added 2021-07-21 379 379 zc_buildout_nix = throw "zc_buildout_nix was pinned to a version no longer compatible with other modules"; 380 + zope_broken = throw "zope_broken has been removed because it is obsolete and not needed in zodb>=3.10"; # added 2023-07-26 380 381 })
+4 -2
pkgs/top-level/python-packages.nix
··· 194 194 195 195 aiogithubapi = callPackage ../development/python-modules/aiogithubapi { }; 196 196 197 + aiogram = callPackage ../development/python-modules/aiogram { }; 198 + 197 199 aioharmony = callPackage ../development/python-modules/aioharmony { }; 198 200 199 201 aiohomekit = callPackage ../development/python-modules/aiohomekit { }; ··· 6182 6184 magic = callPackage ../development/python-modules/magic { }; 6183 6185 6184 6186 magicgui = callPackage ../development/python-modules/magicgui { }; 6187 + 6188 + magic-filter = callPackage ../development/python-modules/magic-filter { }; 6185 6189 6186 6190 magic-wormhole = callPackage ../development/python-modules/magic-wormhole { }; 6187 6191 ··· 13888 13892 zodb = callPackage ../development/python-modules/zodb { }; 13889 13893 13890 13894 zodbpickle = callPackage ../development/python-modules/zodbpickle { }; 13891 - 13892 - zope_broken = callPackage ../development/python-modules/zope_broken { }; 13893 13895 13894 13896 zope-cachedescriptors = callPackage ../development/python-modules/zope-cachedescriptors { }; 13895 13897