Merge staging-next into staging

authored by github-actions[bot] and committed by GitHub aede2026 bfffecf3

+328 -214
+6
maintainers/maintainer-list.nix
··· 12091 githubId = 7512804; 12092 name = "Martin Langlotz"; 12093 }; 12094 steamwalker = { 12095 email = "steamwalker@xs4all.nl"; 12096 github = "steamwalker";
··· 12091 githubId = 7512804; 12092 name = "Martin Langlotz"; 12093 }; 12094 + stargate01 = { 12095 + email = "christoph.honal@web.de"; 12096 + github = "StarGate01"; 12097 + githubId = 6362238; 12098 + name = "Christoph Honal"; 12099 + }; 12100 steamwalker = { 12101 email = "steamwalker@xs4all.nl"; 12102 github = "steamwalker";
+4 -3
nixos/modules/installer/tools/get-version-suffix
··· 1 getVersion() { 2 local dir="$1" 3 rev= 4 - if [ -e "$dir/.git" ]; then 5 if [ -z "$(type -P git)" ]; then 6 echo "warning: Git not found; cannot figure out revision of $dir" >&2 7 return 8 fi 9 cd "$dir" 10 - rev=$(git rev-parse --short HEAD) 11 - if git describe --always --dirty | grep -q dirty; then 12 rev+=M 13 fi 14 fi
··· 1 getVersion() { 2 local dir="$1" 3 rev= 4 + gitDir="$dir/.git" 5 + if [ -e "$gitDir" ]; then 6 if [ -z "$(type -P git)" ]; then 7 echo "warning: Git not found; cannot figure out revision of $dir" >&2 8 return 9 fi 10 cd "$dir" 11 + rev=$(git --git-dir="$gitDir" rev-parse --short HEAD) 12 + if git --git-dir="$gitDir" describe --always --dirty | grep -q dirty; then 13 rev+=M 14 fi 15 fi
+46 -7
nixos/modules/services/misc/geoipupdate.nix
··· 2 3 let 4 cfg = config.services.geoipupdate; 5 in 6 { 7 imports = [ ··· 27 }; 28 29 settings = lib.mkOption { 30 description = '' 31 <productname>geoipupdate</productname> configuration 32 options. See 33 <link xlink:href="https://github.com/maxmind/geoipupdate/blob/main/doc/GeoIP.conf.md" /> 34 for a full list of available options. 35 ''; 36 type = lib.types.submodule { 37 freeformType = ··· 65 }; 66 67 LicenseKey = lib.mkOption { 68 - type = lib.types.path; 69 description = '' 70 - A file containing the <productname>MaxMind</productname> 71 - license key. 72 ''; 73 }; 74 75 DatabaseDirectory = lib.mkOption { ··· 102 systemd.services.geoipupdate-create-db-dir = { 103 serviceConfig.Type = "oneshot"; 104 script = '' 105 mkdir -p ${cfg.settings.DatabaseDirectory} 106 chmod 0755 ${cfg.settings.DatabaseDirectory} 107 ''; ··· 115 "network-online.target" 116 "nss-lookup.target" 117 ]; 118 wants = [ "network-online.target" ]; 119 startAt = cfg.interval; 120 serviceConfig = { 121 ExecStartPre = 122 let 123 geoipupdateKeyValue = lib.generators.toKeyValue { 124 mkKeyValue = lib.flip lib.generators.mkKeyValueDefault " " rec { 125 - mkValueString = v: with builtins; 126 if isInt v then toString v 127 else if isString v then v 128 else if true == v then "1" 129 else if false == v then "0" 130 else if isList v then lib.concatMapStringsSep " " mkValueString v 131 else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}"; 132 }; 133 }; 134 135 geoipupdateConf = pkgs.writeText "geoipupdate.conf" (geoipupdateKeyValue cfg.settings); 136 137 script = '' 138 chown geoip "${cfg.settings.DatabaseDirectory}" 139 140 cp ${geoipupdateConf} /run/geoipupdate/GeoIP.conf 141 - ${pkgs.replace-secret}/bin/replace-secret '${cfg.settings.LicenseKey}' \ 142 - '${cfg.settings.LicenseKey}' \ 143 - /run/geoipupdate/GeoIP.conf 144 ''; 145 in 146 "+${pkgs.writeShellScript "start-pre-full-privileges" script}";
··· 2 3 let 4 cfg = config.services.geoipupdate; 5 + inherit (builtins) isAttrs isString isInt isList typeOf hashString; 6 in 7 { 8 imports = [ ··· 28 }; 29 30 settings = lib.mkOption { 31 + example = lib.literalExpression '' 32 + { 33 + AccountID = 200001; 34 + DatabaseDirectory = "/var/lib/GeoIP"; 35 + LicenseKey = { _secret = "/run/keys/maxmind_license_key"; }; 36 + Proxy = "10.0.0.10:8888"; 37 + ProxyUserPassword = { _secret = "/run/keys/proxy_pass"; }; 38 + } 39 + ''; 40 description = '' 41 <productname>geoipupdate</productname> configuration 42 options. See 43 <link xlink:href="https://github.com/maxmind/geoipupdate/blob/main/doc/GeoIP.conf.md" /> 44 for a full list of available options. 45 + 46 + Settings containing secret data should be set to an 47 + attribute set containing the attribute 48 + <literal>_secret</literal> - a string pointing to a file 49 + containing the value the option should be set to. See the 50 + example to get a better picture of this: in the resulting 51 + <filename>GeoIP.conf</filename> file, the 52 + <literal>ProxyUserPassword</literal> key will be set to the 53 + contents of the 54 + <filename>/run/keys/proxy_pass</filename> file. 55 ''; 56 type = lib.types.submodule { 57 freeformType = ··· 85 }; 86 87 LicenseKey = lib.mkOption { 88 + type = with lib.types; either path (attrsOf path); 89 description = '' 90 + A file containing the 91 + <productname>MaxMind</productname> license key. 92 + 93 + Always handled as a secret whether the value is 94 + wrapped in a <literal>{ _secret = ...; }</literal> 95 + attrset or not (refer to <xref 96 + linkend="opt-services.geoipupdate.settings" /> for 97 + details). 98 ''; 99 + apply = x: if isAttrs x then x else { _secret = x; }; 100 }; 101 102 DatabaseDirectory = lib.mkOption { ··· 129 systemd.services.geoipupdate-create-db-dir = { 130 serviceConfig.Type = "oneshot"; 131 script = '' 132 + set -o errexit -o pipefail -o nounset -o errtrace 133 + shopt -s inherit_errexit 134 + 135 mkdir -p ${cfg.settings.DatabaseDirectory} 136 chmod 0755 ${cfg.settings.DatabaseDirectory} 137 ''; ··· 145 "network-online.target" 146 "nss-lookup.target" 147 ]; 148 + path = [ pkgs.replace-secret ]; 149 wants = [ "network-online.target" ]; 150 startAt = cfg.interval; 151 serviceConfig = { 152 ExecStartPre = 153 let 154 + isSecret = v: isAttrs v && v ? _secret && isString v._secret; 155 geoipupdateKeyValue = lib.generators.toKeyValue { 156 mkKeyValue = lib.flip lib.generators.mkKeyValueDefault " " rec { 157 + mkValueString = v: 158 if isInt v then toString v 159 else if isString v then v 160 else if true == v then "1" 161 else if false == v then "0" 162 else if isList v then lib.concatMapStringsSep " " mkValueString v 163 + else if isSecret v then hashString "sha256" v._secret 164 else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}"; 165 }; 166 }; 167 + secretPaths = lib.catAttrs "_secret" (lib.collect isSecret cfg.settings); 168 + mkSecretReplacement = file: '' 169 + replace-secret ${lib.escapeShellArgs [ (hashString "sha256" file) file "/run/geoipupdate/GeoIP.conf" ]} 170 + ''; 171 + secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths; 172 173 geoipupdateConf = pkgs.writeText "geoipupdate.conf" (geoipupdateKeyValue cfg.settings); 174 175 script = '' 176 + set -o errexit -o pipefail -o nounset -o errtrace 177 + shopt -s inherit_errexit 178 + 179 chown geoip "${cfg.settings.DatabaseDirectory}" 180 181 cp ${geoipupdateConf} /run/geoipupdate/GeoIP.conf 182 + ${secretReplacements} 183 ''; 184 in 185 "+${pkgs.writeShellScript "start-pre-full-privileges" script}";
+79 -84
nixos/modules/services/monitoring/parsedmarc.nix
··· 3 let 4 cfg = config.services.parsedmarc; 5 opt = options.services.parsedmarc; 6 - ini = pkgs.formats.ini {}; 7 in 8 { 9 options.services.parsedmarc = { ··· 107 }; 108 109 settings = lib.mkOption { 110 description = '' 111 Configuration parameters to set in 112 <filename>parsedmarc.ini</filename>. For a full list of 113 available parameters, see 114 <link xlink:href="https://domainaware.github.io/parsedmarc/#configuration-file" />. 115 ''; 116 117 type = lib.types.submodule { ··· 170 }; 171 172 password = lib.mkOption { 173 - type = with lib.types; nullOr path; 174 default = null; 175 description = '' 176 - The path to a file containing the IMAP server password. 177 ''; 178 }; 179 180 watch = lib.mkOption { ··· 228 }; 229 230 password = lib.mkOption { 231 - type = with lib.types; nullOr path; 232 default = null; 233 description = '' 234 - The path to a file containing the SMTP server password. 235 ''; 236 }; 237 238 from = lib.mkOption { ··· 274 }; 275 276 password = lib.mkOption { 277 - type = with lib.types; nullOr path; 278 default = null; 279 description = '' 280 - The path to a file containing the password to use when 281 - connecting to Elasticsearch, if required. 282 ''; 283 }; 284 285 ssl = lib.mkOption { ··· 299 ''; 300 }; 301 }; 302 - 303 - kafka = { 304 - hosts = lib.mkOption { 305 - default = []; 306 - type = with lib.types; listOf str; 307 - apply = x: if x == [] then null else lib.concatStringsSep "," x; 308 - description = '' 309 - A list of Apache Kafka hosts to publish parsed reports 310 - to. 311 - ''; 312 - }; 313 - 314 - user = lib.mkOption { 315 - type = with lib.types; nullOr str; 316 - default = null; 317 - description = '' 318 - Username to use when connecting to Kafka, if 319 - required. 320 - ''; 321 - }; 322 - 323 - password = lib.mkOption { 324 - type = with lib.types; nullOr path; 325 - default = null; 326 - description = '' 327 - The path to a file containing the password to use when 328 - connecting to Kafka, if required. 329 - ''; 330 - }; 331 - 332 - ssl = lib.mkOption { 333 - type = with lib.types; nullOr bool; 334 - default = null; 335 - description = '' 336 - Whether to use an encrypted SSL/TLS connection. 337 - ''; 338 - }; 339 - 340 - aggregate_topic = lib.mkOption { 341 - type = with lib.types; nullOr str; 342 - default = null; 343 - example = "aggregate"; 344 - description = '' 345 - The Kafka topic to publish aggregate reports on. 346 - ''; 347 - }; 348 - 349 - forensic_topic = lib.mkOption { 350 - type = with lib.types; nullOr str; 351 - default = null; 352 - example = "forensic"; 353 - description = '' 354 - The Kafka topic to publish forensic reports on. 355 - ''; 356 - }; 357 - }; 358 - 359 }; 360 361 }; ··· 404 enable = cfg.provision.grafana.datasource || cfg.provision.grafana.dashboard; 405 datasources = 406 let 407 - pkgVer = lib.getVersion config.services.elasticsearch.package; 408 - esVersion = 409 - if lib.versionOlder pkgVer "7" then 410 - "60" 411 - else if lib.versionOlder pkgVer "8" then 412 - "70" 413 - else 414 - throw "When provisioning parsedmarc grafana datasources: unknown Elasticsearch version."; 415 in 416 lib.mkIf cfg.provision.grafana.datasource [ 417 { 418 name = "dmarc-ag"; 419 type = "elasticsearch"; 420 access = "proxy"; 421 - url = "localhost:9200"; 422 jsonData = { 423 timeField = "date_range"; 424 inherit esVersion; ··· 428 name = "dmarc-fo"; 429 type = "elasticsearch"; 430 access = "proxy"; 431 - url = "localhost:9200"; 432 jsonData = { 433 timeField = "date_range"; 434 inherit esVersion; ··· 467 # lists, empty attrsets and null. This makes it possible to 468 # list interesting options in `settings` without them always 469 # ending up in the resulting config. 470 - filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! builtins.elem v [ null [] {} ])) cfg.settings; 471 parsedmarcConfig = ini.generate "parsedmarc.ini" filteredConfig; 472 - mkSecretReplacement = file: 473 - lib.optionalString (file != null) '' 474 - replace-secret '${file}' '${file}' /run/parsedmarc/parsedmarc.ini 475 - ''; 476 in 477 { 478 wantedBy = [ "multi-user.target" ]; ··· 487 umask u=rwx,g=,o= 488 cp ${parsedmarcConfig} /run/parsedmarc/parsedmarc.ini 489 chown parsedmarc:parsedmarc /run/parsedmarc/parsedmarc.ini 490 - ${mkSecretReplacement cfg.settings.smtp.password} 491 - ${mkSecretReplacement cfg.settings.imap.password} 492 - ${mkSecretReplacement cfg.settings.elasticsearch.password} 493 - ${mkSecretReplacement cfg.settings.kafka.password} 494 '' + lib.optionalString cfg.provision.localMail.enable '' 495 openssl rand -hex 64 >/run/parsedmarc/dmarc_user_passwd 496 replace-secret '@imap-password@' '/run/parsedmarc/dmarc_user_passwd' /run/parsedmarc/parsedmarc.ini
··· 3 let 4 cfg = config.services.parsedmarc; 5 opt = options.services.parsedmarc; 6 + isSecret = v: isAttrs v && v ? _secret && isString v._secret; 7 + ini = pkgs.formats.ini { 8 + mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" rec { 9 + mkValueString = v: 10 + if isInt v then toString v 11 + else if isString v then v 12 + else if true == v then "True" 13 + else if false == v then "False" 14 + else if isSecret v then hashString "sha256" v._secret 15 + else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}"; 16 + }; 17 + }; 18 + inherit (builtins) elem isAttrs isString isInt isList typeOf hashString; 19 in 20 { 21 options.services.parsedmarc = { ··· 119 }; 120 121 settings = lib.mkOption { 122 + example = lib.literalExpression '' 123 + { 124 + imap = { 125 + host = "imap.example.com"; 126 + user = "alice@example.com"; 127 + password = { _secret = "/run/keys/imap_password" }; 128 + watch = true; 129 + }; 130 + splunk_hec = { 131 + url = "https://splunkhec.example.com"; 132 + token = { _secret = "/run/keys/splunk_token" }; 133 + index = "email"; 134 + }; 135 + } 136 + ''; 137 description = '' 138 Configuration parameters to set in 139 <filename>parsedmarc.ini</filename>. For a full list of 140 available parameters, see 141 <link xlink:href="https://domainaware.github.io/parsedmarc/#configuration-file" />. 142 + 143 + Settings containing secret data should be set to an attribute 144 + set containing the attribute <literal>_secret</literal> - a 145 + string pointing to a file containing the value the option 146 + should be set to. See the example to get a better picture of 147 + this: in the resulting <filename>parsedmarc.ini</filename> 148 + file, the <literal>splunk_hec.token</literal> key will be set 149 + to the contents of the 150 + <filename>/run/keys/splunk_token</filename> file. 151 ''; 152 153 type = lib.types.submodule { ··· 206 }; 207 208 password = lib.mkOption { 209 + type = with lib.types; nullOr (either path (attrsOf path)); 210 default = null; 211 description = '' 212 + The IMAP server password. 213 + 214 + Always handled as a secret whether the value is 215 + wrapped in a <literal>{ _secret = ...; }</literal> 216 + attrset or not (refer to <xref 217 + linkend="opt-services.parsedmarc.settings" /> for 218 + details). 219 ''; 220 + apply = x: if isAttrs x || x == null then x else { _secret = x; }; 221 }; 222 223 watch = lib.mkOption { ··· 271 }; 272 273 password = lib.mkOption { 274 + type = with lib.types; nullOr (either path (attrsOf path)); 275 default = null; 276 description = '' 277 + The SMTP server password. 278 + 279 + Always handled as a secret whether the value is 280 + wrapped in a <literal>{ _secret = ...; }</literal> 281 + attrset or not (refer to <xref 282 + linkend="opt-services.parsedmarc.settings" /> for 283 + details). 284 ''; 285 + apply = x: if isAttrs x || x == null then x else { _secret = x; }; 286 }; 287 288 from = lib.mkOption { ··· 324 }; 325 326 password = lib.mkOption { 327 + type = with lib.types; nullOr (either path (attrsOf path)); 328 default = null; 329 description = '' 330 + The password to use when connecting to Elasticsearch, 331 + if required. 332 + 333 + Always handled as a secret whether the value is 334 + wrapped in a <literal>{ _secret = ...; }</literal> 335 + attrset or not (refer to <xref 336 + linkend="opt-services.parsedmarc.settings" /> for 337 + details). 338 ''; 339 + apply = x: if isAttrs x || x == null then x else { _secret = x; }; 340 }; 341 342 ssl = lib.mkOption { ··· 356 ''; 357 }; 358 }; 359 }; 360 361 }; ··· 404 enable = cfg.provision.grafana.datasource || cfg.provision.grafana.dashboard; 405 datasources = 406 let 407 + esVersion = lib.getVersion config.services.elasticsearch.package; 408 in 409 lib.mkIf cfg.provision.grafana.datasource [ 410 { 411 name = "dmarc-ag"; 412 type = "elasticsearch"; 413 access = "proxy"; 414 + url = "http://localhost:9200"; 415 jsonData = { 416 timeField = "date_range"; 417 inherit esVersion; ··· 421 name = "dmarc-fo"; 422 type = "elasticsearch"; 423 access = "proxy"; 424 + url = "http://localhost:9200"; 425 jsonData = { 426 timeField = "date_range"; 427 inherit esVersion; ··· 460 # lists, empty attrsets and null. This makes it possible to 461 # list interesting options in `settings` without them always 462 # ending up in the resulting config. 463 + filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ null [] {} ])) cfg.settings; 464 + 465 + # Extract secrets (attributes set to an attrset with a 466 + # "_secret" key) from the settings and generate the commands 467 + # to run to perform the secret replacements. 468 + secretPaths = lib.catAttrs "_secret" (lib.collect isSecret filteredConfig); 469 parsedmarcConfig = ini.generate "parsedmarc.ini" filteredConfig; 470 + mkSecretReplacement = file: '' 471 + replace-secret ${lib.escapeShellArgs [ (hashString "sha256" file) file "/run/parsedmarc/parsedmarc.ini" ]} 472 + ''; 473 + secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths; 474 in 475 { 476 wantedBy = [ "multi-user.target" ]; ··· 485 umask u=rwx,g=,o= 486 cp ${parsedmarcConfig} /run/parsedmarc/parsedmarc.ini 487 chown parsedmarc:parsedmarc /run/parsedmarc/parsedmarc.ini 488 + ${secretReplacements} 489 '' + lib.optionalString cfg.provision.localMail.enable '' 490 openssl rand -hex 64 >/run/parsedmarc/dmarc_user_passwd 491 replace-secret '@imap-password@' '/run/parsedmarc/dmarc_user_passwd' /run/parsedmarc/parsedmarc.ini
+1 -1
pkgs/applications/audio/noisetorch/default.nix
··· 16 17 doCheck = false; 18 19 - ldflags = [ "-X main.version=${version}" "-X main.distribution=nix" ]; 20 21 subPackages = [ "." ]; 22
··· 16 17 doCheck = false; 18 19 + ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.distribution=nix" ]; 20 21 subPackages = [ "." ]; 22
+3 -3
pkgs/applications/audio/reaper/default.nix
··· 17 18 stdenv.mkDerivation rec { 19 pname = "reaper"; 20 - version = "6.47"; 21 22 src = fetchurl { 23 url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.hostPlatform.qemuArch}.tar.xz"; 24 hash = { 25 - x86_64-linux = "sha256-31HmIx/ohbrzu5uj8KOOZiHNCmXwng9h+fIGaJfYyqA="; 26 - aarch64-linux = "sha256-CMmcBpaZ6BEZJ1144aQhOJ/o2NrGD7/8aq+ObLVMXYE="; 27 }.${stdenv.hostPlatform.system}; 28 }; 29
··· 17 18 stdenv.mkDerivation rec { 19 pname = "reaper"; 20 + version = "6.61"; 21 22 src = fetchurl { 23 url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.hostPlatform.qemuArch}.tar.xz"; 24 hash = { 25 + x86_64-linux = "sha256-Lp2EVky1+ruc86LdMmvhZIisoYl0OxdkVnN3h/u09IQ="; 26 + aarch64-linux = "sha256-sPLCMA//xAdWXjY7++R6eLWS56Zi0u+9ju7JlICGvVc="; 27 }.${stdenv.hostPlatform.system}; 28 }; 29
+3 -9
pkgs/applications/backup/pika-backup/default.nix
··· 1 { lib 2 , stdenv 3 , fetchFromGitLab 4 - , fetchpatch 5 , rustPlatform 6 , substituteAll 7 , desktop-file-utils ··· 19 20 stdenv.mkDerivation rec { 21 pname = "pika-backup"; 22 - version = "0.4.0"; 23 24 src = fetchFromGitLab { 25 domain = "gitlab.gnome.org"; 26 owner = "World"; 27 repo = "pika-backup"; 28 rev = "v${version}"; 29 - hash = "sha256-vQ0hlwsrY0WOUc/ppleE+kKRGHPt/ScEChXrkukln3U="; 30 }; 31 32 cargoDeps = rustPlatform.fetchCargoTarball { 33 inherit src; 34 name = "${pname}-${version}"; 35 - hash = "sha256-IKUh5gkXTpmMToDaec+CpCIQqJjwJM2ZrmGQhZeTDsg="; 36 }; 37 38 patches = [ 39 (substituteAll { 40 src = ./borg-path.patch; 41 borg = "${borgbackup}/bin/borg"; 42 - }) 43 - (fetchpatch { 44 - name = "use-gtk4-update-icon-cache.patch"; 45 - url = "https://gitlab.gnome.org/World/pika-backup/-/merge_requests/64.patch"; 46 - hash = "sha256-AttGQGWealvTIvPwBl5M6FiC4Al/UD4/XckUAxM38SE="; 47 }) 48 ]; 49
··· 1 { lib 2 , stdenv 3 , fetchFromGitLab 4 , rustPlatform 5 , substituteAll 6 , desktop-file-utils ··· 18 19 stdenv.mkDerivation rec { 20 pname = "pika-backup"; 21 + version = "0.4.1"; 22 23 src = fetchFromGitLab { 24 domain = "gitlab.gnome.org"; 25 owner = "World"; 26 repo = "pika-backup"; 27 rev = "v${version}"; 28 + hash = "sha256-D5QkNgscvNaPEykbcR451Wx8Mvn7HTuQE/22lp95Kbo="; 29 }; 30 31 cargoDeps = rustPlatform.fetchCargoTarball { 32 inherit src; 33 name = "${pname}-${version}"; 34 + hash = "sha256-c4nYlPyc7D1AMOfHjhoDJox+i83+H1YKfWzR3i6bmng="; 35 }; 36 37 patches = [ 38 (substituteAll { 39 src = ./borg-path.patch; 40 borg = "${borgbackup}/bin/borg"; 41 }) 42 ]; 43
+2 -2
pkgs/applications/editors/vscode/extensions/default.nix
··· 739 mktplcRef = { 740 name = "theme-dracula"; 741 publisher = "dracula-theme"; 742 - version = "2.22.3"; 743 - sha256 = "0wni9sriin54ci8rly2s68lkfx8rj1cys6mgcizvps9sam6377w6"; 744 }; 745 meta = with lib; { 746 changelog = "https://marketplace.visualstudio.com/items/dracula-theme.theme-dracula/changelog";
··· 739 mktplcRef = { 740 name = "theme-dracula"; 741 publisher = "dracula-theme"; 742 + version = "2.24.2"; 743 + sha256 = "sha256-YNqWEIvlEI29mfPxOQVdd4db9G2qNodhz8B0MCAAWK8="; 744 }; 745 meta = with lib; { 746 changelog = "https://marketplace.visualstudio.com/items/dracula-theme.theme-dracula/changelog";
+2 -2
pkgs/applications/networking/appgate-sdp/default.nix
··· 87 in 88 stdenv.mkDerivation rec { 89 pname = "appgate-sdp"; 90 - version = "5.5.4"; 91 92 src = fetchurl { 93 url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb"; 94 - sha256 = "sha256-7qfgUYD7uPb+ZEierREVfnHoGz0/b/J+hcsX/duDFWU="; 95 }; 96 97 # just patch interpreter
··· 87 in 88 stdenv.mkDerivation rec { 89 pname = "appgate-sdp"; 90 + version = "5.5.5"; 91 92 src = fetchurl { 93 url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb"; 94 + sha256 = "sha256-eXcGHd3TGNFqjFQ+wSg4+1hF/6DJTPOs0ldjegFktGo="; 95 }; 96 97 # just patch interpreter
+6 -6
pkgs/applications/networking/browsers/chromium/upstream-info.json
··· 19 } 20 }, 21 "beta": { 22 - "version": "103.0.5060.53", 23 - "sha256": "00di0nw6h3kb0qp2wp3ny3zsar1ayn1lyx5zr28dl1h5cwaaxjqf", 24 - "sha256bin64": "01vzhhnngr6a7mm1y25ax8vhph6dl948fvkyhdhb9m4j5l4lcqj4", 25 "deps": { 26 "gn": { 27 - "version": "2022-05-11", 28 "url": "https://gn.googlesource.com/gn", 29 - "rev": "578a7fe4c3c6b0bc2ae1fd2e37f14857d09895bf", 30 - "sha256": "03dqfrdpf5xxl64dby3qmbwpzdq2gsa8g7xl438py3a629rgxg63" 31 } 32 } 33 },
··· 19 } 20 }, 21 "beta": { 22 + "version": "104.0.5112.20", 23 + "sha256": "0adzdk3m2l4pjlk82sqavwgxf6a5darbiwchmlrsxc58p9xxag4s", 24 + "sha256bin64": "1cm5k4gpxc0dn0vdqf3qwwf36pc77va9pnci84zcpaxx0jih7l9b", 25 "deps": { 26 "gn": { 27 + "version": "2022-06-08", 28 "url": "https://gn.googlesource.com/gn", 29 + "rev": "2ecd43a10266bd091c98e6dcde507c64f6a0dad3", 30 + "sha256": "1q06vsz9b4bb764wy1wy8n177z2pgpm97kq3rl1hmq185mz5fhra" 31 } 32 } 33 },
+58
pkgs/applications/networking/instant-messengers/briar-desktop/default.nix
···
··· 1 + { lib 2 + , stdenv 3 + , fetchzip 4 + , openjdk 5 + , makeWrapper 6 + , tor 7 + , p7zip 8 + , bash 9 + , writeScript 10 + }: 11 + let 12 + 13 + briar-tor = writeScript "briar-tor" '' 14 + #! ${bash}/bin/bash 15 + exec ${tor}/bin/tor "$@" 16 + ''; 17 + 18 + in 19 + stdenv.mkDerivation rec { 20 + pname = "briar-desktop"; 21 + version = "0.2.1-beta"; 22 + 23 + src = fetchzip { 24 + url = "https://code.briarproject.org/briar/briar-desktop/-/jobs/18424/artifacts/download?file_type=archive"; 25 + sha256 = "sha256-ivMbgo0+iZE4/Iffq9HUBErGIQMVLrRZUQ6R3V3X8II="; 26 + extension = "zip"; 27 + }; 28 + 29 + nativeBuildInputs = [ 30 + makeWrapper 31 + p7zip 32 + ]; 33 + 34 + installPhase = '' 35 + mkdir -p $out/{bin,lib} 36 + cp ${src}/briar-desktop.jar $out/lib/ 37 + makeWrapper ${openjdk}/bin/java $out/bin/briar-desktop \ 38 + --add-flags "-jar $out/lib/briar-desktop.jar" 39 + ''; 40 + 41 + fixupPhase = '' 42 + # Replace the embedded Tor binary (which is in a Tar archive) 43 + # with one from Nixpkgs. 44 + cp ${briar-tor} ./tor 45 + for arch in {aarch64,armhf,x86_64}; do 46 + 7z a tor_linux-$arch.zip tor 47 + 7z a $out/lib/briar-desktop.jar tor_linux-$arch.zip 48 + done 49 + ''; 50 + 51 + meta = with lib; { 52 + description = "Decentalized and secure messnger"; 53 + homepage = "https://code.briarproject.org/briar/briar-desktop"; 54 + license = licenses.gpl3; 55 + maintainers = with maintainers; [ onny ]; 56 + platforms = [ "x86_64-linux" "aarch64-linux" "armv7l-linux" ]; 57 + }; 58 + }
+2 -2
pkgs/applications/networking/instant-messengers/chatty/default.nix
··· 29 30 stdenv.mkDerivation rec { 31 pname = "chatty"; 32 - version = "0.6.6"; 33 34 src = fetchFromGitLab { 35 domain = "source.puri.sm"; ··· 37 repo = "chatty"; 38 rev = "v${version}"; 39 fetchSubmodules = true; 40 - hash = "sha256-vwgXfoyZOCSMnRAB6bFSrtYlSrpMa9OOcmxYTqhU+lA="; 41 }; 42 43 postPatch = ''
··· 29 30 stdenv.mkDerivation rec { 31 pname = "chatty"; 32 + version = "0.6.7"; 33 34 src = fetchFromGitLab { 35 domain = "source.puri.sm"; ··· 37 repo = "chatty"; 38 rev = "v${version}"; 39 fetchSubmodules = true; 40 + hash = "sha256-W4w/00mRgjfyQmLQ81/EAN+80qk7kDkBmMPJnOU+AIc="; 41 }; 42 43 postPatch = ''
+2
pkgs/applications/networking/instant-messengers/element/element-web.nix
··· 8 , yarn 9 , fixup_yarn_lock 10 , nodejs 11 , conf ? { } 12 }: 13 ··· 65 runHook preInstall 66 67 cp -R webapp $out 68 echo "${version}" > "$out/version" 69 jq -s '.[0] * .[1]' "config.sample.json" "${configOverrides}" > "$out/config.json" 70
··· 8 , yarn 9 , fixup_yarn_lock 10 , nodejs 11 + , jitsi-meet 12 , conf ? { } 13 }: 14 ··· 66 runHook preInstall 67 68 cp -R webapp $out 69 + cp ${jitsi-meet}/libs/external_api.min.js $out/jitsi_external_api.min.js 70 echo "${version}" > "$out/version" 71 jq -s '.[0] * .[1]' "config.sample.json" "${configOverrides}" > "$out/config.json" 72
+6
pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
··· 2 , lib 3 , python 4 , fetchFromGitHub 5 , pyopenssl 6 , webcolors 7 , future ··· 31 repo = "weechat-matrix"; 32 rev = version; 33 hash = "sha256-o4kgneszVLENG167nWnk2FxM+PsMzi+PSyMUMIktZcc="; 34 }; 35 36 propagatedBuildInputs = [
··· 2 , lib 3 , python 4 , fetchFromGitHub 5 + , fetchpatch 6 , pyopenssl 7 , webcolors 8 , future ··· 32 repo = "weechat-matrix"; 33 rev = version; 34 hash = "sha256-o4kgneszVLENG167nWnk2FxM+PsMzi+PSyMUMIktZcc="; 35 + }; 36 + 37 + patches = fetchpatch { 38 + url = "https://patch-diff.githubusercontent.com/raw/poljar/weechat-matrix/pull/309.patch"; 39 + sha256 = "sha256-Grdht+TOFvCYRpL7uhPivqL7YzLoNVF3iQNHgbv1Te0="; 40 }; 41 42 propagatedBuildInputs = [
-65
pkgs/development/interpreters/erlang/R16B02-basho.nix
··· 1 - { pkgs, mkDerivation }: 2 - 3 - mkDerivation { 4 - baseName = "erlang"; 5 - version = "16B02.basho10"; 6 - 7 - src = pkgs.fetchFromGitHub { 8 - owner = "basho"; 9 - repo = "otp"; 10 - rev = "OTP_R16B02_basho10"; 11 - sha256 = "1s2c3ag9dnp6xmcr27kh95n1w50xly97n1mp8ivc2a3gpv4blqmj"; 12 - }; 13 - 14 - preConfigure = '' 15 - export HOME=$PWD/../ 16 - export LANG=C 17 - export ERL_TOP=$(pwd) 18 - sed -e s@/bin/pwd@pwd@g -i otp_build 19 - sed -e s@"/usr/bin/env escript"@$(pwd)/bootstrap/bin/escript@g -i lib/diameter/bin/diameterc 20 - 21 - ./otp_build autoconf 22 - ''; 23 - 24 - enableHipe = false; 25 - 26 - # Do not install docs, instead use prebuilt versions. 27 - installTargets = "install"; 28 - postInstall = let 29 - manpages = pkgs.fetchurl { 30 - url = "https://www.erlang.org/download/otp_doc_man_R16B02.tar.gz"; 31 - sha256 = "12apxjmmd591y9g9bhr97z5jbd1jarqg7wj0y2sqhl21hc1yp75p"; 32 - }; 33 - in '' 34 - sed -e s@$(pwd)/bootstrap/bin/escript@$out/bin/escript@g -i $out/lib/erlang/lib/diameter-1.4.3/bin/diameterc 35 - 36 - tar xf "${manpages}" -C "$out/lib/erlang" 37 - for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do 38 - prefix="''${i%/*}" 39 - mkdir -p "$out/share/man/''${prefix##*/}" 40 - ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl" 41 - done 42 - ''; 43 - 44 - meta = { 45 - homepage = "https://github.com/basho/otp/"; 46 - description = "Programming language used for massively scalable soft real-time systems, Basho fork"; 47 - 48 - longDescription = '' 49 - Erlang is a programming language used to build massively scalable 50 - soft real-time systems with requirements on high availability. 51 - Some of its uses are in telecoms, banking, e-commerce, computer 52 - telephony and instant messaging. Erlang's runtime system has 53 - built-in support for concurrency, distribution and fault 54 - tolerance. 55 - This version of Erlang is Basho's version, forked from Ericsson's 56 - repository. 57 - ''; 58 - 59 - knownVulnerabilities = [ "CVE-2017-1000385" ]; 60 - 61 - platforms = ["x86_64-linux" "x86_64-darwin"]; 62 - license = pkgs.lib.licenses.asl20; 63 - maintainers = with pkgs.lib.maintainers; [ mdaiter ]; 64 - }; 65 - }
···
+2 -2
pkgs/development/libraries/armadillo/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "armadillo"; 5 - version = "11.1.1"; 6 7 src = fetchurl { 8 url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz"; 9 - sha256 = "sha256-v6YVSl/v2DLSjVMKWCIf5KLP8qO729guEJveU/sp3Ns="; 10 }; 11 12 nativeBuildInputs = [ cmake ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "armadillo"; 5 + version = "11.2.0"; 6 7 src = fetchurl { 8 url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz"; 9 + sha256 = "sha256-31yiFZAcaMY0Z8C/7hTwjjTYdaR6sPCVCCqzLd/08kM="; 10 }; 11 12 nativeBuildInputs = [ cmake ];
+37
pkgs/development/libraries/nrf5-sdk/default.nix
···
··· 1 + { lib 2 + , stdenv 3 + , fetchzip 4 + }: 5 + 6 + stdenv.mkDerivation rec { 7 + pname = "nrf5-sdk"; 8 + version = "17.1.0"; 9 + 10 + urlHash = "ddde560"; 11 + 12 + src = fetchzip { 13 + url = "https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/sdks/nrf5/binaries/nrf5_sdk_${version}_${urlHash}.zip"; 14 + sha256 = "sha256-q4WQ7X7/z/42/qcii+mOLnobqcbUy0tInkOfRH/Gwus="; 15 + }; 16 + 17 + dontConfigure = true; 18 + dontBuild = true; 19 + 20 + installPhase = '' 21 + runHook preInstall 22 + 23 + mkdir -p $out/share/nRF5_SDK 24 + mv * $out/share/nRF5_SDK 25 + rm $out/share/nRF5_SDK/*.msi 26 + 27 + runHook postInstall 28 + ''; 29 + 30 + meta = with lib; { 31 + description = "Nordic Semiconductor nRF5 Software Development Kit"; 32 + homepage = "https://www.nordicsemi.com/Products/Development-software/nRF5-SDK"; 33 + license = licenses.unfree; 34 + platforms = platforms.all; 35 + maintainers = with maintainers; [ stargate01 ]; 36 + }; 37 + }
+2 -2
pkgs/development/python-modules/geoip2/default.nix
··· 9 }: 10 11 buildPythonPackage rec { 12 - version = "4.5.0"; 13 pname = "geoip2"; 14 disabled = pythonOlder "3.6"; 15 16 src = fetchPypi { 17 inherit pname version; 18 - sha256 = "b542252e87eb40adc3a2fc0f4e84b514c4c5e04ed46923a3a74d509f25f3103a"; 19 }; 20 21 patchPhase = ''
··· 9 }: 10 11 buildPythonPackage rec { 12 + version = "4.6.0"; 13 pname = "geoip2"; 14 disabled = pythonOlder "3.6"; 15 16 src = fetchPypi { 17 inherit pname version; 18 + sha256 = "sha256-8OgLzoCwa7OL0Iv0h31ahONU6TIJXmzPtNJ7tZj6T4M="; 19 }; 20 21 patchPhase = ''
+32 -8
pkgs/development/python-modules/nodeenv/default.nix
··· 1 - { lib, buildPythonPackage, fetchPypi, setuptools, python, which }: 2 3 buildPythonPackage rec { 4 pname = "nodeenv"; 5 - version = "1.6.0"; 6 7 - src = fetchPypi { 8 - inherit pname version; 9 - sha256 = "3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b"; 10 }; 11 12 propagatedBuildInputs = [ 13 setuptools 14 ]; 15 16 - # Tests not included in PyPI tarball 17 - doCheck = false; 18 19 preFixup = '' 20 substituteInPlace $out/${python.sitePackages}/nodeenv.py \ 21 --replace '["which", candidate]' '["${lib.getBin which}/bin/which", candidate]' 22 ''; 23 24 - pythonImportsCheck = [ "nodeenv" ]; 25 26 meta = with lib; { 27 description = "Node.js virtual environment builder"; 28 homepage = "https://github.com/ekalinin/nodeenv"; 29 license = licenses.bsd3; 30 }; 31 }
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , mock 5 + , pytestCheckHook 6 + , python 7 + , pythonOlder 8 + , setuptools 9 + , which 10 + }: 11 12 buildPythonPackage rec { 13 pname = "nodeenv"; 14 + version = "1.7.0"; 15 + format = "setuptools"; 16 17 + disabled = pythonOlder "3.7"; 18 + 19 + src = fetchFromGitHub { 20 + owner = "ekalinin"; 21 + repo = pname; 22 + rev = version; 23 + hash = "sha256-X30PUiOMT/vXqmdSJKHTNNA8aLWavCUaKa7LzqkdLrk="; 24 }; 25 26 propagatedBuildInputs = [ 27 setuptools 28 ]; 29 30 + checkInputs = [ 31 + mock 32 + pytestCheckHook 33 + ]; 34 35 preFixup = '' 36 substituteInPlace $out/${python.sitePackages}/nodeenv.py \ 37 --replace '["which", candidate]' '["${lib.getBin which}/bin/which", candidate]' 38 ''; 39 40 + pythonImportsCheck = [ 41 + "nodeenv" 42 + ]; 43 + 44 + disabledTests = [ 45 + # Test requires coverage 46 + "test_smoke" 47 + ]; 48 49 meta = with lib; { 50 description = "Node.js virtual environment builder"; 51 homepage = "https://github.com/ekalinin/nodeenv"; 52 license = licenses.bsd3; 53 + maintainers = with maintainers; [ ]; 54 }; 55 }
+4 -3
pkgs/os-specific/linux/intel-ocl/default.nix
··· 9 urls = [ 10 "https://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip" 11 "http://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip" 12 ]; 13 sha256 = "0qbp63l74s0i80ysh9ya8x7r79xkddbbz4378nms9i7a0kprg9p2"; 14 stripRoot = false; ··· 69 70 meta = { 71 description = "Official OpenCL runtime for Intel CPUs"; 72 - homepage = "https://software.intel.com/en-us/articles/opencl-drivers"; 73 - license = lib.licenses.unfree; 74 - platforms = [ "x86_64-linux" ]; 75 maintainers = [ lib.maintainers.kierdavis ]; 76 }; 77 }
··· 9 urls = [ 10 "https://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip" 11 "http://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip" 12 + "https://web.archive.org/web/20190526190814/http://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip" 13 ]; 14 sha256 = "0qbp63l74s0i80ysh9ya8x7r79xkddbbz4378nms9i7a0kprg9p2"; 15 stripRoot = false; ··· 70 71 meta = { 72 description = "Official OpenCL runtime for Intel CPUs"; 73 + homepage = "https://software.intel.com/en-us/articles/opencl-drivers"; 74 + license = lib.licenses.unfree; 75 + platforms = [ "x86_64-linux" ]; 76 maintainers = [ lib.maintainers.kierdavis ]; 77 }; 78 }
+24 -1
pkgs/top-level/all-packages.nix
··· 4599 4600 boofuzz= callPackage ../tools/security/boofuzz { }; 4601 4602 bsdbuild = callPackage ../development/tools/misc/bsdbuild { }; 4603 4604 bsdiff = callPackage ../tools/compression/bsdiff { }; ··· 14440 14441 inherit (beam.interpreters) 14442 erlang erlangR25 erlangR24 erlangR23 erlangR22 erlangR21 14443 - erlang_odbc erlang_javac erlang_odbc_javac erlang_basho_R16B02 14444 elixir elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 14445 elixir_ls; 14446 ··· 16136 nwjs-sdk = callPackage ../development/tools/nwjs { 16137 sdk = true; 16138 }; 16139 16140 nrfutil = callPackage ../development/tools/misc/nrfutil { }; 16141 ··· 20927 20928 sphinx = with python3Packages; toPythonApplication sphinx; 20929 20930 sphinx-autobuild = with python3Packages; toPythonApplication sphinx-autobuild; 20931 20932 sphinx-serve = with python3Packages; toPythonApplication sphinx-serve; ··· 26987 26988 # Git with SVN support, but without GUI. 26989 gitSVN = lowPrio (git.override { svnSupport = true; }); 26990 26991 git-doc = lib.addMetaAttrs { 26992 description = "Additional documentation for Git";
··· 4599 4600 boofuzz= callPackage ../tools/security/boofuzz { }; 4601 4602 + briar-desktop = callPackage ../applications/networking/instant-messengers/briar-desktop { }; 4603 + 4604 bsdbuild = callPackage ../development/tools/misc/bsdbuild { }; 4605 4606 bsdiff = callPackage ../tools/compression/bsdiff { }; ··· 14442 14443 inherit (beam.interpreters) 14444 erlang erlangR25 erlangR24 erlangR23 erlangR22 erlangR21 14445 + erlang_odbc erlang_javac erlang_odbc_javac 14446 elixir elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir_1_9 14447 elixir_ls; 14448 ··· 16138 nwjs-sdk = callPackage ../development/tools/nwjs { 16139 sdk = true; 16140 }; 16141 + 16142 + nrf5-sdk = callPackage ../development/libraries/nrf5-sdk { }; 16143 16144 nrfutil = callPackage ../development/tools/misc/nrfutil { }; 16145 ··· 20931 20932 sphinx = with python3Packages; toPythonApplication sphinx; 20933 20934 + # A variation of sphinx that is only suitable for offline use as it excludes 20935 + # pyopenssl, which is broken on aarch64-darwin. 20936 + # https://github.com/NixOS/nixpkgs/issues/175875 20937 + sphinx_offline = 20938 + if !(stdenv.buildPlatform.isDarwin && stdenv.buildPlatform.isAarch64) 20939 + then sphinx 20940 + else 20941 + sphinx.override (o: { 20942 + requests = pkgsBuildTarget.python3Packages.requests.override (o: { 20943 + urllib3 = pkgsBuildTarget.python3Packages.urllib3.overrideAttrs (o: { 20944 + # urllib3 adds the optional pyopenssl to propagatedBuildInputs 20945 + # pkgs/development/python-modules/urllib3/default.nix 20946 + propagatedBuildInputs = []; 20947 + }); 20948 + }); 20949 + }); 20950 + 20951 sphinx-autobuild = with python3Packages; toPythonApplication sphinx-autobuild; 20952 20953 sphinx-serve = with python3Packages; toPythonApplication sphinx-serve; ··· 27008 27009 # Git with SVN support, but without GUI. 27010 gitSVN = lowPrio (git.override { svnSupport = true; }); 27011 + 27012 + git-autofixup = perlPackages.GitAutofixup; 27013 27014 git-doc = lib.addMetaAttrs { 27015 description = "Additional documentation for Git";
-9
pkgs/top-level/beam-packages.nix
··· 92 odbcSupport = true; 93 }; 94 95 - # Basho fork, using custom builder. 96 - erlang_basho_R16B02 = 97 - lib.callErlang ../development/interpreters/erlang/R16B02-basho.nix { 98 - autoconf = buildPackages.autoconf269; 99 - inherit wxSupport; 100 - }; 101 - erlang_basho_R16B02_odbc = 102 - erlang_basho_R16B02.override { odbcSupport = true; }; 103 - 104 # Other Beam languages. These are built with `beam.interpreters.erlang`. To 105 # access for example elixir built with different version of Erlang, use 106 # `beam.packages.erlangR24.elixir`.
··· 92 odbcSupport = true; 93 }; 94 95 # Other Beam languages. These are built with `beam.interpreters.erlang`. To 96 # access for example elixir built with different version of Erlang, use 97 # `beam.packages.erlangR24.elixir`.
+7 -5
pkgs/top-level/haskell-packages.nix
··· 49 # Use this rather than `rec { ... }` below for sake of overlays. 50 inherit (pkgs.haskell) compiler packages; 51 52 in { 53 lib = haskellLibUncomposable; 54 ··· 97 packages.ghc8102Binary 98 else 99 packages.ghc865Binary; 100 - inherit (buildPackages.python3Packages) sphinx; 101 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_7; 102 llvmPackages = pkgs.llvmPackages_7; 103 }; ··· 110 packages.ghc8107BinaryMinimal 111 else 112 packages.ghc8107Binary; 113 - inherit (buildPackages.python3Packages) sphinx; 114 # Need to use apple's patched xattr until 115 # https://github.com/xattr/xattr/issues/44 and 116 # https://github.com/xattr/xattr/issues/55 are solved. ··· 126 packages.ghc8107BinaryMinimal 127 else 128 packages.ghc8107Binary; 129 - inherit (buildPackages.python3Packages) sphinx; 130 inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr; 131 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; 132 llvmPackages = pkgs.llvmPackages_12; ··· 138 packages.ghc8107BinaryMinimal 139 else 140 packages.ghc8107Binary; 141 - inherit (buildPackages.python3Packages) sphinx; 142 # Need to use apple's patched xattr until 143 # https://github.com/xattr/xattr/issues/44 and 144 # https://github.com/xattr/xattr/issues/55 are solved. ··· 148 }; 149 ghcHEAD = callPackage ../development/compilers/ghc/head.nix { 150 bootPkgs = packages.ghc8107Binary; 151 - inherit (buildPackages.python3Packages) sphinx; 152 # Need to use apple's patched xattr until 153 # https://github.com/xattr/xattr/issues/44 and 154 # https://github.com/xattr/xattr/issues/55 are solved.
··· 49 # Use this rather than `rec { ... }` below for sake of overlays. 50 inherit (pkgs.haskell) compiler packages; 51 52 + sphinx = buildPackages.sphinx_offline; 53 + 54 in { 55 lib = haskellLibUncomposable; 56 ··· 99 packages.ghc8102Binary 100 else 101 packages.ghc865Binary; 102 + inherit sphinx; 103 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_7; 104 llvmPackages = pkgs.llvmPackages_7; 105 }; ··· 112 packages.ghc8107BinaryMinimal 113 else 114 packages.ghc8107Binary; 115 + inherit sphinx; 116 # Need to use apple's patched xattr until 117 # https://github.com/xattr/xattr/issues/44 and 118 # https://github.com/xattr/xattr/issues/55 are solved. ··· 128 packages.ghc8107BinaryMinimal 129 else 130 packages.ghc8107Binary; 131 + inherit sphinx; 132 inherit (buildPackages.darwin) autoSignDarwinBinariesHook xattr; 133 buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12; 134 llvmPackages = pkgs.llvmPackages_12; ··· 140 packages.ghc8107BinaryMinimal 141 else 142 packages.ghc8107Binary; 143 + inherit sphinx; 144 # Need to use apple's patched xattr until 145 # https://github.com/xattr/xattr/issues/44 and 146 # https://github.com/xattr/xattr/issues/55 are solved. ··· 150 }; 151 ghcHEAD = callPackage ../development/compilers/ghc/head.nix { 152 bootPkgs = packages.ghc8107Binary; 153 + inherit sphinx; 154 # Need to use apple's patched xattr until 155 # https://github.com/xattr/xattr/issues/44 and 156 # https://github.com/xattr/xattr/issues/55 are solved.