lol

Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
0e6413db ab2ecc25

+1080 -686
+228
maintainers/scripts/sha-to-sri.py
··· 1 + #!/usr/bin/env nix-shell 2 + #! nix-shell -i "python3 -I" -p "python3.withPackages(p: with p; [ rich structlog ])" 3 + 4 + from abc import ABC, abstractclassmethod, abstractmethod 5 + from contextlib import contextmanager 6 + from pathlib import Path 7 + from structlog.contextvars import bound_contextvars as log_context 8 + from typing import ClassVar, List, Tuple 9 + 10 + import hashlib, re, structlog 11 + 12 + 13 + logger = structlog.getLogger("sha-to-SRI") 14 + 15 + 16 + class Encoding(ABC): 17 + alphabet: ClassVar[str] 18 + 19 + @classmethod 20 + @property 21 + def name(cls) -> str: 22 + return cls.__name__.lower() 23 + 24 + def toSRI(self, s: str) -> str: 25 + digest = self.decode(s) 26 + assert len(digest) == self.n 27 + 28 + from base64 import b64encode 29 + return f"{self.hashName}-{b64encode(digest).decode()}" 30 + 31 + @classmethod 32 + def all(cls, h) -> 'List[Encoding]': 33 + return [ c(h) for c in cls.__subclasses__() ] 34 + 35 + def __init__(self, h): 36 + self.n = h.digest_size 37 + self.hashName = h.name 38 + 39 + @property 40 + @abstractmethod 41 + def length(self) -> int: 42 + ... 43 + 44 + @property 45 + def regex(self) -> str: 46 + return f"[{self.alphabet}]{{{self.length}}}" 47 + 48 + @abstractmethod 49 + def decode(self, s: str) -> bytes: 50 + ... 51 + 52 + 53 + class Nix32(Encoding): 54 + alphabet = "0123456789abcdfghijklmnpqrsvwxyz" 55 + inverted = { c: i for i, c in enumerate(alphabet) } 56 + 57 + @property 58 + def length(self): 59 + return 1 + (8 * self.n) // 5 60 + def decode(self, s: str): 61 + assert len(s) == self.length 62 + out = [ 0 for _ in range(self.n) ] 63 + # TODO: Do better than a list of byte-sized ints 64 + 65 + for n, c in enumerate(reversed(s)): 66 + digit = self.inverted[c] 67 + i, j = divmod(5 * n, 8) 68 + out[i] = out[i] | (digit << j) & 0xff 69 + rem = digit >> (8 - j) 70 + if rem == 0: 71 + continue 72 + elif i < self.n: 73 + out[i+1] = rem 74 + else: 75 + raise ValueError(f"Invalid nix32 hash: '{s}'") 76 + 77 + return bytes(out) 78 + 79 + class Hex(Encoding): 80 + alphabet = "0-9A-Fa-f" 81 + 82 + @property 83 + def length(self): 84 + return 2 * self.n 85 + def decode(self, s: str): 86 + from binascii import unhexlify 87 + return unhexlify(s) 88 + 89 + class Base64(Encoding): 90 + alphabet = "A-Za-z0-9+/" 91 + 92 + @property 93 + def format(self) -> Tuple[int, int]: 94 + """Number of characters in data and padding.""" 95 + i, k = divmod(self.n, 3) 96 + return 4 * i + (0 if k == 0 else k + 1), (3 - k) % 3 97 + @property 98 + def length(self): 99 + return sum(self.format) 100 + @property 101 + def regex(self): 102 + data, padding = self.format 103 + return f"[{self.alphabet}]{{{data}}}={{{padding}}}" 104 + def decode(self, s): 105 + from base64 import b64decode 106 + return b64decode(s, validate = True) 107 + 108 + 109 + _HASHES = (hashlib.new(n) for n in ('SHA-256', 'SHA-512')) 110 + ENCODINGS = { 111 + h.name: Encoding.all(h) 112 + for h in _HASHES 113 + } 114 + 115 + RE = { 116 + h: "|".join( 117 + (f"({h}-)?" if e.name == 'base64' else '') + 118 + f"(?P<{h}_{e.name}>{e.regex})" 119 + for e in encodings 120 + ) for h, encodings in ENCODINGS.items() 121 + } 122 + 123 + _DEF_RE = re.compile("|".join( 124 + f"(?P<{h}>{h} = (?P<{h}_quote>['\"])({re})(?P={h}_quote);)" 125 + for h, re in RE.items() 126 + )) 127 + 128 + 129 + def defToSRI(s: str) -> str: 130 + def f(m: re.Match[str]) -> str: 131 + try: 132 + for h, encodings in ENCODINGS.items(): 133 + if m.group(h) is None: 134 + continue 135 + 136 + for e in encodings: 137 + s = m.group(f"{h}_{e.name}") 138 + if s is not None: 139 + return f'hash = "{e.toSRI(s)}";' 140 + 141 + raise ValueError(f"Match with '{h}' but no subgroup") 142 + raise ValueError("Match with no hash") 143 + 144 + except ValueError as exn: 145 + logger.error( 146 + "Skipping", 147 + exc_info = exn, 148 + ) 149 + return m.group() 150 + 151 + return _DEF_RE.sub(f, s) 152 + 153 + 154 + @contextmanager 155 + def atomicFileUpdate(target: Path): 156 + '''Atomically replace the contents of a file. 157 + 158 + Guarantees that no temporary files are left behind, and `target` is either 159 + left untouched, or overwritten with new content if no exception was raised. 160 + 161 + Yields a pair `(original, new)` of open files. 162 + `original` is the pre-existing file at `target`, open for reading; 163 + `new` is an empty, temporary file in the same filder, open for writing. 164 + 165 + Upon exiting the context, the files are closed; if no exception was 166 + raised, `new` (atomically) replaces the `target`, otherwise it is deleted. 167 + ''' 168 + # That's mostly copied from noto-emoji.py, should DRY it out 169 + from tempfile import mkstemp 170 + fd, _p = mkstemp( 171 + dir = target.parent, 172 + prefix = target.name, 173 + ) 174 + tmpPath = Path(_p) 175 + 176 + try: 177 + with target.open() as original: 178 + with tmpPath.open('w') as new: 179 + yield (original, new) 180 + 181 + tmpPath.replace(target) 182 + 183 + except Exception: 184 + tmpPath.unlink(missing_ok = True) 185 + raise 186 + 187 + 188 + def fileToSRI(p: Path): 189 + with atomicFileUpdate(p) as (og, new): 190 + for i, line in enumerate(og): 191 + with log_context(line=i): 192 + new.write(defToSRI(line)) 193 + 194 + 195 + _SKIP_RE = re.compile( 196 + "(generated by)|(do not edit)", 197 + re.IGNORECASE 198 + ) 199 + 200 + if __name__ == "__main__": 201 + from sys import argv, stderr 202 + logger.info("Starting!") 203 + 204 + for arg in argv[1:]: 205 + p = Path(arg) 206 + with log_context(path=str(p)): 207 + try: 208 + if p.name == "yarn.nix" or p.name.find("generated") != -1: 209 + logger.warning("File looks autogenerated, skipping!") 210 + continue 211 + 212 + with p.open() as f: 213 + for line in f: 214 + if line.strip(): 215 + break 216 + 217 + if _SKIP_RE.search(line): 218 + logger.warning("File looks autogenerated, skipping!") 219 + continue 220 + 221 + fileToSRI(p) 222 + except Exception as exn: 223 + logger.error( 224 + "Unhandled exception, skipping file!", 225 + exc_info = exn, 226 + ) 227 + else: 228 + logger.info("Finished processing file")
-149
maintainers/scripts/sha256-to-SRI.py
··· 1 - #!/usr/bin/env nix-shell 2 - #! nix-shell -i "python3 -I" -p "python3.withPackages(p: with p; [ rich structlog ])" 3 - 4 - from contextlib import contextmanager 5 - from pathlib import Path 6 - from structlog.contextvars import bound_contextvars as log_context 7 - 8 - import re, structlog 9 - 10 - 11 - logger = structlog.getLogger("sha256-to-SRI") 12 - 13 - 14 - nix32alphabet = "0123456789abcdfghijklmnpqrsvwxyz" 15 - nix32inverted = { c: i for i, c in enumerate(nix32alphabet) } 16 - 17 - def nix32decode(s: str) -> bytes: 18 - # only support sha256 hashes for now 19 - assert len(s) == 52 20 - out = [ 0 for _ in range(32) ] 21 - # TODO: Do better than a list of byte-sized ints 22 - 23 - for n, c in enumerate(reversed(s)): 24 - digit = nix32inverted[c] 25 - i, j = divmod(5 * n, 8) 26 - out[i] = out[i] | (digit << j) & 0xff 27 - rem = digit >> (8 - j) 28 - if rem == 0: 29 - continue 30 - elif i < 31: 31 - out[i+1] = rem 32 - else: 33 - raise ValueError(f"Invalid nix32 hash: '{s}'") 34 - 35 - return bytes(out) 36 - 37 - 38 - def toSRI(digest: bytes) -> str: 39 - from base64 import b64encode 40 - assert len(digest) == 32 41 - return f"sha256-{b64encode(digest).decode()}" 42 - 43 - 44 - RE = { 45 - 'nix32': f"[{nix32alphabet}]" "{52}", 46 - 'hex': "[0-9A-Fa-f]{64}", 47 - 'base64': "[A-Za-z0-9+/]{43}=", 48 - } 49 - RE['sha256'] = '|'.join( 50 - f"{'(sha256-)?' if name == 'base64' else ''}" 51 - f"(?P<{name}>{r})" 52 - for name, r in RE.items() 53 - ) 54 - 55 - def sha256toSRI(m: re.Match) -> str: 56 - """Produce the equivalent SRI string for any match of RE['sha256']""" 57 - if m['nix32'] is not None: 58 - return toSRI(nix32decode(m['nix32'])) 59 - if m['hex'] is not None: 60 - from binascii import unhexlify 61 - return toSRI(unhexlify(m['hex'])) 62 - if m['base64'] is not None: 63 - from base64 import b64decode 64 - return toSRI(b64decode(m['base64'])) 65 - 66 - raise ValueError("Got a match where none of the groups captured") 67 - 68 - 69 - # Ohno I used evil, irregular backrefs instead of making 2 variants ^^' 70 - _def_re = re.compile( 71 - "sha256 = (?P<quote>[\"'])" 72 - f"({RE['sha256']})" 73 - "(?P=quote);" 74 - ) 75 - 76 - def defToSRI(s: str) -> str: 77 - def f(m: re.Match[str]) -> str: 78 - try: 79 - return f'hash = "{sha256toSRI(m)}";' 80 - 81 - except ValueError as exn: 82 - begin, end = m.span() 83 - match = m.string[begin:end] 84 - 85 - logger.error( 86 - "Skipping", 87 - exc_info = exn, 88 - ) 89 - return match 90 - 91 - return _def_re.sub(f, s) 92 - 93 - 94 - @contextmanager 95 - def atomicFileUpdate(target: Path): 96 - '''Atomically replace the contents of a file. 97 - 98 - Guarantees that no temporary files are left behind, and `target` is either 99 - left untouched, or overwritten with new content if no exception was raised. 100 - 101 - Yields a pair `(original, new)` of open files. 102 - `original` is the pre-existing file at `target`, open for reading; 103 - `new` is an empty, temporary file in the same filder, open for writing. 104 - 105 - Upon exiting the context, the files are closed; if no exception was 106 - raised, `new` (atomically) replaces the `target`, otherwise it is deleted. 107 - ''' 108 - # That's mostly copied from noto-emoji.py, should DRY it out 109 - from tempfile import mkstemp 110 - fd, _p = mkstemp( 111 - dir = target.parent, 112 - prefix = target.name, 113 - ) 114 - tmpPath = Path(_p) 115 - 116 - try: 117 - with target.open() as original: 118 - with tmpPath.open('w') as new: 119 - yield (original, new) 120 - 121 - tmpPath.replace(target) 122 - 123 - except Exception: 124 - tmpPath.unlink(missing_ok = True) 125 - raise 126 - 127 - 128 - def fileToSRI(p: Path): 129 - with atomicFileUpdate(p) as (og, new): 130 - for i, line in enumerate(og): 131 - with log_context(line=i): 132 - new.write(defToSRI(line)) 133 - 134 - 135 - if __name__ == "__main__": 136 - from sys import argv, stderr 137 - 138 - for arg in argv[1:]: 139 - p = Path(arg) 140 - with log_context(path=str(p)): 141 - try: 142 - fileToSRI(p) 143 - except Exception as exn: 144 - logger.error( 145 - "Unhandled exception, skipping file!", 146 - exc_info = exn, 147 - ) 148 - else: 149 - logger.info("Finished processing file")
+4
nixos/doc/manual/release-notes/rl-2311.section.md
··· 103 103 104 104 - `pass` now does not contain `password-store.el`. Users should get `password-store.el` from Emacs lisp package set `emacs.pkgs.password-store`. 105 105 106 + - `services.knot` now supports `.settings` from RFC42. The change is not 100% compatible with the previous `.extraConfig`. 107 + 106 108 - `mu` now does not install `mu4e` files by default. Users should get `mu4e` from Emacs lisp package set `emacs.pkgs.mu4e`. 107 109 108 110 - `mariadb` now defaults to `mariadb_1011` instead of `mariadb_106`, meaning the default version was upgraded from 10.6.x to 10.11.x. See the [upgrade notes](https://mariadb.com/kb/en/upgrading-from-mariadb-10-6-to-mariadb-10-11/) for potential issues. ··· 224 226 `mkOrder n` with n ≤ 400. 225 227 226 228 - `networking.networkmanager.firewallBackend` was removed as NixOS is now using iptables-nftables-compat even when using iptables, therefore Networkmanager now uses the nftables backend unconditionally. 229 + 230 + - `rome` was removed because it is no longer maintained and is succeeded by `biome`. 227 231 228 232 ## Other Notable Changes {#sec-release-23.11-notable-changes} 229 233
+24
nixos/maintainers/scripts/oci/create-image.sh
··· 1 + #! /usr/bin/env bash 2 + 3 + set -euo pipefail 4 + 5 + export NIX_PATH=nixpkgs=$(dirname $(readlink -f $0))/../../../.. 6 + export NIXOS_CONFIG=$(dirname $(readlink -f $0))/../../../modules/virtualisation/oci-image.nix 7 + 8 + if (( $# < 1 )); then 9 + ( 10 + echo "Usage: create-image.sh <architecture>" 11 + echo 12 + echo "Where <architecture> is one of:" 13 + echo " x86_64-linux" 14 + echo " aarch64-linux" 15 + ) >&2 16 + fi 17 + 18 + system="$1"; shift 19 + 20 + nix-build '<nixpkgs/nixos>' \ 21 + -A config.system.build.OCIImage \ 22 + --argstr system "$system" \ 23 + --option system-features kvm \ 24 + -o oci-image
+100
nixos/maintainers/scripts/oci/upload-image.sh
··· 1 + #! /usr/bin/env bash 2 + 3 + set -euo pipefail 4 + 5 + script_dir="$(dirname $(readlink -f $0))" 6 + nixpkgs_root="$script_dir/../../../.." 7 + export NIX_PATH="nixpkgs=$nixpkgs_root" 8 + 9 + cat - <<EOF 10 + This script will locally build a NixOS image and upload it as a Custom Image 11 + using oci-cli. Make sure that an API key for the tenancy administrator has been 12 + added to '~/.oci'. 13 + For more info about configuring oci-cli, please visit 14 + https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm#Required_Keys_and_OCIDs 15 + 16 + EOF 17 + 18 + qcow="oci-image/nixos.qcow2" 19 + if [ ! -f "$qcow" ]; then 20 + echo "OCI image $qcow does not exist" 21 + echo "Building image with create-image.sh for 'x86_64-linux'" 22 + "$script_dir/create-image.sh" x86_64-linux 23 + [ -f "$qcow" ] || { echo "Build failed: image not present after build"; exit 1; } 24 + else 25 + echo "Using prebuilt image $qcow" 26 + fi 27 + 28 + cli="$( 29 + nix-build '<nixpkgs>' \ 30 + --no-out-link \ 31 + -A oci-cli 32 + )" 33 + 34 + PATH="$cli/bin:$PATH" 35 + bucket="_TEMP_NIXOS_IMAGES_$RANDOM" 36 + 37 + echo "Creating a temporary bucket" 38 + root_ocid="$( 39 + oci iam compartment list \ 40 + --all \ 41 + --compartment-id-in-subtree true \ 42 + --access-level ACCESSIBLE \ 43 + --include-root \ 44 + --raw-output \ 45 + --query "data[?contains(\"id\",'tenancy')].id | [0]" 46 + )" 47 + bucket_ocid=$( 48 + oci os bucket create \ 49 + -c "$root_ocid" \ 50 + --name "$bucket" \ 51 + --raw-output \ 52 + --query "data.id" 53 + ) 54 + # Clean up bucket on script termination 55 + trap 'echo Removing temporary bucket; oci os bucket delete --force --name "$bucket"' INT TERM EXIT 56 + 57 + echo "Uploading image to temporary bucket" 58 + oci os object put -bn "$bucket" --file "$qcow" 59 + 60 + echo "Importing image as a Custom Image" 61 + bucket_ns="$(oci os ns get --query "data" --raw-output)" 62 + image_id="$( 63 + oci compute image import from-object \ 64 + -c "$root_ocid" \ 65 + --namespace "$bucket_ns" \ 66 + --bucket-name "$bucket" \ 67 + --name nixos.qcow2 \ 68 + --operating-system NixOS \ 69 + --source-image-type QCOW2 \ 70 + --launch-mode PARAVIRTUALIZED \ 71 + --display-name NixOS \ 72 + --raw-output \ 73 + --query "data.id" 74 + )" 75 + 76 + cat - <<EOF 77 + Image created! Please mark all available shapes as compatible with this image by 78 + visiting the following link and by selecting the 'Edit Details' button on: 79 + https://cloud.oracle.com/compute/images/$image_id 80 + EOF 81 + 82 + # Workaround until https://github.com/oracle/oci-cli/issues/399 is addressed 83 + echo "Sleeping for 15 minutes before cleaning up files in the temporary bucket" 84 + sleep $((15 * 60)) 85 + 86 + echo "Deleting image from bucket" 87 + par_id="$( 88 + oci os preauth-request list \ 89 + --bucket-name "$bucket" \ 90 + --raw-output \ 91 + --query "data[0].id" 92 + )" 93 + 94 + if [[ -n $par_id ]]; then 95 + oci os preauth-request delete \ 96 + --bucket-name "$bucket" \ 97 + --par-id "$par_id" 98 + fi 99 + 100 + oci os object delete -bn "$bucket" --object-name nixos.qcow2 --force
+1
nixos/modules/module-list.nix
··· 1485 1485 ./virtualisation/nixos-containers.nix 1486 1486 ./virtualisation/oci-containers.nix 1487 1487 ./virtualisation/openstack-options.nix 1488 + ./virtualisation/oci-options.nix 1488 1489 ./virtualisation/openvswitch.nix 1489 1490 ./virtualisation/parallels-guest.nix 1490 1491 ./virtualisation/podman/default.nix
+125 -7
nixos/modules/services/networking/knot.nix
··· 5 5 let 6 6 cfg = config.services.knot; 7 7 8 - configFile = pkgs.writeTextFile { 8 + yamlConfig = let 9 + result = assert secsCheck; nix2yaml cfg.settings; 10 + 11 + secAllow = n: hasPrefix "mod-" n || elem n [ 12 + "module" 13 + "server" "xdp" "control" 14 + "log" 15 + "statistics" "database" 16 + "keystore" "key" "remote" "remotes" "acl" "submission" "policy" 17 + "template" 18 + "zone" 19 + "include" 20 + ]; 21 + secsCheck = let 22 + secsBad = filter (n: !secAllow n) (attrNames cfg.settings); 23 + in if secsBad == [] then true else throw 24 + ("services.knot.settings contains unknown sections: " + toString secsBad); 25 + 26 + nix2yaml = nix_def: concatStrings ( 27 + # We output the config section in the upstream-mandated order. 28 + # Ordering is important due to forward-references not being allowed. 29 + # See definition of conf_export and 'const yp_item_t conf_schema' 30 + # upstream for reference. Last updated for 3.3. 31 + # When changing the set of sections, also update secAllow above. 32 + [ (sec_list_fa "id" nix_def "module") ] 33 + ++ map (sec_plain nix_def) 34 + [ "server" "xdp" "control" ] 35 + ++ [ (sec_list_fa "target" nix_def "log") ] 36 + ++ map (sec_plain nix_def) 37 + [ "statistics" "database" ] 38 + ++ map (sec_list_fa "id" nix_def) 39 + [ "keystore" "key" "remote" "remotes" "acl" "submission" "policy" ] 40 + 41 + # Export module sections before the template section. 42 + ++ map (sec_list_fa "id" nix_def) (filter (hasPrefix "mod-") (attrNames nix_def)) 43 + 44 + ++ [ (sec_list_fa "id" nix_def "template") ] 45 + ++ [ (sec_list_fa "domain" nix_def "zone") ] 46 + ++ [ (sec_plain nix_def "include") ] 47 + ); 48 + 49 + # A plain section contains directly attributes (we don't really check that ATM). 50 + sec_plain = nix_def: sec_name: if !hasAttr sec_name nix_def then "" else 51 + n2y "" { ${sec_name} = nix_def.${sec_name}; }; 52 + 53 + # This section contains a list of attribute sets. In each of the sets 54 + # there's an attribute (`fa_name`, typically "id") that must exist and come first. 55 + # Alternatively we support using attribute sets instead of lists; example diff: 56 + # -template = [ { id = "default"; /* other attributes */ } { id = "foo"; } ] 57 + # +template = { default = { /* those attributes */ }; foo = { }; } 58 + sec_list_fa = fa_name: nix_def: sec_name: if !hasAttr sec_name nix_def then "" else 59 + let 60 + elem2yaml = fa_val: other_attrs: 61 + " - " + n2y "" { ${fa_name} = fa_val; } 62 + + " " + n2y " " other_attrs 63 + + "\n"; 64 + sec = nix_def.${sec_name}; 65 + in 66 + sec_name + ":\n" + 67 + (if isList sec 68 + then flip concatMapStrings sec 69 + (elem: elem2yaml elem.${fa_name} (removeAttrs elem [ fa_name ])) 70 + else concatStrings (mapAttrsToList elem2yaml sec) 71 + ); 72 + 73 + # This convertor doesn't care about ordering of attributes. 74 + # TODO: it could probably be simplified even more, now that it's not 75 + # to be used directly, but we might want some other tweaks, too. 76 + n2y = indent: val: 77 + if doRecurse val then concatStringsSep "\n${indent}" 78 + (mapAttrsToList 79 + # This is a bit wacky - set directly under a set would start on bad indent, 80 + # so we start those on a new line, but not other types of attribute values. 81 + (aname: aval: "${aname}:${if doRecurse aval then "\n${indent} " else " "}" 82 + + n2y (indent + " ") aval) 83 + val 84 + ) 85 + + "\n" 86 + else 87 + /* 88 + if isList val && stringLength indent < 4 then concatMapStrings 89 + (elem: "\n${indent}- " + n2y (indent + " ") elem) 90 + val 91 + else 92 + */ 93 + if isList val /* and long indent */ then 94 + "[ " + concatMapStringsSep ", " quoteString val + " ]" else 95 + if isBool val then (if val then "on" else "off") else 96 + quoteString val; 97 + 98 + # We don't want paths like ./my-zone.txt be converted to plain strings. 99 + quoteString = s: ''"${if builtins.typeOf s == "path" then s else toString s}"''; 100 + # We don't want to walk the insides of derivation attributes. 101 + doRecurse = val: isAttrs val && !isDerivation val; 102 + 103 + in result; 104 + 105 + configFile = if cfg.settingsFile != null then 106 + assert cfg.settings == {} && cfg.keyFiles == []; 107 + cfg.settingsFile 108 + else pkgs.writeTextFile { 9 109 name = "knot.conf"; 10 - text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + 11 - cfg.extraConfig; 110 + text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + yamlConfig; 111 + # TODO: maybe we could do some checks even when private keys complicate this? 12 112 checkPhase = lib.optionalString (cfg.keyFiles == []) '' 13 113 ${cfg.package}/bin/knotc --config=$out conf-check 14 114 ''; ··· 60 160 ''; 61 161 }; 62 162 63 - extraConfig = mkOption { 64 - type = types.lines; 65 - default = ""; 163 + settings = mkOption { 164 + type = types.attrs; 165 + default = {}; 66 166 description = lib.mdDoc '' 67 - Extra lines to be added verbatim to knot.conf 167 + Extra configuration as nix values. 168 + ''; 169 + }; 170 + 171 + settingsFile = mkOption { 172 + type = types.nullOr types.path; 173 + default = null; 174 + description = lib.mdDoc '' 175 + As alternative to ``settings``, you can provide whole configuration 176 + directly in the almost-YAML format of Knot DNS. 177 + You might want to utilize ``writeTextFile`` for this. 68 178 ''; 69 179 }; 70 180 ··· 78 188 }; 79 189 }; 80 190 }; 191 + imports = [ 192 + # Compatibility with NixOS 23.05. At least partial, as it fails assert if used with keyFiles. 193 + (mkChangedOptionModule [ "services" "knot" "extraConfig" ] [ "services" "knot" "settingsFile" ] 194 + (config: pkgs.writeText "knot.conf" config.services.knot.extraConfig) 195 + ) 196 + ]; 81 197 82 198 config = mkIf config.services.knot.enable { 83 199 users.groups.knot = {}; ··· 86 202 group = "knot"; 87 203 description = "Knot daemon user"; 88 204 }; 205 + 206 + environment.etc."knot/knot.conf".source = configFile; # just for user's convenience 89 207 90 208 systemd.services.knot = { 91 209 unitConfig.Documentation = "man:knotd(8) man:knot.conf(5) man:knotc(8) https://www.knot-dns.cz/docs/${cfg.package.version}/html/";
+60
nixos/modules/virtualisation/oci-common.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + cfg = config.oci; 5 + in 6 + { 7 + imports = [ ../profiles/qemu-guest.nix ]; 8 + 9 + # Taken from /proc/cmdline of Ubuntu 20.04.2 LTS on OCI 10 + boot.kernelParams = [ 11 + "nvme.shutdown_timeout=10" 12 + "nvme_core.shutdown_timeout=10" 13 + "libiscsi.debug_libiscsi_eh=1" 14 + "crash_kexec_post_notifiers" 15 + 16 + # VNC console 17 + "console=tty1" 18 + 19 + # x86_64-linux 20 + "console=ttyS0" 21 + 22 + # aarch64-linux 23 + "console=ttyAMA0,115200" 24 + ]; 25 + 26 + boot.growPartition = true; 27 + 28 + fileSystems."/" = { 29 + device = "/dev/disk/by-label/nixos"; 30 + fsType = "ext4"; 31 + autoResize = true; 32 + }; 33 + 34 + fileSystems."/boot" = lib.mkIf cfg.efi { 35 + device = "/dev/disk/by-label/ESP"; 36 + fsType = "vfat"; 37 + }; 38 + 39 + boot.loader.efi.canTouchEfiVariables = false; 40 + boot.loader.grub = { 41 + device = if cfg.efi then "nodev" else "/dev/sda"; 42 + splashImage = null; 43 + extraConfig = '' 44 + serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 45 + terminal_input --append serial 46 + terminal_output --append serial 47 + ''; 48 + efiInstallAsRemovable = cfg.efi; 49 + efiSupport = cfg.efi; 50 + }; 51 + 52 + # https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/configuringntpservice.htm#Configuring_the_Oracle_Cloud_Infrastructure_NTP_Service_for_an_Instance 53 + networking.timeServers = [ "169.254.169.254" ]; 54 + 55 + services.openssh.enable = true; 56 + 57 + # Otherwise the instance may not have a working network-online.target, 58 + # making the fetch-ssh-keys.service fail 59 + networking.useNetworkd = true; 60 + }
+12
nixos/modules/virtualisation/oci-config-user.nix
··· 1 + { modulesPath, ... }: 2 + 3 + { 4 + # To build the configuration or use nix-env, you need to run 5 + # either nixos-rebuild --upgrade or nix-channel --update 6 + # to fetch the nixos channel. 7 + 8 + # This configures everything but bootstrap services, 9 + # which only need to be run once and have already finished 10 + # if you are able to see this comment. 11 + imports = [ "${modulesPath}/virtualisation/oci-common.nix" ]; 12 + }
+50
nixos/modules/virtualisation/oci-image.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + let 4 + cfg = config.oci; 5 + in 6 + { 7 + imports = [ ./oci-common.nix ]; 8 + 9 + config = { 10 + system.build.OCIImage = import ../../lib/make-disk-image.nix { 11 + inherit config lib pkgs; 12 + name = "oci-image"; 13 + configFile = ./oci-config-user.nix; 14 + format = "qcow2"; 15 + diskSize = 8192; 16 + partitionTableType = if cfg.efi then "efi" else "legacy"; 17 + }; 18 + 19 + systemd.services.fetch-ssh-keys = { 20 + description = "Fetch authorized_keys for root user"; 21 + 22 + wantedBy = [ "sshd.service" ]; 23 + before = [ "sshd.service" ]; 24 + 25 + after = [ "network-online.target" ]; 26 + wants = [ "network-online.target" ]; 27 + 28 + path = [ pkgs.coreutils pkgs.curl ]; 29 + script = '' 30 + mkdir -m 0700 -p /root/.ssh 31 + if [ -f /root/.ssh/authorized_keys ]; then 32 + echo "Authorized keys have already been downloaded" 33 + else 34 + echo "Downloading authorized keys from Instance Metadata Service v2" 35 + curl -s -S -L \ 36 + -H "Authorization: Bearer Oracle" \ 37 + -o /root/.ssh/authorized_keys \ 38 + http://169.254.169.254/opc/v2/instance/metadata/ssh_authorized_keys 39 + chmod 600 /root/.ssh/authorized_keys 40 + fi 41 + ''; 42 + serviceConfig = { 43 + Type = "oneshot"; 44 + RemainAfterExit = true; 45 + StandardError = "journal+console"; 46 + StandardOutput = "journal+console"; 47 + }; 48 + }; 49 + }; 50 + }
+14
nixos/modules/virtualisation/oci-options.nix
··· 1 + { config, lib, pkgs, ... }: 2 + { 3 + options = { 4 + oci = { 5 + efi = lib.mkOption { 6 + default = true; 7 + internal = true; 8 + description = '' 9 + Whether the OCI instance is using EFI. 10 + ''; 11 + }; 12 + }; 13 + }; 14 + }
+22 -21
nixos/tests/kea.nix
··· 134 134 extraArgs = [ 135 135 "-v" 136 136 ]; 137 - extraConfig = '' 138 - server: 139 - listen: 0.0.0.0@53 137 + settings = { 138 + server.listen = [ 139 + "0.0.0.0@53" 140 + ]; 140 141 141 - log: 142 - - target: syslog 143 - any: debug 142 + log.syslog.any = "info"; 144 143 145 - acl: 146 - - id: dhcp_ddns 147 - address: 10.0.0.1 148 - action: update 144 + acl.dhcp_ddns = { 145 + address = "10.0.0.1"; 146 + action = "update"; 147 + }; 149 148 150 - template: 151 - - id: default 152 - storage: ${zonesDir} 153 - zonefile-sync: -1 154 - zonefile-load: difference-no-serial 155 - journal-content: all 149 + template.default = { 150 + storage = zonesDir; 151 + zonefile-sync = "-1"; 152 + zonefile-load = "difference-no-serial"; 153 + journal-content = "all"; 154 + }; 156 155 157 - zone: 158 - - domain: lan.nixos.test 159 - file: lan.nixos.test.zone 160 - acl: [dhcp_ddns] 161 - ''; 156 + zone."lan.nixos.test" = { 157 + file = "lan.nixos.test.zone"; 158 + acl = [ 159 + "dhcp_ddns" 160 + ]; 161 + }; 162 + }; 162 163 }; 163 164 164 165 };
+58 -64
nixos/tests/knot.nix
··· 60 60 services.knot.enable = true; 61 61 services.knot.extraArgs = [ "-v" ]; 62 62 services.knot.keyFiles = [ tsigFile ]; 63 - services.knot.extraConfig = '' 64 - server: 65 - listen: 0.0.0.0@53 66 - listen: ::@53 67 - automatic-acl: true 63 + services.knot.settings = { 64 + server = { 65 + listen = [ 66 + "0.0.0.0@53" 67 + "::@53" 68 + ]; 69 + automatic-acl = true; 70 + }; 68 71 69 - remote: 70 - - id: secondary 71 - address: 192.168.0.2@53 72 - key: xfr_key 72 + acl.secondary_acl = { 73 + address = "192.168.0.2"; 74 + key = "xfr_key"; 75 + action = "transfer"; 76 + }; 73 77 74 - template: 75 - - id: default 76 - storage: ${knotZonesEnv} 77 - notify: [secondary] 78 - dnssec-signing: on 79 - # Input-only zone files 80 - # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-3 81 - # prevents modification of the zonefiles, since the zonefiles are immutable 82 - zonefile-sync: -1 83 - zonefile-load: difference 84 - journal-content: changes 85 - # move databases below the state directory, because they need to be writable 86 - journal-db: /var/lib/knot/journal 87 - kasp-db: /var/lib/knot/kasp 88 - timer-db: /var/lib/knot/timer 78 + remote.secondary.address = "192.168.0.2@53"; 89 79 90 - zone: 91 - - domain: example.com 92 - file: example.com.zone 80 + template.default = { 81 + storage = knotZonesEnv; 82 + notify = [ "secondary" ]; 83 + acl = [ "secondary_acl" ]; 84 + dnssec-signing = true; 85 + # Input-only zone files 86 + # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-3 87 + # prevents modification of the zonefiles, since the zonefiles are immutable 88 + zonefile-sync = -1; 89 + zonefile-load = "difference"; 90 + journal-content = "changes"; 91 + }; 93 92 94 - - domain: sub.example.com 95 - file: sub.example.com.zone 93 + zone = { 94 + "example.com".file = "example.com.zone"; 95 + "sub.example.com".file = "sub.example.com.zone"; 96 + }; 96 97 97 - log: 98 - - target: syslog 99 - any: info 100 - ''; 98 + log.syslog.any = "info"; 99 + }; 101 100 }; 102 101 103 102 secondary = { lib, ... }: { ··· 113 112 services.knot.enable = true; 114 113 services.knot.keyFiles = [ tsigFile ]; 115 114 services.knot.extraArgs = [ "-v" ]; 116 - services.knot.extraConfig = '' 117 - server: 118 - listen: 0.0.0.0@53 119 - listen: ::@53 120 - automatic-acl: true 115 + services.knot.settings = { 116 + server = { 117 + listen = [ 118 + "0.0.0.0@53" 119 + "::@53" 120 + ]; 121 + automatic-acl = true; 122 + }; 121 123 122 - remote: 123 - - id: primary 124 - address: 192.168.0.1@53 125 - key: xfr_key 124 + remote.primary = { 125 + address = "192.168.0.1@53"; 126 + key = "xfr_key"; 127 + }; 126 128 127 - template: 128 - - id: default 129 - master: primary 130 - # zonefileless setup 131 - # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-2 132 - zonefile-sync: -1 133 - zonefile-load: none 134 - journal-content: all 135 - # move databases below the state directory, because they need to be writable 136 - journal-db: /var/lib/knot/journal 137 - kasp-db: /var/lib/knot/kasp 138 - timer-db: /var/lib/knot/timer 139 - 140 - zone: 141 - - domain: example.com 142 - file: example.com.zone 129 + template.default = { 130 + master = "primary"; 131 + # zonefileless setup 132 + # https://www.knot-dns.cz/docs/2.8/html/operation.html#example-2 133 + zonefile-sync = "-1"; 134 + zonefile-load = "none"; 135 + journal-content = "all"; 136 + }; 143 137 144 - - domain: sub.example.com 145 - file: sub.example.com.zone 138 + zone = { 139 + "example.com".file = "example.com.zone"; 140 + "sub.example.com".file = "sub.example.com.zone"; 141 + }; 146 142 147 - log: 148 - - target: syslog 149 - any: info 150 - ''; 143 + log.syslog.any = "info"; 144 + }; 151 145 }; 152 146 client = { lib, nodes, ... }: { 153 147 imports = [ common ];
+1 -1
pkgs/applications/audio/plexamp/default.nix
··· 7 7 src = fetchurl { 8 8 url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; 9 9 name="${pname}-${version}.AppImage"; 10 - sha512 = "CrSXmRVatVSkMyB1QaNSL/tK60rQvT9JraRtYYLl0Fau3M1LJXK9yqvt77AjwIwIvi2Dm5SROG+c4rA1XtI4Yg=="; 10 + hash = "sha512-CrSXmRVatVSkMyB1QaNSL/tK60rQvT9JraRtYYLl0Fau3M1LJXK9yqvt77AjwIwIvi2Dm5SROG+c4rA1XtI4Yg=="; 11 11 }; 12 12 13 13 appimageContents = appimageTools.extractType2 {
+1 -1
pkgs/applications/audio/spotify/linux.nix
··· 84 84 # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 85 85 src = fetchurl { 86 86 url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; 87 - sha512 = "3d5a9fda88a076a22bb6d0b6b586334865f03a4e852ca8e022468e3dd3520a81dea314721e26e54ba9309603e08f66588f005ee8970e73eccbf805ff70e89dca"; 87 + hash = "sha512-PVqf2oigdqIrttC2tYYzSGXwOk6FLKjgIkaOPdNSCoHeoxRyHiblS6kwlgPgj2ZYjwBe6JcOc+zL+AX/cOidyg=="; 88 88 }; 89 89 90 90 nativeBuildInputs = [ wrapGAppsHook makeShellWrapper squashfsTools ];
+1 -1
pkgs/applications/blockchains/oxen/default.nix
··· 24 24 # Required for static linking, the only supported install path 25 25 lbzmqsrc = fetchurl { 26 26 url = "https://github.com/zeromq/libzmq/releases/download/v4.3.3/zeromq-4.3.3.tar.gz"; 27 - sha512 = "4c18d784085179c5b1fcb753a93813095a12c8d34970f2e1bfca6499be6c9d67769c71c68b7ca54ff181b20390043170e89733c22f76ff1ea46494814f7095b1"; 27 + hash = "sha512-TBjXhAhRecWx/LdTqTgTCVoSyNNJcPLhv8pkmb5snWd2nHHGi3ylT/GBsgOQBDFw6Jczwi92/x6kZJSBT3CVsQ=="; 28 28 }; 29 29 30 30 postPatch = ''
+1 -1
pkgs/applications/blockchains/trezor-suite/default.nix
··· 18 18 19 19 src = fetchurl { 20 20 url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage"; 21 - sha512 = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' 21 + hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' 22 22 aarch64-linux = "sha512-+dcogzj0mENWSAVKqUG/xyF+TD/nKpA3UiNyI2M7iiCaW+tpwO5Y0uUmzb1rFRtDsKMflDPZNWe8qMJmrtaIrA=="; 23 23 x86_64-linux = "sha512-8UyPa3hDmALiYGao451ZBQLxv9H9OLbzzHiANp4zgvjBLGNhZnPFBIYM6KGyKkgRJJiTcgd7VHCgEhPpfm0qzg=="; 24 24 }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+1 -1
pkgs/applications/editors/eclipse/plugins.nix
··· 355 355 356 356 src = fetchzip { 357 357 url = "https://download.jboss.org/drools/release/${version}/droolsjbpm-tools-distribution-${version}.zip"; 358 - sha512 = "2qzc1iszqfrfnw8xip78n3kp6hlwrvrr708vlmdk7nv525xhs0ssjaxriqdhcr0s6jripmmazxivv3763rnk2bfkh31hmbnckpx4r3m"; 358 + hash = "sha512-dWTS72R2VRgGnG6JafMwZ+wd+1e13pil0SAz2HDMXUmtgYa9iLLtma3SjcDJeWdOoblzWHRu7Ihblx3+Ogb2sQ=="; 359 359 postFetch = '' 360 360 # update site is a couple levels deep, alongside some other irrelevant stuff 361 361 cd $out;
+1 -1
pkgs/applications/networking/gopher/sacc/default.nix
··· 8 8 9 9 src = fetchurl { 10 10 url = "ftp://bitreich.org/releases/sacc/sacc-${version}.tar.gz"; 11 - sha512 = "7a895e432e1d28b7d9b2bb2a5326ca32350876a2c80d39dc6c19e75347d72a4847f1aa4ff11f07e8a9adea14ea71b84d70890dcc170ff6ce0b779e1d6586b4fa"; 11 + hash = "sha512-eoleQy4dKLfZsrsqUybKMjUIdqLIDTncbBnnU0fXKkhH8apP8R8H6Kmt6hTqcbhNcIkNzBcP9s4Ld54dZYa0+g=="; 12 12 }; 13 13 14 14 inherit patches;
+2 -2
pkgs/applications/networking/mailreaders/thunderbird/packages.nix
··· 11 11 binaryName = pname; 12 12 src = fetchurl { 13 13 url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; 14 - sha512 = "4ae3f216833aec55421f827d55bc1b5fc2f0ad4fefecb27724a5be3318c351df24d30a4897b924e733ed2e3995be284b6d135049d46001143fb1c961fefc1830"; 14 + hash = "sha512-SuPyFoM67FVCH4J9VbwbX8LwrU/v7LJ3JKW+MxjDUd8k0wpIl7kk5zPtLjmVvihLbRNQSdRgARQ/sclh/vwYMA=="; 15 15 }; 16 16 extraPatches = [ 17 17 # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`. ··· 49 49 binaryName = pname; 50 50 src = fetchurl { 51 51 url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; 52 - sha512 = "45843709c21eb19d69d43205da6b2f943b584811a29942ffef1933c1ce7882b48046b201c2ff198658fec2c53d479311d8a353731afe6ea53f97b31674d6074a"; 52 + hash = "sha512-RYQ3CcIesZ1p1DIF2msvlDtYSBGimUL/7xkzwc54grSARrIBwv8Zhlj+wsU9R5MR2KNTcxr+bqU/l7MWdNYHSg=="; 53 53 }; 54 54 extraPatches = [ 55 55 # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
+5 -5
pkgs/applications/science/physics/elmerfem/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, pkg-config, libGL, libGLU, opencascade, libsForQt5, tbb, vtkWithQt5 }: 1 + { lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, pkg-config, libGL, libGLU, opencascade-occt, libsForQt5, tbb, vtkWithQt5 }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "elmerfem"; 5 - version = "unstable-2023-02-03"; 5 + version = "unstable-2023-09-18"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "elmercsc"; 9 9 repo = pname; 10 - rev = "39c8784b6e4543a6bf560b5d597e0eec1eb06343"; 11 - hash = "sha256-yyxgFvlS+I4PouDL6eD4ZrXuONTDejCSYKq2AwQ0Iug="; 10 + rev = "0fcced06f91c93f44557efd6a5f10b2da5c7066c"; 11 + hash = "sha256-UuARDYW7D3a4dB6I86s2Ed5ecQxc+Y/es3YIeF2VyTc="; 12 12 }; 13 13 14 14 hardeningDisable = [ "format" ]; ··· 28 28 libsForQt5.qwt 29 29 libGL 30 30 libGLU 31 - opencascade 31 + opencascade-occt 32 32 tbb 33 33 vtkWithQt5 34 34 ];
+1 -1
pkgs/applications/video/lbry/default.nix
··· 12 12 src = fetchurl { 13 13 url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage"; 14 14 # Gotten from latest-linux.yml 15 - sha512 = "WZB2pMzSuWGPj6uad+rIECOhuWEOxi0hVUQifOrhUrKj4SnBDws+oy7V2+NpDGkzbG+Kf3IO8rcWBD4wfFoo2Q=="; 15 + hash = "sha512-WZB2pMzSuWGPj6uad+rIECOhuWEOxi0hVUQifOrhUrKj4SnBDws+oy7V2+NpDGkzbG+Kf3IO8rcWBD4wfFoo2Q=="; 16 16 }; 17 17 }; 18 18
+16 -8
pkgs/applications/window-managers/labwc/default.nix pkgs/by-name/la/labwc/package.nix
··· 2 2 , stdenv 3 3 , fetchFromGitHub 4 4 , cairo 5 + , gettext 5 6 , glib 6 7 , libdrm 7 8 , libinput 9 + , libpng 10 + , librsvg 8 11 , libxcb 9 12 , libxkbcommon 10 13 , libxml2 11 - , gettext 12 14 , meson 13 15 , ninja 14 16 , pango 15 17 , pkg-config 16 18 , scdoc 17 - , wayland-scanner 18 19 , wayland 19 20 , wayland-protocols 21 + , wayland-scanner 20 22 , wlroots 21 23 , xcbutilwm 22 24 , xwayland ··· 24 26 25 27 stdenv.mkDerivation (finalAttrs: { 26 28 pname = "labwc"; 27 - version = "0.6.4"; 29 + version = "0.6.5"; 28 30 29 31 src = fetchFromGitHub { 30 32 owner = "labwc"; 31 33 repo = "labwc"; 32 34 rev = finalAttrs.version; 33 - hash = "sha256-8FMC0tq5Gp5qDPUmoJTCrHEergDMUbiTco17jPTJUgE="; 35 + hash = "sha256-nQLxE2Q4GiLUjkag/yqctzmkKKWFw1XNFjotE8MMgBA="; 34 36 }; 35 37 36 38 nativeBuildInputs = [ ··· 47 49 glib 48 50 libdrm 49 51 libinput 52 + libpng 53 + librsvg 50 54 libxcb 51 55 libxkbcommon 52 56 libxml2 ··· 58 62 xwayland 59 63 ]; 60 64 65 + outputs = [ "out" "man" ]; 66 + 67 + strictDeps = true; 68 + 61 69 mesonFlags = [ 62 70 (lib.mesonEnable "xwayland" true) 63 71 ]; 64 72 65 - meta = with lib; { 73 + meta = { 66 74 homepage = "https://github.com/labwc/labwc"; 67 - description = "A Wayland stacking compositor, similar to Openbox"; 75 + description = "A Wayland stacking compositor, inspired by Openbox"; 68 76 changelog = "https://raw.githubusercontent.com/labwc/labwc/${finalAttrs.version}/NEWS.md"; 69 - license = licenses.gpl2Plus; 70 - maintainers = with maintainers; [ AndersonTorres ]; 77 + license = lib.licenses.gpl2Plus; 78 + maintainers = with lib.maintainers; [ AndersonTorres ]; 71 79 inherit (wayland.meta) platforms; 72 80 }; 73 81 })
+1 -1
pkgs/build-support/node/fetch-yarn-deps/default.nix
··· 3 3 let 4 4 yarnpkg-lockfile-tar = fetchurl { 5 5 url = "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz"; 6 - sha512 = "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="; 6 + hash = "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="; 7 7 }; 8 8 9 9 tests = callPackage ./tests {};
+38
pkgs/by-name/kt/ktfmt/package.nix
··· 1 + { lib, fetchFromGitHub, jre_headless, makeWrapper, maven }: 2 + 3 + maven.buildMavenPackage rec { 4 + pname = "ktfmt"; 5 + version = "0.46"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "facebook"; 9 + repo = "ktfmt"; 10 + rev = "refs/tags/v${version}"; 11 + hash = "sha256-OIbJ+J5LX6SPv5tuAiY66v/edeM7nFPHj90GXV6zaxw="; 12 + }; 13 + 14 + mvnHash = "sha256-pzMjkkdkbVqVxZPW2I0YWPl5/l6+SyNkhd6gkm9Uoyc="; 15 + 16 + nativeBuildInputs = [ makeWrapper ]; 17 + 18 + installPhase = '' 19 + runHook preInstall 20 + 21 + mkdir -p $out/bin 22 + install -Dm644 core/target/ktfmt-*-jar-with-dependencies.jar $out/share/ktfmt/ktfmt.jar 23 + 24 + makeWrapper ${jre_headless}/bin/java $out/bin/ktfmt \ 25 + --add-flags "-jar $out/share/ktfmt/ktfmt.jar" 26 + 27 + runHook postInstall 28 + ''; 29 + 30 + meta = with lib; { 31 + description = "A program that reformats Kotlin source code to comply with the common community standard for Kotlin code conventions."; 32 + homepage = "https://github.com/facebook/ktfmt"; 33 + license = licenses.apsl20; 34 + mainProgram = "ktfmt"; 35 + maintainers = with maintainers; [ ghostbuster91 ]; 36 + inherit (jre_headless.meta) platforms; 37 + }; 38 + }
+6 -3
pkgs/data/themes/catppuccin-gtk/default.nix
··· 28 28 29 29 stdenvNoCC.mkDerivation rec { 30 30 inherit pname; 31 - version = "0.6.1"; 31 + version = "0.6.2"; 32 32 33 33 src = fetchFromGitHub { 34 34 owner = "catppuccin"; 35 35 repo = "gtk"; 36 36 rev = "v${version}"; 37 - sha256 = "sha256-b03V/c2do5FSm4Q0yN7V0RuoQX1fYsBd//Hj3R5MESI="; 37 + hash = "sha256-BjdPe3wQBSVMYpeCifq93Cqt/G4bzsZYgOPBTilHqD8="; 38 38 }; 39 39 40 40 nativeBuildInputs = [ gtk3 sassc ]; ··· 53 53 ''; 54 54 55 55 postPatch = '' 56 - patchShebangs --build colloid/clean-old-theme.sh colloid/install.sh 56 + patchShebangs --build colloid/install.sh 57 57 ''; 58 + 59 + dontConfigure = true; 60 + dontBuild = true; 58 61 59 62 installPhase = '' 60 63 runHook preInstall
+2 -2
pkgs/development/interpreters/janet/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "janet"; 5 - version = "1.30.0"; 5 + version = "1.31.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "janet-lang"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - hash = "sha256-tkXEi8m7eroie/yP1kW0V6Ld5SCLA0/KmtHHI0fIsRI="; 11 + hash = "sha256-Dj2fj1dsdAMl/H0vNKTf9qjPB4GVRpgWPVR+PuZWZMc="; 12 12 }; 13 13 14 14 postPatch = ''
+2 -2
pkgs/development/interpreters/luau/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "luau"; 5 - version = "0.594"; 5 + version = "0.596"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "Roblox"; 9 9 repo = "luau"; 10 10 rev = version; 11 - hash = "sha256-GRdJlVCT1jRAuQHsDjV2oqk7mtBUNDpWt8JGlP31CVs="; 11 + hash = "sha256-25SMgBW5Uqh0dGM8A9qCTcUPPP7wzH8wCGk4w+0wp/c="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ];
+1 -1
pkgs/development/libraries/libdwarf/20210528.nix
··· 2 2 callPackage ./common.nix rec { 3 3 version = "20210528"; 4 4 url = "https://www.prevanders.net/libdwarf-${version}.tar.gz"; 5 - sha512 = "e0f9c88554053ee6c1b1333960891189e7820c4a4ddc302b7e63754a4cdcfc2acb1b4b6083a722d1204a75e994fff3401ecc251b8c3b24090f8cb4046d90f870"; 5 + hash = "sha512-4PnIhVQFPubBsTM5YIkRieeCDEpN3DArfmN1Skzc/CrLG0tgg6ci0SBKdemU//NAHswlG4w7JAkPjLQEbZD4cA=="; 6 6 buildInputs = [ zlib libelf ]; 7 7 knownVulnerabilities = [ "CVE-2022-32200" "CVE-2022-39170" ]; 8 8 }
+2 -2
pkgs/development/libraries/libdwarf/common.nix
··· 1 - { lib, stdenv, fetchurl, buildInputs, sha512, version, libelf, url, knownVulnerabilities }: 1 + { lib, stdenv, fetchurl, buildInputs, hash, version, libelf, url, knownVulnerabilities }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "libdwarf"; 5 5 inherit version; 6 6 7 7 src = fetchurl { 8 - inherit url sha512; 8 + inherit url hash; 9 9 }; 10 10 11 11 configureFlags = [ "--enable-shared" "--disable-nonshared" ];
+1 -1
pkgs/development/libraries/libdwarf/default.nix
··· 2 2 callPackage ./common.nix rec { 3 3 version = "0.4.2"; 4 4 url = "https://www.prevanders.net/libdwarf-${version}.tar.xz"; 5 - sha512 = "6d2a3ebf0104362dd9cecec272935684f977db119810eea0eec88c9f56a042f260a4f6ed3bbabde8592fe16f98cbd81b4ab2878005140e05c8f475df6380d1c2"; 5 + hash = "sha512-bSo+vwEENi3Zzs7CcpNWhPl32xGYEO6g7siMn1agQvJgpPbtO7q96Fkv4W+Yy9gbSrKHgAUUDgXI9HXfY4DRwg=="; 6 6 buildInputs = [ zlib ]; 7 7 knownVulnerabilities = []; 8 8 }
+2 -2
pkgs/development/libraries/libgphoto2/default.nix
··· 17 17 18 18 stdenv.mkDerivation rec { 19 19 pname = "libgphoto2"; 20 - version = "2.5.30"; 20 + version = "2.5.31"; 21 21 22 22 src = fetchFromGitHub { 23 23 owner = "gphoto"; 24 24 repo = "libgphoto2"; 25 25 rev = "libgphoto2-${builtins.replaceStrings [ "." ] [ "_" ] version}-release"; 26 - sha256 = "sha256-4UwD283mKhZwC7setBU0BLRLsyfjD/6m/InSedrqgAU="; 26 + sha256 = "sha256-UmyDKEaPP9VJqi8f+y6JZcTlQomhMTN+/C//ODYx6/w="; 27 27 }; 28 28 29 29 depsBuildBuild = [ pkg-config ];
-65
pkgs/development/libraries/opencascade/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, fetchpatch, libGL, libGLU, libXmu, cmake, ninja, 2 - pkg-config, fontconfig, freetype, expat, freeimage, vtk_8, gl2ps, tbb, 3 - OpenCL, Cocoa 4 - }: 5 - 6 - stdenv.mkDerivation rec { 7 - pname = "opencascade-oce"; 8 - version = "0.18.3"; 9 - 10 - src = fetchFromGitHub { 11 - owner = "tpaviot"; 12 - repo = "oce"; 13 - rev = "OCE-${version}"; 14 - sha256 = "17wy8dcf44vqisishv1jjf3cmcxyygqq29y9c3wjdj983qi2hsig"; 15 - }; 16 - 17 - nativeBuildInputs = [ cmake ninja pkg-config ]; 18 - buildInputs = [ 19 - libGL libGLU libXmu freetype fontconfig expat freeimage vtk_8 20 - gl2ps tbb 21 - ] 22 - ++ lib.optionals stdenv.isDarwin [OpenCL Cocoa] 23 - ; 24 - 25 - cmakeFlags = [ 26 - "-DOCE_INSTALL_PREFIX=${placeholder "out"}" 27 - "-DOCE_WITH_FREEIMAGE=ON" 28 - "-DOCE_WITH_VTK=ON" 29 - "-DOCE_WITH_GL2PS=ON" 30 - "-DOCE_MULTITHREAD_LIBRARY=TBB" 31 - ] 32 - ++ lib.optionals stdenv.isDarwin ["-DOCE_OSX_USE_COCOA=ON" "-DOCE_WITH_OPENCL=ON"]; 33 - 34 - patches = [ 35 - # Use fontconfig instead of hardcoded directory list 36 - # https://github.com/tpaviot/oce/pull/714 37 - (fetchpatch { 38 - url = "https://github.com/tpaviot/oce/commit/9643432b27fec8974ca0ee15c3c372f5fe8fc069.patch"; 39 - sha256 = "1wd940rszmh5apcpk5fv6126h8mcjcy4rjifrql5d4ac90v06v4c"; 40 - }) 41 - # Fix for glibc 2.26 42 - (fetchpatch { 43 - url = "https://github.com/tpaviot/oce/commit/3b44656e93270d782009b06ec4be84d2a13f8126.patch"; 44 - sha256 = "1ccakkcwy5g0184m23x0mnh22i0lk45xm8kgiv5z3pl7nh35dh8k"; 45 - }) 46 - (fetchpatch { 47 - url = "https://github.com/tpaviot/oce/commit/cf50d078cd5fac03a48fd204938bd240930a08dc.patch"; 48 - sha256 = "1xv94hcvggmb1c8vqwic1aiw9jw1sxk8mqbaak9xs9ycfqdvgdyc"; 49 - }) 50 - ]; 51 - 52 - postPatch = '' 53 - # make sure the installed cmake file uses absolute paths for fontconfig 54 - substituteInPlace adm/cmake/TKService/CMakeLists.txt \ 55 - --replace FONTCONFIG_LIBRARIES FONTCONFIG_LINK_LIBRARIES 56 - ''; 57 - 58 - meta = with lib; { 59 - description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation"; 60 - homepage = "https://github.com/tpaviot/oce"; 61 - maintainers = [ maintainers.viric ]; 62 - platforms = platforms.unix; 63 - license = licenses.lgpl21; 64 - }; 65 - }
-2
pkgs/development/libraries/opencv/3.x.nix
··· 22 22 , enablePython ? false, pythonPackages ? null 23 23 , enableGtk2 ? false, gtk2 24 24 , enableGtk3 ? false, gtk3 25 - , enableVtk ? false, vtk_8 26 25 , enableFfmpeg ? false, ffmpeg 27 26 , enableGStreamer ? false, gst_all_1 28 27 , enableTesseract ? false, tesseract, leptonica ··· 191 190 ++ lib.optional enablePython pythonPackages.python 192 191 ++ lib.optional enableGtk2 gtk2 193 192 ++ lib.optional enableGtk3 gtk3 194 - ++ lib.optional enableVtk vtk_8 195 193 ++ lib.optional enableJPEG libjpeg 196 194 ++ lib.optional enablePNG libpng 197 195 ++ lib.optional enableTIFF libtiff
+12 -4
pkgs/development/libraries/openscenegraph/default.nix
··· 1 - { stdenv, lib, fetchFromGitHub, cmake, pkg-config, doxygen, 1 + { stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, doxygen, 2 2 libX11, libXinerama, libXrandr, libGLU, libGL, 3 3 glib, ilmbase, libxml2, pcre, zlib, 4 4 AGL, Accelerate, Carbon, Cocoa, Foundation, ··· 11 11 gdalSupport ? false, gdal, 12 12 curlSupport ? true, curl, 13 13 colladaSupport ? false, collada-dom, 14 - opencascadeSupport ? false, opencascade, 14 + opencascadeSupport ? false, opencascade-occt, 15 15 ffmpegSupport ? false, ffmpeg, 16 16 nvttSupport ? false, nvidia-texture-tools, 17 17 freetypeSupport ? true, freetype, ··· 51 51 ++ lib.optional gdalSupport gdal 52 52 ++ lib.optional curlSupport curl 53 53 ++ lib.optional colladaSupport collada-dom 54 - ++ lib.optional opencascadeSupport opencascade 54 + ++ lib.optional opencascadeSupport opencascade-occt 55 55 ++ lib.optional ffmpegSupport ffmpeg 56 56 ++ lib.optional nvttSupport nvidia-texture-tools 57 57 ++ lib.optional freetypeSupport freetype ··· 66 66 ++ lib.optionals (!stdenv.isDarwin) [ ] 67 67 ++ lib.optionals stdenv.isDarwin [ AGL Accelerate Carbon Cocoa Foundation ] 68 68 ++ lib.optional (restSupport || colladaSupport) boost 69 - ; 69 + ; 70 + 71 + patches = [ 72 + (fetchpatch { 73 + name = "opencascade-api-patch"; 74 + url = "https://github.com/openscenegraph/OpenSceneGraph/commit/bc2daf9b3239c42d7e51ecd7947d31a92a7dc82b.patch"; 75 + hash = "sha256-VR8YKOV/YihB5eEGZOGaIfJNrig1EPS/PJmpKsK284c="; 76 + }) 77 + ]; 70 78 71 79 cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF" ++ lib.optional withExamples "-DBUILD_OSG_EXAMPLES=ON"; 72 80
+39 -13
pkgs/development/libraries/science/biology/mirtk/default.nix
··· 1 - { lib, stdenv, gtest, fetchFromGitHub, cmake, boost, eigen, python3, vtk_8, zlib, tbb }: 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , cmake 5 + , python3 6 + , boost 7 + , eigen 8 + , libGLU 9 + , fltk 10 + , itk 11 + , vtk 12 + , zlib 13 + , tbb 14 + }: 2 15 3 16 stdenv.mkDerivation rec { 4 - version = "2.0.0"; 5 17 pname = "mirtk"; 18 + version = "unstable-2022-07-22"; 6 19 7 20 src = fetchFromGitHub { 8 21 owner = "BioMedIA"; 9 22 repo = "MIRTK"; 10 - rev = "v${version}"; 11 - sha256 = "0i2v97m66ir5myvi5b123r7zcagwy551b73s984gk7lksl5yiqxk"; 23 + rev = "973ce2fe3f9508dec68892dbf97cca39067aa3d6"; 24 + hash = "sha256-vKgkDrbyGOcbaYlxys1duC8ZNG0Y2nqh3TtSQ06Ox0Q="; 12 25 fetchSubmodules = true; 13 26 }; 14 27 ··· 16 29 "-DWITH_VTK=ON" 17 30 "-DBUILD_ALL_MODULES=ON" 18 31 "-DWITH_TBB=ON" 32 + "-DWITH_ITK=ON" 33 + "-DWITH_GIFTICLIB=ON" 34 + "-DWITH_NIFTILIB=ON" 19 35 ]; 20 36 21 - doCheck = true; 22 - 23 - checkPhase = '' 24 - ctest -E '(Polynomial|ConvolutionFunction|Downsampling|EdgeTable|InterpolateExtrapolateImage)' 37 + # tries to download data during configuration 38 + postPatch = '' 39 + substituteInPlace Packages/DrawEM/CMakeLists.txt --replace "include(Atlases.cmake)" "" 25 40 ''; 26 - # testPolynomial - segfaults for some reason 27 - # testConvolutionFunction, testDownsampling - main not called correctly 28 - # testEdgeTable, testInterpolateExtrapolateImageFunction - setup fails 41 + 42 + # tests don't seem to be maintained and gtest fails to link with BUILD_TESTING=ON; 43 + # unclear if specific to Nixpkgs 44 + doCheck = false; 29 45 30 46 postInstall = '' 31 47 install -Dm644 -t "$out/share/bash-completion/completions/mirtk" share/completion/bash/mirtk 32 48 ''; 33 49 34 - nativeBuildInputs = [ cmake gtest ]; 35 - buildInputs = [ boost eigen python3 vtk_8 zlib tbb ]; 50 + nativeBuildInputs = [ cmake ]; 51 + buildInputs = [ 52 + boost 53 + eigen 54 + fltk 55 + itk 56 + libGLU.dev 57 + python3 58 + tbb 59 + vtk 60 + zlib 61 + ]; 36 62 37 63 meta = with lib; { 38 64 homepage = "https://github.com/BioMedIA/MIRTK";
-35
pkgs/development/libraries/smesh/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ninja, opencascade 2 - , Cocoa }: 3 - 4 - stdenv.mkDerivation rec { 5 - pname = "smesh"; 6 - version = "6.7.6"; 7 - 8 - src = fetchFromGitHub { 9 - owner = "tpaviot"; 10 - repo = "smesh"; 11 - rev = version; 12 - sha256 = "1b07j3bw3lnxk8dk3x1kkl2mbsmfwi98si84054038lflaaijzi0"; 13 - }; 14 - 15 - patches = [ 16 - (fetchpatch { 17 - name = "fix-build-with-clang.patch"; 18 - url = "https://github.com/tpaviot/smesh/commit/e32c430f526f1637ec5973c9723acbc5be571ae3.patch"; 19 - sha256 = "0s4j5rb70g3jvvkgfbrxv7q52wk6yjyjiaya61gy2j64khplcjlb"; 20 - }) 21 - ]; 22 - 23 - nativeBuildInputs = [ cmake ninja ]; 24 - buildInputs = [ opencascade ] ++ lib.optionals stdenv.isDarwin [ Cocoa ]; 25 - 26 - env.NIX_CFLAGS_COMPILE = toString [ "-std=c++11" ]; 27 - 28 - meta = with lib; { 29 - description = "Extension to OCE providing advanced meshing features"; 30 - homepage = "https://github.com/tpaviot/smesh"; 31 - license = licenses.lgpl21; 32 - platforms = platforms.unix; 33 - maintainers = with maintainers; [ gebner ]; 34 - }; 35 - }
-18
pkgs/development/libraries/vtk/8.x.nix
··· 1 - import ./generic.nix { 2 - majorVersion = "8.2"; 3 - minorVersion = "0"; 4 - sourceSha256 = "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"; 5 - patchesToFetch = [{ 6 - url = "https://gitlab.kitware.com/vtk/vtk/-/commit/257b9d7b18d5f3db3fe099dc18f230e23f7dfbab.diff"; 7 - sha256 = "0qdahp4f4gcaznr28j06d5fyxiis774ys0p335aazf7h51zb8rzy"; 8 - } 9 - { 10 - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-libs/vtk/files/vtk-8.2.0-gcc-10.patch?id=c4256f68d3589570443075eccbbafacf661f785f"; 11 - sha256 = "sha256:0bpwrdfmi15grsg4jy7bzj2z6511a0c160cmw5lsi65aabyh7cl5"; 12 - } 13 - { 14 - url = "https://gitlab.kitware.com/vtk/vtk/-/merge_requests/6943.diff"; 15 - sha256 = "sha256:1nzdw3f6bsri04y528zj2klqkb9p8s4lnl9g5zvm119m1cmyhn04"; 16 - } 17 - ]; 18 - }
+1 -1
pkgs/development/libraries/zookeeper_mt/default.nix
··· 14 14 15 15 src = fetchurl { 16 16 url = "mirror://apache/zookeeper/${zookeeper.pname}-${version}/apache-${zookeeper.pname}-${version}.tar.gz"; 17 - sha512 = "sha512-ttYbATvfe+uRYhQWfeG1WGXl5GOztcrITfl/4EQierAzSaDvTmVxSb582hYQOdBpxw2QrVbIdnTm3/Xt4ifecg=="; 17 + hash = "sha512-ttYbATvfe+uRYhQWfeG1WGXl5GOztcrITfl/4EQierAzSaDvTmVxSb582hYQOdBpxw2QrVbIdnTm3/Xt4ifecg=="; 18 18 }; 19 19 20 20 sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-client/zookeeper-client-c";
+1 -1
pkgs/development/ocaml-modules/extlib/default.nix
··· 8 8 9 9 src = fetchurl { 10 10 url = "https://ygrek.org/p/release/ocaml-${pname}/${pname}-${version}.tar.gz"; 11 - sha512 = "2386ac69f037ea520835c0624d39ae9fbffe43a20b18e247de032232ed6f419d667b53d2314c6f56dc71d368bf0b6201a56c2f3f2a5bdfd933766c5a6cb98768"; 11 + hash = "sha512-I4asafA36lIINcBiTTmun7/+Q6ILGOJH3gMiMu1vQZ1me1PSMUxvVtxx02i/C2IBpWwvPypb39kzdmxabLmHaA=="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cppo ];
+4 -8
pkgs/development/python-modules/cadquery/default.nix
··· 5 5 , pythonAtLeast 6 6 , fetchFromGitHub 7 7 , pyparsing 8 - , opencascade 8 + , opencascade-occt 9 9 , stdenv 10 10 , python 11 11 , cmake 12 12 , swig 13 - , smesh 14 13 , freetype 15 14 , libGL 16 15 , libGLU ··· 42 41 43 42 buildInputs = [ 44 43 python 45 - opencascade 46 - smesh 44 + opencascade-occt 47 45 freetype 48 46 libGL 49 47 libGLU ··· 57 55 cmakeFlags = [ 58 56 "-Wno-dev" 59 57 "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC" 60 - "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh" 61 - "-DSMESH_LIB_PATH=${smesh}/lib" 62 - "-DPYTHONOCC_WRAP_SMESH=TRUE" 63 58 ]; 64 59 }); 65 60 ··· 76 71 }; 77 72 78 73 buildInputs = [ 79 - opencascade 74 + opencascade-occt 80 75 ]; 81 76 82 77 propagatedBuildInputs = [ ··· 99 94 homepage = "https://github.com/CadQuery/cadquery"; 100 95 license = licenses.asl20; 101 96 maintainers = with maintainers; [ marcus7070 ]; 97 + broken = true; 102 98 }; 103 99 }
+3 -4
pkgs/development/python-modules/ffcv/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "ffcv"; 16 - version = "0.0.3"; 16 + version = "1.0.0"; 17 17 18 18 src = fetchFromGitHub { 19 19 owner = "libffcv"; 20 20 repo = pname; 21 - # See https://github.com/libffcv/ffcv/issues/158. 22 - rev = "131d56235eca3f1497bb84eeaec82c3434ef25d8"; 23 - sha256 = "0f7q2x48lknnf98mqaa35my05qwvdgv0h8l9lpagdw6yhx0a6p2x"; 21 + rev = "refs/tags/v${version}"; 22 + hash = "sha256-L2mwGFivq/gtAw+1D6U2jbW6VxYgetHX7OUrjwyybqE="; 24 23 }; 25 24 26 25 # See https://github.com/libffcv/ffcv/issues/159.
+6 -7
pkgs/development/python-modules/pythonocc-core/default.nix
··· 1 - { lib, stdenv, python, fetchFromGitHub 1 + { lib 2 + , stdenv 3 + , python 4 + , fetchFromGitHub 2 5 , cmake 3 6 , Cocoa 4 7 , fontconfig ··· 11 14 , libXmu 12 15 , opencascade-occt 13 16 , rapidjson 14 - , smesh 15 17 , swig4 16 18 }: 17 19 ··· 34 36 35 37 nativeBuildInputs = [ cmake swig4 ]; 36 38 buildInputs = [ 37 - python opencascade-occt smesh 39 + python opencascade-occt 38 40 freetype libGL libGLU libX11 libXext libXmu libXi 39 41 fontconfig rapidjson 40 42 ] ++ lib.optionals stdenv.isDarwin [ Cocoa ]; ··· 42 44 cmakeFlags = [ 43 45 "-Wno-dev" 44 46 "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC" 45 - 46 - "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh" 47 - "-DSMESH_LIB_PATH=${smesh}/lib" 48 - "-DPYTHONOCC_WRAP_SMESH=TRUE" 49 47 ]; 50 48 51 49 passthru = { ··· 57 55 meta = with lib; { 58 56 description = "Python wrapper for the OpenCASCADE 3D modeling kernel"; 59 57 homepage = "https://github.com/tpaviot/pythonocc-core"; 58 + changelog = "https://github.com/tpaviot/pythonocc-core/releases/tag/${version}"; 60 59 license = licenses.lgpl3; 61 60 platforms = platforms.unix; 62 61 maintainers = with maintainers; [ gebner ];
+2 -2
pkgs/development/python-modules/wandb/default.nix
··· 52 52 53 53 buildPythonPackage rec { 54 54 pname = "wandb"; 55 - version = "0.15.10"; 55 + version = "0.15.11"; 56 56 format = "pyproject"; 57 57 58 58 disabled = pythonOlder "3.6"; ··· 61 61 owner = pname; 62 62 repo = pname; 63 63 rev = "refs/tags/v${version}"; 64 - hash = "sha256-MuYaeg7+lMOOSalnLyKsCw+f44daDDayvyKvY8z697c="; 64 + hash = "sha256-WaVgyF+pQgFCqIsi5Tcu+btyUKU2e3/qJi4Ma8dnx8M="; 65 65 }; 66 66 67 67 patches = [
+10 -10
pkgs/development/tools/cocoapods/Gemfile-beta.lock
··· 3 3 specs: 4 4 CFPropertyList (3.0.6) 5 5 rexml 6 - activesupport (7.0.5) 6 + activesupport (7.0.8) 7 7 concurrent-ruby (~> 1.0, >= 1.0.2) 8 8 i18n (>= 1.6, < 2) 9 9 minitest (>= 5.1) 10 10 tzinfo (~> 2.0) 11 - addressable (2.8.4) 11 + addressable (2.8.5) 12 12 public_suffix (>= 2.0.2, < 6.0) 13 13 algoliasearch (1.27.5) 14 14 httpclient (~> 2.8, >= 2.8.3) 15 15 json (>= 1.5.1) 16 16 atomos (0.1.3) 17 17 claide (1.1.0) 18 - cocoapods (1.12.1) 18 + cocoapods (1.13.0) 19 19 addressable (~> 2.8) 20 20 claide (>= 1.0.2, < 2.0) 21 - cocoapods-core (= 1.12.1) 21 + cocoapods-core (= 1.13.0) 22 22 cocoapods-deintegrate (>= 1.0.3, < 2.0) 23 23 cocoapods-downloader (>= 1.6.0, < 2.0) 24 24 cocoapods-plugins (>= 1.0.0, < 2.0) ··· 32 32 molinillo (~> 0.8.0) 33 33 nap (~> 1.0) 34 34 ruby-macho (>= 2.3.0, < 3.0) 35 - xcodeproj (>= 1.21.0, < 2.0) 36 - cocoapods-core (1.12.1) 35 + xcodeproj (>= 1.23.0, < 2.0) 36 + cocoapods-core (1.13.0) 37 37 activesupport (>= 5.0, < 8) 38 38 addressable (~> 2.8) 39 39 algoliasearch (~> 1.0) ··· 62 62 fuzzy_match (2.0.4) 63 63 gh_inspector (1.1.3) 64 64 httpclient (2.8.3) 65 - i18n (1.13.0) 65 + i18n (1.14.1) 66 66 concurrent-ruby (~> 1.0) 67 67 json (2.6.3) 68 - minitest (5.18.0) 68 + minitest (5.20.0) 69 69 molinillo (0.8.0) 70 70 nanaimo (0.3.0) 71 71 nap (1.1.0) 72 72 netrc (0.11.0) 73 73 public_suffix (4.0.7) 74 - rexml (3.2.5) 74 + rexml (3.2.6) 75 75 ruby-macho (2.5.1) 76 76 typhoeus (1.4.0) 77 77 ethon (>= 0.9.0) 78 78 tzinfo (2.0.6) 79 79 concurrent-ruby (~> 1.0) 80 - xcodeproj (1.22.0) 80 + xcodeproj (1.23.0) 81 81 CFPropertyList (>= 2.3.3, < 4.0) 82 82 atomos (~> 0.1.3) 83 83 claide (>= 1.0.2, < 2.0)
+10 -10
pkgs/development/tools/cocoapods/Gemfile.lock
··· 3 3 specs: 4 4 CFPropertyList (3.0.6) 5 5 rexml 6 - activesupport (7.0.5) 6 + activesupport (7.0.8) 7 7 concurrent-ruby (~> 1.0, >= 1.0.2) 8 8 i18n (>= 1.6, < 2) 9 9 minitest (>= 5.1) 10 10 tzinfo (~> 2.0) 11 - addressable (2.8.4) 11 + addressable (2.8.5) 12 12 public_suffix (>= 2.0.2, < 6.0) 13 13 algoliasearch (1.27.5) 14 14 httpclient (~> 2.8, >= 2.8.3) 15 15 json (>= 1.5.1) 16 16 atomos (0.1.3) 17 17 claide (1.1.0) 18 - cocoapods (1.12.1) 18 + cocoapods (1.13.0) 19 19 addressable (~> 2.8) 20 20 claide (>= 1.0.2, < 2.0) 21 - cocoapods-core (= 1.12.1) 21 + cocoapods-core (= 1.13.0) 22 22 cocoapods-deintegrate (>= 1.0.3, < 2.0) 23 23 cocoapods-downloader (>= 1.6.0, < 2.0) 24 24 cocoapods-plugins (>= 1.0.0, < 2.0) ··· 32 32 molinillo (~> 0.8.0) 33 33 nap (~> 1.0) 34 34 ruby-macho (>= 2.3.0, < 3.0) 35 - xcodeproj (>= 1.21.0, < 2.0) 36 - cocoapods-core (1.12.1) 35 + xcodeproj (>= 1.23.0, < 2.0) 36 + cocoapods-core (1.13.0) 37 37 activesupport (>= 5.0, < 8) 38 38 addressable (~> 2.8) 39 39 algoliasearch (~> 1.0) ··· 62 62 fuzzy_match (2.0.4) 63 63 gh_inspector (1.1.3) 64 64 httpclient (2.8.3) 65 - i18n (1.13.0) 65 + i18n (1.14.1) 66 66 concurrent-ruby (~> 1.0) 67 67 json (2.6.3) 68 - minitest (5.18.0) 68 + minitest (5.20.0) 69 69 molinillo (0.8.0) 70 70 nanaimo (0.3.0) 71 71 nap (1.1.0) 72 72 netrc (0.11.0) 73 73 public_suffix (4.0.7) 74 - rexml (3.2.5) 74 + rexml (3.2.6) 75 75 ruby-macho (2.5.1) 76 76 typhoeus (1.4.0) 77 77 ethon (>= 0.9.0) 78 78 tzinfo (2.0.6) 79 79 concurrent-ruby (~> 1.0) 80 - xcodeproj (1.22.0) 80 + xcodeproj (1.23.0) 81 81 CFPropertyList (>= 2.3.3, < 4.0) 82 82 atomos (~> 0.1.3) 83 83 claide (>= 1.0.2, < 2.0)
+16 -16
pkgs/development/tools/cocoapods/gemset-beta.nix
··· 5 5 platforms = []; 6 6 source = { 7 7 remotes = ["https://rubygems.org"]; 8 - sha256 = "1c7k5i6531z5il4q1jnbrv7x7zcl3bgnxp5fzl71rzigk6zn53ym"; 8 + sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5"; 9 9 type = "gem"; 10 10 }; 11 - version = "7.0.5"; 11 + version = "7.0.8"; 12 12 }; 13 13 addressable = { 14 14 dependencies = ["public_suffix"]; ··· 16 16 platforms = []; 17 17 source = { 18 18 remotes = ["https://rubygems.org"]; 19 - sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20"; 19 + sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; 20 20 type = "gem"; 21 21 }; 22 - version = "2.8.4"; 22 + version = "2.8.5"; 23 23 }; 24 24 algoliasearch = { 25 25 dependencies = ["httpclient" "json"]; ··· 69 69 platforms = []; 70 70 source = { 71 71 remotes = ["https://rubygems.org"]; 72 - sha256 = "0c25gpi6vrv4fvhwfqscjq5pqqg3g3s3vjm6z8xmgbi9bl9m7ws8"; 72 + sha256 = "1mwcdg1i4126jf2qcsp4mhd1vqzqd8ck08wpyassz1sg0a8yxw4j"; 73 73 type = "gem"; 74 74 }; 75 - version = "1.12.1"; 75 + version = "1.13.0"; 76 76 }; 77 77 cocoapods-core = { 78 78 dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"]; ··· 80 80 platforms = []; 81 81 source = { 82 82 remotes = ["https://rubygems.org"]; 83 - sha256 = "03hz6i56603j3zlxy9is74bgs88isrnj9y7xc6wakr4c0m238hv9"; 83 + sha256 = "1g944vch2mllh8lijbfgl0c2kn9gi5vsg9y9v67x0qca5b1bx4id"; 84 84 type = "gem"; 85 85 }; 86 - version = "1.12.1"; 86 + version = "1.13.0"; 87 87 }; 88 88 cocoapods-deintegrate = { 89 89 groups = ["default"]; ··· 244 244 platforms = []; 245 245 source = { 246 246 remotes = ["https://rubygems.org"]; 247 - sha256 = "1yk33slipi3i1kydzrrchbi7cgisaxym6pgwlzx7ir8vjk6wl90x"; 247 + sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; 248 248 type = "gem"; 249 249 }; 250 - version = "1.13.0"; 250 + version = "1.14.1"; 251 251 }; 252 252 json = { 253 253 groups = ["default"]; ··· 264 264 platforms = []; 265 265 source = { 266 266 remotes = ["https://rubygems.org"]; 267 - sha256 = "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06"; 267 + sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; 268 268 type = "gem"; 269 269 }; 270 - version = "5.18.0"; 270 + version = "5.20.0"; 271 271 }; 272 272 molinillo = { 273 273 groups = ["default"]; ··· 324 324 platforms = []; 325 325 source = { 326 326 remotes = ["https://rubygems.org"]; 327 - sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; 327 + sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; 328 328 type = "gem"; 329 329 }; 330 - version = "3.2.5"; 330 + version = "3.2.6"; 331 331 }; 332 332 ruby-macho = { 333 333 groups = ["default"]; ··· 367 367 platforms = []; 368 368 source = { 369 369 remotes = ["https://rubygems.org"]; 370 - sha256 = "1s7hxaqd1fi4rlmm2jbrglyvka1r95frlxan61vfcnd8n6pxynpi"; 370 + sha256 = "176ndahc5fssyx04q176vy6wngs1av4vrsdrkdpjij700hqll8hn"; 371 371 type = "gem"; 372 372 }; 373 - version = "1.22.0"; 373 + version = "1.23.0"; 374 374 }; 375 375 }
+16 -16
pkgs/development/tools/cocoapods/gemset.nix
··· 5 5 platforms = []; 6 6 source = { 7 7 remotes = ["https://rubygems.org"]; 8 - sha256 = "1c7k5i6531z5il4q1jnbrv7x7zcl3bgnxp5fzl71rzigk6zn53ym"; 8 + sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5"; 9 9 type = "gem"; 10 10 }; 11 - version = "7.0.5"; 11 + version = "7.0.8"; 12 12 }; 13 13 addressable = { 14 14 dependencies = ["public_suffix"]; ··· 16 16 platforms = []; 17 17 source = { 18 18 remotes = ["https://rubygems.org"]; 19 - sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20"; 19 + sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; 20 20 type = "gem"; 21 21 }; 22 - version = "2.8.4"; 22 + version = "2.8.5"; 23 23 }; 24 24 algoliasearch = { 25 25 dependencies = ["httpclient" "json"]; ··· 67 67 platforms = []; 68 68 source = { 69 69 remotes = ["https://rubygems.org"]; 70 - sha256 = "0c25gpi6vrv4fvhwfqscjq5pqqg3g3s3vjm6z8xmgbi9bl9m7ws8"; 70 + sha256 = "1mwcdg1i4126jf2qcsp4mhd1vqzqd8ck08wpyassz1sg0a8yxw4j"; 71 71 type = "gem"; 72 72 }; 73 - version = "1.12.1"; 73 + version = "1.13.0"; 74 74 }; 75 75 cocoapods-core = { 76 76 dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"]; ··· 78 78 platforms = []; 79 79 source = { 80 80 remotes = ["https://rubygems.org"]; 81 - sha256 = "03hz6i56603j3zlxy9is74bgs88isrnj9y7xc6wakr4c0m238hv9"; 81 + sha256 = "1g944vch2mllh8lijbfgl0c2kn9gi5vsg9y9v67x0qca5b1bx4id"; 82 82 type = "gem"; 83 83 }; 84 - version = "1.12.1"; 84 + version = "1.13.0"; 85 85 }; 86 86 cocoapods-deintegrate = { 87 87 groups = ["default"]; ··· 232 232 platforms = []; 233 233 source = { 234 234 remotes = ["https://rubygems.org"]; 235 - sha256 = "1yk33slipi3i1kydzrrchbi7cgisaxym6pgwlzx7ir8vjk6wl90x"; 235 + sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; 236 236 type = "gem"; 237 237 }; 238 - version = "1.13.0"; 238 + version = "1.14.1"; 239 239 }; 240 240 json = { 241 241 groups = ["default"]; ··· 252 252 platforms = []; 253 253 source = { 254 254 remotes = ["https://rubygems.org"]; 255 - sha256 = "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06"; 255 + sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3"; 256 256 type = "gem"; 257 257 }; 258 - version = "5.18.0"; 258 + version = "5.20.0"; 259 259 }; 260 260 molinillo = { 261 261 groups = ["default"]; ··· 308 308 platforms = []; 309 309 source = { 310 310 remotes = ["https://rubygems.org"]; 311 - sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; 311 + sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; 312 312 type = "gem"; 313 313 }; 314 - version = "3.2.5"; 314 + version = "3.2.6"; 315 315 }; 316 316 ruby-macho = { 317 317 groups = ["default"]; ··· 351 351 platforms = []; 352 352 source = { 353 353 remotes = ["https://rubygems.org"]; 354 - sha256 = "1s7hxaqd1fi4rlmm2jbrglyvka1r95frlxan61vfcnd8n6pxynpi"; 354 + sha256 = "176ndahc5fssyx04q176vy6wngs1av4vrsdrkdpjij700hqll8hn"; 355 355 type = "gem"; 356 356 }; 357 - version = "1.22.0"; 357 + version = "1.23.0"; 358 358 }; 359 359 }
+1 -1
pkgs/development/tools/database/beekeeper-studio/default.nix
··· 8 8 src = fetchurl { 9 9 url = "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/v${version}/Beekeeper-Studio-${version}.AppImage"; 10 10 name = "${pname}-${version}.AppImage"; 11 - sha512 = "sha512-an4Gqx2mx/rnkLe/LUAz3qRdrqWBcrWcdCiNi8Hz1OKBp1SWN3acU8RppIM0uwlrcBkjnigbbM5DZ2o+svA23A=="; 11 + hash = "sha512-an4Gqx2mx/rnkLe/LUAz3qRdrqWBcrWcdCiNi8Hz1OKBp1SWN3acU8RppIM0uwlrcBkjnigbbM5DZ2o+svA23A=="; 12 12 }; 13 13 14 14 appimageContents = appimageTools.extractType2 {
+3 -3
pkgs/development/tools/database/prqlc/default.nix
··· 12 12 13 13 rustPlatform.buildRustPackage rec { 14 14 pname = "prqlc"; 15 - version = "0.9.4"; 15 + version = "0.9.5"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "prql"; 19 19 repo = "prql"; 20 20 rev = version; 21 - hash = "sha256-9BDBuAaer92BAwQexkZOyt99VXEbJT6/87DoCqVzjcQ="; 21 + hash = "sha256-t/l1fMZpGCLtxjCtOMv4eaj6oNyFX9BFgfc3OwYrxs0="; 22 22 }; 23 23 24 - cargoHash = "sha256-LeMl9t2ZYsBFuGnxJVvfmnjKFVIVO8ChmXQhXcSYV6s="; 24 + cargoHash = "sha256-bdPjLOHh5qC1/LNfsUC26h4v3EuwiM9HqoQxeeNCOIw="; 25 25 26 26 nativeBuildInputs = [ 27 27 pkg-config
+6 -6
pkgs/development/tools/misc/kibana/7.x.nix
··· 15 15 info = lib.splitString "-" stdenv.hostPlatform.system; 16 16 arch = elemAt info 0; 17 17 plat = elemAt info 1; 18 - shas = 18 + hashes = 19 19 { 20 - x86_64-linux = "d3d5e8906e64ae3c469e4df80e1c692ce1912e36f68ddf36b99b7019faf34aebaa329061904a6d2b6a32486c6e19d1c5f2ea30c25479a7960ed93bc1c0cb1691"; 21 - x86_64-darwin = "72a4499efbbbdf425f92beafc1b1d416e66e6ded60e76d9c9af9c3c13ce11862ba54dffbfbd5cbdef6afaad50f0d57532d3524f83acd88840aecc6891f748732"; 22 - aarch64-linux = "ce1b584e1cf98f8fb0e602352564a71efef4f53936dde7a056caed62675a6216624f0db2bc24d8239b8d01f06306bf173dda7a08a1787ba061db01ca0d88359a"; 23 - aarch64-darwin = "72a4499efbbbdf425f92beafc1b1d416e66e6ded60e76d9c9af9c3c13ce11862ba54dffbfbd5cbdef6afaad50f0d57532d3524f83acd88840aecc6891f748732"; 20 + x86_64-linux = "sha512-09XokG5krjxGnk34DhxpLOGRLjb2jd82uZtwGfrzSuuqMpBhkEptK2oySGxuGdHF8uowwlR5p5YO2TvBwMsWkQ=="; 21 + x86_64-darwin = "sha512-cqRJnvu730Jfkr6vwbHUFuZube1g522cmvnDwTzhGGK6VN/7+9XL3vavqtUPDVdTLTUk+DrNiIQK7MaJH3SHMg=="; 22 + aarch64-linux = "sha512-zhtYThz5j4+w5gI1JWSnHv709Tk23eegVsrtYmdaYhZiTw2yvCTYI5uNAfBjBr8XPdp6CKF4e6Bh2wHKDYg1mg=="; 23 + aarch64-darwin = "sha512-cqRJnvu730Jfkr6vwbHUFuZube1g522cmvnDwTzhGGK6VN/7+9XL3vavqtUPDVdTLTUk+DrNiIQK7MaJH3SHMg=="; 24 24 }; 25 25 26 26 in stdenv.mkDerivation rec { ··· 29 29 30 30 src = fetchurl { 31 31 url = "https://artifacts.elastic.co/downloads/kibana/${pname}-${version}-${plat}-${arch}.tar.gz"; 32 - sha512 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); 32 + hash = hashes.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); 33 33 }; 34 34 35 35 patches = [
+4 -4
pkgs/development/tools/misc/rsonpath/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage rec { 7 7 pname = "rsonpath"; 8 - version = "0.8.1"; 8 + version = "0.8.2"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "v0ldek"; 12 12 repo = "rsonpath"; 13 13 rev = "v${version}"; 14 - hash = "sha256-xLDKTvlKPhJhGPmLmKaoTnzGABEgOU/qNDODJDlqmHs="; 14 + hash = "sha256-3/xhYfo23aps3UjjUEcuLYg8JALfIpbCf6LO0F2IS20="; 15 15 }; 16 16 17 - cargoHash = "sha256-lZ4A35WwQws39OJXePdoxItHYAE8EvqTLX7i8r7fW4o="; 17 + cargoHash = "sha256-2HVPqSkQU90ZAFG0tPbysCVIkd433fpTtTO1y4+ZUTU="; 18 18 19 19 cargoBuildFlags = [ "-p=rsonpath" ]; 20 20 cargoTestFlags = cargoBuildFlags; 21 21 22 22 meta = with lib; { 23 - description = "Blazing fast Rust JSONPath query engine"; 23 + description = "Experimental JSONPath engine for querying massive streamed datasets"; 24 24 homepage = "https://github.com/v0ldek/rsonpath"; 25 25 changelog = "https://github.com/v0ldek/rsonpath/blob/${src.rev}/CHANGELOG.md"; 26 26 license = licenses.mit;
-58
pkgs/development/tools/rome/default.nix
··· 1 - { lib 2 - , rustPlatform 3 - , fetchFromGitHub 4 - , pkg-config 5 - , stdenv 6 - , darwin 7 - , nix-update-script 8 - }: 9 - 10 - rustPlatform.buildRustPackage rec { 11 - pname = "rome"; 12 - version = "12.1.3"; 13 - 14 - src = fetchFromGitHub { 15 - owner = "rome"; 16 - repo = "tools"; 17 - rev = "cli/v${version}"; 18 - hash = "sha256-BlHpdfbyx6nU44vasEw0gRZ0ickyD2eUXPfeFZHSCbI="; 19 - }; 20 - 21 - cargoHash = "sha256-jHdoRymKPjBonT4TvAiTNzGBuTcNoPsvdFKEf33dpVc="; 22 - 23 - cargoBuildFlags = [ "--package" "rome_cli" ]; 24 - 25 - env = { 26 - RUSTFLAGS = "-C strip=symbols"; 27 - ROME_VERSION = version; 28 - }; 29 - 30 - buildInputs = 31 - lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; 32 - 33 - nativeBuildInputs = [ pkg-config ]; 34 - 35 - # need to manually unset the ROME_VERSION before checkPhase otherwise some tests fail 36 - preCheck = '' 37 - unset ROME_VERSION; 38 - ''; 39 - 40 - # these test fail 41 - checkFlags = [ 42 - "--skip parser::tests::uncompleted_markers_panic" 43 - "--skip commands::check::fs_error_infinite_symlink_exapansion" 44 - "--skip commands::check::fs_error_dereferenced_symlink" 45 - ]; 46 - 47 - passthru.updateScript = nix-update-script { 48 - extraArgs = [ "--version-regex" "cli%2Fv(.*)" ]; 49 - }; 50 - 51 - meta = with lib; { 52 - description = "A formatter, linter, bundler, and more for JavaScript, TypeScript, JSON, HTML, Markdown, and CSS"; 53 - homepage = "https://rome.tools"; 54 - changelog = "https://github.com/rome/tools/blob/${src.rev}/CHANGELOG.md"; 55 - license = licenses.mit; 56 - maintainers = with maintainers; [ dit7ya felschr ]; 57 - }; 58 - }
+3 -3
pkgs/development/tools/rust/cargo-expand/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage rec { 7 7 pname = "cargo-expand"; 8 - version = "1.0.70"; 8 + version = "1.0.71"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "dtolnay"; 12 12 repo = pname; 13 13 rev = version; 14 - sha256 = "sha256-Fnxe53YOoCiW9hIPU7dWpJoA/PnfnvRPkHiWM+4yMu8="; 14 + sha256 = "sha256-q5mWB68RB1TfrS02iIAjFR1XtMvzQG90okkuHB+06iA="; 15 15 }; 16 16 17 - cargoHash = "sha256-zbn3pfU8r3p3Czetjg2ueItaMtYyPhksNIe7EdxJdLU="; 17 + cargoHash = "sha256-4XeSjittxHdYj3N/1HT5QJbMD3lRmV77LBFIXcNQlLY="; 18 18 19 19 meta = with lib; { 20 20 description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code";
+4 -4
pkgs/development/tools/rust/cargo-llvm-cov/default.nix
··· 25 25 26 26 let 27 27 pname = "cargo-llvm-cov"; 28 - version = "0.5.31"; 28 + version = "0.5.32"; 29 29 30 30 owner = "taiki-e"; 31 31 homepage = "https://github.com/${owner}/${pname}"; ··· 36 36 cargoLock = fetchurl { 37 37 name = "Cargo.lock"; 38 38 url = "https://crates.io/api/v1/crates/${pname}/${version}/download"; 39 - sha256 = "sha256-BbrdyJgZSIz6GaTdQv1GiFHufRBSbcoHcqqEmr/HvAM="; 39 + sha256 = "sha256-8waZZyEvdPBJo722/FOQtarJdWR3FPZv9Cw2Pf/waqs="; 40 40 downloadToTemp = true; 41 41 postFetch = '' 42 42 tar xzf $downloadedFile ${pname}-${version}/Cargo.lock ··· 54 54 inherit owner; 55 55 repo = pname; 56 56 rev = "v${version}"; 57 - sha256 = "sha256-wRo94JVn4InkhrMHFSsEvm2FFIxUsltA57sMMOcL8b0="; 57 + sha256 = "sha256-aG6XNIgSTdce62gQMG3pNIKtP+jQUmVx+7NdHOkvmlQ="; 58 58 }; 59 59 60 60 # Upstream doesn't include the lockfile so we need to add it back ··· 62 62 cp ${cargoLock} source/Cargo.lock 63 63 ''; 64 64 65 - cargoSha256 = "sha256-XcsognndhHenYnlJCNMbrNh+S8FX7qxXUjuV1j2qsmY="; 65 + cargoSha256 = "sha256-jUrjGH1c4i+lOv5wHiNQwZifZh7uTVuu2NCSGtK0ohc="; 66 66 67 67 # `cargo-llvm-cov` reads these environment variables to find these binaries, 68 68 # which are needed to run the tests
+3 -3
pkgs/development/tools/rust/cargo-llvm-lines/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "cargo-llvm-lines"; 5 - version = "0.4.33"; 5 + version = "0.4.34"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "dtolnay"; 9 9 repo = pname; 10 10 rev = version; 11 - hash = "sha256-EgUnVnSELdiRU63saQ0o2IE4vs6tcQ/AfE4aMyegJBk="; 11 + hash = "sha256-O8f5eSoc02IpSkLbrJPCU7w4+SgabfCDwn/scqKuzU0="; 12 12 }; 13 13 14 - cargoHash = "sha256-zq95Dzcbz08/8lumAyTfSzCEHCWWlp8Fw7R6fnfTOrk="; 14 + cargoHash = "sha256-e128ndvEcf/7wUAup25zMq7ufaWKiXNbAHzVbEGZlNU="; 15 15 16 16 meta = with lib; { 17 17 description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
+1 -1
pkgs/development/web/bloomrpc/default.nix
··· 7 7 src = fetchurl { 8 8 url = "https://github.com/uw-labs/${pname}/releases/download/${version}/BloomRPC-${version}.AppImage"; 9 9 name = "${pname}-${version}.AppImage"; 10 - sha512 = "PebdYDpcplPN5y3mRu1mG6CXenYfYvBXNLgIGEr7ZgKnR5pIaOfJNORSNYSdagdGDb/B1sxuKfX4+4f2cqgb6Q=="; 10 + hash = "sha512-PebdYDpcplPN5y3mRu1mG6CXenYfYvBXNLgIGEr7ZgKnR5pIaOfJNORSNYSdagdGDb/B1sxuKfX4+4f2cqgb6Q=="; 11 11 }; 12 12 13 13 appimageContents = appimageTools.extractType2 {
+3 -3
pkgs/development/web/flyctl/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "flyctl"; 5 - version = "0.1.92"; 5 + version = "0.1.101"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "superfly"; 9 9 repo = "flyctl"; 10 10 rev = "v${version}"; 11 - hash = "sha256-uW87hlSwHMJ6SIfranaH383EKwvewfNKbuGA4znVEeg="; 11 + hash = "sha256-gXG8xgRF1AG/n4o2oDaYCVEOwjJLp6VMJ5LKPXu/gak="; 12 12 }; 13 13 14 - vendorHash = "sha256-Y1merBgVui0Ot3gb2UbTiLmxlaI4egbsI6vQJgF4mCE="; 14 + vendorHash = "sha256-RGA0tjvVo0uAFNqrEEYWejj0qwYxpiUZzExZHhMqItc="; 15 15 16 16 subPackages = [ "." ]; 17 17
+24 -24
pkgs/games/factorio/versions.json
··· 2 2 "x86_64-linux": { 3 3 "alpha": { 4 4 "experimental": { 5 - "name": "factorio_alpha_x64-1.1.89.tar.xz", 5 + "name": "factorio_alpha_x64-1.1.91.tar.xz", 6 6 "needsAuth": true, 7 - "sha256": "1mv3lnxw8ihja1zm0kh2ghxb551pknmzjlz58iqxpkhlqmn3qi1q", 7 + "sha256": "0dcanryqmikhllp8lwhdapbm9scrgfgnvgwdf18wn8asr652vz39", 8 8 "tarDirectory": "x64", 9 - "url": "https://factorio.com/get-download/1.1.89/alpha/linux64", 10 - "version": "1.1.89" 9 + "url": "https://factorio.com/get-download/1.1.91/alpha/linux64", 10 + "version": "1.1.91" 11 11 }, 12 12 "stable": { 13 - "name": "factorio_alpha_x64-1.1.87.tar.xz", 13 + "name": "factorio_alpha_x64-1.1.91.tar.xz", 14 14 "needsAuth": true, 15 - "sha256": "166mfblhxa6l3nglwwl77d1k3rkfcisp9bkps6y5zb2hmsmr00s6", 15 + "sha256": "0dcanryqmikhllp8lwhdapbm9scrgfgnvgwdf18wn8asr652vz39", 16 16 "tarDirectory": "x64", 17 - "url": "https://factorio.com/get-download/1.1.87/alpha/linux64", 18 - "version": "1.1.87" 17 + "url": "https://factorio.com/get-download/1.1.91/alpha/linux64", 18 + "version": "1.1.91" 19 19 } 20 20 }, 21 21 "demo": { 22 22 "experimental": { 23 - "name": "factorio_demo_x64-1.1.88.tar.xz", 23 + "name": "factorio_demo_x64-1.1.91.tar.xz", 24 24 "needsAuth": false, 25 - "sha256": "0m1rx7khfg3p0bj8gp30cqipwqjk1sjj13mzzxh67crwcjzxps9z", 25 + "sha256": "1j9nzc3rs9q43vh9i0jgpyhgnjjif98sdgk4r47m0qrxjb4pnfx0", 26 26 "tarDirectory": "x64", 27 - "url": "https://factorio.com/get-download/1.1.88/demo/linux64", 28 - "version": "1.1.88" 27 + "url": "https://factorio.com/get-download/1.1.91/demo/linux64", 28 + "version": "1.1.91" 29 29 }, 30 30 "stable": { 31 - "name": "factorio_demo_x64-1.1.87.tar.xz", 31 + "name": "factorio_demo_x64-1.1.91.tar.xz", 32 32 "needsAuth": false, 33 - "sha256": "1n5q4wgp2z18vpkvim8yxg4w9wc28mw9gfnqwq6fcwafz90xy9sq", 33 + "sha256": "1j9nzc3rs9q43vh9i0jgpyhgnjjif98sdgk4r47m0qrxjb4pnfx0", 34 34 "tarDirectory": "x64", 35 - "url": "https://factorio.com/get-download/1.1.87/demo/linux64", 36 - "version": "1.1.87" 35 + "url": "https://factorio.com/get-download/1.1.91/demo/linux64", 36 + "version": "1.1.91" 37 37 } 38 38 }, 39 39 "headless": { 40 40 "experimental": { 41 - "name": "factorio_headless_x64-1.1.89.tar.xz", 41 + "name": "factorio_headless_x64-1.1.91.tar.xz", 42 42 "needsAuth": false, 43 - "sha256": "1an4g5sry47xmlqr53jans75ngrp819b07rrq4xkzdzmka0lkrcq", 43 + "sha256": "0v8zg3q79n15242fr79f9amg0icw3giy4aiaf43am5hxzcdb5212", 44 44 "tarDirectory": "x64", 45 - "url": "https://factorio.com/get-download/1.1.89/headless/linux64", 46 - "version": "1.1.89" 45 + "url": "https://factorio.com/get-download/1.1.91/headless/linux64", 46 + "version": "1.1.91" 47 47 }, 48 48 "stable": { 49 - "name": "factorio_headless_x64-1.1.87.tar.xz", 49 + "name": "factorio_headless_x64-1.1.91.tar.xz", 50 50 "needsAuth": false, 51 - "sha256": "1k2pk0s2nf4xy168kzf798ha7x4zc5ijpvxp61xlq7xddm5qicv0", 51 + "sha256": "0v8zg3q79n15242fr79f9amg0icw3giy4aiaf43am5hxzcdb5212", 52 52 "tarDirectory": "x64", 53 - "url": "https://factorio.com/get-download/1.1.87/headless/linux64", 54 - "version": "1.1.87" 53 + "url": "https://factorio.com/get-download/1.1.91/headless/linux64", 54 + "version": "1.1.91" 55 55 } 56 56 } 57 57 }
+1 -1
pkgs/servers/http/bozohttpd/default.nix
··· 28 28 # http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/bozohttpd/distinfo 29 29 src = fetchurl { 30 30 url = "http://www.eterna.com.au/${pname}/${pname}-${version}.tar.bz2"; 31 - sha512 = "275b8fab3cf2e6c59721682cae952db95da5bd3b1f20680240c6cf1029463693f6feca047fbef5e3a3e7528b40b7b2e87b2a56fd800b612e679a16f24890e5b6"; 31 + hash = "sha512-J1uPqzzy5sWXIWgsrpUtuV2lvTsfIGgCQMbPEClGNpP2/soEf77146PnUotAt7LoeypW/YALYS5nmhbySJDltg=="; 32 32 }; 33 33 34 34 buildInputs = [ openssl libxcrypt ] ++ optional (luaSupport) lua;
+1 -1
pkgs/servers/http/tomcat/tomcat-native.nix
··· 6 6 7 7 src = fetchurl { 8 8 url = "mirror://apache/tomcat/tomcat-connectors/native/${version}/source/${pname}-${version}-src.tar.gz"; 9 - sha512 = "2aaa93f0acf3eb780d39faeda3ece3cf053d3b6e2918462f7183070e8ab32232e035e9062f7c07ceb621006d727d3596d9b4b948f4432b4f625327b72fdb0e49"; 9 + hash = "sha512-KqqT8Kzz63gNOfrto+zjzwU9O24pGEYvcYMHDoqzIjLgNekGL3wHzrYhAG1yfTWW2bS5SPRDK09iUye3L9sOSQ=="; 10 10 }; 11 11 12 12 sourceRoot = "${pname}-${version}-src/native";
+2 -2
pkgs/servers/jackett/default.nix
··· 9 9 10 10 buildDotnetModule rec { 11 11 pname = "jackett"; 12 - version = "0.21.798"; 12 + version = "0.21.866"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = pname; 16 16 repo = pname; 17 17 rev = "v${version}"; 18 - hash = "sha512-0GyfhVYs5YQXEYOxnCuOEhbwUAUYPvvXBIf4ylKkzZ7QKuiSYTDlPA+ArkaTQ4IRe7yesTsUMiSolWBOG8dtmw=="; 18 + hash = "sha512-ySiI3+E/elYnKX/5wYMT8hFJm4YNgQqH3MkXb9xJoTqg7/4Od+I+zUHqVavF2NtfVVJFOIa8ShgJhmODbp5VfQ=="; 19 19 }; 20 20 21 21 projectFile = "src/Jackett.Server/Jackett.Server.csproj";
+3 -3
pkgs/servers/nats-server/default.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "nats-server"; 9 - version = "2.9.22"; 9 + version = "2.10.1"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "nats-io"; 13 13 repo = pname; 14 14 rev = "v${version}"; 15 - hash = "sha256-ednQfVG1/A8zliJ6oHXvfjIP7EtAiwdVaUSNUdKwn+g="; 15 + hash = "sha256-gc1CGMlH5rSbq5Fr4MzMFP5FiS8nxip5JrIZsGQ/ad0="; 16 16 }; 17 17 18 - vendorHash = "sha256-B5za9EcnAytmt0p6oyvXjfeRamsslh+O7n2xMHooLSk="; 18 + vendorHash = "sha256-ZyqIMR9rhgJXHaLFXBj3wdXGuKt0ricwti9uN62QjCE="; 19 19 20 20 doCheck = false; 21 21
+6 -6
pkgs/servers/search/elasticsearch/7.x.nix
··· 16 16 info = splitString "-" stdenv.hostPlatform.system; 17 17 arch = elemAt info 0; 18 18 plat = elemAt info 1; 19 - shas = 19 + hashes = 20 20 { 21 - x86_64-linux = "7a2013e43c7fc39e86a31a733cc74c587ef2bba0c013f95ce874f98b488a4f8f0e6fb254a1eedd5c0b0e210aed9a0195f7358fa9653c890e234413ff93190807"; 22 - x86_64-darwin = "e6f49e7c0f59e260b3e3d43e57375c9352976c4f51118005e3a9127f41b59f95e51ea158cd318e99410e6d98464ea1f84432c905d12a84b8f68b2ce35905f944"; 23 - aarch64-linux = "f2790f49b79c381246bbf87431919452af93aa4fd8aa6bc9c1f9031e7ed5d9c649f5bab867c28a7d1602e2285d3f4a5f78f809ac05744b02ad67d68610bb677d"; 24 - aarch64-darwin = "75b66b60650bb82dc517f4a594fa40816d3becb92bf3b349f3e8324cc6b297c8bcacebc08e7661891fd4ede03a099fea56c1509291804dd03345717c36564172"; 21 + x86_64-linux = "sha512-eiAT5Dx/w56GoxpzPMdMWH7yu6DAE/lc6HT5i0iKT48Ob7JUoe7dXAsOIQrtmgGV9zWPqWU8iQ4jRBP/kxkIBw=="; 22 + x86_64-darwin = "sha512-5vSefA9Z4mCz49Q+Vzdck1KXbE9REYAF46kSf0G1n5XlHqFYzTGOmUEObZhGTqH4RDLJBdEqhLj2iyzjWQX5RA=="; 23 + aarch64-linux = "sha512-8nkPSbecOBJGu/h0MZGUUq+Tqk/YqmvJwfkDHn7V2cZJ9bq4Z8KKfRYC4ihdP0pfePgJrAV0SwKtZ9aGELtnfQ=="; 24 + aarch64-darwin = "sha512-dbZrYGULuC3FF/SllPpAgW077Lkr87NJ8+gyTMayl8i8rOvAjnZhiR/U7eA6CZ/qVsFQkpGATdAzRXF8NlZBcg=="; 25 25 }; 26 26 in 27 27 stdenv.mkDerivation rec { ··· 30 30 31 31 src = fetchurl { 32 32 url = "https://artifacts.elastic.co/downloads/elasticsearch/${pname}-${version}-${plat}-${arch}.tar.gz"; 33 - sha512 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); 33 + hash = hashes.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); 34 34 }; 35 35 36 36 patches = [ ./es-home-6.x.patch ];
+15 -6
pkgs/servers/x11/xorg/xwayland.nix
··· 19 19 , libXt 20 20 , libdrm 21 21 , libtirpc 22 - , libunwind 22 + , withLibunwind ? true, libunwind 23 23 , libxcb 24 24 , libxkbfile 25 25 , libxshmfence ··· 39 39 , xorgproto 40 40 , xtrans 41 41 , zlib 42 - , defaultFontPath ? "" }: 42 + , defaultFontPath ? "" 43 + , gitUpdater 44 + }: 43 45 44 46 stdenv.mkDerivation rec { 45 47 pname = "xwayland"; 46 - version = "23.2.0"; 48 + version = "23.2.1"; 47 49 48 50 src = fetchurl { 49 51 url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz"; 50 - sha256 = "sha256-fzPsKjTebmauG35Ehyw6IUYZKHLHGbms8ZKBTtur1MU="; 52 + sha256 = "sha256-7rwmksOqgGF9eEKLxux7kbJUqYIU0qcOmXCYUDzW75A="; 51 53 }; 52 54 53 55 depsBuildBuild = [ ··· 79 81 libXt 80 82 libdrm 81 83 libtirpc 82 - libunwind 83 84 libxcb 84 85 libxkbfile 85 86 libxshmfence ··· 93 94 xorgproto 94 95 xtrans 95 96 zlib 97 + ] ++ lib.optionals withLibunwind [ 98 + libunwind 96 99 ]; 97 100 mesonFlags = [ 98 101 (lib.mesonBool "xwayland_eglstream" true) ··· 101 104 (lib.mesonOption "xkb_bin_dir" "${xkbcomp}/bin") 102 105 (lib.mesonOption "xkb_dir" "${xkeyboard_config}/etc/X11/xkb") 103 106 (lib.mesonOption "xkb_output_dir" "${placeholder "out"}/share/X11/xkb/compiled") 104 - (lib.mesonBool "libunwind" (libunwind != null)) 107 + (lib.mesonBool "libunwind" withLibunwind) 105 108 ]; 109 + 110 + passthru.updateScript = gitUpdater { 111 + # No nicer place to find latest release. 112 + url = "https://gitlab.freedesktop.org/xorg/xserver.git"; 113 + rev-prefix = "xwayland-"; 114 + }; 106 115 107 116 meta = with lib; { 108 117 description = "An X server for interfacing X11 apps with the Wayland protocol";
+1 -1
pkgs/servers/zookeeper/default.nix
··· 10 10 11 11 src = fetchurl { 12 12 url = "mirror://apache/zookeeper/${pname}-${version}/apache-${pname}-${version}-bin.tar.gz"; 13 - sha512 = "sha512-kQNiilB0X6GiibymZv2kqcCOwXxVzxPmaIfnunbpPbrmCh8f/WwQeYvjoWBpNE7LwAzrspvwPZzXCWzNCY7QEQ=="; 13 + hash = "sha512-kQNiilB0X6GiibymZv2kqcCOwXxVzxPmaIfnunbpPbrmCh8f/WwQeYvjoWBpNE7LwAzrspvwPZzXCWzNCY7QEQ=="; 14 14 }; 15 15 16 16 nativeBuildInputs = [ makeWrapper ];
+55 -1
pkgs/test/nixpkgs-check-by-name/Cargo.lock
··· 243 243 checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" 244 244 245 245 [[package]] 246 + name = "lock_api" 247 + version = "0.4.10" 248 + source = "registry+https://github.com/rust-lang/crates.io-index" 249 + checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" 250 + dependencies = [ 251 + "autocfg", 252 + "scopeguard", 253 + ] 254 + 255 + [[package]] 246 256 name = "memchr" 247 257 version = "2.5.0" 248 258 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 267 277 "lazy_static", 268 278 "regex", 269 279 "rnix", 270 - "rowan", 271 280 "serde", 272 281 "serde_json", 282 + "temp-env", 273 283 "tempfile", 274 284 ] 275 285 ··· 280 290 checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 281 291 282 292 [[package]] 293 + name = "parking_lot" 294 + version = "0.12.1" 295 + source = "registry+https://github.com/rust-lang/crates.io-index" 296 + checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 297 + dependencies = [ 298 + "lock_api", 299 + "parking_lot_core", 300 + ] 301 + 302 + [[package]] 303 + name = "parking_lot_core" 304 + version = "0.9.8" 305 + source = "registry+https://github.com/rust-lang/crates.io-index" 306 + checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" 307 + dependencies = [ 308 + "cfg-if", 309 + "libc", 310 + "redox_syscall", 311 + "smallvec", 312 + "windows-targets", 313 + ] 314 + 315 + [[package]] 283 316 name = "proc-macro2" 284 317 version = "1.0.66" 285 318 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 383 416 checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 384 417 385 418 [[package]] 419 + name = "scopeguard" 420 + version = "1.2.0" 421 + source = "registry+https://github.com/rust-lang/crates.io-index" 422 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 423 + 424 + [[package]] 386 425 name = "serde" 387 426 version = "1.0.186" 388 427 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 414 453 ] 415 454 416 455 [[package]] 456 + name = "smallvec" 457 + version = "1.11.1" 458 + source = "registry+https://github.com/rust-lang/crates.io-index" 459 + checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" 460 + 461 + [[package]] 417 462 name = "strsim" 418 463 version = "0.10.0" 419 464 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 428 473 "proc-macro2", 429 474 "quote", 430 475 "unicode-ident", 476 + ] 477 + 478 + [[package]] 479 + name = "temp-env" 480 + version = "0.3.5" 481 + source = "registry+https://github.com/rust-lang/crates.io-index" 482 + checksum = "e010429b1f3ea1311190c658c7570100f03c1dab05c16cfab774181c648d656a" 483 + dependencies = [ 484 + "parking_lot", 431 485 ] 432 486 433 487 [[package]]
+3 -1
pkgs/test/nixpkgs-check-by-name/Cargo.toml
··· 5 5 6 6 [dependencies] 7 7 rnix = "0.11.0" 8 - rowan = "0.15.0" 9 8 regex = "1.9.3" 10 9 clap = { version = "4.3.23", features = ["derive"] } 11 10 serde_json = "1.0.105" ··· 14 13 anyhow = "1.0" 15 14 lazy_static = "1.4.0" 16 15 colored = "2.0.4" 16 + 17 + [dev-dependencies] 18 + temp-env = "0.3.5"
-3
pkgs/test/nixpkgs-check-by-name/default.nix
··· 30 30 # We'd run into https://github.com/NixOS/nix/issues/2706 unless the store is initialised first 31 31 nix-store --init 32 32 ''; 33 - # The tests use the shared environment variables, 34 - # so we cannot run them in parallel 35 - dontUseCargoParallelTests = true; 36 33 postCheck = '' 37 34 cargo fmt --check 38 35 cargo clippy -- -D warnings
+17 -24
pkgs/test/nixpkgs-check-by-name/src/main.rs
··· 87 87 use crate::check_nixpkgs; 88 88 use crate::structure; 89 89 use anyhow::Context; 90 - use std::env; 91 90 use std::fs; 92 91 use std::path::Path; 93 - use tempfile::{tempdir, tempdir_in}; 92 + use tempfile::{tempdir_in, TempDir}; 94 93 95 94 #[test] 96 95 fn tests_dir() -> anyhow::Result<()> { ··· 109 108 test_nixpkgs(&name, &path, &expected_errors)?; 110 109 } 111 110 Ok(()) 111 + } 112 + 113 + // tempfile::tempdir needs to be wrapped in temp_env lock 114 + // because it accesses TMPDIR environment variable. 115 + fn tempdir() -> anyhow::Result<TempDir> { 116 + let empty_list: [(&str, Option<&str>); 0] = []; 117 + Ok(temp_env::with_vars(empty_list, tempfile::tempdir)?) 112 118 } 113 119 114 120 // We cannot check case-conflicting files into Nixpkgs (the channel would fail to ··· 157 163 std::os::unix::fs::symlink("actual", temp_root.path().join("symlinked"))?; 158 164 let tmpdir = temp_root.path().join("symlinked"); 159 165 160 - // Then set TMPDIR to the symlinked directory 161 - // Make sure to persist the old value so we can undo this later 162 - let old_tmpdir = env::var("TMPDIR").ok(); 163 - env::set_var("TMPDIR", &tmpdir); 164 - 165 - // Then run a simple test with this symlinked temporary directory 166 - // This should be successful 167 - test_nixpkgs("symlinked_tmpdir", Path::new("tests/success"), "")?; 168 - 169 - // Undo the env variable change 170 - if let Some(old) = old_tmpdir { 171 - env::set_var("TMPDIR", old); 172 - } else { 173 - env::remove_var("TMPDIR"); 174 - } 175 - 176 - Ok(()) 166 + temp_env::with_var("TMPDIR", Some(&tmpdir), || { 167 + test_nixpkgs("symlinked_tmpdir", Path::new("tests/success"), "") 168 + }) 177 169 } 178 170 179 171 fn test_nixpkgs(name: &str, path: &Path, expected_errors: &str) -> anyhow::Result<()> { 180 172 let extra_nix_path = Path::new("tests/mock-nixpkgs.nix"); 181 173 182 174 // We don't want coloring to mess up the tests 183 - env::set_var("NO_COLOR", "1"); 184 - 185 - let mut writer = vec![]; 186 - check_nixpkgs(&path, vec![&extra_nix_path], &mut writer) 187 - .context(format!("Failed test case {name}"))?; 175 + let writer = temp_env::with_var("NO_COLOR", Some("1"), || -> anyhow::Result<_> { 176 + let mut writer = vec![]; 177 + check_nixpkgs(&path, vec![&extra_nix_path], &mut writer) 178 + .context(format!("Failed test case {name}"))?; 179 + Ok(writer) 180 + })?; 188 181 189 182 let actual_errors = String::from_utf8_lossy(&writer); 190 183
+8 -8
pkgs/tools/misc/logstash/7.x.nix
··· 13 13 info = lib.splitString "-" stdenv.hostPlatform.system; 14 14 arch = lib.elemAt info 0; 15 15 plat = lib.elemAt info 1; 16 - shas = 16 + hashes = 17 17 if enableUnfree 18 18 then { 19 - x86_64-linux = "5391bfef09c403a365518a3a8e8f075bb7974b137095b3c7fd2a0173cfa6dbd4a7451170a3657afef3e6a468e90a38d6e7a5b669799878f9389fa44ff8fee026"; 20 - x86_64-darwin = "8e3516b82329a47505358fb7eab486ca39423adc44a1f061c35f6ba225ac2f37330f2afc3e37eb652b6536e5ca35d77ac2485dec743fa8d99dd4fcc60bddbc21"; 21 - aarch64-linux = "06f91a5aabff0f86a4150de6c1fd02fb6d0a44b04ac660597cb4c8356cf1d22552aaa77899db42a49a5e35b3cad73be5d7bad8cacfb4b17e622949329cdf791a"; 19 + x86_64-linux = "sha512-U5G/7wnEA6NlUYo6jo8HW7eXSxNwlbPH/SoBc8+m29SnRRFwo2V6/vPmpGjpCjjW56W2aXmYePk4n6RP+P7gJg=="; 20 + x86_64-darwin = "sha512-jjUWuCMppHUFNY+36rSGyjlCOtxEofBhw19roiWsLzczDyr8PjfrZStlNuXKNdd6wkhd7HQ/qNmd1PzGC928IQ=="; 21 + aarch64-linux = "sha512-BvkaWqv/D4akFQ3mwf0C+20KRLBKxmBZfLTINWzx0iVSqqd4mdtCpJpeNbPK1zvl17rYys+0sX5iKUkynN95Gg=="; 22 22 } 23 23 else { 24 - x86_64-linux = "ba22c4c414f47515387bb28cc47612bea58aff97c407f2571863e83174a2bef273627f65dd531ed833e40668c79144a501d49c3ec691c1b1c4d8fb0cb124b052"; 25 - x86_64-darwin = "81a97ca06c086fac33f32e90124f649d5ddce09d649021020f434b75b5bff63065f9dc8aa267b72cedd581089bc24db12122f705ef8b69acf8f59f11771cbf77"; 26 - aarch64-linux = "64adb41a7a1b14b21d463b333f3f4470a4db9140e288d379bf79510c83091d5ca27e997961d757cee2329b85d16da6da8a1038a00aeabb1e74ab8f95b841ad0a"; 24 + x86_64-linux = "sha512-uiLExBT0dRU4e7KMxHYSvqWK/5fEB/JXGGPoMXSivvJzYn9l3VMe2DPkBmjHkUSlAdScPsaRwbHE2PsMsSSwUg=="; 25 + x86_64-darwin = "sha512-gal8oGwIb6wz8y6QEk9knV3c4J1kkCECD0NLdbW/9jBl+dyKome3LO3VgQibwk2xISL3Be+Laaz49Z8Rdxy/dw=="; 26 + aarch64-linux = "sha512-ZK20GnobFLIdRjszPz9EcKTbkUDiiNN5v3lRDIMJHVyifpl5YddXzuIym4XRbabaihA4oArqux50q4+VuEGtCg=="; 27 27 }; 28 28 this = stdenv.mkDerivation rec { 29 29 version = elk7Version; ··· 32 32 33 33 src = fetchurl { 34 34 url = "https://artifacts.elastic.co/downloads/logstash/${pname}-${version}-${plat}-${arch}.tar.gz"; 35 - sha512 = shas.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); 35 + hash = hashes.${stdenv.hostPlatform.system} or (throw "Unknown architecture"); 36 36 }; 37 37 38 38 dontBuild = true;
+3 -3
pkgs/tools/misc/star-history/default.nix
··· 9 9 10 10 rustPlatform.buildRustPackage rec { 11 11 pname = "star-history"; 12 - version = "1.0.14"; 12 + version = "1.0.15"; 13 13 14 14 src = fetchCrate { 15 15 inherit pname version; 16 - sha256 = "sha256-bdu0LLH6f5rLwzNw1wz0J9zEspYmAOlJYCWOdamWjyw="; 16 + sha256 = "sha256-9/r01j/47rbgmXQy9qVOeY1E3LDMe9A/1SOB2l9zpJU="; 17 17 }; 18 18 19 - cargoSha256 = "sha256-Z7zq93Orx7Mb2b9oZxAIPn6qObzYPGOx4N86naUvqtg="; 19 + cargoSha256 = "sha256-kUpGBtgircX8/fACed4WO7rHTCah+3BFuQQV/A5pivg="; 20 20 21 21 nativeBuildInputs = [ pkg-config ]; 22 22
+1 -1
pkgs/tools/security/beyond-identity/default.nix
··· 22 22 23 23 src = fetchurl { 24 24 url = "https://packages.beyondidentity.com/public/linux-authenticator/deb/ubuntu/pool/focal/main/b/be/${pname}_${version}/${pname}_${version}_amd64.deb"; 25 - sha512 = "sha512-JrHLf7KkJVbJLxx54OTvOSaIzY3+hjX+bpkeBHKX23YriCJssUUvEP6vlbI4r6gjMMFMhW92k0iikAgD1Tr4ug=="; 25 + hash = "sha512-JrHLf7KkJVbJLxx54OTvOSaIzY3+hjX+bpkeBHKX23YriCJssUUvEP6vlbI4r6gjMMFMhW92k0iikAgD1Tr4ug=="; 26 26 }; 27 27 28 28 nativeBuildInputs = [
+1 -1
pkgs/tools/system/journalwatch/default.nix
··· 9 9 owner = "The-Compiler"; 10 10 repo = pname; 11 11 rev = "v${version}"; 12 - sha512 = "11g2f1w9lfqw6zxxyg7qrqpb914s6w71j0gnpw7qr7cak2l5jlf2l39dlg30y55rw7jgmf0yg77wwzd0c430mq1n6q1v8w86g1rwkzb"; 12 + hash = "sha512-60+ewzOIox2wsQFXMAgD7XN+zvPA1ScPz6V4MB5taVDhqCxUTMVOxodf+4AMhxtNQloXZ3ye7/0bjh1NPDjxQg=="; 13 13 }; 14 14 15 15 # can be removed post 1.1.0
+3 -3
pkgs/tools/text/ov/default.nix
··· 10 10 11 11 buildGoModule rec { 12 12 pname = "ov"; 13 - version = "0.31.0"; 13 + version = "0.32.0"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "noborus"; 17 17 repo = "ov"; 18 18 rev = "refs/tags/v${version}"; 19 - hash = "sha256-UtYFr5eFdEU/oZqwy84W/GQiFrMPWRIomqgJY3P52Ws="; 19 + hash = "sha256-mQ1KwElD8RizOT2trHWo4T1QiZ974xwhQCCa5snpnZM="; 20 20 }; 21 21 22 - vendorHash = "sha256-0Gs/GFlAl+ttprAVq9NxRLYzP/U2PD4IrY+drSIWJ/c="; 22 + vendorHash = "sha256-XACdtJdACMKQ5gSJcjGAPNGPFL1Tbt6QOovl15mvFGI="; 23 23 24 24 ldflags = [ 25 25 "-s"
+1 -1
pkgs/tools/typesetting/lowdown/default.nix
··· 13 13 14 14 src = fetchurl { 15 15 url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz"; 16 - sha512 = "1cizrzmldi7lrgdkpn4b6skp1b5hz2jskkbcbv9k6lmz08clm02gyifh7fgd8j2rklqsim34n5ifyg83xhsjzd57xqjys1ccjdn3a5m"; 16 + hash = "sha512-tahhm2QsaC9xP6V9qWEf6HkXiyWjRo3pzEKi9tyBLvonQKUMgV+pmWkvtubUUnxYVrhTm0Xsne1lemKj9ecfWQ=="; 17 17 }; 18 18 19 19 nativeBuildInputs = [ which dieHook ]
+3
pkgs/top-level/aliases.nix
··· 1266 1266 openbazaar = throw "openbazzar has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06 1267 1267 openbazaar-client = throw "openbazzar-client has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06 1268 1268 opencascade_oce = throw "'opencascade_oce' has been renamed to/replaced by 'opencascade'"; # Converted to throw 2022-02-22 1269 + opencascade = throw "'opencascade' has been removed as it is unmaintained; consider opencascade-occt instead'"; # Added 2023-09-18 1269 1270 opencl-icd = throw "'opencl-icd' has been renamed to/replaced by 'ocl-icd'"; # Converted to throw 2022-02-22 1270 1271 openconnect_head = openconnect_unstable; # Added 2022-03-29 1271 1272 openconnect_gnutls = openconnect; # Added 2022-03-29 ··· 1579 1580 robomongo = throw "'robomongo' has been renamed to/replaced by 'robo3t'"; # Converted to throw 2022-02-22 1580 1581 rockbox_utility = rockbox-utility; # Added 2022-03-17 1581 1582 rocm-runtime-ext = throw "rocm-runtime-ext has been removed, since its functionality was added to rocm-runtime"; #added 2020-08-21 1583 + rome = throw "rome is no longer maintained, consider using biome instead"; # Added 2023-09-12 1582 1584 rpiboot-unstable = rpiboot; # Added 2021-07-30 1583 1585 rr-unstable = rr; # Added 2022-09-17 1584 1586 rssglx = throw "'rssglx' has been renamed to/replaced by 'rss-glx'"; # Converted to throw 2022-02-22 ··· 1654 1656 slurm-llnl = slurm; # renamed July 2017 1655 1657 slurm-llnl-full = slurm-full; # renamed July 2017 1656 1658 smbclient = throw "'smbclient' has been renamed to/replaced by 'samba'"; # Converted to throw 2022-02-22 1659 + smesh = throw "'smesh' has been removed as it's unmaintained and depends on opencascade-oce, which is also unmaintained"; # Added 2023-09-18 1657 1660 smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries"; # Added 2020-11-04 1658 1661 snack = throw "snack has been removed: broken for 5+ years"; # Added 2022-04-21 1659 1662 soldat-unstable = opensoldat; # Added 2022-07-02
+1 -21
pkgs/top-level/all-packages.nix
··· 13260 13260 13261 13261 smenu = callPackage ../tools/misc/smenu { }; 13262 13262 13263 - smesh = callPackage ../development/libraries/smesh { 13264 - inherit (darwin.apple_sdk.frameworks) Cocoa; 13265 - }; 13266 - 13267 13263 boost-sml = callPackage ../development/libraries/boost-ext/boost-sml { }; 13268 13264 13269 13265 smu = callPackage ../tools/text/smu { }; ··· 20164 20160 20165 20161 rolespec = callPackage ../development/tools/misc/rolespec { }; 20166 20162 20167 - rome = callPackage ../development/tools/rome { }; 20168 - 20169 20163 rr = callPackage ../development/tools/analysis/rr { }; 20170 20164 20171 20165 rsass = callPackage ../development/tools/misc/rsass { }; ··· 24468 24462 python = python3; 24469 24463 }; 24470 24464 24471 - opencascade = callPackage ../development/libraries/opencascade { 24472 - inherit (darwin.apple_sdk.frameworks) OpenCL Cocoa; 24473 - }; 24474 24465 opencascade-occt = callPackage ../development/libraries/opencascade-occt { }; 24475 24466 24476 24467 opencl-headers = callPackage ../development/libraries/opencl-headers { }; ··· 25667 25658 gtkVersion = "4"; 25668 25659 }; 25669 25660 25670 - vtk_8 = libsForQt5.callPackage ../development/libraries/vtk/8.x.nix { 25671 - stdenv = gcc9Stdenv; 25672 - inherit (darwin) libobjc; 25673 - inherit (darwin.apple_sdk.libs) xpc; 25674 - inherit (darwin.apple_sdk.frameworks) AGL Cocoa CoreServices DiskArbitration 25675 - IOKit CFNetwork Security ApplicationServices 25676 - CoreText IOSurface ImageIO OpenGL GLUT; 25677 - }; 25678 - 25679 - vtk_8_withQt5 = vtk_8.override { enableQt = true; }; 25680 - 25681 25661 vtk_9 = libsForQt5.callPackage ../development/libraries/vtk/9.x.nix { 25682 25662 inherit (darwin) libobjc; 25683 25663 inherit (darwin.apple_sdk.libs) xpc; ··· 33527 33507 33528 33508 lame = callPackage ../development/libraries/lame { }; 33529 33509 33530 - labwc = callPackage ../applications/window-managers/labwc { 33510 + labwc = callPackage ../by-name/la/labwc/package.nix { 33531 33511 wlroots = wlroots_0_16; 33532 33512 }; 33533 33513