lol

Merge staging-next into staging

authored by

github-actions[bot] and committed by
GitHub
bae9ba4a 16ccd41a

+1402 -781
+24
lib/attrsets.nix
··· 14 14 15 15 /* Return an attribute from nested attribute sets. 16 16 17 + Nix has an [attribute selection operator `. or`](https://nixos.org/manual/nix/stable/language/operators#attribute-selection) which is sufficient for such queries, as long as the number of attributes is static. For example: 18 + 19 + ```nix 20 + (x.a.b or 6) == attrByPath ["a" "b"] 6 x 21 + # and 22 + (x.${f p}."example.com" or 6) == attrByPath [ (f p) "example.com" ] 6 x 23 + ``` 24 + 17 25 Example: 18 26 x = { a = { b = 3; }; } 19 27 # ["a" "b"] is equivalent to x.a.b ··· 50 58 attrByPath' 0 set; 51 59 52 60 /* Return if an attribute from nested attribute set exists. 61 + 62 + Nix has a [has attribute operator `?`](https://nixos.org/manual/nix/stable/language/operators#has-attribute), which is sufficient for such queries, as long as the number of attributes is static. For example: 63 + 64 + ```nix 65 + (x?a.b) == hasAttryByPath ["a" "b"] x 66 + # and 67 + (x?${f p}."example.com") == hasAttryByPath [ (f p) "example.com" ] x 68 + ``` 53 69 54 70 **Laws**: 55 71 1. ```nix ··· 176 192 177 193 /* Like `attrByPath`, but without a default value. If it doesn't find the 178 194 path it will throw an error. 195 + 196 + Nix has an [attribute selection operator](https://nixos.org/manual/nix/stable/language/operators#attribute-selection) which is sufficient for such queries, as long as the number of attributes is static. For example: 197 + 198 + ```nix 199 + x.a.b == getAttrByPath ["a" "b"] x 200 + # and 201 + x.${f p}."example.com" == getAttrByPath [ (f p) "example.com" ] x 202 + ``` 179 203 180 204 Example: 181 205 x = { a = { b = 3; }; }
+15 -19
lib/meta.nix
··· 4 4 { lib }: 5 5 6 6 let 7 - inherit (lib) matchAttrs any all; 8 - inherit (builtins) isString; 7 + inherit (lib) matchAttrs any all isDerivation getBin assertMsg; 8 + inherit (builtins) isString match typeOf; 9 9 10 10 in 11 11 rec { ··· 154 154 getExe pkgs.mustache-go 155 155 => "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache" 156 156 */ 157 - getExe = x: 158 - let 159 - y = x.meta.mainProgram or ( 160 - # This could be turned into an error when 23.05 is at end of life 161 - lib.warn "getExe: Package ${lib.strings.escapeNixIdentifier x.meta.name or x.pname or x.name} does not have the meta.mainProgram attribute. We'll assume that the main program has the same name for now, but this behavior is deprecated, because it leads to surprising errors when the assumption does not hold. If the package has a main program, please set `meta.mainProgram` in its definition to make this warning go away. Otherwise, if the package does not have a main program, or if you don't control its definition, use getExe' to specify the name to the program, such as lib.getExe' foo \"bar\"." 162 - lib.getName 163 - x 164 - ); 165 - in 166 - getExe' x y; 157 + getExe = x: getExe' x (x.meta.mainProgram or ( 158 + # This could be turned into an error when 23.05 is at end of life 159 + lib.warn "getExe: Package ${lib.strings.escapeNixIdentifier x.meta.name or x.pname or x.name} does not have the meta.mainProgram attribute. We'll assume that the main program has the same name for now, but this behavior is deprecated, because it leads to surprising errors when the assumption does not hold. If the package has a main program, please set `meta.mainProgram` in its definition to make this warning go away. Otherwise, if the package does not have a main program, or if you don't control its definition, use getExe' to specify the name to the program, such as lib.getExe' foo \"bar\"." 160 + lib.getName 161 + x 162 + )); 167 163 168 164 /* Get the path of a program of a derivation. 169 165 ··· 175 171 => "/nix/store/5rs48jamq7k6sal98ymj9l4k2bnwq515-imagemagick-7.1.1-15/bin/convert" 176 172 */ 177 173 getExe' = x: y: 178 - assert lib.assertMsg (lib.isDerivation x) 179 - "lib.meta.getExe': The first argument is of type ${builtins.typeOf x}, but it should be a derivation instead."; 180 - assert lib.assertMsg (lib.isString y) 181 - "lib.meta.getExe': The second argument is of type ${builtins.typeOf y}, but it should be a string instead."; 182 - assert lib.assertMsg (builtins.length (lib.splitString "/" y) == 1) 183 - "lib.meta.getExe': The second argument \"${y}\" is a nested path with a \"/\" character, but it should just be the name of the executable instead."; 184 - "${lib.getBin x}/bin/${y}"; 174 + assert assertMsg (isDerivation x) 175 + "lib.meta.getExe': The first argument is of type ${typeOf x}, but it should be a derivation instead."; 176 + assert assertMsg (isString y) 177 + "lib.meta.getExe': The second argument is of type ${typeOf y}, but it should be a string instead."; 178 + assert assertMsg (match ".*\/.*" y == null) 179 + "lib.meta.getExe': The second argument \"${y}\" is a nested path with a \"/\" character, but it should just be the name of the executable instead."; 180 + "${getBin x}/bin/${y}"; 185 181 }
+81
lib/path/default.nix
··· 9 9 split 10 10 match 11 11 typeOf 12 + storeDir 12 13 ; 13 14 14 15 inherit (lib.lists) ··· 23 24 take 24 25 drop 25 26 ; 27 + 28 + listHasPrefix = lib.lists.hasPrefix; 26 29 27 30 inherit (lib.strings) 28 31 concatStringsSep ··· 119 122 if base == dirOf base then { root = base; inherit components; } 120 123 else recurse ([ (baseNameOf base) ] ++ components) (dirOf base); 121 124 in recurse []; 125 + 126 + # The components of the store directory, typically [ "nix" "store" ] 127 + storeDirComponents = splitRelPath ("./" + storeDir); 128 + # The number of store directory components, typically 2 129 + storeDirLength = length storeDirComponents; 130 + 131 + # Type: [ String ] -> Bool 132 + # 133 + # Whether path components have a store path as a prefix, according to 134 + # https://nixos.org/manual/nix/stable/store/store-path.html#store-path. 135 + componentsHaveStorePathPrefix = components: 136 + # path starts with the store directory (typically /nix/store) 137 + listHasPrefix storeDirComponents components 138 + # is not the store directory itself, meaning there's at least one extra component 139 + && storeDirComponents != components 140 + # and the first component after the store directory has the expected format. 141 + # NOTE: We could change the hash regex to be [0-9a-df-np-sv-z], 142 + # because these are the actual ASCII characters used by Nix's base32 implementation, 143 + # but this is not fully specified, so let's tie this too much to the currently implemented concept of store paths. 144 + # Similar reasoning applies to the validity of the name part. 145 + # We care more about discerning store path-ness on realistic values. Making it airtight would be fragile and slow. 146 + && match ".{32}-.+" (elemAt components storeDirLength) != null; 122 147 123 148 in /* No rec! Add dependencies on this file at the top. */ { 124 149 ··· 320 345 root = deconstructed.root; 321 346 subpath = joinRelPath deconstructed.components; 322 347 }; 348 + 349 + /* 350 + Whether a [path](https://nixos.org/manual/nix/stable/language/values.html#type-path) 351 + has a [store path](https://nixos.org/manual/nix/stable/store/store-path.html#store-path) 352 + as a prefix. 353 + 354 + :::{.note} 355 + As with all functions of this `lib.path` library, it does not work on paths in strings, 356 + which is how you'd typically get store paths. 357 + 358 + Instead, this function only handles path values themselves, 359 + which occur when Nix files in the store use relative path expressions. 360 + ::: 361 + 362 + Type: 363 + hasStorePathPrefix :: Path -> Bool 364 + 365 + Example: 366 + # Subpaths of derivation outputs have a store path as a prefix 367 + hasStorePathPrefix /nix/store/nvl9ic0pj1fpyln3zaqrf4cclbqdfn1j-foo/bar/baz 368 + => true 369 + 370 + # The store directory itself is not a store path 371 + hasStorePathPrefix /nix/store 372 + => false 373 + 374 + # Derivation outputs are store paths themselves 375 + hasStorePathPrefix /nix/store/nvl9ic0pj1fpyln3zaqrf4cclbqdfn1j-foo 376 + => true 377 + 378 + # Paths outside the Nix store don't have a store path prefix 379 + hasStorePathPrefix /home/user 380 + => false 381 + 382 + # Not all paths under the Nix store are store paths 383 + hasStorePathPrefix /nix/store/.links/10gg8k3rmbw8p7gszarbk7qyd9jwxhcfq9i6s5i0qikx8alkk4hq 384 + => false 385 + 386 + # Store derivations are also store paths themselves 387 + hasStorePathPrefix /nix/store/nvl9ic0pj1fpyln3zaqrf4cclbqdfn1j-foo.drv 388 + => true 389 + */ 390 + hasStorePathPrefix = path: 391 + let 392 + deconstructed = deconstructPath path; 393 + in 394 + assert assertMsg 395 + (isPath path) 396 + "lib.path.hasStorePathPrefix: Argument is of type ${typeOf path}, but a path was expected"; 397 + assert assertMsg 398 + # This function likely breaks or needs adjustment if used with other filesystem roots, if they ever get implemented. 399 + # Let's try to error nicely in such a case, though it's unclear how an implementation would work even and whether this could be detected. 400 + # See also https://github.com/NixOS/nix/pull/6530#discussion_r1422843117 401 + (deconstructed.root == /. && toString deconstructed.root == "/") 402 + "lib.path.hasStorePathPrefix: Argument has a filesystem root (${toString deconstructed.root}) that's not /, which is currently not supported."; 403 + componentsHaveStorePathPrefix deconstructed.components; 323 404 324 405 /* 325 406 Whether a value is a valid subpath string.
+29 -1
lib/path/tests/unit.nix
··· 3 3 { libpath }: 4 4 let 5 5 lib = import libpath; 6 - inherit (lib.path) hasPrefix removePrefix append splitRoot subpath; 6 + inherit (lib.path) hasPrefix removePrefix append splitRoot hasStorePathPrefix subpath; 7 + 8 + # This is not allowed generally, but we're in the tests here, so we'll allow ourselves. 9 + storeDirPath = /. + builtins.storeDir; 7 10 8 11 cases = lib.runTests { 9 12 # Test examples from the lib.path.append documentation ··· 89 92 testSplitRootExample4 = { 90 93 expr = (builtins.tryEval (splitRoot "/foo/bar")).success; 91 94 expected = false; 95 + }; 96 + 97 + testHasStorePathPrefixExample1 = { 98 + expr = hasStorePathPrefix (storeDirPath + "/nvl9ic0pj1fpyln3zaqrf4cclbqdfn1j-foo/bar/baz"); 99 + expected = true; 100 + }; 101 + testHasStorePathPrefixExample2 = { 102 + expr = hasStorePathPrefix storeDirPath; 103 + expected = false; 104 + }; 105 + testHasStorePathPrefixExample3 = { 106 + expr = hasStorePathPrefix (storeDirPath + "/nvl9ic0pj1fpyln3zaqrf4cclbqdfn1j-foo"); 107 + expected = true; 108 + }; 109 + testHasStorePathPrefixExample4 = { 110 + expr = hasStorePathPrefix /home/user; 111 + expected = false; 112 + }; 113 + testHasStorePathPrefixExample5 = { 114 + expr = hasStorePathPrefix (storeDirPath + "/.links/10gg8k3rmbw8p7gszarbk7qyd9jwxhcfq9i6s5i0qikx8alkk4hq"); 115 + expected = false; 116 + }; 117 + testHasStorePathPrefixExample6 = { 118 + expr = hasStorePathPrefix (storeDirPath + "/nvl9ic0pj1fpyln3zaqrf4cclbqdfn1j-foo.drv"); 119 + expected = true; 92 120 }; 93 121 94 122 # Test examples from the lib.path.subpath.isValid documentation
+7
lib/systems/default.nix
··· 89 89 # is why we use the more obscure "bfd" and not "binutils" for this 90 90 # choice. 91 91 else "bfd"; 92 + # The standard lib directory name that non-nixpkgs binaries distributed 93 + # for this platform normally assume. 94 + libDir = if final.isLinux then 95 + if final.isx86_64 || final.isMips64 || final.isPower64 96 + then "lib64" 97 + else "lib" 98 + else null; 92 99 extensions = lib.optionalAttrs final.hasSharedLibraries { 93 100 sharedLibrary = 94 101 if final.isDarwin then ".dylib"
+4
nixos/doc/manual/release-notes/rl-2405.section.md
··· 10 10 11 11 - `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment. 12 12 13 + - NixOS now installs a stub ELF loader that prints an informative error message when users attempt to run binaries not made for NixOS. 14 + - This can be disabled through the `environment.stub-ld.enable` option. 15 + - If you use `programs.nix-ld.enable`, no changes are needed. The stub will be disabled automatically. 16 + 13 17 ## New Services {#sec-release-24.05-new-services} 14 18 15 19 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+58
nixos/modules/config/ldso.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + inherit (lib) last splitString mkOption types mdDoc optionals; 5 + 6 + libDir = pkgs.stdenv.hostPlatform.libDir; 7 + ldsoBasename = last (splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker); 8 + 9 + pkgs32 = pkgs.pkgsi686Linux; 10 + libDir32 = pkgs32.stdenv.hostPlatform.libDir; 11 + ldsoBasename32 = last (splitString "/" pkgs32.stdenv.cc.bintools.dynamicLinker); 12 + in { 13 + options = { 14 + environment.ldso = mkOption { 15 + type = types.nullOr types.path; 16 + default = null; 17 + description = mdDoc '' 18 + The executable to link into the normal FHS location of the ELF loader. 19 + ''; 20 + }; 21 + 22 + environment.ldso32 = mkOption { 23 + type = types.nullOr types.path; 24 + default = null; 25 + description = mdDoc '' 26 + The executable to link into the normal FHS location of the 32-bit ELF loader. 27 + 28 + This currently only works on x86_64 architectures. 29 + ''; 30 + }; 31 + }; 32 + 33 + config = { 34 + assertions = [ 35 + { assertion = isNull config.environment.ldso32 || pkgs.stdenv.isx86_64; 36 + message = "Option environment.ldso32 currently only works on x86_64."; 37 + } 38 + ]; 39 + 40 + systemd.tmpfiles.rules = ( 41 + if isNull config.environment.ldso then [ 42 + "r /${libDir}/${ldsoBasename} - - - - -" 43 + ] else [ 44 + "d /${libDir} 0755 root root - -" 45 + "L+ /${libDir}/${ldsoBasename} - - - - ${config.environment.ldso}" 46 + ] 47 + ) ++ optionals pkgs.stdenv.isx86_64 ( 48 + if isNull config.environment.ldso32 then [ 49 + "r /${libDir32}/${ldsoBasename32} - - - - -" 50 + ] else [ 51 + "d /${libDir32} 0755 root root - -" 52 + "L+ /${libDir32}/${ldsoBasename32} - - - - ${config.environment.ldso32}" 53 + ] 54 + ); 55 + }; 56 + 57 + meta.maintainers = with lib.maintainers; [ tejing ]; 58 + }
+56
nixos/modules/config/stub-ld.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + inherit (lib) optionalString mkOption types mdDoc mkIf mkDefault; 5 + 6 + cfg = config.environment.stub-ld; 7 + 8 + message = '' 9 + NixOS cannot run dynamically linked executables intended for generic 10 + linux environments out of the box. For more information, see: 11 + https://nix.dev/permalink/stub-ld 12 + ''; 13 + 14 + stub-ld-for = pkgsArg: messageArg: pkgsArg.pkgsStatic.runCommandCC "stub-ld" { 15 + nativeBuildInputs = [ pkgsArg.unixtools.xxd ]; 16 + inherit messageArg; 17 + } '' 18 + printf "%s" "$messageArg" | xxd -i -n message >main.c 19 + cat <<EOF >>main.c 20 + #include <stdio.h> 21 + int main(int argc, char * argv[]) { 22 + fprintf(stderr, "Could not start dynamically linked executable: %s\n", argv[0]); 23 + fwrite(message, sizeof(unsigned char), message_len, stderr); 24 + return 127; // matches behavior of bash and zsh without a loader. fish uses 139 25 + } 26 + EOF 27 + $CC -Os main.c -o $out 28 + ''; 29 + 30 + pkgs32 = pkgs.pkgsi686Linux; 31 + 32 + stub-ld = stub-ld-for pkgs message; 33 + stub-ld32 = stub-ld-for pkgs32 message; 34 + in { 35 + options = { 36 + environment.stub-ld = { 37 + enable = mkOption { 38 + type = types.bool; 39 + default = true; 40 + example = false; 41 + description = mdDoc '' 42 + Install a stub ELF loader to print an informative error message 43 + in the event that a user attempts to run an ELF binary not 44 + compiled for NixOS. 45 + ''; 46 + }; 47 + }; 48 + }; 49 + 50 + config = mkIf cfg.enable { 51 + environment.ldso = mkDefault stub-ld; 52 + environment.ldso32 = mkIf pkgs.stdenv.isx86_64 (mkDefault stub-ld32); 53 + }; 54 + 55 + meta.maintainers = with lib.maintainers; [ tejing ]; 56 + }
+2
nixos/modules/module-list.nix
··· 12 12 ./config/iproute2.nix 13 13 ./config/krb5/default.nix 14 14 ./config/ldap.nix 15 + ./config/ldso.nix 15 16 ./config/locale.nix 16 17 ./config/malloc.nix 17 18 ./config/mysql.nix ··· 28 29 ./config/resolvconf.nix 29 30 ./config/shells-environment.nix 30 31 ./config/stevenblack.nix 32 + ./config/stub-ld.nix 31 33 ./config/swap.nix 32 34 ./config/sysctl.nix 33 35 ./config/system-environment.nix
+2
nixos/modules/profiles/minimal.nix
··· 21 21 # Perl is a default package. 22 22 environment.defaultPackages = mkDefault [ ]; 23 23 24 + environment.stub-ld.enable = false; 25 + 24 26 # The lessopen package pulls in Perl. 25 27 programs.less.lessopen = mkDefault null; 26 28
+6 -5
nixos/modules/programs/hyprland.nix
··· 30 30 readOnly = true; 31 31 default = cfg.package.override { 32 32 enableXWayland = cfg.xwayland.enable; 33 - enableNvidiaPatches = cfg.enableNvidiaPatches; 34 33 }; 35 34 defaultText = literalExpression 36 35 "`programs.hyprland.package` with applied configuration"; ··· 42 41 portalPackage = mkPackageOption pkgs "xdg-desktop-portal-hyprland" { }; 43 42 44 43 xwayland.enable = mkEnableOption (mdDoc "XWayland") // { default = true; }; 45 - 46 - enableNvidiaPatches = mkEnableOption (mdDoc "patching wlroots for better Nvidia support"); 47 44 }; 48 45 49 46 config = mkIf cfg.enable { ··· 73 70 [ "programs" "hyprland" "xwayland" "hidpi" ] 74 71 "XWayland patches are deprecated. Refer to https://wiki.hyprland.org/Configuring/XWayland" 75 72 ) 76 - (mkRenamedOptionModule 77 - [ "programs" "hyprland" "nvidiaPatches" ] 73 + (mkRemovedOptionModule 78 74 [ "programs" "hyprland" "enableNvidiaPatches" ] 75 + "Nvidia patches are no longer needed" 76 + ) 77 + (mkRemovedOptionModule 78 + [ "programs" "hyprland" "nvidiaPatches" ] 79 + "Nvidia patches are no longer needed" 79 80 ) 80 81 ]; 81 82 }
+1 -1
nixos/modules/programs/nix-ld.nix
··· 47 47 }; 48 48 49 49 config = lib.mkIf config.programs.nix-ld.enable { 50 - systemd.tmpfiles.packages = [ cfg.package ]; 50 + environment.ldso = "${cfg.package}/libexec/nix-ld"; 51 51 52 52 environment.systemPackages = [ nix-ld-libraries ]; 53 53
+2 -1
nixos/modules/services/backup/restic.nix
··· 384 384 ${lib.optionalString (backup.environmentFile != null) "source ${backup.environmentFile}"} 385 385 # set same environment variables as the systemd service 386 386 ${lib.pipe config.systemd.services."restic-backups-${name}".environment [ 387 - (lib.filterAttrs (_: v: v != null)) 387 + (lib.filterAttrs (n: v: v != null && n != "PATH")) 388 388 (lib.mapAttrsToList (n: v: "${n}=${v}")) 389 389 (lib.concatStringsSep "\n") 390 390 ]} 391 + PATH=${config.systemd.services."restic-backups-${name}".environment.PATH}:$PATH 391 392 392 393 exec ${resticCmd} $@ 393 394 '') (lib.filterAttrs (_: v: v.createWrapper) config.services.restic.backups);
+8
nixos/modules/services/monitoring/prometheus/default.nix
··· 1435 1435 remote_timeout = mkOpt types.str '' 1436 1436 Timeout for requests to the remote write endpoint. 1437 1437 ''; 1438 + headers = mkOpt (types.attrsOf types.str) '' 1439 + Custom HTTP headers to be sent along with each remote write request. 1440 + Be aware that headers that are set by Prometheus itself can't be overwritten. 1441 + ''; 1438 1442 write_relabel_configs = mkOpt (types.listOf promTypes.relabel_config) '' 1439 1443 List of remote write relabel configurations. 1440 1444 ''; ··· 1529 1533 ''; 1530 1534 remote_timeout = mkOpt types.str '' 1531 1535 Timeout for requests to the remote read endpoint. 1536 + ''; 1537 + headers = mkOpt (types.attrsOf types.str) '' 1538 + Custom HTTP headers to be sent along with each remote read request. 1539 + Be aware that headers that are set by Prometheus itself can't be overwritten. 1532 1540 ''; 1533 1541 read_recent = mkOpt types.bool '' 1534 1542 Whether reads should be made for queries for time ranges that
+1
nixos/tests/all-tests.nix
··· 788 788 step-ca = handleTestOn ["x86_64-linux"] ./step-ca.nix {}; 789 789 stratis = handleTest ./stratis {}; 790 790 strongswan-swanctl = handleTest ./strongswan-swanctl.nix {}; 791 + stub-ld = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./stub-ld.nix {}; 791 792 stunnel = handleTest ./stunnel.nix {}; 792 793 sudo = handleTest ./sudo.nix {}; 793 794 sudo-rs = handleTest ./sudo-rs.nix {};
-5
nixos/tests/nebula.nix
··· 144 144 145 145 restartAndCheckNebula = name: ip: '' 146 146 ${name}.systemctl("restart nebula@smoke.service") 147 - ${name}.wait_for_unit("nebula@smoke.service") 148 147 ${name}.succeed("ping -c5 ${ip}") 149 148 ''; 150 149 ··· 180 179 ${nodeB}.succeed("iptables -I INPUT -s " + node_a + " -j DROP") 181 180 ${nodeA}.systemctl("restart nebula@smoke.service") 182 181 ${nodeB}.systemctl("restart nebula@smoke.service") 183 - ${nodeA}.wait_for_unit("nebula@smoke.service") 184 - ${nodeB}.wait_for_unit("nebula@smoke.service") 185 182 ''; 186 183 allowTrafficBetween = nodeA: nodeB: '' 187 184 node_a = ${getPublicIp nodeA} ··· 190 187 ${nodeB}.succeed("iptables -D INPUT -s " + node_a + " -j DROP") 191 188 ${nodeA}.systemctl("restart nebula@smoke.service") 192 189 ${nodeB}.systemctl("restart nebula@smoke.service") 193 - ${nodeA}.wait_for_unit("nebula@smoke.service") 194 - ${nodeB}.wait_for_unit("nebula@smoke.service") 195 190 ''; 196 191 in '' 197 192 # Create the certificate and sign the lighthouse's keys.
+73
nixos/tests/stub-ld.nix
··· 1 + import ./make-test-python.nix ({ lib, pkgs, ... }: { 2 + name = "stub-ld"; 3 + 4 + nodes.machine = { lib, ... }: 5 + { 6 + environment.stub-ld.enable = true; 7 + 8 + specialisation.nostub = { 9 + inheritParentConfig = true; 10 + 11 + configuration = { ... }: { 12 + environment.stub-ld.enable = lib.mkForce false; 13 + }; 14 + }; 15 + }; 16 + 17 + testScript = let 18 + libDir = pkgs.stdenv.hostPlatform.libDir; 19 + ldsoBasename = lib.last (lib.splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker); 20 + 21 + check32 = pkgs.stdenv.isx86_64; 22 + pkgs32 = pkgs.pkgsi686Linux; 23 + 24 + libDir32 = pkgs32.stdenv.hostPlatform.libDir; 25 + ldsoBasename32 = lib.last (lib.splitString "/" pkgs32.stdenv.cc.bintools.dynamicLinker); 26 + 27 + test-exec = builtins.mapAttrs (n: v: pkgs.runCommand "test-exec-${n}" { src = pkgs.fetchurl v; } "mkdir -p $out;cd $out;tar -xzf $src") { 28 + x86_64-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-x86_64-unknown-linux-gnu.tar.gz"; 29 + x86_64-linux.hash = "sha256-3zySzx8MKFprMOi++yr2ZGASE0aRfXHQuG3SN+kWUCI="; 30 + i686-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-i686-unknown-linux-gnu.tar.gz"; 31 + i686-linux.hash = "sha256-fWNiATFeg0B2pfB5zndlnzGn7Ztl8diVS1rFLEDnSLU="; 32 + aarch64-linux.url = "https://github.com/rustic-rs/rustic/releases/download/v0.6.1/rustic-v0.6.1-aarch64-unknown-linux-gnu.tar.gz"; 33 + aarch64-linux.hash = "sha256-hnldbd2cctQIAhIKoEZLIWY8H3jiFBClkNy2UlyyvAs="; 34 + }; 35 + exec-name = "rustic"; 36 + 37 + if32 = pythonStatement: if check32 then pythonStatement else "pass"; 38 + in 39 + '' 40 + machine.start() 41 + machine.wait_for_unit("multi-user.target") 42 + 43 + with subtest("Check for stub (enabled, initial)"): 44 + machine.succeed('test -L /${libDir}/${ldsoBasename}') 45 + ${if32 "machine.succeed('test -L /${libDir32}/${ldsoBasename32}')"} 46 + 47 + with subtest("Try FHS executable"): 48 + machine.copy_from_host('${test-exec.${pkgs.system}}','test-exec') 49 + machine.succeed('if test-exec/${exec-name} 2>outfile; then false; else [ $? -eq 127 ];fi') 50 + machine.succeed('grep -qi nixos outfile') 51 + ${if32 "machine.copy_from_host('${test-exec.${pkgs32.system}}','test-exec32')"} 52 + ${if32 "machine.succeed('if test-exec32/${exec-name} 2>outfile32; then false; else [ $? -eq 127 ];fi')"} 53 + ${if32 "machine.succeed('grep -qi nixos outfile32')"} 54 + 55 + with subtest("Disable stub"): 56 + machine.succeed("/run/booted-system/specialisation/nostub/bin/switch-to-configuration test") 57 + 58 + with subtest("Check for stub (disabled)"): 59 + machine.fail('test -e /${libDir}/${ldsoBasename}') 60 + ${if32 "machine.fail('test -e /${libDir32}/${ldsoBasename32}')"} 61 + 62 + with subtest("Create file in stub location (to be overwritten)"): 63 + machine.succeed('mkdir -p /${libDir};touch /${libDir}/${ldsoBasename}') 64 + ${if32 "machine.succeed('mkdir -p /${libDir32};touch /${libDir32}/${ldsoBasename32}')"} 65 + 66 + with subtest("Re-enable stub"): 67 + machine.succeed("/run/booted-system/bin/switch-to-configuration test") 68 + 69 + with subtest("Check for stub (enabled, final)"): 70 + machine.succeed('test -L /${libDir}/${ldsoBasename}') 71 + ${if32 "machine.succeed('test -L /${libDir32}/${ldsoBasename32}')"} 72 + ''; 73 + })
+3 -3
pkgs/applications/audio/spotify/linux.nix
··· 14 14 # If an update breaks things, one of those might have valuable info: 15 15 # https://aur.archlinux.org/packages/spotify/ 16 16 # https://community.spotify.com/t5/Desktop-Linux 17 - version = "1.2.25.1011.g0348b2ea"; 17 + version = "1.2.26.1187.g36b715a1"; 18 18 # To get the latest stable revision: 19 19 # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' 20 20 # To get general information: 21 21 # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' 22 22 # More examples of api usage: 23 23 # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py 24 - rev = "73"; 24 + rev = "74"; 25 25 26 26 deps = [ 27 27 alsa-lib ··· 87 87 # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 88 88 src = fetchurl { 89 89 url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; 90 - hash = "sha512-93A+0YfP2/HnQOhSMw3UZ374bpS5ccQqb7a+e4RPSKvyT54wcI6hpmRn8CVo02oLo0yI2hho3Bu3ggsJLVgzbw=="; 90 + hash = "sha512-Muurn4ih54oVTvLGuRfTPCgGSRImE8O0S5k7gZ4Utgrz3TKgVrthY9AXldP8v+qLcfIrrYwixJy2WGuur9E0jg=="; 91 91 }; 92 92 93 93 nativeBuildInputs = [ wrapGAppsHook makeShellWrapper squashfsTools ];
+12 -19
pkgs/applications/editors/emacs/elisp-packages/manual-packages/lspce/default.nix
··· 9 9 }: 10 10 11 11 let 12 - version = "unstable-2023-10-30"; 12 + version = "unstable-2023-12-01"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "zbelial"; 16 16 repo = "lspce"; 17 - rev = "34c59787bcdbf414c92d9b3bf0a0f5306cb98d64"; 18 - hash = "sha256-kUHGdeJo2zXA410FqXGclgXmgWrll30Zv8fSprcmnIo="; 17 + rev = "1958b6fcdfb6288aa17fa42360315d6c4aa85991"; 18 + hash = "sha256-HUIRm1z6xNJWgX7ykujzniBrOTh76D3dJHrm0LR3nuQ="; 19 19 }; 20 20 21 21 meta = { ··· 30 30 inherit version src meta; 31 31 pname = "lspce-module"; 32 32 33 - cargoHash = "sha256-eqSromwJrFhtJWedDVJivfbKpAtSFEtuCP098qOxFgI="; 33 + cargoHash = "sha256-qMLwdZwqrK7bPXL1bIbOqM7xQPpeiO8FDoje0CEJeXQ="; 34 34 35 35 checkFlags = [ 36 36 # flaky test 37 37 "--skip=msg::tests::serialize_request_with_null_params" 38 38 ]; 39 39 40 - postFixup = '' 40 + postInstall = '' 41 + mkdir -p $out/share/emacs/site-lisp 41 42 for f in $out/lib/*; do 42 - mv $f $out/lib/lspce-module.''${f##*.} 43 + mv $f $out/share/emacs/site-lisp/lspce-module.''${f##*.} 43 44 done 45 + rmdir $out/lib 44 46 ''; 45 47 }; 46 48 in ··· 48 50 inherit version src meta; 49 51 pname = "lspce"; 50 52 51 - preBuild = '' 52 - ln -s ${lspce-module}/lib/lspce-module* . 53 - 54 - # Fix byte-compilation 55 - substituteInPlace lspce-util.el \ 56 - --replace "(require 'yasnippet)" "(require 'yasnippet)(require 'url-util)" 57 - substituteInPlace lspce-calltree.el \ 58 - --replace "(require 'compile)" "(require 'compile)(require 'cl-lib)" 59 - ''; 60 - 61 53 buildInputs = propagatedUserEnvPkgs; 62 54 63 55 propagatedUserEnvPkgs = [ 64 56 f 65 57 markdown-mode 66 58 yasnippet 59 + lspce-module 67 60 ]; 68 61 69 - postInstall = '' 70 - install lspce-module* $LISPDIR 71 - ''; 62 + passthru = { 63 + inherit lspce-module; 64 + }; 72 65 }
+2
pkgs/applications/editors/vim/plugins/aliases.nix
··· 93 93 neoinclude = neoinclude-vim; 94 94 neomru = neomru-vim; 95 95 neosnippet = neosnippet-vim; 96 + nvim-ts-rainbow = throw "nvim-ts-rainbow has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30 97 + nvim-ts-rainbow2 = throw "nvim-ts-rainbow2 has been deprecated: Use rainbow-delimiters-nvim"; # Added 2023-11-30 96 98 The_NERD_Commenter = nerdcommenter; 97 99 The_NERD_tree = nerdtree; 98 100 open-browser = open-browser-vim;
+46 -45
pkgs/applications/editors/vim/plugins/generated.nix
··· 33 33 src = fetchFromGitHub { 34 34 owner = "jackMort"; 35 35 repo = "ChatGPT.nvim"; 36 - rev = "fc0a13f803653051801cfcf7acfd600ce44454a9"; 37 - sha256 = "0csinl0z5jy0wnrl2rbg04kbblwb4kzsx0s6hd4n9iq9iz2k51z8"; 36 + rev = "f189c51d03316b4ab02766c5fed6f876f5d57cbb"; 37 + sha256 = "1h6fggfqifx47vhd3n0c4vldrx5lqbizkijm14nkj55224sq5i61"; 38 38 }; 39 39 meta.homepage = "https://github.com/jackMort/ChatGPT.nvim/"; 40 40 }; ··· 1171 1171 1172 1172 bufferline-nvim = buildVimPlugin { 1173 1173 pname = "bufferline.nvim"; 1174 - version = "2023-12-08"; 1174 + version = "2023-12-13"; 1175 1175 src = fetchFromGitHub { 1176 1176 owner = "akinsho"; 1177 1177 repo = "bufferline.nvim"; 1178 - rev = "ac788fbc493839c1e76daa8d119934b715fdb90e"; 1179 - sha256 = "0zy8z80s32hqa6jsffh9wygb77dnp7zhsp2zqgbl63lpyy0ffrvc"; 1178 + rev = "e48ce1805697e4bb97bc171c081e849a65859244"; 1179 + sha256 = "06af2lvydw7c2yswin968vdh2f06s5xmwx6pip45c4am8q68a2y6"; 1180 1180 }; 1181 1181 meta.homepage = "https://github.com/akinsho/bufferline.nvim/"; 1182 1182 }; ··· 3382 3382 meta.homepage = "https://github.com/bogado/file-line/"; 3383 3383 }; 3384 3384 3385 + fileline-nvim = buildVimPlugin { 3386 + pname = "fileline.nvim"; 3387 + version = "2023-08-30"; 3388 + src = fetchFromGitHub { 3389 + owner = "lewis6991"; 3390 + repo = "fileline.nvim"; 3391 + rev = "64fc4b24f559467ff7fdbf4b3d9eaf4724f331e4"; 3392 + sha256 = "0q68mz6kd3zbf2blwz84q39wn2kq9svl8516p5vyn9jpn70rnmgv"; 3393 + }; 3394 + meta.homepage = "https://github.com/lewis6991/fileline.nvim/"; 3395 + }; 3396 + 3385 3397 firenvim = buildVimPlugin { 3386 3398 pname = "firenvim"; 3387 3399 version = "2023-08-18"; ··· 4824 4836 4825 4837 lean-nvim = buildVimPlugin { 4826 4838 pname = "lean.nvim"; 4827 - version = "2023-12-10"; 4839 + version = "2023-12-13"; 4828 4840 src = fetchFromGitHub { 4829 4841 owner = "Julian"; 4830 4842 repo = "lean.nvim"; 4831 - rev = "1bfcbea057c7daa81427c07440145a065339474a"; 4832 - sha256 = "0y5cdk8p0dkqx44h7kzs9f7j4jjmqcg7d029wj00m6wvb81618f3"; 4843 + rev = "a5daac8ebccb93af25ace2a2041b503f18ff3dcb"; 4844 + sha256 = "1a2qgmpg2j49v5pz8j4bfa5n8q8kiyixfz3jxhh41jkw7myxcqwh"; 4833 4845 }; 4834 4846 meta.homepage = "https://github.com/Julian/lean.nvim/"; 4835 4847 }; ··· 6515 6527 meta.homepage = "https://github.com/fiatjaf/neuron.vim/"; 6516 6528 }; 6517 6529 6530 + nfnl = buildVimPlugin { 6531 + pname = "nfnl"; 6532 + version = "2023-09-08"; 6533 + src = fetchFromGitHub { 6534 + owner = "Olical"; 6535 + repo = "nfnl"; 6536 + rev = "979dbfc48bcb601a9107764a99f9459cb5bd4051"; 6537 + sha256 = "0m1yf62w4r75amva8708c4i0qvhgfia2i9p64z6i6589mq4mw6ip"; 6538 + }; 6539 + meta.homepage = "https://github.com/Olical/nfnl/"; 6540 + }; 6541 + 6518 6542 nginx-vim = buildVimPlugin { 6519 6543 pname = "nginx.vim"; 6520 6544 version = "2023-11-26"; ··· 7714 7738 meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/"; 7715 7739 }; 7716 7740 7717 - nvim-ts-rainbow = buildVimPlugin { 7718 - pname = "nvim-ts-rainbow"; 7719 - version = "2023-06-07"; 7720 - src = fetchFromGitHub { 7721 - owner = "mrjones2014"; 7722 - repo = "nvim-ts-rainbow"; 7723 - rev = "8312b513ce930e7669a1721befbe56f2e1853301"; 7724 - sha256 = "16s8kppsn9m831ymcz5w3kpnq40sxg98nykd0gz3hfj27hinqag5"; 7725 - }; 7726 - meta.homepage = "https://github.com/mrjones2014/nvim-ts-rainbow/"; 7727 - }; 7728 - 7729 - nvim-ts-rainbow2 = buildVimPlugin { 7730 - pname = "nvim-ts-rainbow2"; 7731 - version = "2023-07-12"; 7732 - src = fetchgit { 7733 - url = "https://gitlab.com/HiPhish/nvim-ts-rainbow2"; 7734 - rev = "b3120cd5ae9ca524af9cb602f41e12e301fa985f"; 7735 - sha256 = "0mjg0pkd8wv8cfar30lkyywdrd3g5lz36bbsfb7lrqi7kbksyzxv"; 7736 - }; 7737 - meta.homepage = "https://gitlab.com/HiPhish/nvim-ts-rainbow2"; 7738 - }; 7739 - 7740 7741 nvim-ufo = buildVimPlugin { 7741 7742 pname = "nvim-ufo"; 7742 7743 version = "2023-12-02"; ··· 7763 7764 7764 7765 nvim-web-devicons = buildVimPlugin { 7765 7766 pname = "nvim-web-devicons"; 7766 - version = "2023-12-08"; 7767 + version = "2023-12-13"; 7767 7768 src = fetchFromGitHub { 7768 7769 owner = "nvim-tree"; 7769 7770 repo = "nvim-web-devicons"; 7770 - rev = "8b2e5ef9eb8a717221bd96cb8422686d65a09ed5"; 7771 - sha256 = "0s7vhlr71f3n8in2dnpqj1p1jgncn0mdl1y6a7ksl8yx2vrxqdyl"; 7771 + rev = "a1425903ab52a0a0460622519e827f224e5b4fee"; 7772 + sha256 = "11ag1v91b6pbrvrrmw4dvi9r46zrni9pgg1a5ndli5w5wdy7sf67"; 7772 7773 }; 7773 7774 meta.homepage = "https://github.com/nvim-tree/nvim-web-devicons/"; 7774 7775 }; ··· 8535 8536 8536 8537 rainbow-delimiters-nvim = buildVimPlugin { 8537 8538 pname = "rainbow-delimiters.nvim"; 8538 - version = "2023-12-12"; 8539 + version = "2023-12-13"; 8539 8540 src = fetchgit { 8540 8541 url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim"; 8541 - rev = "cc1783ca5f1f9bfed18bfc051bb88e0e4faaf17a"; 8542 - sha256 = "174fx4ijyjczqb2lg6s1i3g4m4mvph02s7wfdk2jf0png7dg2mq4"; 8542 + rev = "0b4c1ab6724062f3582746c6a5a8c0636bf7ed81"; 8543 + sha256 = "0xz7m7xr6v467hglncdqc6jayh7qj4fyh3f7sgv8yyxlm8bf8prd"; 8543 8544 }; 8544 8545 meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim"; 8545 8546 }; ··· 8954 8955 8955 8956 sg-nvim = buildVimPlugin { 8956 8957 pname = "sg.nvim"; 8957 - version = "2023-11-15"; 8958 + version = "2023-12-13"; 8958 8959 src = fetchFromGitHub { 8959 8960 owner = "sourcegraph"; 8960 8961 repo = "sg.nvim"; 8961 - rev = "41378567217097a3d78b624c9f11d29436381e99"; 8962 - sha256 = "0dwh7zb8l83d8l63ps6qc5am7r95bnyavz5r8qpxnzgzdic2r5nv"; 8962 + rev = "9eeb00c758a394cccd2828720b0eaadce6f1ad51"; 8963 + sha256 = "085vpy7vrmzcx5143gcxsgan99g6g9p05rljs0pkrw5kn7fw6szb"; 8963 8964 }; 8964 8965 meta.homepage = "https://github.com/sourcegraph/sg.nvim/"; 8965 8966 }; ··· 10466 10467 src = fetchFromGitHub { 10467 10468 owner = "unisonweb"; 10468 10469 repo = "unison"; 10469 - rev = "37ca00c65e9ba2f5adfe87780efda8071d894fae"; 10470 - sha256 = "07prqlwjlxix80ji537giam6w70699rgn5xslig5ivrmsldr42s7"; 10470 + rev = "a91e3c32060862ea2ba1ebdedd3d3eaa636edcdd"; 10471 + sha256 = "15wm2jx6vrrx8f00g7p0w3jzqgpg6c0jbzj2n7h6vl93s7d65207"; 10471 10472 }; 10472 10473 meta.homepage = "https://github.com/unisonweb/unison/"; 10473 10474 }; ··· 12912 12913 12913 12914 vim-just = buildVimPlugin { 12914 12915 pname = "vim-just"; 12915 - version = "2023-12-12"; 12916 + version = "2023-12-13"; 12916 12917 src = fetchFromGitHub { 12917 12918 owner = "NoahTheDuke"; 12918 12919 repo = "vim-just"; 12919 - rev = "a9761618b04ee1bf22005661cc8f598398d7b8d9"; 12920 - sha256 = "0hyqqk87fijraknkwwx9wzlvb6lpmn0wzrfzfb3j7as7rzbrb8gp"; 12920 + rev = "db122b74305993402150e18fad9568a5a0b542e8"; 12921 + sha256 = "0d1m1nda6r8wpbywl27xg3dwjfxnxy1vwiq9pp3m77d9blcnwgwf"; 12921 12922 }; 12922 12923 meta.homepage = "https://github.com/NoahTheDuke/vim-just/"; 12923 12924 };
+1 -1
pkgs/applications/editors/vim/plugins/overrides.nix
··· 1007 1007 pname = "sg-nvim-rust"; 1008 1008 inherit (old) version src; 1009 1009 1010 - cargoHash = "sha256-ITrjY15Haz8hEztWym4q8YW2h0R8/kOYPaIYJu87sN4="; 1010 + cargoHash = "sha256-XaCBFAq/T17fz4Zn1OtG9Or3p4UwxXYKr+PTkl+Ho3k="; 1011 1011 1012 1012 nativeBuildInputs = [ pkg-config ]; 1013 1013
+2 -2
pkgs/applications/editors/vim/plugins/vim-plugin-names
··· 281 281 https://github.com/wincent/ferret/,, 282 282 https://github.com/j-hui/fidget.nvim/,, 283 283 https://github.com/bogado/file-line/,, 284 + https://github.com/lewis6991/fileline.nvim/,, 284 285 https://github.com/glacambre/firenvim/,HEAD, 285 286 https://github.com/andviro/flake8-vim/,, 286 287 https://github.com/folke/flash.nvim/,HEAD, ··· 547 548 https://github.com/miversen33/netman.nvim/,HEAD, 548 549 https://github.com/oberblastmeister/neuron.nvim/,, 549 550 https://github.com/fiatjaf/neuron.vim/,, 551 + https://github.com/Olical/nfnl/,main, 550 552 https://github.com/chr4/nginx.vim/,, 551 553 https://github.com/EdenEast/nightfox.nvim/,, 552 554 https://github.com/zah/nim.vim/,, ··· 648 650 https://github.com/RRethy/nvim-treesitter-textsubjects/,HEAD, 649 651 https://github.com/windwp/nvim-ts-autotag/,, 650 652 https://github.com/joosepalviste/nvim-ts-context-commentstring/,, 651 - https://github.com/mrjones2014/nvim-ts-rainbow/,, 652 - https://gitlab.com/HiPhish/nvim-ts-rainbow2,HEAD, 653 653 https://github.com/kevinhwang91/nvim-ufo/,HEAD, 654 654 https://github.com/samjwill/nvim-unception/,HEAD, 655 655 https://github.com/kyazdani42/nvim-web-devicons/,,
+3 -3
pkgs/applications/misc/process-compose/default.nix
··· 8 8 in 9 9 buildGoModule rec { 10 10 pname = "process-compose"; 11 - version = "0.69.0"; 11 + version = "0.77.4"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "F1bonacc1"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - hash = "sha256-YVNcr8oYEOsy0KLOsPdWTZcXYTqyz4RYG9MCEngLn7c="; 17 + hash = "sha256-uouF43SokBD+LCMqSDWJ3pj2LznfJYJoUkoTQ1TyYyI="; 18 18 # populate values that require us to use git. By doing this in postFetch we 19 19 # can delete .git afterwards and maintain better reproducibility of the src. 20 20 leaveDotGit = true; ··· 43 43 installShellFiles 44 44 ]; 45 45 46 - vendorHash = "sha256-lU21nRfIi4/eobnHhX/fCWnWtoiQBiWvTUOjBL0I4X4="; 46 + vendorHash = "sha256-0On/Rg8c9g45qbLuwhP/ZIGosu0X1uzXfAoddgTCDkg="; 47 47 48 48 doCheck = false; 49 49
+4 -4
pkgs/applications/networking/iroh/default.nix
··· 7 7 8 8 rustPlatform.buildRustPackage rec { 9 9 pname = "iroh"; 10 - version = "0.5.1"; 10 + version = "0.11.0"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "n0-computer"; 14 14 repo = pname; 15 - rev = "${pname}-v${version}"; 16 - hash = "sha256-p1OvXso5szo8ZCnCTKgDzCEMJgiePXQMhVYOkWVZrbE="; 15 + rev = "v${version}"; 16 + hash = "sha256-b3XpKAV/K+69tQmjM1CGzoOTcaQHB6q3gpoSa/YFwak="; 17 17 }; 18 18 19 - cargoHash = "sha256-QqMBEYaIQ6PqO7w7Yd1jVr0zHARsVaJtZzWytmDksZQ="; 19 + cargoHash = "sha256-dnEEque40qi7vuUxY/UDZ5Kz8LTuz0GvYVjTxl8eMvI="; 20 20 21 21 buildInputs = lib.optionals stdenv.isDarwin ( 22 22 with darwin.apple_sdk.frameworks; [
+150
pkgs/applications/office/zotero/zotero_7.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchurl 4 + , wrapGAppsHook 5 + , autoPatchelfHook 6 + , makeDesktopItem 7 + , atk 8 + , cairo 9 + , coreutils 10 + , curl 11 + , cups 12 + , dbus-glib 13 + , dbus 14 + , dconf 15 + , fontconfig 16 + , freetype 17 + , gdk-pixbuf 18 + , glib 19 + , glibc 20 + , gtk3 21 + , libX11 22 + , libXScrnSaver 23 + , libxcb 24 + , libXcomposite 25 + , libXcursor 26 + , libXdamage 27 + , libXext 28 + , libXfixes 29 + , libXi 30 + , libXinerama 31 + , libXrender 32 + , libXt 33 + , libnotify 34 + , gnome 35 + , libGLU 36 + , libGL 37 + , nspr 38 + , nss 39 + , pango 40 + , gsettings-desktop-schemas 41 + , alsa-lib 42 + , libXtst 43 + }: 44 + 45 + stdenv.mkDerivation rec { 46 + pname = "zotero"; 47 + version = "7.0.0-beta"; 48 + 49 + src = fetchurl { 50 + url = "https://download.zotero.org/client/beta/${version}.51%2B7c5600913/Zotero-${version}.51%2B7c5600913_linux-x86_64.tar.bz2"; 51 + hash = "sha256-zJ+jG7zlvWq+WEYOPyMIhqHPfsUe9tn0cbRyibQ7bFw="; 52 + }; 53 + 54 + nativeBuildInputs = [ 55 + wrapGAppsHook 56 + autoPatchelfHook 57 + ]; 58 + buildInputs = [ 59 + gsettings-desktop-schemas 60 + glib 61 + gtk3 62 + gnome.adwaita-icon-theme 63 + dconf 64 + libXtst 65 + alsa-lib 66 + stdenv.cc.cc 67 + atk 68 + cairo 69 + curl 70 + cups 71 + dbus-glib 72 + dbus 73 + fontconfig 74 + freetype 75 + gdk-pixbuf 76 + glib 77 + glibc 78 + gtk3 79 + libX11 80 + libXScrnSaver 81 + libXcomposite 82 + libXcursor 83 + libxcb 84 + libXdamage 85 + libXext 86 + libXfixes 87 + libXi 88 + libXinerama 89 + libXrender 90 + libXt 91 + libnotify 92 + libGLU 93 + libGL 94 + nspr 95 + nss 96 + pango 97 + ]; 98 + 99 + dontConfigure = true; 100 + dontBuild = true; 101 + dontStrip = true; 102 + 103 + 104 + desktopItem = makeDesktopItem { 105 + name = "zotero"; 106 + exec = "zotero -url %U"; 107 + icon = "zotero"; 108 + comment = meta.description; 109 + desktopName = "Zotero"; 110 + genericName = "Reference Management"; 111 + categories = [ "Office" "Database" ]; 112 + startupNotify = true; 113 + mimeTypes = [ "x-scheme-handler/zotero" "text/plain" ]; 114 + }; 115 + 116 + 117 + installPhase = '' 118 + runHook preInstall 119 + 120 + mkdir -p "$prefix/usr/lib/zotero-bin-${version}" 121 + cp -r * "$prefix/usr/lib/zotero-bin-${version}" 122 + mkdir -p "$out/bin" 123 + ln -s "$prefix/usr/lib/zotero-bin-${version}/zotero" "$out/bin/" 124 + 125 + # install desktop file and icons. 126 + mkdir -p $out/share/applications 127 + cp ${desktopItem}/share/applications/* $out/share/applications/ 128 + for size in 16 32 48 256; do 129 + install -Dm444 chrome/icons/default/default$size.png \ 130 + $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png 131 + done 132 + 133 + runHook postInstall 134 + ''; 135 + 136 + preFixup = '' 137 + gappsWrapperArgs+=( 138 + --prefix PATH : ${lib.makeBinPath [ coreutils ]} 139 + ) 140 + ''; 141 + 142 + meta = with lib; { 143 + homepage = "https://www.zotero.org"; 144 + description = "Collect, organize, cite, and share your research sources"; 145 + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 146 + license = licenses.agpl3Only; 147 + platforms = platforms.linux; 148 + maintainers = with maintainers; [ atila ]; 149 + }; 150 + }
+7 -1
pkgs/applications/video/mpv/scripts/buildLua.nix
··· 20 20 , extraScripts ? [] 21 21 , ... }@args: 22 22 let 23 + strippedName = with builtins; 24 + let groups = match "mpv[-_](.*)" pname; in 25 + if groups != null 26 + then head groups 27 + else pname 28 + ; 23 29 # either passthru.scriptName, inferred from scriptPath, or from pname 24 30 scriptName = (args.passthru or {}).scriptName or ( 25 31 if args ? scriptPath 26 32 then fileName args.scriptPath 27 - else "${pname}.lua" 33 + else "${strippedName}.lua" 28 34 ); 29 35 scriptPath = args.scriptPath or "./${scriptName}"; 30 36 in {
-2
pkgs/applications/video/mpv/scripts/mpv-playlistmanager.nix
··· 17 17 'youtube_dl_executable = "${lib.getBin yt-dlp}/bin/yt-dlp"', 18 18 ''; 19 19 20 - scriptPath = "playlistmanager.lua"; 21 - 22 20 meta = with lib; { 23 21 description = "Mpv lua script to create and manage playlists"; 24 22 homepage = "https://github.com/jonniek/mpv-playlistmanager";
-1
pkgs/applications/video/mpv/scripts/quality-menu.nix
··· 15 15 hash = "sha256-yrcTxqpLnOI1Tq3khhflO3wzhyeTPuvKifyH5/P57Ns="; 16 16 }; 17 17 18 - scriptPath = "quality-menu.lua"; 19 18 extraScripts = lib.optional oscSupport "quality-menu-osc.lua"; 20 19 21 20 meta = with lib; {
-2
pkgs/applications/video/mpv/scripts/thumbfast.nix
··· 11 11 hash = "sha256-5u5WBvWOEydJrnr/vilEgW4+fxkxM6wNjb9Fyyxx/1c="; 12 12 }; 13 13 14 - scriptPath = "thumbfast.lua"; 15 - 16 14 passthru.extraWrapperArgs = [ 17 15 "--prefix" "PATH" ":" "${lib.getBin mpv-unwrapped}/bin" 18 16 ];
+3 -3
pkgs/applications/video/vivictpp/default.nix
··· 7 7 , cacert }: 8 8 9 9 let 10 - version = "0.3.1"; 10 + version = "1.0.0"; 11 11 withSubprojects = stdenv.mkDerivation { 12 12 name = "sources-with-subprojects"; 13 13 ··· 15 15 owner = "vivictorg"; 16 16 repo = "vivictpp"; 17 17 rev = "v${version}"; 18 - hash = "sha256-6YfYeUrM7cq8hnOPMq0Uq/HToFBDri0N/r0SU0LeT/Y="; 18 + hash = "sha256-dCtMjemEjXe63ELAfQhzJl3GecqWLcjL2y5Htn6hYgU="; 19 19 }; 20 20 21 21 nativeBuildInputs = [ ··· 33 33 ''; 34 34 35 35 outputHashMode = "recursive"; 36 - outputHash = "sha256-lIm2Bwy61St9d1e6QSm5ZpSIDR9ucaQKBPHATTDEgW4="; 36 + outputHash = "sha256-a7NBQJt5T+KwP8Djc8TQiVLNZF8UcXlXrv2G/dZ54aM="; 37 37 }; 38 38 in stdenv.mkDerivation rec { 39 39 pname = "vivictpp";
+6 -5
pkgs/applications/window-managers/hyprwm/hyprland/default.nix
··· 28 28 , xcbutilwm 29 29 , xwayland 30 30 , debug ? false 31 - , enableNvidiaPatches ? false 32 31 , enableXWayland ? true 33 32 , legacyRenderer ? false 34 33 , withSystemd ? true ··· 36 35 # deprecated flags 37 36 , nvidiaPatches ? false 38 37 , hidpiXWayland ? false 38 + , enableNvidiaPatches ? false 39 39 }: 40 - assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been renamed `enableNvidiaPatches`"; 40 + assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been removed."; 41 + assert lib.assertMsg (!enableNvidiaPatches) "The option `enableNvidiaPatches` has been removed."; 41 42 assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland"; 42 43 stdenv.mkDerivation (finalAttrs: { 43 44 pname = "hyprland" + lib.optionalString debug "-debug"; 44 - version = "0.32.3"; 45 + version = "0.33.1"; 45 46 46 47 src = fetchFromGitHub { 47 48 owner = "hyprwm"; 48 49 repo = finalAttrs.pname; 49 50 rev = "v${finalAttrs.version}"; 50 - hash = "sha256-8PP26+ybmScq5WpFd2JPqUDzG2VggYOvD6/rzY9/CJ4="; 51 + hash = "sha256-p7el5oQZPy9l1zyIrlHu6nA4BAu59eLoSqBjhkw2jaw="; 51 52 }; 52 53 53 54 patches = [ ··· 99 100 wayland-protocols 100 101 pango 101 102 pciutils 102 - (wlroots.override { inherit enableNvidiaPatches; }) 103 + wlroots 103 104 ] 104 105 ++ lib.optionals stdenv.hostPlatform.isMusl [ libexecinfo ] 105 106 ++ lib.optionals enableXWayland [ libxcb xcbutilwm xwayland ]
+5 -49
pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
··· 1 1 { fetchFromGitLab 2 - , hyprland 3 2 , wlroots 4 - , lib 5 3 , libdisplay-info 6 4 , libliftoff 7 5 , hwdata 8 - , enableNvidiaPatches ? false 9 6 }: 10 - let 11 - libdisplay-info-new = libdisplay-info.overrideAttrs (old: { 12 - version = "0.1.1+date=2023-03-02"; 13 - src = fetchFromGitLab { 14 - domain = "gitlab.freedesktop.org"; 15 - owner = "emersion"; 16 - repo = old.pname; 17 - rev = "147d6611a64a6ab04611b923e30efacaca6fc678"; 18 - sha256 = "sha256-/q79o13Zvu7x02SBGu0W5yQznQ+p7ltZ9L6cMW5t/o4="; 19 - }; 20 - }); 21 - 22 - libliftoff-new = libliftoff.overrideAttrs (old: { 23 - version = "0.5.0-dev"; 24 - src = fetchFromGitLab { 25 - domain = "gitlab.freedesktop.org"; 26 - owner = "emersion"; 27 - repo = old.pname; 28 - rev = "d98ae243280074b0ba44bff92215ae8d785658c0"; 29 - sha256 = "sha256-DjwlS8rXE7srs7A8+tHqXyUsFGtucYSeq6X0T/pVOc8="; 30 - }; 31 - 32 - NIX_CFLAGS_COMPILE = toString [ 33 - "-Wno-error=sign-conversion" 34 - ]; 35 - }); 36 - in 37 7 wlroots.overrideAttrs 38 8 (old: { 39 9 version = "0.17.0-dev"; ··· 42 12 domain = "gitlab.freedesktop.org"; 43 13 owner = "wlroots"; 44 14 repo = "wlroots"; 45 - rev = "5de9e1a99d6642c2d09d589aa37ff0a8945dcee1"; 46 - hash = "sha256-HXu98PyBMKEWLqiTb8viuLDznud/SdkdJsx5A5CWx7I="; 15 + rev = "5d639394f3e83b01596dcd166a44a9a1a2583350"; 16 + hash = "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo="; 47 17 }; 48 18 49 - pname = 50 - old.pname 51 - + "-hyprland" 52 - + lib.optionalString enableNvidiaPatches "-nvidia"; 53 - 54 - patches = 55 - (old.patches or [ ]) 56 - ++ (lib.optionals enableNvidiaPatches [ 57 - "${hyprland.src}/nix/patches/wlroots-nvidia.patch" 58 - ]); 59 - 60 - # don't need old.postPatch for hwdata's path in wlroots 0.16 61 - postPatch = lib.optionalString enableNvidiaPatches '' 62 - substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();" 63 - ''; 19 + pname = "${old.pname}-hyprland"; 64 20 65 21 buildInputs = old.buildInputs ++ [ 66 22 hwdata 67 - libdisplay-info-new 68 - libliftoff-new 23 + libdisplay-info 24 + libliftoff 69 25 ]; 70 26 })
+7
pkgs/build-support/build-graalvm-native-image/default.nix
··· 49 49 50 50 nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ]; 51 51 52 + # Workaround GraalVM issue where the builder does not have access to the 53 + # environment variables since 21.0.0 54 + # https://github.com/oracle/graal/pull/6095 55 + # https://github.com/oracle/graal/pull/6095 56 + # https://github.com/oracle/graal/issues/7502 57 + env.NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION = "true"; 58 + 52 59 buildPhase = args.buildPhase or '' 53 60 runHook preBuild 54 61
+49
pkgs/by-name/no/noto-fonts-cjk-sans/package.nix
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchFromGitHub 4 + , nixosTests 5 + , gitUpdater 6 + }: 7 + 8 + stdenvNoCC.mkDerivation rec { 9 + pname = "noto-fonts-cjk-sans"; 10 + version = "2.004"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "notofonts"; 14 + repo = "noto-cjk"; 15 + rev = "Sans${version}"; 16 + hash = "sha256-IgalJkiOAVjNxKaPAQWfb5hKeqclliR4qVXCq63FGWY="; 17 + sparseCheckout = [ "Sans/Variable/OTC" ]; 18 + }; 19 + 20 + installPhase = '' 21 + install -m444 -Dt $out/share/fonts/opentype/noto-cjk Sans/Variable/OTC/*.otf.ttc 22 + ''; 23 + 24 + passthru.tests.noto-fonts = nixosTests.noto-fonts; 25 + 26 + passthru.updateScript = gitUpdater { 27 + rev-prefix = "Sans"; 28 + }; 29 + 30 + meta = { 31 + description = "Beautiful and free fonts for CJK languages"; 32 + homepage = "https://www.google.com/get/noto/help/cjk/"; 33 + longDescription = '' 34 + Noto Sans CJK is a sans typeface designed as 35 + an intermediate style between the modern and traditional. It is 36 + intended to be a multi-purpose digital font for user interface 37 + designs, digital content, reading on laptops, mobile devices, and 38 + electronic books. Noto Sans CJK comprehensively covers 39 + Simplified Chinese, Traditional Chinese, Japanese, and Korean in a 40 + unified font family. It supports regional variants of ideographic 41 + characters for each of the four languages. In addition, it supports 42 + Japanese kana, vertical forms, and variant characters (itaiji); it 43 + supports Korean hangeul — both contemporary and archaic. 44 + ''; 45 + license = lib.licenses.ofl; 46 + platforms = lib.platforms.all; 47 + maintainers = with lib.maintainers; [ mathnerd314 emily ]; 48 + }; 49 + }
+49
pkgs/by-name/no/noto-fonts-cjk-serif/package.nix
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchFromGitHub 4 + , nixosTests 5 + , gitUpdater 6 + }: 7 + 8 + stdenvNoCC.mkDerivation rec { 9 + pname = "noto-fonts-cjk-serif"; 10 + version = "2.002"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "notofonts"; 14 + repo = "noto-cjk"; 15 + rev = "Serif${version}"; 16 + hash = "sha256-GLjpTAiHfygj1J4AdUVDJh8kykkFOglq+h4kyat5W9s="; 17 + sparseCheckout = [ "Serif/Variable/OTC" ]; 18 + }; 19 + 20 + installPhase = '' 21 + install -m444 -Dt $out/share/fonts/opentype/noto-cjk Serif/Variable/OTC/*.otf.ttc 22 + ''; 23 + 24 + passthru.tests.noto-fonts = nixosTests.noto-fonts; 25 + 26 + passthru.updateScript = gitUpdater { 27 + rev-prefix = "Serif"; 28 + }; 29 + 30 + meta = with lib; { 31 + description = "Beautiful and free fonts for CJK languages"; 32 + homepage = "https://www.google.com/get/noto/help/cjk/"; 33 + longDescription = '' 34 + Noto Serif CJK is a serif typeface designed as 35 + an intermediate style between the modern and traditional. It is 36 + intended to be a multi-purpose digital font for user interface 37 + designs, digital content, reading on laptops, mobile devices, and 38 + electronic books. Noto Serif CJK comprehensively covers 39 + Simplified Chinese, Traditional Chinese, Japanese, and Korean in a 40 + unified font family. It supports regional variants of ideographic 41 + characters for each of the four languages. In addition, it supports 42 + Japanese kana, vertical forms, and variant characters (itaiji); it 43 + supports Korean hangeul — both contemporary and archaic. 44 + ''; 45 + license = licenses.ofl; 46 + platforms = platforms.all; 47 + maintainers = with maintainers; [ mathnerd314 emily ]; 48 + }; 49 + }
+69
pkgs/by-name/no/noto-fonts-color-emoji/package.nix
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchFromGitHub 4 + , buildPackages 5 + , pkg-config 6 + , cairo 7 + , imagemagick 8 + , zopfli 9 + , pngquant 10 + , which 11 + }: 12 + 13 + let 14 + emojiPythonEnv = 15 + buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]); 16 + in 17 + stdenvNoCC.mkDerivation rec { 18 + pname = "noto-fonts-color-emoji"; 19 + version = "2.042"; 20 + 21 + src = fetchFromGitHub { 22 + owner = "googlefonts"; 23 + repo = "noto-emoji"; 24 + rev = "v${version}"; 25 + hash = "sha256-otJQMXrBIPrxD1vCdgcrZ2h1a9XAMbqEBFumjz1XJ54="; 26 + }; 27 + 28 + depsBuildBuild = [ 29 + buildPackages.stdenv.cc 30 + pkg-config 31 + cairo 32 + ]; 33 + 34 + nativeBuildInputs = [ 35 + imagemagick 36 + zopfli 37 + pngquant 38 + which 39 + emojiPythonEnv 40 + ]; 41 + 42 + postPatch = '' 43 + patchShebangs *.py 44 + patchShebangs third_party/color_emoji/*.py 45 + # remove check for virtualenv, since we handle 46 + # python requirements using python.withPackages 47 + sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile 48 + # Make the build verbose so it won't get culled by Hydra thinking that 49 + # it somehow got stuck doing nothing. 50 + sed -i 's;\t@;\t;' Makefile 51 + ''; 52 + 53 + enableParallelBuilding = true; 54 + 55 + installPhase = '' 56 + runHook preInstall 57 + mkdir -p $out/share/fonts/noto 58 + cp NotoColorEmoji.ttf $out/share/fonts/noto 59 + runHook postInstall 60 + ''; 61 + 62 + meta = { 63 + description = "Color emoji font"; 64 + homepage = "https://github.com/googlefonts/noto-emoji"; 65 + license = with lib.licenses; [ ofl asl20 ]; 66 + platforms = lib.platforms.all; 67 + maintainers = with lib.maintainers; [ mathnerd314 sternenseemann ]; 68 + }; 69 + }
+30
pkgs/by-name/no/noto-fonts-emoji-blob-bin/package.nix
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchurl 4 + }: 5 + 6 + stdenvNoCC.mkDerivation rec { 7 + pname = "noto-fonts-emoji-blob-bin"; 8 + version = "15.0"; 9 + 10 + src = fetchurl { 11 + url = "https://github.com/C1710/blobmoji/releases/download/v${version}/Blobmoji.ttf"; 12 + hash = "sha256-3MPWZ1A2ups171dNIiFTJ3C1vZiGy6I8ZF70aUfrePk="; 13 + }; 14 + 15 + dontUnpack = true; 16 + 17 + installPhase = '' 18 + runHook preInstall 19 + install -Dm 444 $src $out/share/fonts/blobmoji/Blobmoji.ttf 20 + runHook postInstall 21 + ''; 22 + 23 + meta = { 24 + description = "Noto Emoji with extended Blob support"; 25 + homepage = "https://github.com/C1710/blobmoji"; 26 + license = with lib.licenses; [ ofl asl20 ]; 27 + platforms = lib.platforms.all; 28 + maintainers = with lib.maintainers; [ rileyinman jk ]; 29 + }; 30 + }
+53
pkgs/by-name/no/noto-fonts-monochrome-emoji/package.nix
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchurl 4 + }: 5 + 6 + # Metadata fetched from 7 + # https://www.googleapis.com/webfonts/v1/webfonts?key=${GOOGLE_FONTS_TOKEN}&family=Noto+Emoji 8 + let 9 + metadata = with builtins; head (fromJSON (readFile ./noto-emoji.json)).items; 10 + urlHashes = with builtins; fromJSON (readFile ./noto-emoji.hashes.json); 11 + in 12 + stdenvNoCC.mkDerivation { 13 + pname = "noto-fonts-monochrome-emoji"; 14 + version = "${lib.removePrefix "v" metadata.version}.${metadata.lastModified}"; 15 + preferLocalBuild = true; 16 + 17 + dontUnpack = true; 18 + srcs = 19 + let 20 + weightNames = { 21 + "300" = "Light"; 22 + regular = "Regular"; 23 + "500" = "Medium"; 24 + "600" = "SemiBold"; 25 + "700" = "Bold"; 26 + }; 27 + in 28 + lib.mapAttrsToList 29 + (variant: url: fetchurl { 30 + name = "NotoEmoji-${weightNames.${variant}}.ttf"; 31 + hash = urlHashes.${url}; 32 + inherit url; 33 + }) 34 + metadata.files; 35 + 36 + installPhase = '' 37 + runHook preInstall 38 + for src in $srcs; do 39 + install -D $src $out/share/fonts/noto/$(stripHash $src) 40 + done 41 + runHook postInstall 42 + ''; 43 + 44 + meta = { 45 + description = "Monochrome emoji font"; 46 + homepage = "https://fonts.google.com/noto/specimen/Noto+Emoji"; 47 + license = [ lib.licenses.ofl ]; 48 + maintainers = [ lib.maintainers.nicoo ]; 49 + 50 + platforms = lib.platforms.all; 51 + sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; 52 + }; 53 + }
+73
pkgs/by-name/no/noto-fonts/package.nix
··· 1 + { lib 2 + , stdenvNoCC 3 + , fetchFromGitHub 4 + , gitUpdater 5 + , variants ? [ ] 6 + , suffix ? "" 7 + , longDescription ? '' 8 + When text is rendered by a computer, sometimes characters are 9 + displayed as “tofu”. They are little boxes to indicate your device 10 + doesn’t have a font to display the text. 11 + Google has been developing a font family called Noto, which aims to 12 + support all languages with a harmonious look and feel. Noto is 13 + Google’s answer to tofu. The name noto is to convey the idea that 14 + Google’s goal is to see “no more tofu”. Noto has multiple styles and 15 + weights, and freely available to all. 16 + '' 17 + }: 18 + 19 + stdenvNoCC.mkDerivation rec { 20 + pname = "noto-fonts${suffix}"; 21 + version = "23.11.1"; 22 + 23 + src = fetchFromGitHub { 24 + owner = "notofonts"; 25 + repo = "notofonts.github.io"; 26 + rev = "noto-monthly-release-${version}"; 27 + hash = "sha256-qBHLCOfVBOn9CV194S4cYw9nhHyAe2AUBJHQMvyEfW8="; 28 + }; 29 + 30 + _variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants; 31 + 32 + installPhase = '' 33 + # We check availability in order of variable -> otf -> ttf 34 + # unhinted -- the hinted versions use autohint 35 + # maintaining maximum coverage. 36 + # 37 + # We have a mix of otf and ttf fonts 38 + local out_font=$out/share/fonts/noto 39 + '' + (if _variants == [ ] then '' 40 + for folder in $(ls -d fonts/*/); do 41 + if [[ -d "$folder"unhinted/variable-ttf ]]; then 42 + install -m444 -Dt $out_font "$folder"unhinted/variable-ttf/*.ttf 43 + elif [[ -d "$folder"unhinted/otf ]]; then 44 + install -m444 -Dt $out_font "$folder"unhinted/otf/*.otf 45 + else 46 + install -m444 -Dt $out_font "$folder"unhinted/ttf/*.ttf 47 + fi 48 + done 49 + '' else '' 50 + for variant in $_variants; do 51 + if [[ -d fonts/"$variant"/unhinted/variable-ttf ]]; then 52 + install -m444 -Dt $out_font fonts/"$variant"/unhinted/variable-ttf/*.ttf 53 + elif [[ -d fonts/"$variant"/unhinted/otf ]]; then 54 + install -m444 -Dt $out_font fonts/"$variant"/unhinted/otf/*.otf 55 + else 56 + install -m444 -Dt $out_font fonts/"$variant"/unhinted/ttf/*.ttf 57 + fi 58 + done 59 + ''); 60 + 61 + passthru.updateScript = gitUpdater { 62 + rev-prefix = "noto-monthly-release-"; 63 + }; 64 + 65 + meta = { 66 + description = "Beautiful and free fonts for many languages"; 67 + homepage = "https://www.google.com/get/noto/"; 68 + inherit longDescription; 69 + license = lib.licenses.ofl; 70 + platforms = lib.platforms.all; 71 + maintainers = with lib.maintainers; [ mathnerd314 emily jopejoe1 ]; 72 + }; 73 + }
-305
pkgs/data/fonts/noto-fonts/default.nix
··· 1 - { stdenv 2 - , stdenvNoCC 3 - , lib 4 - , gitUpdater 5 - , fetchFromGitHub 6 - , fetchurl 7 - , cairo 8 - , nixosTests 9 - , pkg-config 10 - , pngquant 11 - , which 12 - , imagemagick 13 - , zopfli 14 - , buildPackages 15 - , variants ? [ ] 16 - }: 17 - let 18 - notoLongDescription = '' 19 - When text is rendered by a computer, sometimes characters are 20 - displayed as “tofu”. They are little boxes to indicate your device 21 - doesn’t have a font to display the text. 22 - 23 - Google has been developing a font family called Noto, which aims to 24 - support all languages with a harmonious look and feel. Noto is 25 - Google’s answer to tofu. The name noto is to convey the idea that 26 - Google’s goal is to see “no more tofu”. Noto has multiple styles and 27 - weights, and freely available to all. 28 - ''; 29 - in 30 - rec { 31 - mkNoto = 32 - { pname 33 - , variants ? [ ] 34 - , longDescription ? notoLongDescription 35 - }: 36 - stdenvNoCC.mkDerivation rec { 37 - inherit pname; 38 - version = "23.11.1"; 39 - 40 - src = fetchFromGitHub { 41 - owner = "notofonts"; 42 - repo = "notofonts.github.io"; 43 - rev = "noto-monthly-release-${version}"; 44 - hash = "sha256-qBHLCOfVBOn9CV194S4cYw9nhHyAe2AUBJHQMvyEfW8="; 45 - }; 46 - 47 - _variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants; 48 - 49 - installPhase = '' 50 - # We check availability in order of variable -> otf -> ttf 51 - # unhinted -- the hinted versions use autohint 52 - # maintaining maximum coverage. 53 - # 54 - # We have a mix of otf and ttf fonts 55 - local out_font=$out/share/fonts/noto 56 - '' + (if _variants == [ ] then '' 57 - for folder in $(ls -d fonts/*/); do 58 - if [[ -d "$folder"unhinted/variable-ttf ]]; then 59 - install -m444 -Dt $out_font "$folder"unhinted/variable-ttf/*.ttf 60 - elif [[ -d "$folder"unhinted/otf ]]; then 61 - install -m444 -Dt $out_font "$folder"unhinted/otf/*.otf 62 - else 63 - install -m444 -Dt $out_font "$folder"unhinted/ttf/*.ttf 64 - fi 65 - done 66 - '' else '' 67 - for variant in $_variants; do 68 - if [[ -d fonts/"$variant"/unhinted/variable-ttf ]]; then 69 - install -m444 -Dt $out_font fonts/"$variant"/unhinted/variable-ttf/*.ttf 70 - elif [[ -d fonts/"$variant"/unhinted/otf ]]; then 71 - install -m444 -Dt $out_font fonts/"$variant"/unhinted/otf/*.otf 72 - else 73 - install -m444 -Dt $out_font fonts/"$variant"/unhinted/ttf/*.ttf 74 - fi 75 - done 76 - ''); 77 - 78 - passthru.updateScript = gitUpdater { 79 - rev-prefix = "noto-monthly-release-"; 80 - }; 81 - 82 - meta = with lib; { 83 - description = "Beautiful and free fonts for many languages"; 84 - homepage = "https://www.google.com/get/noto/"; 85 - inherit longDescription; 86 - license = licenses.ofl; 87 - platforms = platforms.all; 88 - maintainers = with maintainers; [ mathnerd314 emily jopejoe1 ]; 89 - }; 90 - }; 91 - 92 - mkNotoCJK = { typeface, version, sha256 }: 93 - stdenvNoCC.mkDerivation { 94 - pname = "noto-fonts-cjk-${lib.toLower typeface}"; 95 - inherit version; 96 - 97 - src = fetchFromGitHub { 98 - owner = "googlefonts"; 99 - repo = "noto-cjk"; 100 - rev = "${typeface}${version}"; 101 - inherit sha256; 102 - sparseCheckout = [ "${typeface}/Variable/OTC" ]; 103 - }; 104 - 105 - installPhase = '' 106 - install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/Variable/OTC/*.otf.ttc 107 - ''; 108 - 109 - passthru.tests.noto-fonts = nixosTests.noto-fonts; 110 - 111 - meta = with lib; { 112 - description = "Beautiful and free fonts for CJK languages"; 113 - homepage = "https://www.google.com/get/noto/help/cjk/"; 114 - longDescription = '' 115 - Noto ${typeface} CJK is a ${lib.toLower typeface} typeface designed as 116 - an intermediate style between the modern and traditional. It is 117 - intended to be a multi-purpose digital font for user interface 118 - designs, digital content, reading on laptops, mobile devices, and 119 - electronic books. Noto ${typeface} CJK comprehensively covers 120 - Simplified Chinese, Traditional Chinese, Japanese, and Korean in a 121 - unified font family. It supports regional variants of ideographic 122 - characters for each of the four languages. In addition, it supports 123 - Japanese kana, vertical forms, and variant characters (itaiji); it 124 - supports Korean hangeul — both contemporary and archaic. 125 - ''; 126 - license = licenses.ofl; 127 - platforms = platforms.all; 128 - maintainers = with maintainers; [ mathnerd314 emily ]; 129 - }; 130 - }; 131 - 132 - noto-fonts = mkNoto { 133 - pname = "noto-fonts"; 134 - }; 135 - 136 - noto-fonts-lgc-plus = mkNoto { 137 - pname = "noto-fonts-lgc-plus"; 138 - variants = [ 139 - "Noto Sans" 140 - "Noto Serif" 141 - "Noto Sans Mono" 142 - "Noto Music" 143 - "Noto Sans Symbols" 144 - "Noto Sans Symbols 2" 145 - "Noto Sans Math" 146 - ]; 147 - longDescription = '' 148 - This package provides the Noto Fonts, but only for latin, greek 149 - and cyrillic scripts, as well as some extra fonts. To create a 150 - custom Noto package with custom variants, see the `mkNoto` 151 - helper function. 152 - ''; 153 - }; 154 - 155 - noto-fonts-cjk-sans = mkNotoCJK { 156 - typeface = "Sans"; 157 - version = "2.004"; 158 - sha256 = "sha256-IgalJkiOAVjNxKaPAQWfb5hKeqclliR4qVXCq63FGWY="; 159 - }; 160 - 161 - noto-fonts-cjk-serif = mkNotoCJK { 162 - typeface = "Serif"; 163 - version = "2.002"; 164 - sha256 = "sha256-GLjpTAiHfygj1J4AdUVDJh8kykkFOglq+h4kyat5W9s="; 165 - }; 166 - 167 - noto-fonts-color-emoji = 168 - let 169 - version = "2.042"; 170 - emojiPythonEnv = 171 - buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]); 172 - in 173 - stdenvNoCC.mkDerivation { 174 - pname = "noto-fonts-emoji"; 175 - inherit version; 176 - 177 - src = fetchFromGitHub { 178 - owner = "googlefonts"; 179 - repo = "noto-emoji"; 180 - rev = "v${version}"; 181 - hash = "sha256-otJQMXrBIPrxD1vCdgcrZ2h1a9XAMbqEBFumjz1XJ54="; 182 - }; 183 - 184 - depsBuildBuild = [ 185 - buildPackages.stdenv.cc 186 - pkg-config 187 - cairo 188 - ]; 189 - 190 - nativeBuildInputs = [ 191 - imagemagick 192 - zopfli 193 - pngquant 194 - which 195 - emojiPythonEnv 196 - ]; 197 - 198 - postPatch = '' 199 - patchShebangs *.py 200 - patchShebangs third_party/color_emoji/*.py 201 - # remove check for virtualenv, since we handle 202 - # python requirements using python.withPackages 203 - sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile 204 - 205 - # Make the build verbose so it won't get culled by Hydra thinking that 206 - # it somehow got stuck doing nothing. 207 - sed -i 's;\t@;\t;' Makefile 208 - ''; 209 - 210 - enableParallelBuilding = true; 211 - 212 - installPhase = '' 213 - runHook preInstall 214 - mkdir -p $out/share/fonts/noto 215 - cp NotoColorEmoji.ttf $out/share/fonts/noto 216 - runHook postInstall 217 - ''; 218 - 219 - meta = with lib; { 220 - description = "Color emoji font"; 221 - homepage = "https://github.com/googlefonts/noto-emoji"; 222 - license = with licenses; [ ofl asl20 ]; 223 - platforms = platforms.all; 224 - maintainers = with maintainers; [ mathnerd314 sternenseemann ]; 225 - }; 226 - }; 227 - 228 - noto-fonts-monochrome-emoji = 229 - # Metadata fetched from 230 - # https://www.googleapis.com/webfonts/v1/webfonts?key=${GOOGLE_FONTS_TOKEN}&family=Noto+Emoji 231 - let metadata = with builtins; head (fromJSON (readFile ./noto-emoji.json)).items; 232 - urlHashes = with builtins; fromJSON (readFile ./noto-emoji.hashes.json); 233 - 234 - in 235 - stdenvNoCC.mkDerivation { 236 - pname = "noto-fonts-monochrome-emoji"; 237 - version = "${lib.removePrefix "v" metadata.version}.${metadata.lastModified}"; 238 - preferLocalBuild = true; 239 - 240 - dontUnpack = true; 241 - srcs = let 242 - weightNames = { 243 - "300" = "Light"; 244 - regular = "Regular"; 245 - "500" = "Medium"; 246 - "600" = "SemiBold"; 247 - "700" = "Bold"; 248 - }; 249 - in lib.mapAttrsToList 250 - (variant: url: fetchurl { name = "NotoEmoji-${weightNames.${variant}}.ttf"; 251 - hash = urlHashes.${url}; 252 - inherit url; } ) 253 - metadata.files; 254 - 255 - installPhase = '' 256 - runHook preInstall 257 - for src in $srcs; do 258 - install -D $src $out/share/fonts/noto/$(stripHash $src) 259 - done 260 - runHook postInstall 261 - ''; 262 - 263 - meta = with lib; { 264 - description = "Monochrome emoji font"; 265 - homepage = "https://fonts.google.com/noto/specimen/Noto+Emoji"; 266 - license = [ licenses.ofl ]; 267 - maintainers = [ maintainers.nicoo ]; 268 - 269 - platforms = platforms.all; 270 - sourceProvenance = [ sourceTypes.binaryBytecode ]; 271 - }; 272 - }; 273 - 274 - noto-fonts-emoji-blob-bin = 275 - let 276 - pname = "noto-fonts-emoji-blob-bin"; 277 - version = "15.0"; 278 - in 279 - stdenvNoCC.mkDerivation { 280 - inherit pname version; 281 - 282 - src = fetchurl { 283 - url = "https://github.com/C1710/blobmoji/releases/download/v${version}/Blobmoji.ttf"; 284 - hash = "sha256-3MPWZ1A2ups171dNIiFTJ3C1vZiGy6I8ZF70aUfrePk="; 285 - }; 286 - 287 - dontUnpack = true; 288 - 289 - installPhase = '' 290 - runHook preInstall 291 - 292 - install -Dm 444 $src $out/share/fonts/blobmoji/Blobmoji.ttf 293 - 294 - runHook postInstall 295 - ''; 296 - 297 - meta = with lib; { 298 - description = "Noto Emoji with extended Blob support"; 299 - homepage = "https://github.com/C1710/blobmoji"; 300 - license = with licenses; [ ofl asl20 ]; 301 - platforms = platforms.all; 302 - maintainers = with maintainers; [ rileyinman jk ]; 303 - }; 304 - }; 305 - }
pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json pkgs/by-name/no/noto-fonts-monochrome-emoji/noto-emoji.hashes.json
pkgs/data/fonts/noto-fonts/noto-emoji.json pkgs/by-name/no/noto-fonts-monochrome-emoji/noto-emoji.json
pkgs/data/fonts/noto-fonts/noto-emoji.py pkgs/by-name/no/noto-fonts-monochrome-emoji/noto-emoji.py
pkgs/data/fonts/noto-fonts/tools.nix pkgs/development/python-modules/nototools/default.nix
+14 -18
pkgs/development/compilers/emscripten/0001-emulate-clang-sysroot-include-logic.patch
··· 1 - From 4bbbb640934aa653bcfec0335798b77a8935b815 Mon Sep 17 00:00:00 2001 1 + From 86fc9ce2b381748813b372f7e86909be6f955cbd Mon Sep 17 00:00:00 2001 2 2 From: Yureka <yuka@yuka.dev> 3 3 Date: Sat, 7 Aug 2021 09:16:46 +0200 4 4 Subject: [PATCH] emulate clang 'sysroot + /include' logic ··· 16 16 Hence usage of -idirafter. Clang also documents an -isystem-after flag 17 17 but it doesn't appear to work 18 18 --- 19 - emcc.py | 7 ++++++- 20 - 1 file changed, 6 insertions(+), 1 deletion(-) 19 + emcc.py | 3 +++ 20 + 1 file changed, 3 insertions(+) 21 21 22 22 diff --git a/emcc.py b/emcc.py 23 - index ba8d1b556..7d89644c5 100755 23 + index 279f6d4d9..26e20e2cc 100644 24 24 --- a/emcc.py 25 25 +++ b/emcc.py 26 - @@ -883,7 +883,12 @@ def parse_s_args(args): 27 - 28 - 29 - def emsdk_cflags(user_args): 30 - - cflags = ['--sysroot=' + cache.get_sysroot(absolute=True)] 31 - + cflags = [ 32 - + '--sysroot=' + cache.get_sysroot(absolute=True), 33 - + '-resource-dir=@resourceDir@', 34 - + '-idirafter' + cache.get_sysroot(absolute=True) + os.path.join('/include'), 35 - + '-iwithsysroot' + os.path.join('/include','c++','v1') 36 - + ] 26 + @@ -400,6 +400,9 @@ def get_cflags(user_args, is_cxx): 27 + # We add these to the user's flags (newargs), but not when building .s or .S assembly files 28 + cflags = get_clang_flags(user_args) 29 + cflags.append('--sysroot=' + cache.get_sysroot(absolute=True)) 30 + + cflags.append('-resource-dir=@resourceDir@') 31 + + cflags.append('-idirafter' + cache.get_sysroot(absolute=True) + os.path.join('/include')) 32 + + cflags.append('-iwithsysroot' + os.path.join('/include','c++','v1')) 37 33 38 - def array_contains_any_of(hay, needles): 39 - for n in needles: 34 + if settings.EMSCRIPTEN_TRACING: 35 + cflags.append('-D__EMSCRIPTEN_TRACING__=1') 40 36 -- 41 - 2.40.0 37 + 2.42.0 42 38
+12 -5
pkgs/development/compilers/emscripten/default.nix
··· 8 8 9 9 stdenv.mkDerivation rec { 10 10 pname = "emscripten"; 11 - version = "3.1.47"; 11 + version = "3.1.50"; 12 12 13 13 llvmEnv = symlinkJoin { 14 14 name = "emscripten-llvm-${version}"; ··· 32 32 src = fetchFromGitHub { 33 33 owner = "emscripten-core"; 34 34 repo = "emscripten"; 35 - hash = "sha256-cRNkQ+7vUqJLNlf5dieeDcyT1jlBUeVxO8avoUvOPHI="; 35 + hash = "sha256-iFZF+DxGaq279QPPugoLhYmoXmyLPkmn1x4rBCkdW+I="; 36 36 rev = version; 37 37 }; 38 38 ··· 42 42 patches = [ 43 43 (substituteAll { 44 44 src = ./0001-emulate-clang-sysroot-include-logic.patch; 45 - resourceDir = "${llvmEnv}/lib/clang/16/"; 45 + resourceDir = "${llvmEnv}/lib/clang/17/"; 46 46 }) 47 47 ]; 48 48 ··· 50 50 runHook preBuild 51 51 52 52 patchShebangs . 53 + 54 + # emscripten 3.1.50 requires LLVM tip-of-tree instead of LLVM 17 55 + sed -i -e "s/EXPECTED_LLVM_VERSION = 18/EXPECTED_LLVM_VERSION = 17.0/g" tools/shared.py 53 56 54 57 # fixes cmake support 55 58 sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" emcc.py ··· 106 109 # TODO: get library cache to build with both enabled and function exported 107 110 $out/bin/emcc $LTO $BIND test.c 108 111 $out/bin/emcc $LTO $BIND -s RELOCATABLE test.c 109 - $out/bin/emcc $LTO $BIND -s USE_PTHREADS test.c 112 + # starting with emscripten 3.1.48+, 113 + # to use pthreads, _emscripten_check_mailbox must be exported 114 + # (see https://github.com/emscripten-core/emscripten/pull/20604) 115 + # TODO: get library cache to build with pthreads at all 116 + # $out/bin/emcc $LTO $BIND -s USE_PTHREADS test.c 110 117 done 111 118 done 112 119 popd ··· 131 138 homepage = "https://github.com/emscripten-core/emscripten"; 132 139 description = "An LLVM-to-JavaScript Compiler"; 133 140 platforms = platforms.all; 134 - maintainers = with maintainers; [ qknight matthewbauer raitobezarius ]; 141 + maintainers = with maintainers; [ qknight matthewbauer raitobezarius willcohen ]; 135 142 license = licenses.ncsa; 136 143 }; 137 144 }
+9 -16
pkgs/development/compilers/graalvm/community-edition/buildGraalvm.nix
··· 63 63 mkdir -p $out/bin 64 64 ln -s ${lib.getDev musl}/bin/musl-gcc $out/bin/${stdenv.hostPlatform.system}-musl-gcc 65 65 ''); 66 - # GraalVM 23.0.0+ (i.e.: JDK 21.0.0+) clean-up the environment inside darwin 67 - # So we need to re-added some env vars to make everything work correctly again 68 - darwin-cc = (runCommandCC "darwin-cc" 69 - { 70 - nativeBuildInputs = [ makeWrapper ]; 71 - buildInputs = [ darwin.apple_sdk.frameworks.Foundation zlib ]; 72 - } '' 73 - makeWrapper ${stdenv.cc}/bin/cc $out/bin/cc \ 74 - --prefix NIX_CFLAGS_COMPILE_${stdenv.cc.suffixSalt} : "$NIX_CFLAGS_COMPILE" \ 75 - --prefix NIX_LDFLAGS_${stdenv.cc.suffixSalt} : "$NIX_LDFLAGS" 76 - ''); 77 - binPath = lib.makeBinPath ( 78 - lib.optionals stdenv.isDarwin [ darwin-cc ] 79 - ++ lib.optionals useMusl [ musl-gcc ] 80 - ++ [ stdenv.cc ] 81 - ); 66 + binPath = lib.makeBinPath (lib.optionals useMusl [ musl-gcc ] ++ [ stdenv.cc ]); 82 67 83 68 runtimeLibraryPath = lib.makeLibraryPath 84 69 ([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]); ··· 179 164 # run on JVM with Graal Compiler 180 165 echo "Testing GraalVM" 181 166 $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World' 167 + 168 + # Workaround GraalVM issue where the builder does not have access to the 169 + # environment variables since 21.0.0 170 + # Only needed for native-image tests 171 + # https://github.com/oracle/graal/pull/6095 172 + # https://github.com/oracle/graal/pull/6095 173 + # https://github.com/oracle/graal/issues/7502 174 + export NATIVE_IMAGE_DEPRECATED_BUILDER_SANITATION="true"; 182 175 183 176 echo "Ahead-Of-Time compilation" 184 177 $out/bin/native-image -H:+UnlockExperimentalVMOptions -H:-CheckToolchain -H:+ReportExceptionStackTraces HelloWorld
+190
pkgs/development/compilers/llvm/17/lld/add-table-base.patch
··· 1 + From 93adcb770b99351b18553089c164fe3ef2119699 Mon Sep 17 00:00:00 2001 2 + From: Sam Clegg <sbc@chromium.org> 3 + Date: Fri, 25 Aug 2023 13:56:16 -0700 4 + Subject: [PATCH] [lld][WebAssembly] Add `--table-base` setting 5 + 6 + This is similar to `--global-base` but determines where to place the 7 + table segments rather than that data segments. 8 + 9 + See https://github.com/emscripten-core/emscripten/issues/20097 10 + 11 + Differential Revision: https://reviews.llvm.org/D158892 12 + --- 13 + test/wasm/table-base.s | 72 ++++++++++++++++++++++++++++++++++++++ 14 + wasm/Driver.cpp | 19 ++++++++-- 15 + wasm/Options.td | 5 ++- 16 + wasm/Writer.cpp | 8 ----- 17 + 4 files changed, 93 insertions(+), 11 deletions(-) 18 + create mode 100644 test/wasm/table-base.s 19 + 20 + diff --git a/test/wasm/table-base.s b/test/wasm/table-base.s 21 + new file mode 100644 22 + index 000000000000000..56fff414fd31d96 23 + --- /dev/null 24 + +++ b/test/wasm/table-base.s 25 + @@ -0,0 +1,72 @@ 26 + +# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %s -o %t.o 27 + + 28 + +# RUN: wasm-ld --export=__table_base -o %t.wasm %t.o 29 + +# RUN: obj2yaml %t.wasm | FileCheck %s -check-prefix=CHECK-DEFAULT 30 + + 31 + +# RUN: wasm-ld --table-base=100 --export=__table_base -o %t.wasm %t.o 32 + +# RUN: obj2yaml %t.wasm | FileCheck %s -check-prefix=CHECK-100 33 + + 34 + +.globl _start 35 + +_start: 36 + + .functype _start () -> () 37 + + i32.const _start 38 + + drop 39 + + end_function 40 + + 41 + +# CHECK-DEFAULT: - Type: TABLE 42 + +# CHECK-DEFAULT-NEXT: Tables: 43 + +# CHECK-DEFAULT-NEXT: - Index: 0 44 + +# CHECK-DEFAULT-NEXT: ElemType: FUNCREF 45 + +# CHECK-DEFAULT-NEXT: Limits: 46 + +# CHECK-DEFAULT-NEXT: Flags: [ HAS_MAX ] 47 + +# CHECK-DEFAULT-NEXT: Minimum: 0x2 48 + +# CHECK-DEFAULT-NEXT: Maximum: 0x2 49 + + 50 + +# CHECK-DEFAULT: - Type: GLOBAL 51 + +# CHECK-DEFAULT-NEXT: Globals: 52 + +# CHECK-DEFAULT-NEXT: - Index: 0 53 + +# CHECK-DEFAULT-NEXT: Type: I32 54 + +# CHECK-DEFAULT-NEXT: Mutable: true 55 + +# CHECK-DEFAULT-NEXT: InitExpr: 56 + +# CHECK-DEFAULT-NEXT: Opcode: I32_CONST 57 + +# CHECK-DEFAULT-NEXT: Value: 66560 58 + +# CHECK-DEFAULT-NEXT: - Index: 1 59 + +# CHECK-DEFAULT-NEXT: Type: I32 60 + +# CHECK-DEFAULT-NEXT: Mutable: false 61 + +# CHECK-DEFAULT-NEXT: InitExpr: 62 + +# CHECK-DEFAULT-NEXT: Opcode: I32_CONST 63 + +# CHECK-DEFAULT-NEXT: Value: 1 64 + + 65 + +# CHECK-DEFAULT: - Type: EXPORT 66 + +# CHECK-DEFAULT: - Name: __table_base 67 + +# CHECK-DEFAULT-NEXT: Kind: GLOBAL 68 + +# CHECK-DEFAULT-NEXT: Index: 1 69 + + 70 + +# CHECK-100: - Type: TABLE 71 + +# CHECK-100-NEXT: Tables: 72 + +# CHECK-100-NEXT: - Index: 0 73 + +# CHECK-100-NEXT: ElemType: FUNCREF 74 + +# CHECK-100-NEXT: Limits: 75 + +# CHECK-100-NEXT: Flags: [ HAS_MAX ] 76 + +# CHECK-100-NEXT: Minimum: 0x65 77 + +# CHECK-100-NEXT: Maximum: 0x65 78 + + 79 + +# CHECK-100: - Type: GLOBAL 80 + +# CHECK-100-NEXT: Globals: 81 + +# CHECK-100-NEXT: - Index: 0 82 + +# CHECK-100-NEXT: Type: I32 83 + +# CHECK-100-NEXT: Mutable: true 84 + +# CHECK-100-NEXT: InitExpr: 85 + +# CHECK-100-NEXT: Opcode: I32_CONST 86 + +# CHECK-100-NEXT: Value: 66560 87 + +# CHECK-100-NEXT: - Index: 1 88 + +# CHECK-100-NEXT: Type: I32 89 + +# CHECK-100-NEXT: Mutable: false 90 + +# CHECK-100-NEXT: InitExpr: 91 + +# CHECK-100-NEXT: Opcode: I32_CONST 92 + +# CHECK-100-NEXT: Value: 100 93 + + 94 + +# CHECK-100: - Type: EXPORT 95 + +# CHECK-100: - Name: __table_base 96 + +# CHECK-100-NEXT: Kind: GLOBAL 97 + +# CHECK-100-NEXT: Index: 1 98 + diff --git a/wasm/Driver.cpp b/wasm/Driver.cpp 99 + index 84304881f5ca34e..c2f5f0185781f36 100644 100 + --- a/wasm/Driver.cpp 101 + +++ b/wasm/Driver.cpp 102 + @@ -502,6 +502,7 @@ static void readConfigs(opt::InputArgList &args) { 103 + 104 + config->initialMemory = args::getInteger(args, OPT_initial_memory, 0); 105 + config->globalBase = args::getInteger(args, OPT_global_base, 0); 106 + + config->tableBase = args::getInteger(args, OPT_table_base, 0); 107 + config->maxMemory = args::getInteger(args, OPT_max_memory, 0); 108 + config->zStackSize = 109 + args::getZOptionValue(args, OPT_z, "stack-size", WasmPageSize); 110 + @@ -573,6 +574,17 @@ static void setConfigs() { 111 + if (config->exportTable) 112 + error("-shared/-pie is incompatible with --export-table"); 113 + config->importTable = true; 114 + + } else { 115 + + // Default table base. Defaults to 1, reserving 0 for the NULL function 116 + + // pointer. 117 + + if (!config->tableBase) 118 + + config->tableBase = 1; 119 + + // The default offset for static/global data, for when --global-base is 120 + + // not specified on the command line. The precise value of 1024 is 121 + + // somewhat arbitrary, and pre-dates wasm-ld (Its the value that 122 + + // emscripten used prior to wasm-ld). 123 + + if (!config->globalBase && !config->relocatable && !config->stackFirst) 124 + + config->globalBase = 1024; 125 + } 126 + 127 + if (config->relocatable) { 128 + @@ -666,8 +678,11 @@ static void checkOptions(opt::InputArgList &args) { 129 + warn("-Bsymbolic is only meaningful when combined with -shared"); 130 + } 131 + 132 + - if (config->globalBase && config->isPic) { 133 + - error("--global-base may not be used with -shared/-pie"); 134 + + if (config->isPic) { 135 + + if (config->globalBase) 136 + + error("--global-base may not be used with -shared/-pie"); 137 + + if (config->tableBase) 138 + + error("--table-base may not be used with -shared/-pie"); 139 + } 140 + } 141 + 142 + diff --git a/wasm/Options.td b/wasm/Options.td 143 + index 50417d2928e0a34..bb764396bf4df14 100644 144 + --- a/wasm/Options.td 145 + +++ b/wasm/Options.td 146 + @@ -191,7 +191,7 @@ def growable_table: FF<"growable-table">, 147 + HelpText<"Remove maximum size from function table, allowing table to grow">; 148 + 149 + def global_base: JJ<"global-base=">, 150 + - HelpText<"Where to start to place global data">; 151 + + HelpText<"Memory offset at which to place global data (Defaults to 1024)">; 152 + 153 + def import_memory: FF<"import-memory">, 154 + HelpText<"Import the module's memory from the default module of \"env\" with the name \"memory\".">; 155 + @@ -224,6 +224,9 @@ def no_entry: FF<"no-entry">, 156 + def stack_first: FF<"stack-first">, 157 + HelpText<"Place stack at start of linear memory rather than after data">; 158 + 159 + +def table_base: JJ<"table-base=">, 160 + + HelpText<"Table offset at which to place address taken functions (Defaults to 1)">; 161 + + 162 + defm whole_archive: B<"whole-archive", 163 + "Force load of all members in a static library", 164 + "Do not force load of all members in a static library (default)">; 165 + diff --git a/wasm/Writer.cpp b/wasm/Writer.cpp 166 + index f25d358dc5bae6f..0576bf2907e49c4 100644 167 + --- a/wasm/Writer.cpp 168 + +++ b/wasm/Writer.cpp 169 + @@ -358,13 +358,6 @@ void Writer::layoutMemory() { 170 + memoryPtr = config->globalBase; 171 + } 172 + } else { 173 + - if (!config->globalBase && !config->relocatable && !config->isPic) { 174 + - // The default offset for static/global data, for when --global-base is 175 + - // not specified on the command line. The precise value of 1024 is 176 + - // somewhat arbitrary, and pre-dates wasm-ld (Its the value that 177 + - // emscripten used prior to wasm-ld). 178 + - config->globalBase = 1024; 179 + - } 180 + memoryPtr = config->globalBase; 181 + } 182 + 183 + @@ -1685,7 +1678,6 @@ void Writer::run() { 184 + // For PIC code the table base is assigned dynamically by the loader. 185 + // For non-PIC, we start at 1 so that accessing table index 0 always traps. 186 + if (!config->isPic) { 187 + - config->tableBase = 1; 188 + if (WasmSym::definedTableBase) 189 + WasmSym::definedTableBase->setVA(config->tableBase); 190 + if (WasmSym::definedTableBase32)
+1
pkgs/development/compilers/llvm/17/lld/default.nix
··· 26 26 27 27 patches = [ 28 28 ./gnu-install-dirs.patch 29 + ./add-table-base.patch 29 30 ]; 30 31 31 32 nativeBuildInputs = [ cmake ninja ];
+3
pkgs/development/cuda-modules/generic-builders/manifest.nix
··· 189 189 '' 190 190 # Move the outputs into their respective outputs. 191 191 + strings.concatMapStringsSep "\n" mkMoveToOutputCommand (builtins.tail finalAttrs.outputs) 192 + # Add a newline to the end of the installPhase, so that the post-install hook doesn't 193 + # get concatenated with the last moveToOutput command. 194 + + "\n" 192 195 # Post-install hook 193 196 + '' 194 197 runHook postInstall
-1
pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix
··· 119 119 # Forbids base >= 4.18, fix proposed: https://github.com/sjakobi/newtype-generics/pull/25 120 120 newtype-generics = jailbreakForCurrentVersion super.newtype-generics "0.6.2"; 121 121 122 - cborg-json = jailbreakForCurrentVersion super.cborg-json "0.2.5.0"; 123 122 serialise = jailbreakForCurrentVersion super.serialise "0.2.6.0"; 124 123 125 124 #
+1 -3
pkgs/development/interpreters/wamr/default.nix
··· 31 31 license = licenses.asl20; 32 32 mainProgram = "iwasm"; 33 33 maintainers = with maintainers; [ ereslibre ]; 34 - # TODO (ereslibre): this derivation should be improved to support 35 - # more platforms. 36 - broken = !stdenv.isLinux; 34 + platforms = platforms.unix; 37 35 }; 38 36 })
+3 -15
pkgs/development/libraries/librealsense/default.nix
··· 23 23 24 24 stdenv.mkDerivation rec { 25 25 pname = "librealsense"; 26 - version = "2.45.0"; 26 + version = "2.54.2"; 27 27 28 28 outputs = [ "out" "dev" ]; 29 29 ··· 31 31 owner = "IntelRealSense"; 32 32 repo = pname; 33 33 rev = "v${version}"; 34 - sha256 = "0aqf48zl7825v7x8c3x5w4d17m4qq377f1mn6xyqzf9b0dnk4i1j"; 34 + sha256 = "sha256-EbnIHnsUgsqN/SVv4m9H7K8gfwni+u82+M55QBstAGI="; 35 35 }; 36 36 37 37 buildInputs = [ ··· 42 42 ++ lib.optionals enableGUI [ mesa gtk3 glfw libGLU curl ]; 43 43 44 44 patches = [ 45 - # fix build on aarch64-darwin 46 - # https://github.com/IntelRealSense/librealsense/pull/9253 47 - (fetchpatch { 48 - url = "https://github.com/IntelRealSense/librealsense/commit/beb4c44debc8336de991c983274cad841eb5c323.patch"; 49 - sha256 = "05mxsd2pz3xrvywdqyxkwdvxx8hjfxzcgl51897avz4v2j89pyq8"; 50 - }) 51 - ./py_sitepackage_dir.patch 52 45 ./py_pybind11_no_external_download.patch 46 + ./install-presets.patch 53 47 ]; 54 - 55 - postPatch = '' 56 - # https://github.com/IntelRealSense/librealsense/issues/11092 57 - # insert a "#include <iostream" at beginning of file 58 - sed '1i\#include <iostream>' -i wrappers/python/pyrs_device.cpp 59 - ''; 60 48 61 49 nativeBuildInputs = [ 62 50 cmake
+13
pkgs/development/libraries/librealsense/install-presets.patch
··· 1 + diff --git a/tools/realsense-viewer/CMakeLists.txt b/tools/realsense-viewer/CMakeLists.txt 2 + index 44be6278f..1a4531dff 100644 3 + --- a/tools/realsense-viewer/CMakeLists.txt 4 + +++ b/tools/realsense-viewer/CMakeLists.txt 5 + @@ -253,7 +253,7 @@ install( 6 + ) 7 + #https://cmake.org/cmake/help/latest/command/install.html 8 + install(DIRECTORY presets/ 9 + - DESTINATION $ENV{HOME}/Documents/librealsense2/presets 10 + + DESTINATION $ENV{out}/share/librealsense2/presets 11 + FILES_MATCHING PATTERN "*.preset" 12 + ) 13 + endif()
+12 -36
pkgs/development/libraries/librealsense/py_pybind11_no_external_download.patch
··· 1 - From 01e51b9c90ba51b2d0ca797dde676812cf3db415 Mon Sep 17 00:00:00 2001 2 - From: "Robert T. McGibbon" <rmcgibbo@gmail.com> 3 - Date: Mon, 10 May 2021 17:26:04 -0400 4 - Subject: [PATCH 1/1] V1 5 - 6 - --- 7 - wrappers/python/CMakeLists.txt | 15 +-------------- 8 - 1 file changed, 1 insertion(+), 14 deletions(-) 9 - 10 - diff --git a/wrappers/python/CMakeLists.txt b/wrappers/python/CMakeLists.txt 11 - index aa83e4c77..4ec92ccfa 100644 12 - --- a/wrappers/python/CMakeLists.txt 13 - +++ b/wrappers/python/CMakeLists.txt 14 - @@ -8,21 +8,8 @@ if (NOT BUILD_PYTHON_BINDINGS) 15 - endif() 16 - 17 - set(DEPENDENCIES realsense2) 18 - -# In order for the external project clone to occur during cmake configure step(rather than during compilation, as would normally happen), 19 - -# we copy the external project declaration to the build folder and then execute it 20 - -configure_file(${CMAKE_SOURCE_DIR}/third-party/pybind11/CMakeLists.txt ${CMAKE_BINARY_DIR}/external-projects/pybind11/CMakeLists.txt) 21 - -execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . 22 - - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/external-projects/pybind11" 23 - -) 24 - -execute_process(COMMAND "${CMAKE_COMMAND}" --build . 25 - - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/external-projects/pybind11" 26 - -) 1 + diff --git a/CMake/global_config.cmake b/CMake/global_config.cmake 2 + index 350f7a268..2cf125c67 100644 3 + --- a/CMake/global_config.cmake 4 + +++ b/CMake/global_config.cmake 5 + @@ -69,7 +69,8 @@ macro(global_set_flags) 27 6 28 - -# Add pybind11 makefile 29 - -add_subdirectory("${CMAKE_BINARY_DIR}/third-party/pybind11" 30 - - "${CMAKE_BINARY_DIR}/third-party/pybind11" 31 - - EXCLUDE_FROM_ALL 32 - -) 33 - +find_package(pybind11 REQUIRED) 7 + if(BUILD_PYTHON_BINDINGS) 8 + include(libusb_config) 9 + - include(CMake/external_pybind11.cmake) 10 + + find_package(pybind11 REQUIRED) 11 + + set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") 12 + endif() 34 13 35 - set(PYBIND11_CPP_STANDARD -std=c++11) 36 - # Force Pybind11 not to share pyrealsense2 resources with other pybind modules. 37 - -- 38 - 2.29.3 14 + if(CHECK_FOR_UPDATES) 39 15
-15
pkgs/development/libraries/librealsense/py_sitepackage_dir.patch
··· 1 - --- a/wrappers/python/CMakeLists.txt 2 - +++ b/wrappers/python/CMakeLists.txt 3 - @@ -10,11 +10,11 @@ 4 - if (CMAKE_VERSION VERSION_LESS 3.12) 5 - find_package(PythonInterp REQUIRED) 6 - find_package(PythonLibs REQUIRED) 7 - - set(PYTHON_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") 8 - + set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") 9 - set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2") 10 - else() 11 - find_package(Python REQUIRED COMPONENTS Interpreter Development) 12 - - set(PYTHON_INSTALL_DIR "${Python_SITEARCH}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") 13 - + set(PYTHON_INSTALL_DIR "${XXNIX_PYTHON_SITEPACKAGES}/pyrealsense2" CACHE PATH "Installation directory for Python bindings") 14 - set(CMAKECONFIG_PY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/pyrealsense2") 15 - endif()
+64 -53
pkgs/development/lisp-modules/packages.nix
··· 224 224 version = "0.5.4"; 225 225 226 226 src = pkgs.fetchgit { 227 - url = "https://notabug.org/cage/cl-colors2"; 228 - rev = "refs/tags/v0.5.4"; 227 + url = "https://codeberg.org/cage/cl-colors2"; 228 + rev = "v0.5.4"; 229 229 sha256 = "sha256-JbT1BKjaXDwdlzHLPjX1eg0RMIOT86R17SPgbe2h+tA="; 230 230 }; 231 231 }; 232 232 233 - prompter = build-asdf-system { 233 + prompter = build-asdf-system rec { 234 234 pname = "prompter"; 235 - version = "0.1.0"; 235 + version = "0.1.1"; 236 236 237 237 src = pkgs.fetchFromGitHub { 238 238 owner = "atlas-engineer"; 239 239 repo = "prompter"; 240 - rev = "0.1.0"; 241 - sha256 = "sha256-Duv7L2lMjr3VXsoujQDOMNHCbdUDX4RWoncVm9LDCZE="; 240 + rev = version; 241 + sha256 = "sha256-A9gIUBj0oUDFGR5aqHz+tdNR6t03LPMrx0n9qM3ACwE="; 242 242 }; 243 243 244 244 lispLibs = [ ··· 256 256 257 257 }; 258 258 259 - nasdf = build-asdf-system { 260 - pname = "nasdf"; 261 - version = "20230911-git"; 262 - src = pkgs.fetchFromGitHub { 263 - owner = "atlas-engineer"; 264 - repo = "ntemplate"; 265 - rev = "ab7a018f3a67a999c72710644b10b4545130c139"; 266 - sha256 = "sha256-fXGh0h6CXLoBgK1jRxkSNyQVAY1gvi4iyHQBuzueR5Y="; 267 - }; 268 - }; 269 - 270 - njson = build-asdf-system { 259 + njson = build-asdf-system rec { 271 260 pname = "njson"; 272 - version = "1.1.0"; 261 + version = "1.2.2"; 273 262 src = pkgs.fetchFromGitHub { 274 263 owner = "atlas-engineer"; 275 264 repo = "njson"; 276 - rev = "1.1.0"; 277 - sha256 = "sha256-hVo5++QCns7Mv3zATpAP3EVz1pbj+jbQmzSLqs6hqQo="; 265 + rev = version; 266 + sha256 = "sha256-kw5DD0GJp/TeCiYATBY8GL8UKqYS6Q4j0a0eQsdcZRc="; 278 267 }; 279 - lispLibs = [ self.nasdf super.cl-json super.com_dot_inuoe_dot_jzon]; 268 + lispLibs = [ super.cl-json super.com_dot_inuoe_dot_jzon]; 280 269 systems = [ "njson" "njson/cl-json" "njson/jzon"]; 281 270 }; 282 271 283 - nsymbols = build-asdf-system { 272 + nsymbols = build-asdf-system rec { 284 273 pname = "nsymbols"; 285 - version = "0.3.1"; 274 + version = "0.3.2"; 286 275 src = pkgs.fetchFromGitHub { 287 276 owner = "atlas-engineer"; 288 277 repo = "nsymbols"; 289 - rev = "0.3.1"; 290 - sha256 = "sha256-KcrE06bG5Khp5/807wb/TbPG3nWTlNWHrDpmK6bm7ZM="; 278 + rev = version; 279 + sha256 = "sha256-psk29WEA7Hxgp29oUniBNvI+lyZfMkdpa5A7okc6kKs="; 291 280 }; 292 281 lispLibs = [ super.closer-mop ]; 293 282 systems = [ "nsymbols" "nsymbols/star" ]; 294 283 295 284 }; 296 285 297 - nclasses = build-asdf-system { 286 + nclasses = build-asdf-system rec { 298 287 pname = "nclasses"; 299 - version = "0.6.0"; 288 + version = "0.6.1"; 300 289 src = pkgs.fetchFromGitHub { 301 290 owner = "atlas-engineer"; 302 291 repo = "nclasses"; 303 - rev = "0.6.0"; 304 - sha256 = "sha256-JupP+TIxavUoyOPnp57FqpEjWfgKspdFoSRnV2rk5U4="; 292 + rev = version; 293 + sha256 = "sha256-foXmaLxMYMFieB2Yd2iPsU4EX5kLXq7kyElqGZ47OgI="; 305 294 }; 306 - lispLibs = [ self.nasdf super.moptilities ]; 295 + lispLibs = [ super.moptilities ]; 307 296 }; 308 297 309 - nfiles = build-asdf-system { 298 + nfiles = build-asdf-system rec { 310 299 pname = "nfiles"; 311 - version = "20230705-git"; 300 + version = "1.1.4"; 312 301 src = pkgs.fetchFromGitHub { 313 302 owner = "atlas-engineer"; 314 303 repo = "nfiles"; 315 - rev = "3626e8d512a84efc12479ceb3969d194511757f7"; 316 - sha256 = "sha256-MoJdbTOVfw2rJk4cf/rEnR55BxdXkoqqu9Txd/R9OYQ="; 304 + rev = version; 305 + sha256 = "sha256-4rhpBErQgZHcwZRblxgiYaUmKalvllSbJjnRteDVH6k="; 317 306 }; 318 307 lispLibs = [ 319 - self.nasdf 320 308 self.nclasses 321 309 super.quri 322 310 super.alexandria ··· 328 316 ]; 329 317 }; 330 318 331 - nhooks = build-asdf-system { 319 + nhooks = build-asdf-system rec { 332 320 pname = "nhooks"; 333 - version = "1.2.1"; 321 + version = "1.2.2"; 334 322 src = pkgs.fetchFromGitHub { 335 323 owner = "atlas-engineer"; 336 324 repo = "nhooks"; 337 - rev = "1.2.1"; 338 - hash = "sha256-D61QHxHTceIu5mCGKf3hy53niQMfs0idEYQK1ZYn1YM="; 325 + rev = version; 326 + hash = "sha256-6A3fsemsv2KbTmdGMQeL9iHFUBHc4kK6CRNVyc91LdU="; 339 327 }; 340 328 lispLibs = with self; [ bordeaux-threads closer-mop serapeum ]; 341 329 }; 342 330 343 331 nkeymaps = build-asdf-system rec { 344 332 pname = "nkeymaps"; 345 - version = "1.1.0"; 333 + version = "1.1.1"; 346 334 src = pkgs.fetchFromGitHub { 347 335 owner = "atlas-engineer"; 348 336 repo = "nkeymaps"; 349 337 rev = version; 350 - hash = "sha256-ewMu2IgEzCYY72vG91IA7l8X78Ph6jpQvbKeOFZdAyM="; 338 + hash = "sha256-/t85Yh4EvnSyIM6xeDBLmfVz3wddmavInXzeYafNMJ0="; 351 339 }; 352 340 lispLibs = with self; [ alexandria fset trivial-package-local-nicknames 353 341 str ]; ··· 356 344 357 345 history-tree = build-asdf-system rec { 358 346 pname = "history-tree"; 359 - version = "0.1.1"; 347 + version = "0.1.2"; 360 348 src = pkgs.fetchFromGitHub { 361 349 owner = "atlas-engineer"; 362 350 repo = "history-tree"; 363 351 rev = version; 364 - hash = "sha256-lOORalyTybdut/If+dBXS4PlZt2AnZrEI/qjQWS03pk="; 352 + hash = "sha256-wpVONvShNnvrPOlbNoX/t9sYiwxnIKnnJaJyALEyeNg="; 365 353 }; 366 354 lispLibs = with self; [ 367 355 alexandria 368 356 cl-custom-hash-table 369 357 local-time 370 - nasdf 371 358 nclasses 372 359 trivial-package-local-nicknames 373 360 ]; ··· 375 362 376 363 nyxt-gtk = build-asdf-system { 377 364 pname = "nyxt"; 378 - version = "3.9.0"; 365 + version = "3.10.0"; 379 366 380 367 lispLibs = (with super; [ 381 368 alexandria ··· 413 400 plump 414 401 clss 415 402 spinneret 416 - slynk 417 403 trivia 418 404 trivial-features 419 405 trivial-garbage ··· 429 415 src = pkgs.fetchFromGitHub { 430 416 owner = "snmsts"; 431 417 repo = "trivial-clipboard"; 432 - rev = "6ddf8d5dff8f5c2102af7cd1a1751cbe6408377b"; 433 - sha256 = "sha256-n15IuTkqAAh2c1OfNbZfCAQJbH//QXeH0Bl1/5OpFRM="; 418 + rev = "f7b2c96fea00ca06a83f20b00b7b1971e76e03e7"; 419 + sha256 = "sha256-U6Y9BiM2P1t9P8fdX8WIRQPRWl2v2ZQuKdP1IUqvOAk="; 434 420 };})) 435 421 (cl-gobject-introspection.overrideAttrs (final: prev: { 436 422 src = pkgs.fetchFromGitHub { ··· 447 433 sha256 = "sha256-t/B9CvQTekEEsM/ZEp47Mn6NeZaTYFsTdRqclfX9BNg="; 448 434 }; 449 435 })) 436 + (slynk.overrideAttrs (final: prev: { 437 + src = pkgs.fetchFromGitHub { 438 + owner = "joaotavora"; 439 + repo = "sly"; 440 + rev = "9c43bf65b967e12cef1996f1af5f0671d8aecbf4"; 441 + hash = "sha256-YlHZ/7VwvHe2PBPRshN+Gr3WuGK9MpkOJprP6QXI3pY="; 442 + }; 443 + systems = [ "slynk" "slynk/arglists" "slynk/fancy-inspector" 444 + "slynk/package-fu" "slynk/mrepl" "slynk/trace-dialog" 445 + "slynk/profiler" "slynk/stickers" "slynk/indentation" 446 + "slynk/retro" ]; 447 + })) 450 448 ]) ++ (with self; [ 451 449 history-tree 452 450 nhooks 453 451 nkeymaps 454 - nasdf 455 452 prompter 456 453 cl-colors2_0_5_4 457 454 njson 458 455 nsymbols 459 456 nclasses 460 457 nfiles 461 - swank 462 458 cl-containers 459 + (swank.overrideAttrs (final: prev: { 460 + src = pkgs.fetchFromGitHub { 461 + owner = "slime"; 462 + repo = "slime"; 463 + rev = "735258a26bb97e85d25f39e4bef83c1f80c12f5d"; 464 + hash = "sha256-vMMer6qLJDKTwNE3unsOQezujISqFtn2AYl8cxsJvrc="; 465 + }; 466 + systems = [ "swank" "swank/exts" ]; 467 + })) 463 468 ]); 464 469 465 470 src = pkgs.fetchFromGitHub { 466 471 owner = "atlas-engineer"; 467 472 repo = "nyxt"; 468 - rev = "3.9.0"; 469 - sha256 = "sha256-bZoAE0FErgXPylOzh6AfMq3befms9dHms8+slbYdctk="; 473 + rev = "3.10.0"; 474 + sha256 = "sha256-yEa5Lx1egkg9Jh3EQfvaBQicm31uxIq/3s2NOQUC4uc="; 470 475 }; 471 476 472 477 nativeBuildInputs = [ pkgs.makeWrapper ]; ··· 486 491 # see: https://gitlab.common-lisp.net/asdf/asdf/-/blob/master/doc/asdf.texinfo#L2582 487 492 patches = [ ./patches/nyxt-remove-build-operation.patch ]; 488 493 494 + NASDF_USE_LOGICAL_PATHS = true; 495 + 489 496 buildScript = pkgs.writeText "build-nyxt.lisp" '' 490 497 (load "${super.alexandria.asdfFasl}/asdf.${super.alexandria.faslExt}") 498 + (require :uiop) 499 + (let ((pwd (uiop:ensure-directory-pathname (uiop/os:getcwd)))) 500 + (asdf:load-asd (uiop:merge-pathnames* "libraries/nasdf/nasdf.asd" pwd)) 501 + (asdf:load-asd (uiop:merge-pathnames* "nyxt.asd" pwd))) 491 502 ;; There's a weird error while copy/pasting in Nyxt that manifests with sb-ext:save-lisp-and-die, so we use asdf:operare :program-op instead 492 503 (asdf:operate :program-op :nyxt/gi-gtk-application) 493 504 '';
+2 -2
pkgs/development/python-modules/bellows/default.nix
··· 16 16 17 17 buildPythonPackage rec { 18 18 pname = "bellows"; 19 - version = "0.37.1"; 19 + version = "0.37.3"; 20 20 pyproject = true; 21 21 22 22 disabled = pythonOlder "3.8"; ··· 25 25 owner = "zigpy"; 26 26 repo = "bellows"; 27 27 rev = "refs/tags/${version}"; 28 - hash = "sha256-JkaCM9XOdGZE9/C2BUV3g9QL5+k/HlVYd4WsAMS2mgk="; 28 + hash = "sha256-WVVOJrQWWC4tuREjSs8bOA0J9Y/y2BLE2s3YysSaBt8="; 29 29 }; 30 30 31 31 postPatch = ''
+2 -2
pkgs/development/python-modules/can/default.nix
··· 19 19 20 20 buildPythonPackage rec { 21 21 pname = "can"; 22 - version = "4.3.0"; 22 + version = "4.3.1"; 23 23 pyproject = true; 24 24 25 25 disabled = pythonOlder "3.7"; ··· 28 28 owner = "hardbyte"; 29 29 repo = "python-can"; 30 30 rev = "refs/tags/v${version}"; 31 - hash = "sha256-JsYAh5Z6RIX6aWpSuW+VIzJRPf5MfNbBGg36v3CQiLU="; 31 + hash = "sha256-t2zt54nPOYcEE0RPb4fbW7sN4HzFXlDIHvHudstBwrM="; 32 32 }; 33 33 34 34 postPatch = ''
+2 -2
pkgs/development/python-modules/plugwise/default.nix
··· 20 20 21 21 buildPythonPackage rec { 22 22 pname = "plugwise"; 23 - version = "0.35.1"; 23 + version = "0.35.3"; 24 24 format = "setuptools"; 25 25 26 26 disabled = pythonOlder "3.7"; ··· 29 29 owner = pname; 30 30 repo = "python-plugwise"; 31 31 rev = "refs/tags/v${version}"; 32 - hash = "sha256-eHJQXLiuWmJo/Eo4B8gEo44rwpPA7ASjxKSmdu6Tv9M="; 32 + hash = "sha256-DCG1sKpUUV2/2mVJ2ltCkzCxQxAkDtxzNX6uMSpJhi4="; 33 33 }; 34 34 35 35 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/pyhiveapi/default.nix
··· 14 14 15 15 buildPythonPackage rec { 16 16 pname = "pyhiveapi"; 17 - version = "0.5.15"; 17 + version = "0.5.16"; 18 18 19 19 format = "pyproject"; 20 20 ··· 24 24 owner = "Pyhass"; 25 25 repo = "Pyhiveapi"; 26 26 rev = "refs/tags/v${version}"; 27 - hash = "sha256-tR2PCR1qGn4KnqAjEpcRTcVlMEpKCwn5RAm99AXBSnk="; 27 + hash = "sha256-gPou5KGLFEFP29qSpRg+6sCiXOwfoF1gyhBVERYJ1LI="; 28 28 }; 29 29 30 30 postPatch = ''
+2 -2
pkgs/development/python-modules/zigpy-deconz/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "zigpy-deconz"; 15 - version = "0.22.0"; 15 + version = "0.22.2"; 16 16 pyproject = true; 17 17 18 18 disabled = pythonOlder "3.7"; ··· 21 21 owner = "zigpy"; 22 22 repo = pname; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-pdWWI+yZh0uf2TzVbyJFIrxM2zfmaPG/PGZWaNNrZ6M="; 24 + hash = "sha256-gkIo56SGqthLq2Ycjl/MqKLJvTxhkm8reUmwVhphxhg="; 25 25 }; 26 26 27 27 postPatch = ''
+2 -2
pkgs/development/python-modules/zigpy-xbee/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "zigpy-xbee"; 15 - version = "0.20.0"; 15 + version = "0.20.1"; 16 16 pyproject = true; 17 17 18 18 disabled = pythonOlder "3.8"; ··· 21 21 owner = "zigpy"; 22 22 repo = "zigpy-xbee"; 23 23 rev = "refs/tags/${version}"; 24 - hash = "sha256-Ja9U/X9YblS6uUD7MX3t2tItG9AMiNF7OFgvIotdvQs="; 24 + hash = "sha256-H0rs4EOzz2Nx5YuwqTZp2FGF1z2phBgSIyraKHHx4RA="; 25 25 }; 26 26 27 27 postPatch = ''
+2 -2
pkgs/development/python-modules/zigpy/default.nix
··· 18 18 19 19 buildPythonPackage rec { 20 20 pname = "zigpy"; 21 - version = "0.60.0"; 21 + version = "0.60.1"; 22 22 format = "pyproject"; 23 23 24 24 disabled = pythonOlder "3.8"; ··· 27 27 owner = "zigpy"; 28 28 repo = "zigpy"; 29 29 rev = "refs/tags/${version}"; 30 - hash = "sha256-1i92YyOIoWSMDHgfnXiXQuvDnmEPlSHwoSLmmsoTkDU="; 30 + hash = "sha256-Ejf/Z9mgyO8y99rmuPPVOleyHWgYzxq3AO3TB8jkmtY="; 31 31 }; 32 32 33 33 postPatch = ''
+2 -2
pkgs/development/tools/analysis/checkov/default.nix
··· 5 5 6 6 python3.pkgs.buildPythonApplication rec { 7 7 pname = "checkov"; 8 - version = "3.1.34"; 8 + version = "3.1.38"; 9 9 pyproject = true; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "bridgecrewio"; 13 13 repo = "checkov"; 14 14 rev = "refs/tags/${version}"; 15 - hash = "sha256-F0zXvxxnfiCoEzhDL5v82OImqOX3y5umyRy5PbVCls0="; 15 + hash = "sha256-03tukEuNaQP3YNv66FuDKzeTPcPfPY4PT6ZWRLFDu6c="; 16 16 }; 17 17 18 18 patches = [
+3 -3
pkgs/development/tools/bearer/default.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "bearer"; 10 - version = "1.32.0"; 10 + version = "1.33.0"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "bearer"; 14 14 repo = "bearer"; 15 15 rev = "refs/tags/v${version}"; 16 - hash = "sha256-fqc/+eYrUcFHgC+st0LogLLIW/jRyp0M5VwxMBWkPKY="; 16 + hash = "sha256-sdtZOj3jksXDVVYi+Uy/zXgZoqlhGlPKjokXNErBe9k="; 17 17 }; 18 18 19 - vendorHash = "sha256-QDtjB1h7mNBEpTwoQfex3c6oba/kztKlgQpbmNHvoz0="; 19 + vendorHash = "sha256-u3pqG74o8xRxxepS5u3lTo4rPgbFABDC/dLWD1JAyxA="; 20 20 21 21 subPackages = [ 22 22 "cmd/bearer"
+2 -2
pkgs/development/tools/buildah/default.nix
··· 17 17 18 18 buildGoModule rec { 19 19 pname = "buildah"; 20 - version = "1.32.2"; 20 + version = "1.33.2"; 21 21 22 22 src = fetchFromGitHub { 23 23 owner = "containers"; 24 24 repo = "buildah"; 25 25 rev = "v${version}"; 26 - hash = "sha256-Av4wrJ+anVu1pTSFTpaseBhj+7ECsRoKb1bATrUKYuo="; 26 + hash = "sha256-jkUEGaECBNidKreoyezWw7LN38uHqyYo40dOwfuuuI4="; 27 27 }; 28 28 29 29 outputs = [ "out" "man" ];
+3 -3
pkgs/development/tools/rust/cargo-cyclonedx/default.nix
··· 12 12 13 13 rustPlatform.buildRustPackage rec { 14 14 pname = "cargo-cyclonedx"; 15 - version = "0.3.8"; 15 + version = "0.4.1"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "CycloneDX"; 19 19 repo = "cyclonedx-rust-cargo"; 20 20 rev = "${pname}-${version}"; 21 - hash = "sha256-6XW8aCXepbVnTubbM4sfRIC87uYSCEbuj+jJcPayEEU="; 21 + hash = "sha256-JrusJsMjaWAsWAssU+q87BCH2ouLfthIw47ypwBkR9o="; 22 22 }; 23 23 24 - cargoHash = "sha256-BG/vfa5L6Iibfon3A5TP8/K8jbJsWqc+axdvIXc7GmM="; 24 + cargoHash = "sha256-QzEojbwBF7s3C+LlFWle0+8DVtyEljuqAcMAyRJqFcs="; 25 25 26 26 nativeBuildInputs = [ 27 27 pkg-config
+3 -3
pkgs/development/tools/rust/cargo-mobile2/default.nix
··· 12 12 let 13 13 inherit (darwin.apple_sdk.frameworks) CoreServices; 14 14 pname = "cargo-mobile2"; 15 - version = "0.7.0"; 15 + version = "0.9.0"; 16 16 in 17 17 rustPlatform.buildRustPackage { 18 18 inherit pname version; ··· 20 20 owner = "tauri-apps"; 21 21 repo = pname; 22 22 rev = "cargo-mobile2-v${version}"; 23 - hash = "sha256-aJPiPhDbu7Nwnd65kPMxeULrcjdSu0EF34ma3n/NTYI="; 23 + hash = "sha256-zLArfCUgBWx/xrcjvyhQbSxjH0JKI3JhoDVRX2/kBnQ="; 24 24 }; 25 25 26 26 # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at 27 27 # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202 28 28 # sourceRoot = "${src.name}/tooling/cli"; 29 29 30 - cargoHash = "sha256-Inc+PWJO+PM99YYwQEG1J0/17RkLauraFVzO2CO15rQ="; 30 + cargoHash = "sha256-13iCSd2BQ4fEeXSOfDBVgnzFSl1fUAPrbZZJ3qx7oHc="; 31 31 32 32 preBuild = '' 33 33 mkdir -p $out/share/
+42 -42
pkgs/os-specific/linux/kernel/hardened/patches.json
··· 2 2 "4.14": { 3 3 "patch": { 4 4 "extra": "-hardened1", 5 - "name": "linux-hardened-4.14.328-hardened1.patch", 6 - "sha256": "1qq2l4nwhxgl4drx6isc1ly892kffjq4hqb4zadqs6sxvsdm7x57", 7 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.328-hardened1/linux-hardened-4.14.328-hardened1.patch" 5 + "name": "linux-hardened-4.14.332-hardened1.patch", 6 + "sha256": "1nda3z8hkyfw53dzk1v5zwpzhm75gizsixfmrh8ylaghhk5s8yw3", 7 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.332-hardened1/linux-hardened-4.14.332-hardened1.patch" 8 8 }, 9 - "sha256": "1igcpvnhwwrczfdsafmszvi0456k7f6j4cgpfw6v6afw09p95d8x", 10 - "version": "4.14.328" 9 + "sha256": "1f4q0acbp917myjmgiy4haxp78yak5h1rj5g937r6mkykwb6nb14", 10 + "version": "4.14.332" 11 11 }, 12 12 "4.19": { 13 13 "patch": { 14 14 "extra": "-hardened1", 15 - "name": "linux-hardened-4.19.297-hardened1.patch", 16 - "sha256": "1qj09bynl7ml880xpc2956jn0b1gmm77yf3jc45v3jq3610jhna4", 17 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.297-hardened1/linux-hardened-4.19.297-hardened1.patch" 15 + "name": "linux-hardened-4.19.301-hardened1.patch", 16 + "sha256": "0arlwp0g4anqlnivyc8y6rq9mhq1ivmy4i0d8kqvwpc2b3wcc525", 17 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.301-hardened1/linux-hardened-4.19.301-hardened1.patch" 18 18 }, 19 - "sha256": "0c9xxqgv2i36hrr06dwz7f3idc04xpv0a5pxg08xdh03cnyf12cx", 20 - "version": "4.19.297" 19 + "sha256": "1fr05fl8fyyjgsqj8fppd5v378d7sazvpqlq4sl875851fd9nmb2", 20 + "version": "4.19.301" 21 21 }, 22 22 "5.10": { 23 23 "patch": { 24 24 "extra": "-hardened1", 25 - "name": "linux-hardened-5.10.199-hardened1.patch", 26 - "sha256": "10vwd5wygfnxpbz15bq56pjygba3vqqal0d7xry2bch4p444pp5f", 27 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.199-hardened1/linux-hardened-5.10.199-hardened1.patch" 25 + "name": "linux-hardened-5.10.203-hardened1.patch", 26 + "sha256": "19inx95ynyzhh2h9xdg2yw4yfa5nfcw2dh2a7vw4mf0bqdv2iqvc", 27 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.203-hardened1/linux-hardened-5.10.203-hardened1.patch" 28 28 }, 29 - "sha256": "1h944syk7n6c4j1djlx19n77alzwbxcdza77c9ykicgfynhpgsm0", 30 - "version": "5.10.199" 29 + "sha256": "0xr8p7kfr1v3s41fv55ph0l8d9s2p146dl2fh3r2y09lrvwwxssn", 30 + "version": "5.10.203" 31 31 }, 32 32 "5.15": { 33 33 "patch": { 34 34 "extra": "-hardened1", 35 - "name": "linux-hardened-5.15.137-hardened1.patch", 36 - "sha256": "19gs1w380qgvazwjwhxypizpfx71faa7hsji0x5cgyw6vxhi6l1b", 37 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.137-hardened1/linux-hardened-5.15.137-hardened1.patch" 35 + "name": "linux-hardened-5.15.142-hardened1.patch", 36 + "sha256": "0x4bsf638rrdrp9b389i6nlprwsfc25qpld50yfcjinqhiykd269", 37 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.142-hardened1/linux-hardened-5.15.142-hardened1.patch" 38 38 }, 39 - "sha256": "1xxjbxldrhmnh2q6rykpxyfbj8xqgl82q30n8sfavrzr14bb4jcp", 40 - "version": "5.15.137" 39 + "sha256": "0xjn16b02f8d6c0m8vrbmk85kdyfy8m46s80rnkb0nnwfx9cjxld", 40 + "version": "5.15.142" 41 41 }, 42 42 "5.4": { 43 43 "patch": { 44 44 "extra": "-hardened1", 45 - "name": "linux-hardened-5.4.259-hardened1.patch", 46 - "sha256": "1w8ipflgisd127gmx6wyz8p5qfi8cfd2a5j2xgibspkf45nzfwi8", 47 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.259-hardened1/linux-hardened-5.4.259-hardened1.patch" 45 + "name": "linux-hardened-5.4.263-hardened1.patch", 46 + "sha256": "1v59qzjp9v78y7fkj884a77pjsk4ggplkfh1fq2blj04g7v1zhgv", 47 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.263-hardened1/linux-hardened-5.4.263-hardened1.patch" 48 48 }, 49 - "sha256": "195v4fidavzm637glj6580006mrcaygnbj4za874imb62bxf9rpz", 50 - "version": "5.4.259" 49 + "sha256": "1y1mfwjsilrx8x8jnjlyh8r9zlygjjqdf7pay92jv2qijjddpl2h", 50 + "version": "5.4.263" 51 51 }, 52 52 "6.1": { 53 53 "patch": { 54 54 "extra": "-hardened1", 55 - "name": "linux-hardened-6.1.61-hardened1.patch", 56 - "sha256": "0d9zhh32dx1q828q50kmznmsa6yinppbklhgg8ix7b7k23857ha6", 57 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.61-hardened1/linux-hardened-6.1.61-hardened1.patch" 55 + "name": "linux-hardened-6.1.67-hardened1.patch", 56 + "sha256": "0jcn2k79l90dys4nrwqha89jv9d1ffghhvlqk9vibfs7y3zrlpbr", 57 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.67-hardened1/linux-hardened-6.1.67-hardened1.patch" 58 58 }, 59 - "sha256": "1kk4d7ph6pvgdrdmaklg15wf58nw9n7yqgkag7jdvqinzh99sb5d", 60 - "version": "6.1.61" 59 + "sha256": "11cjqll3b7iq3mblwyzjrd5ph8avgk23f4mw4shm8j6ai5rdndvm", 60 + "version": "6.1.67" 61 61 }, 62 - "6.4": { 62 + "6.5": { 63 63 "patch": { 64 64 "extra": "-hardened1", 65 - "name": "linux-hardened-6.4.16-hardened1.patch", 66 - "sha256": "10lydnnhhq9ynng1gfaqh1mncsb0dmr27zzcbygs1xigy2bl70n9", 67 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.16-hardened1/linux-hardened-6.4.16-hardened1.patch" 65 + "name": "linux-hardened-6.5.13-hardened1.patch", 66 + "sha256": "1fj6yaq2gdjlj2h19vkm13jrx0yiczj6pvric1kq1r6cprqrkkki", 67 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.5.13-hardened1/linux-hardened-6.5.13-hardened1.patch" 68 68 }, 69 - "sha256": "0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln", 70 - "version": "6.4.16" 69 + "sha256": "1dfbbydmayfj9npx3z0g38p574pmcx3qgs49dv0npigl48wd9yvq", 70 + "version": "6.5.13" 71 71 }, 72 - "6.5": { 72 + "6.6": { 73 73 "patch": { 74 74 "extra": "-hardened1", 75 - "name": "linux-hardened-6.5.10-hardened1.patch", 76 - "sha256": "0p2lj7ryiizr1sxvm2kgds3l8sg9fns35y2fcyqq61lg7ymzj1fi", 77 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.5.10-hardened1/linux-hardened-6.5.10-hardened1.patch" 75 + "name": "linux-hardened-6.6.6-hardened1.patch", 76 + "sha256": "0jhhixayka13rb0cd0qbsqpb7awayjdbn8qyx7wya1y83cgyn2ly", 77 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.6.6-hardened1/linux-hardened-6.6.6-hardened1.patch" 78 78 }, 79 - "sha256": "12sswml8jvabv6bqx35lg3jj6gq8jjk365rghjngdy5d0j34jpx1", 80 - "version": "6.5.10" 79 + "sha256": "1j14n8b012pv3r7i9p762jyabzn2nv1ranxyw5lk3c9lg68hmxzb", 80 + "version": "6.6.6" 81 81 } 82 82 }
+4 -4
pkgs/os-specific/linux/kernel/zen-kernels.nix
··· 4 4 # comments with variant added for update script 5 5 # ./update-zen.py zen 6 6 zenVariant = { 7 - version = "6.6.4"; #zen 7 + version = "6.6.6"; #zen 8 8 suffix = "zen1"; #zen 9 - sha256 = "1zks4fpbw788aaw9rysdpfhmqzr8l5y6afq92md1gizyyl1rjhq1"; #zen 9 + sha256 = "13lxj1841mykfmbd8pwshr8jjxpxw1d8dyzkzq4ks6nviivnqfsn"; #zen 10 10 isLqx = false; 11 11 }; 12 12 # ./update-zen.py lqx 13 13 lqxVariant = { 14 - version = "6.6.4"; #lqx 14 + version = "6.6.6"; #lqx 15 15 suffix = "lqx1"; #lqx 16 - sha256 = "049pga9bc5pbnwki5vmnz9pdx0p5r7sssb66b4580h9x9skzi9m2"; #lqx 16 + sha256 = "0p3ilsikd0v2k6d40n5s3smipww817yw2y47ayi1xj8m44rlp8gg"; #lqx 17 17 isLqx = true; 18 18 }; 19 19 zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
+2 -6
pkgs/os-specific/linux/nix-ld/default.nix
··· 5 5 , ninja 6 6 , nixosTests 7 7 }: 8 - let 9 - libDir = if builtins.elem stdenv.system [ "x86_64-linux" "mips64-linux" "powerpc64le-linux" ] 10 - then "/lib64" 11 - else "/lib"; 12 - in 8 + 13 9 stdenv.mkDerivation rec { 14 10 pname = "nix-ld"; 15 11 version = "1.2.2"; ··· 36 32 postInstall = '' 37 33 mkdir -p $out/nix-support 38 34 39 - ldpath=${libDir}/$(basename $(< ${stdenv.cc}/nix-support/dynamic-linker)) 35 + ldpath=/${stdenv.hostPlatform.libDir}/$(basename $(< ${stdenv.cc}/nix-support/dynamic-linker)) 40 36 echo "$ldpath" > $out/nix-support/ldpath 41 37 mkdir -p $out/lib/tmpfiles.d/ 42 38 cat > $out/lib/tmpfiles.d/nix-ld.conf <<EOF
+1 -1
pkgs/servers/home-assistant/component-packages.nix
··· 2 2 # Do not edit! 3 3 4 4 { 5 - version = "2023.12.1"; 5 + version = "2023.12.2"; 6 6 components = { 7 7 "3_day_blinds" = ps: with ps; [ 8 8 ];
+3 -3
pkgs/servers/home-assistant/default.nix
··· 311 311 extraBuildInputs = extraPackages python.pkgs; 312 312 313 313 # Don't forget to run parse-requirements.py after updating 314 - hassVersion = "2023.12.1"; 314 + hassVersion = "2023.12.2"; 315 315 316 316 in python.pkgs.buildPythonApplication rec { 317 317 pname = "homeassistant"; ··· 329 329 owner = "home-assistant"; 330 330 repo = "core"; 331 331 rev = "refs/tags/${version}"; 332 - hash = "sha256-S9o1xhhqiSRan1BXnN0AndFPfLL0KqqH42WKOi3Yl+g="; 332 + hash = "sha256-uP4aX8Fo4GopvzpZGKFw99rXxudEgsKfhdeMHhXv47s="; 333 333 }; 334 334 335 335 # Secondary source is pypi sdist for translations 336 336 sdist = fetchPypi { 337 337 inherit pname version; 338 - hash = "sha256-e9OtUsluYlNBVmQ8u71dF0Q+wDdV8mvmYFdN8syl5rI="; 338 + hash = "sha256-1KMTn/iuey/Cug1gq4+54J+ZJTqcU+sW5Zw5tS+DwcQ="; 339 339 }; 340 340 341 341 nativeBuildInputs = with python.pkgs; [
+3 -3
pkgs/servers/monitoring/buildkite-agent-metrics/default.nix
··· 4 4 }: 5 5 buildGoModule rec { 6 6 pname = "buildkite-agent-metrics"; 7 - version = "5.8.0"; 7 + version = "5.9.2"; 8 8 9 9 outputs = [ "out" "lambda" ]; 10 10 ··· 12 12 owner = "buildkite"; 13 13 repo = "buildkite-agent-metrics"; 14 14 rev = "v${version}"; 15 - hash = "sha256-QPtjKjUGKlqgklZ0wUOJ1lXuXHhWVC83cEJ4QVtgdl4="; 15 + hash = "sha256-JYpsQUIKTlQz1VUmPfTzvgh++0p3NAoa105mvGoqgt8="; 16 16 }; 17 17 18 - vendorHash = "sha256-KgTzaF8dFD4VwcuSqmOy2CSfLuA0rjFwtCqGNYHFFlc="; 18 + vendorHash = "sha256-2EbZLLaddR7oWXb9H9E35foevp6gMbWfoymDf2lQuto="; 19 19 20 20 postInstall = '' 21 21 mkdir -p $lambda/bin
+5 -13
pkgs/servers/monitoring/prometheus/xmpp-alerts.nix
··· 9 9 10 10 python3Packages.buildPythonApplication rec { 11 11 pname = "prometheus-xmpp-alerts"; 12 - version = "0.5.6"; 12 + version = "0.5.8"; 13 + format = "pyproject"; 13 14 14 15 src = fetchFromGitHub { 15 16 owner = "jelmer"; 16 17 repo = pname; 17 18 rev = "v${version}"; 18 - sha256 = "sha256-PwShGS1rbfZCK5OS6Cnn+mduOpWAD4fC69mcGB5GB1c="; 19 + sha256 = "sha256-iwqcowwJktZQfdxykpsw/MweAPY0KF7ojVwvk1LP8a4="; 19 20 }; 20 21 21 - patches = [ 22 - # Required until https://github.com/jelmer/prometheus-xmpp-alerts/pull/33 is merged 23 - # and contained in a release 24 - (fetchpatch { 25 - name = "Fix-outdated-entrypoint-definiton.patch"; 26 - url = "https://github.com/jelmer/prometheus-xmpp-alerts/commit/c41dd41dbd3c781b874bcf0708f6976e6252b621.patch"; 27 - hash = "sha256-G7fRLSXbkI5EDgGf4n9xSVs54IPD0ev8rTEFffRvLY0="; 28 - }) 29 - ]; 30 - 31 22 postPatch = '' 32 - substituteInPlace setup.cfg \ 23 + substituteInPlace pyproject.toml \ 33 24 --replace "bs4" "beautifulsoup4" 34 25 ''; 35 26 ··· 46 37 ]); 47 38 48 39 nativeCheckInputs = with python3Packages; [ 40 + setuptools 49 41 unittestCheckHook 50 42 pytz 51 43 ];
+2 -4
pkgs/servers/zigbee2mqtt/default.nix
··· 1 1 { lib 2 2 , buildNpmPackage 3 3 , fetchFromGitHub 4 - , python3 4 + , nodejs_18 5 5 , nixosTests 6 6 , nix-update-script 7 7 }: ··· 19 19 20 20 npmDepsHash = "sha256-MXTKZNERxryt7L42dHxKx7XfXByNQ67oU+4FKTd0u4U="; 21 21 22 - nativeBuildInputs = [ 23 - python3 24 - ]; 22 + nodejs = nodejs_18; 25 23 26 24 passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt; 27 25 passthru.updateScript = nix-update-script { };
+6 -1
pkgs/stdenv/darwin/make-bootstrap-tools.nix
··· 32 32 in with import pkgspath ({ inherit localSystem overlays; } // cross // custom-bootstrap); 33 33 34 34 rec { 35 - coreutils_ = coreutils.override (args: { 35 + coreutils_ = (coreutils.override (args: { 36 36 # We want coreutils without ACL support. 37 37 aclSupport = false; 38 38 # Cannot use a single binary build, or it gets dynamically linked against gmp. 39 39 singleBinary = false; 40 + })).overrideAttrs (oa: { 41 + # Increase header size to be able to inject extra RPATHs. Otherwise 42 + # x86_64-darwin build fails as: 43 + # https://cache.nixos.org/log/g5wyq9xqshan6m3kl21bjn1z88hx48rh-stdenv-bootstrap-tools.drv 44 + NIX_LDFLAGS = (oa.NIX_LDFLAGS or "") + " -headerpad_max_install_names"; 40 45 }); 41 46 42 47 cctools_ = darwin.cctools;
+3 -3
pkgs/tools/admin/cf-vault/default.nix
··· 1 1 {buildGoModule, fetchFromGitHub, lib}: 2 2 buildGoModule rec { 3 3 pname = "cf-vault"; 4 - version = "0.0.16"; 4 + version = "0.0.17"; 5 5 6 6 src = fetchFromGitHub { 7 7 owner = "jacobbednarz"; 8 8 repo = pname; 9 9 rev = version; 10 - sha256 = "sha256-puuP7L8KJ3MvlWz5tOeov8HZad+Lvo64DqTbaKPfg6o="; 10 + sha256 = "sha256-wSTbg+dQrTbfL4M4XdwZXS04mjIFtD0RY1vK0CUHkso="; 11 11 }; 12 12 13 - vendorHash = "sha256-cnv3vustgougdfU9RlyP4O3e7kx9nNzzJm1Q2d+sCDo="; 13 + vendorHash = "sha256-b9Ni4H2sk2gU+0zLOBg0P4ssqSJYTHnAvnmMHXha5us="; 14 14 15 15 meta = with lib; { 16 16 description = ''
+2 -2
pkgs/tools/backup/borgbackup/default.nix
··· 16 16 17 17 python3Packages.buildPythonApplication rec { 18 18 pname = "borgbackup"; 19 - version = "1.2.6"; 19 + version = "1.2.7"; 20 20 format = "pyproject"; 21 21 22 22 src = fetchPypi { 23 23 inherit pname version; 24 - hash = "sha256-t6b48IYDnu7HkHC5FPPGUe1/NhLJZTdK+RDSd8eiE50="; 24 + hash = "sha256-9j8oozg8BBlxzsh7BhyjmoFbX9RF2ySqgXLKxBfZQRo="; 25 25 }; 26 26 27 27 postPatch = ''
+2 -2
pkgs/tools/security/exploitdb/default.nix
··· 6 6 7 7 stdenv.mkDerivation rec { 8 8 pname = "exploitdb"; 9 - version = "2023-12-12"; 9 + version = "2023-12-13"; 10 10 11 11 src = fetchFromGitLab { 12 12 owner = "exploit-database"; 13 13 repo = pname; 14 14 rev = "refs/tags/${version}"; 15 - hash = "sha256-OHx9UV5IhNt9/jKUKAzAUILdjxpQgOe5BQdXz3k38RE="; 15 + hash = "sha256-DnGHtEF31MN82IrCPcH5HlRdcu6A5XACkOTT3ytzrig="; 16 16 }; 17 17 18 18 nativeBuildInputs = [
+2 -10
pkgs/tools/security/opensc/default.nix
··· 8 8 9 9 stdenv.mkDerivation rec { 10 10 pname = "opensc"; 11 - version = "0.23.0"; 11 + version = "0.24.0"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "OpenSC"; 15 15 repo = "OpenSC"; 16 16 rev = version; 17 - sha256 = "sha256-Yo8dwk7+d6q+hi7DmJ0GJM6/pmiDOiyEm/tEBSbCU8k="; 17 + sha256 = "sha256-1mm0b4AAtX0AgjShpU1FR6e7pUkea5TOJdIGkNQgjuE="; 18 18 }; 19 - 20 - patches = [ 21 - (fetchpatch { 22 - name = "CVE-2023-2977.patch"; 23 - url = "https://github.com/OpenSC/OpenSC/commit/81944d1529202bd28359bede57c0a15deb65ba8a.patch"; 24 - hash = "sha256-rCeYYKPtv3pii5zgDP5x9Kl2r98p3uxyBSCYlPJZR/s="; 25 - }) 26 - ]; 27 19 28 20 nativeBuildInputs = [ pkg-config autoreconfHook ]; 29 21 buildInputs = [
+2 -2
pkgs/tools/security/vault/default.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "vault"; 9 - version = "1.14.7"; 9 + version = "1.14.8"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "hashicorp"; 13 13 repo = "vault"; 14 14 rev = "v${version}"; 15 - sha256 = "sha256-ubMHvKV5OOmQOrjm2J56/XCxsj+qDBPOKgS6hF75g28="; 15 + sha256 = "sha256-sGCODCBgsxyr96zu9ntPmMM/gHVBBO+oo5+XsdbCK4E="; 16 16 }; 17 17 18 18 vendorHash = "sha256-zpHjZjgCgf4b2FAJQ22eVgq0YGoVvxGYJ3h/3ZRiyrQ=";
+6 -6
pkgs/tools/security/vault/vault-bin.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "vault-bin"; 5 - version = "1.15.3"; 5 + version = "1.15.4"; 6 6 7 7 src = 8 8 let ··· 16 16 aarch64-darwin = "darwin_arm64"; 17 17 }; 18 18 sha256 = selectSystem { 19 - x86_64-linux = "sha256-rRXpRxuslOvvNgK6W0BG/LWs2sAGGCuSxcbVbsmrtN0="; 20 - aarch64-linux = "sha256-vD/S+aZGa+JFRBV9WML9WbhrFpB8FynM62ZJ0zkWtDU="; 21 - i686-linux = "sha256-Y9KpL0kZxlgfkBSyXJVSND2hSJ1y+FuXKPK0/P2YX2w="; 22 - x86_64-darwin = "sha256-i85GQSJK7dPoLP7XBrz7CiISCG8KbGylL++ecy/CXRY="; 23 - aarch64-darwin = "sha256-eZAuUNbigJ/kye8p3yu+Qf+p47IkxKJntR2sGFpM+j8="; 19 + x86_64-linux = "sha256-E1tNqPkaZVnJXtV+ENt2Ajpdq0AYMPZSFMLAFiSxknY="; 20 + aarch64-linux = "sha256-p+pYU4WenDHZmQQQFTm2ttHjxL+63NWy8G+cbAZLJEI="; 21 + i686-linux = "sha256-FoClSgz/QAD7uktFcYmKsCXnS8kIm8a7BLd2N29Z/fE="; 22 + x86_64-darwin = "sha256-Lykhs/tTFDBqk8SJ26k712oMUAhXlmBeNNi3Ve/M1B4="; 23 + aarch64-darwin = "sha256-r9OamlIgFUGgIFX1baQCdBsDGmPwZoTVu+Zab99KnhM="; 24 24 }; 25 25 in 26 26 fetchzip {
+22 -12
pkgs/top-level/all-packages.nix
··· 7947 7947 easeprobe = callPackage ../tools/misc/easeprobe { }; 7948 7948 7949 7949 emscripten = callPackage ../development/compilers/emscripten { 7950 - llvmPackages = llvmPackages_16; 7950 + llvmPackages = llvmPackages_17; 7951 7951 }; 7952 7952 7953 7953 emscriptenPackages = recurseIntoAttrs (callPackage ./emscripten-packages.nix { }); ··· 28198 28198 linux_6_1_hardened = linuxKernel.kernels.linux_6_1_hardened; 28199 28199 linuxPackages_6_5_hardened = linuxKernel.packages.linux_6_5_hardened; 28200 28200 linux_6_5_hardened = linuxKernel.kernels.linux_6_5_hardened; 28201 + linuxPackages_6_6_hardened = linuxKernel.packages.linux_6_6_hardened; 28202 + linux_6_6_hardened = linuxKernel.kernels.linux_6_6_hardened; 28201 28203 28202 28204 # GNU Linux-libre kernels 28203 28205 linuxPackages-libre = linuxKernel.packages.linux_libre; ··· 29767 29769 29768 29770 nordzy-icon-theme = callPackage ../data/icons/nordzy-icon-theme { }; 29769 29771 29770 - inherit (callPackages ../data/fonts/noto-fonts {}) 29771 - mkNoto 29772 - noto-fonts 29773 - noto-fonts-lgc-plus 29774 - noto-fonts-cjk-sans 29775 - noto-fonts-cjk-serif 29776 - noto-fonts-color-emoji 29777 - noto-fonts-emoji-blob-bin 29778 - noto-fonts-monochrome-emoji 29779 - ; 29772 + noto-fonts-lgc-plus = callPackage ../by-name/no/noto-fonts/package.nix { 29773 + suffix = "-lgc-plus"; 29774 + variants = [ 29775 + "Noto Sans" 29776 + "Noto Serif" 29777 + "Noto Sans Mono" 29778 + "Noto Music" 29779 + "Noto Sans Symbols" 29780 + "Noto Sans Symbols 2" 29781 + "Noto Sans Math" 29782 + ]; 29783 + longDescription = '' 29784 + This package provides the Noto Fonts, but only for latin, greek 29785 + and cyrillic scripts, as well as some extra fonts. 29786 + ''; 29787 + }; 29780 29788 29781 29789 nuclear = callPackage ../applications/audio/nuclear { }; 29782 29790 ··· 36987 36995 36988 36996 zotero = callPackage ../applications/office/zotero { }; 36989 36997 36998 + zotero_7 = callPackage ../applications/office/zotero/zotero_7.nix { }; 36999 + 36990 37000 zscroll = callPackage ../applications/misc/zscroll { }; 36991 37001 36992 37002 zsteg = callPackage ../tools/security/zsteg { }; ··· 41396 41406 41397 41407 wacomtablet = libsForQt5.callPackage ../tools/misc/wacomtablet { }; 41398 41408 41399 - wamr = callPackage ../development/interpreters/wamr { }; 41409 + wamr = darwin.apple_sdk_11_0.callPackage ../development/interpreters/wamr { }; 41400 41410 41401 41411 wasmer = callPackage ../development/interpreters/wasmer { 41402 41412 llvmPackages = llvmPackages_14;
+2
pkgs/top-level/linux-kernels.nix
··· 255 255 linux_5_15_hardened = hardenedKernelFor kernels.linux_5_15 { }; 256 256 linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { }; 257 257 linux_6_5_hardened = hardenedKernelFor kernels.linux_6_5 { }; 258 + linux_6_6_hardened = hardenedKernelFor kernels.linux_6_6 { }; 258 259 259 260 } // lib.optionalAttrs config.allowAliases { 260 261 linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; ··· 627 628 linux_5_15_hardened = recurseIntoAttrs (packagesFor kernels.linux_5_15_hardened); 628 629 linux_6_1_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_1_hardened); 629 630 linux_6_5_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_5_hardened); 631 + linux_6_6_hardened = recurseIntoAttrs (packagesFor kernels.linux_6_6_hardened); 630 632 631 633 linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen); 632 634 linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx);
+1 -1
pkgs/top-level/python-packages.nix
··· 8374 8374 inherit (pkgs) notmuch; 8375 8375 }; 8376 8376 8377 - nototools = callPackage ../data/fonts/noto-fonts/tools.nix { }; 8377 + nototools = callPackage ../development/python-modules/nototools { }; 8378 8378 8379 8379 notus-scanner = callPackage ../development/python-modules/notus-scanner { }; 8380 8380