Merge staging-next into staging

+2997 -924
+1
doc/languages-frameworks/python.section.md
··· 833 833 - `pythonRemoveBinBytecode` to remove bytecode from the `/bin` folder. 834 834 - `setuptoolsBuildHook` to build a wheel using `setuptools`. 835 835 - `setuptoolsCheckHook` to run tests with `python setup.py test`. 836 + - `venvShellHook` to source a Python 3 `venv` at the `venvDir` location. A `venv` is created if it does not yet exist. 836 837 - `wheelUnpackHook` to move a wheel to the correct folder so it can be installed with the `pipInstallHook`. 837 838 838 839 ### Development mode
+11 -7
doc/languages-frameworks/rust.section.md
··· 32 32 33 33 ``` 34 34 rustPlatform.buildRustPackage rec { 35 - name = "ripgrep-${version}"; 36 - version = "0.4.0"; 35 + pname = "ripgrep"; 36 + version = "11.0.2"; 37 37 38 38 src = fetchFromGitHub { 39 39 owner = "BurntSushi"; 40 - repo = "ripgrep"; 41 - rev = "${version}"; 42 - sha256 = "0y5d1n6hkw85jb3rblcxqas2fp82h3nghssa4xqrhqnz25l799pj"; 40 + repo = pname; 41 + rev = version; 42 + sha256 = "1iga3320mgi7m853la55xip514a3chqsdi1a1rwv25lr9b1p7vd3"; 43 43 }; 44 44 45 - cargoSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx"; 45 + cargoSha256 = "17ldqr3asrdcsh4l29m3b5r37r5d0b3npq1lrgjmxb6vlx6a36qh"; 46 46 verifyCargoDeps = true; 47 47 48 48 meta = with stdenv.lib; { ··· 66 66 build-time. 67 67 68 68 When `verifyCargoDeps` is set to `true`, the build will also verify that the 69 - `cargoSha256` is not out of date by comparing the `Cargo.lock` file in both the `cargoDeps` and `src`. Note that this option changes the value of `cargoSha256` since it also copies the `Cargo.lock` in it. To avoid breaking backward-compatibility this option is not enabled by default but hopefully will be in the future. 69 + `cargoSha256` is not out of date by comparing the `Cargo.lock` file in both the 70 + `cargoDeps` and `src`. Note that this option changes the value of `cargoSha256` 71 + since it also copies the `Cargo.lock` in it. To avoid breaking 72 + backward-compatibility this option is not enabled by default but hopefully will 73 + be in the future. 70 74 71 75 ### Building a crate for a different target 72 76
+14 -1
doc/overrides.css
··· 1 1 .docbook .xref img[src^=images\/callouts\/], 2 2 .screen img, 3 - .programlisting img { 3 + .programlisting img, 4 + .literallayout img, 5 + .synopsis img { 4 6 width: 1em; 5 7 } 6 8 7 9 .calloutlist img { 8 10 width: 1.5em; 9 11 } 12 + 13 + .prompt, 14 + .screen img, 15 + .programlisting img, 16 + .literallayout img, 17 + .synopsis img { 18 + -moz-user-select: none; 19 + -webkit-user-select: none; 20 + -ms-user-select: none; 21 + user-select: none; 22 + }
+56
lib/cli.nix
··· 1 + { lib }: 2 + 3 + rec { 4 + /* Automatically convert an attribute set to command-line options. 5 + 6 + This helps protect against malformed command lines and also to reduce 7 + boilerplate related to command-line construction for simple use cases. 8 + 9 + Example: 10 + encodeGNUCommandLine 11 + { } 12 + { data = builtins.toJSON { id = 0; }; 13 + 14 + X = "PUT"; 15 + 16 + retry = 3; 17 + 18 + retry-delay = null; 19 + 20 + url = [ "https://example.com/foo" "https://example.com/bar" ]; 21 + 22 + silent = false; 23 + 24 + verbose = true; 25 + }; 26 + => "'-X' 'PUT' '--data' '{\"id\":0}' '--retry' '3' '--url' 'https://example.com/foo' '--url' 'https://example.com/bar' '--verbose'" 27 + */ 28 + encodeGNUCommandLine = 29 + options: attrs: lib.escapeShellArgs (toGNUCommandLine options attrs); 30 + 31 + toGNUCommandLine = 32 + { renderKey ? 33 + key: if builtins.stringLength key == 1 then "-${key}" else "--${key}" 34 + 35 + , renderOption ? 36 + key: value: 37 + if value == null 38 + then [] 39 + else [ (renderKey key) (builtins.toString value) ] 40 + 41 + , renderBool ? key: value: lib.optional value (renderKey key) 42 + 43 + , renderList ? key: value: lib.concatMap (renderOption key) value 44 + }: 45 + options: 46 + let 47 + render = key: value: 48 + if builtins.isBool value 49 + then renderBool key value 50 + else if builtins.isList value 51 + then renderList key value 52 + else renderOption key value; 53 + 54 + in 55 + builtins.concatLists (lib.mapAttrsToList render options); 56 + }
+3 -1
lib/default.nix
··· 39 39 40 40 # misc 41 41 asserts = callLibs ./asserts.nix; 42 + cli = callLibs ./cli.nix; 42 43 debug = callLibs ./debug.nix; 43 44 generators = callLibs ./generators.nix; 44 45 misc = callLibs ./deprecated.nix; ··· 100 101 inherit (sources) pathType pathIsDirectory cleanSourceFilter 101 102 cleanSource sourceByRegex sourceFilesBySuffices 102 103 commitIdFromGitRepo cleanSourceWith pathHasContext 103 - canCleanSource; 104 + canCleanSource pathIsRegularFile; 104 105 inherit (modules) evalModules unifyModuleSyntax 105 106 applyIfFunction mergeModules 106 107 mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions ··· 120 121 isOptionType mkOptionType; 121 122 inherit (asserts) 122 123 assertMsg assertOneOf; 124 + inherit (cli) encodeGNUCommandLine toGNUCommandLine; 123 125 inherit (debug) addErrorContextToAttrs traceIf traceVal traceValFn 124 126 traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq 125 127 traceValSeqFn traceValSeqN traceValSeqNFn traceShowVal
+28 -6
lib/sources.nix
··· 9 9 # Returns true if the path exists and is a directory, false otherwise 10 10 pathIsDirectory = p: if builtins.pathExists p then (pathType p) == "directory" else false; 11 11 12 + # Returns true if the path exists and is a regular file, false otherwise 13 + pathIsRegularFile = p: if builtins.pathExists p then (pathType p) == "regular" else false; 14 + 12 15 # Bring in a path as a source, filtering out all Subversion and CVS 13 16 # directories, as well as backup files (*~). 14 17 cleanSourceFilter = name: type: let baseName = baseNameOf (toString name); in ! ( ··· 110 113 with builtins; 111 114 let fileName = toString path + "/" + file; 112 115 packedRefsName = toString path + "/packed-refs"; 113 - in if lib.pathExists fileName 116 + in if pathIsRegularFile path 117 + # Resolve git worktrees. See gitrepository-layout(5) 118 + then 119 + let m = match "^gitdir: (.*)$" (lib.fileContents path); 120 + in if m == null 121 + then throw ("File contains no gitdir reference: " + path) 122 + else 123 + let gitDir = lib.head m; 124 + commonDir' = if pathIsRegularFile "${gitDir}/commondir" 125 + then lib.fileContents "${gitDir}/commondir" 126 + else gitDir; 127 + commonDir = if lib.hasPrefix "/" commonDir' 128 + then commonDir' 129 + else toString (/. + "${gitDir}/${commonDir'}"); 130 + refFile = lib.removePrefix "${commonDir}/" "${gitDir}/${file}"; 131 + in readCommitFromFile refFile commonDir 132 + 133 + else if pathIsRegularFile fileName 134 + # Sometimes git stores the commitId directly in the file but 135 + # sometimes it stores something like: «ref: refs/heads/branch-name» 114 136 then 115 137 let fileContent = lib.fileContents fileName; 116 - # Sometimes git stores the commitId directly in the file but 117 - # sometimes it stores something like: «ref: refs/heads/branch-name» 118 138 matchRef = match "^ref: (.*)$" fileContent; 119 - in if matchRef == null 139 + in if matchRef == null 120 140 then fileContent 121 141 else readCommitFromFile (lib.head matchRef) path 142 + 143 + else if pathIsRegularFile packedRefsName 122 144 # Sometimes, the file isn't there at all and has been packed away in the 123 145 # packed-refs file, so we have to grep through it: 124 - else if lib.pathExists packedRefsName 125 146 then 126 147 let fileContent = readFile packedRefsName; 127 148 matchRef = match (".*\n([^\n ]*) " + file + "\n.*") fileContent; 128 - in if matchRef == null 149 + in if matchRef == null 129 150 then throw ("Could not find " + file + " in " + packedRefsName) 130 151 else lib.head matchRef 152 + 131 153 else throw ("Not a .git directory: " + path); 132 154 in readCommitFromFile "HEAD"; 133 155
+21
lib/tests/misc.nix
··· 441 441 expected = "«foo»"; 442 442 }; 443 443 444 + testRenderOptions = { 445 + expr = 446 + encodeGNUCommandLine 447 + { } 448 + { data = builtins.toJSON { id = 0; }; 449 + 450 + X = "PUT"; 451 + 452 + retry = 3; 453 + 454 + retry-delay = null; 455 + 456 + url = [ "https://example.com/foo" "https://example.com/bar" ]; 457 + 458 + silent = false; 459 + 460 + verbose = true; 461 + }; 462 + 463 + expected = "'-X' 'PUT' '--data' '{\"id\":0}' '--retry' '3' '--url' 'https://example.com/foo' '--url' 'https://example.com/bar' '--verbose'"; 464 + }; 444 465 }
+1 -2
lib/tests/modules.sh
··· 174 174 checkConfigOutput "true" config.submodule.outer ./declare-submoduleWith-modules.nix 175 175 176 176 ## Paths should be allowed as values and work as expected 177 - # Temporarily disabled until https://github.com/NixOS/nixpkgs/pull/76861 178 - #checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix 177 + checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix 179 178 180 179 # Check that disabledModules works recursively and correctly 181 180 checkConfigOutput "true" config.enable ./disable-recursive/main.nix
+1 -1
lib/trivial.nix
··· 191 191 let 192 192 revisionFile = "${toString ./..}/.git-revision"; 193 193 gitRepo = "${toString ./..}/.git"; 194 - in if lib.pathIsDirectory gitRepo 194 + in if builtins.pathExists gitRepo 195 195 then lib.commitIdFromGitRepo gitRepo 196 196 else if lib.pathExists revisionFile then lib.fileContents revisionFile 197 197 else default;
+64 -12
lib/types.nix
··· 340 340 let 341 341 padWidth = stringLength (toString (length def.value)); 342 342 unnamed = i: unnamedPrefix + fixedWidthNumber padWidth i; 343 + anyString = placeholder "name"; 344 + nameAttrs = [ 345 + { path = [ "environment" "etc" ]; 346 + name = "target"; 347 + } 348 + { path = [ "containers" anyString "bindMounts" ]; 349 + name = "mountPoint"; 350 + } 351 + { path = [ "programs" "ssh" "knownHosts" ]; 352 + # hostNames is actually a list so we would need to handle it only when singleton 353 + name = "hostNames"; 354 + } 355 + { path = [ "fileSystems" ]; 356 + name = "mountPoint"; 357 + } 358 + { path = [ "boot" "specialFileSystems" ]; 359 + name = "mountPoint"; 360 + } 361 + { path = [ "services" "znapzend" "zetup" ]; 362 + name = "dataset"; 363 + } 364 + { path = [ "services" "znapzend" "zetup" anyString "destinations" ]; 365 + name = "label"; 366 + } 367 + { path = [ "services" "geoclue2" "appConfig" ]; 368 + name = "desktopID"; 369 + } 370 + ]; 371 + matched = let 372 + equals = a: b: b == anyString || a == b; 373 + fallback = { name = "name"; }; 374 + in findFirst ({ path, ... }: all (v: v == true) (zipListsWith equals loc path)) fallback nameAttrs; 375 + nameAttr = matched.name; 376 + nameValueOld = value: 377 + if isList value then 378 + if length value > 0 then 379 + "[ " + concatMapStringsSep " " escapeNixString value + " ]" 380 + else 381 + "[ ]" 382 + else 383 + escapeNixString value; 384 + nameValueNew = value: unnamed: 385 + if isList value then 386 + if length value > 0 then 387 + head value 388 + else 389 + unnamed 390 + else 391 + value; 343 392 res = 344 393 { inherit (def) file; 345 394 value = listToAttrs ( 346 395 imap1 (elemIdx: elem: 347 - { name = elem.name or (unnamed elemIdx); 396 + { name = nameValueNew (elem.${nameAttr} or (unnamed elemIdx)) (unnamed elemIdx); 348 397 value = elem; 349 398 }) def.value); 350 399 }; 351 400 option = concatStringsSep "." loc; 352 401 sample = take 3 def.value; 353 - list = concatMapStrings (x: ''{ name = "${x.name or "unnamed"}"; ...} '') sample; 354 - set = concatMapStrings (x: ''${x.name or "unnamed"} = {...}; '') sample; 402 + more = lib.optionalString (length def.value > 3) "... "; 403 + list = concatMapStrings (x: ''{ ${nameAttr} = ${nameValueOld (x.${nameAttr} or "unnamed")}; ...} '') sample; 404 + set = concatMapStrings (x: ''${nameValueNew (x.${nameAttr} or "unnamed") "unnamed"} = {...}; '') sample; 355 405 msg = '' 356 406 In file ${def.file} 357 407 a list is being assigned to the option config.${option}. ··· 359 409 See https://git.io/fj2zm for more information. 360 410 Do 361 411 ${option} = 362 - { ${set}...} 412 + { ${set}${more}} 363 413 instead of 364 414 ${option} = 365 - [ ${list}...] 415 + [ ${list}${more}] 366 416 ''; 367 417 in 368 418 lib.warn msg res ··· 430 480 else unify (if shorthandOnlyDefinesConfig then { config = value; } else value); 431 481 432 482 allModules = defs: modules ++ imap1 (n: { value, file }: 433 - # Annotate the value with the location of its definition for better error messages 434 - coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value 483 + if isAttrs value || isFunction value then 484 + # Annotate the value with the location of its definition for better error messages 485 + coerce (lib.modules.unifyModuleSyntax file "${toString file}-${toString n}") value 486 + else value 435 487 ) defs; 436 488 437 489 in 438 490 mkOptionType rec { 439 491 name = "submodule"; 440 - check = x: isAttrs x || isFunction x; 492 + check = x: isAttrs x || isFunction x || path.check x; 441 493 merge = loc: defs: 442 494 (evalModules { 443 495 modules = allModules defs; ··· 538 590 tail' = tail ts; 539 591 in foldl' either head' tail'; 540 592 541 - # Either value of type `finalType` or `coercedType`, the latter is 593 + # Either value of type `coercedType` or `finalType`, the former is 542 594 # converted to `finalType` using `coerceFunc`. 543 595 coercedTo = coercedType: coerceFunc: finalType: 544 596 assert lib.assertMsg (coercedType.getSubModules == null) ··· 547 599 mkOptionType rec { 548 600 name = "coercedTo"; 549 601 description = "${finalType.description} or ${coercedType.description} convertible to it"; 550 - check = x: finalType.check x || (coercedType.check x && finalType.check (coerceFunc x)); 602 + check = x: (coercedType.check x && finalType.check (coerceFunc x)) || finalType.check x; 551 603 merge = loc: defs: 552 604 let 553 605 coerceVal = val: 554 - if finalType.check val then val 555 - else coerceFunc val; 606 + if coercedType.check val then coerceFunc val 607 + else val; 556 608 in finalType.merge loc (map (def: def // { value = coerceVal def.value; }) defs); 557 609 emptyValue = finalType.emptyValue; 558 610 getSubOptions = finalType.getSubOptions;
+29
maintainers/maintainer-list.nix
··· 505 505 githubId = 750786; 506 506 name = "Justin Wood"; 507 507 }; 508 + anmonteiro = { 509 + email = "anmonteiro@gmail.com"; 510 + github = "anmonteiro"; 511 + githubId = 661909; 512 + name = "Antonio Nuno Monteiro"; 513 + }; 508 514 anpryl = { 509 515 email = "anpryl@gmail.com"; 510 516 github = "anpryl"; ··· 2432 2438 github = "fluffynukeit"; 2433 2439 githubId = 844574; 2434 2440 name = "Daniel Austin"; 2441 + }; 2442 + flyfloh = { 2443 + email = "nix@halbmastwurf.de"; 2444 + github = "flyfloh"; 2445 + githubId = 74379; 2446 + name = "Florian Pester"; 2435 2447 }; 2436 2448 fmthoma = { 2437 2449 email = "f.m.thoma@googlemail.com"; ··· 4430 4442 githubId = 158568; 4431 4443 name = "Matthias C. M. Troffaes"; 4432 4444 }; 4445 + McSinyx = { 4446 + email = "vn.mcsinyx@gmail.com"; 4447 + github = "McSinyx"; 4448 + githubId = 13689192; 4449 + name = "Nguyễn Gia Phong"; 4450 + }; 4433 4451 mdaiter = { 4434 4452 email = "mdaiter8121@gmail.com"; 4435 4453 github = "mdaiter"; ··· 5069 5087 github = "nixy"; 5070 5088 githubId = 7588406; 5071 5089 name = "Andrew R. M."; 5090 + }; 5091 + nloomans = { 5092 + email = "noah@nixos.noahloomans.com"; 5093 + github = "nloomans"; 5094 + githubId = 7829481; 5095 + name = "Noah Loomans"; 5072 5096 }; 5073 5097 nmattia = { 5074 5098 email = "nicolas@nmattia.com"; ··· 7013 7037 email = "tim@gfxmonk.net"; 7014 7038 github = "timbertson"; 7015 7039 name = "Tim Cuthbertson"; 7040 + }; 7041 + timma = { 7042 + email = "kunduru.it.iitb@gmail.com"; 7043 + github = "ktrsoft"; 7044 + name = "Timma"; 7016 7045 }; 7017 7046 timokau = { 7018 7047 email = "timokau@zoho.com";
+3 -3
nixos/doc/manual/development/option-types.xml
··· 257 257 <listitem> 258 258 <para> 259 259 A set of sub options <replaceable>o</replaceable>. 260 - <replaceable>o</replaceable> can be an attribute set or a function 261 - returning an attribute set. Submodules are used in composed types to 262 - create modular options. This is equivalent to 260 + <replaceable>o</replaceable> can be an attribute set, a function 261 + returning an attribute set, or a path to a file containing such a value. Submodules are used in 262 + composed types to create modular options. This is equivalent to 263 263 <literal>types.submoduleWith { modules = toList o; shorthandOnlyDefinesConfig = true; }</literal>. 264 264 Submodules are detailed in 265 265 <xref
+1 -1
nixos/doc/manual/man-pages.xml
··· 6 6 <author><personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname> 7 7 <contrib>Author</contrib> 8 8 </author> 9 - <copyright><year>2007-2019</year><holder>Eelco Dolstra</holder> 9 + <copyright><year>2007-2020</year><holder>Eelco Dolstra</holder> 10 10 </copyright> 11 11 </info> 12 12 <xi:include href="man-configuration.xml" />
+10
nixos/doc/manual/release-notes/rl-2003.xml
··· 391 391 <link xlink:href="https://github.com/NixOS/nixpkgs/pull/63103">PR #63103</link>. 392 392 </para> 393 393 </listitem> 394 + <listitem> 395 + <para> 396 + For NixOS modules, the types <literal>types.submodule</literal> and <literal>types.submoduleWith</literal> now support 397 + paths as allowed values, similar to how <literal>imports</literal> supports paths. 398 + Because of this, if you have a module that defines an option of type 399 + <literal>either (submodule ...) path</literal>, it will break since a path 400 + is now treated as the first type instead of the second. To fix this, change 401 + the type to <literal>either path (submodule ...)</literal>. 402 + </para> 403 + </listitem> 394 404 </itemizedlist> 395 405 </section> 396 406
+2 -1
nixos/lib/test-driver/test-driver.py
··· 704 704 705 705 def process_serial_output() -> None: 706 706 for _line in self.process.stdout: 707 - line = _line.decode("unicode_escape").replace("\r", "").rstrip() 707 + # Ignore undecodable bytes that may occur in boot menus 708 + line = _line.decode(errors="ignore").replace("\r", "").rstrip() 708 709 eprint("{} # {}".format(self.name, line)) 709 710 self.logger.enqueue({"msg": line, "machine": self.name}) 710 711
+1 -1
nixos/lib/testing-python.nix
··· 155 155 --add-flags "''${vms[*]}" \ 156 156 ${lib.optionalString enableOCR 157 157 "--prefix PATH : '${ocrProg}/bin:${imagemagick_tiff}/bin'"} \ 158 - --run "export testScript=\"\$(cat $out/test-script)\"" \ 158 + --run "export testScript=\"\$(${coreutils}/bin/cat $out/test-script)\"" \ 159 159 --set VLANS '${toString vlans}' 160 160 ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms 161 161 wrapProgram $out/bin/nixos-run-vms \
+13
nixos/modules/hardware/usb-wwan.nix
··· 21 21 ###### implementation 22 22 23 23 config = mkIf config.hardware.usbWwan.enable { 24 + # Attaches device specific handlers. 24 25 services.udev.packages = with pkgs; [ usb-modeswitch-data ]; 26 + 27 + # Triggered by udev, usb-modeswitch creates systemd services via a 28 + # template unit in the usb-modeswitch package. 29 + systemd.packages = with pkgs; [ usb-modeswitch ]; 30 + 31 + # The systemd service requires the usb-modeswitch-data. The 32 + # usb-modeswitch package intends to discover this via the 33 + # filesystem at /usr/share/usb_modeswitch, and merge it with user 34 + # configuration in /etc/usb_modeswitch.d. Configuring the correct 35 + # path in the package is difficult, as it would cause a cyclic 36 + # dependency. 37 + environment.etc."usb_modeswitch.d".source = "${pkgs.usb-modeswitch-data}/share/usb_modeswitch"; 25 38 }; 26 39 }
+2 -2
nixos/modules/misc/version.nix
··· 91 91 # These defaults are set here rather than up there so that 92 92 # changing them would not rebuild the manual 93 93 version = mkDefault (cfg.release + cfg.versionSuffix); 94 - revision = mkIf (pathIsDirectory gitRepo) (mkDefault gitCommitId); 95 - versionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId)); 94 + revision = mkIf (pathExists gitRepo) (mkDefault gitCommitId); 95 + versionSuffix = mkIf (pathExists gitRepo) (mkDefault (".git." + gitCommitId)); 96 96 }; 97 97 98 98 # Generate /etc/os-release. See
+1
nixos/modules/module-list.nix
··· 735 735 ./services/networking/wicd.nix 736 736 ./services/networking/wireguard.nix 737 737 ./services/networking/wpa_supplicant.nix 738 + ./services/networking/xandikos.nix 738 739 ./services/networking/xinetd.nix 739 740 ./services/networking/xl2tpd.nix 740 741 ./services/networking/xrdp.nix
+1 -1
nixos/modules/services/continuous-integration/buildbot/master.nix
··· 222 222 }; 223 223 224 224 config = mkIf cfg.enable { 225 - users.groups = optional (cfg.group == "buildbot") { 225 + users.groups = optionalAttrs (cfg.group == "buildbot") { 226 226 buildbot = { }; 227 227 }; 228 228
+1 -1
nixos/modules/services/continuous-integration/buildbot/worker.nix
··· 136 136 config = mkIf cfg.enable { 137 137 services.buildbot-worker.workerPassFile = mkDefault (pkgs.writeText "buildbot-worker-password" cfg.workerPass); 138 138 139 - users.groups = optional (cfg.group == "bbworker") { 139 + users.groups = optionalAttrs (cfg.group == "bbworker") { 140 140 bbworker = { }; 141 141 }; 142 142
+1 -1
nixos/modules/services/continuous-integration/jenkins/slave.nix
··· 50 50 }; 51 51 52 52 config = mkIf (cfg.enable && !masterCfg.enable) { 53 - users.groups = optional (cfg.group == "jenkins") { 53 + users.groups = optionalAttrs (cfg.group == "jenkins") { 54 54 jenkins.gid = config.ids.gids.jenkins; 55 55 }; 56 56
+2
nixos/modules/services/databases/openldap.nix
··· 259 259 ${openldap.out}/bin/slapadd ${configOpts} -l ${dataFile} 260 260 ''} 261 261 chown -R "${cfg.user}:${cfg.group}" "${cfg.dataDir}" 262 + 263 + ${openldap}/bin/slaptest ${configOpts} 262 264 ''; 263 265 serviceConfig.ExecStart = 264 266 "${openldap.out}/libexec/slapd -d '${cfg.logLevel}' " +
+1 -1
nixos/modules/services/hardware/usbmuxd.nix
··· 51 51 }; 52 52 }; 53 53 54 - users.groups = optional (cfg.group == defaultUserGroup) { 54 + users.groups = optionalAttrs (cfg.group == defaultUserGroup) { 55 55 ${cfg.group} = { }; 56 56 }; 57 57
+1 -4
nixos/modules/services/mail/postfix.nix
··· 612 612 { 613 613 614 614 environment = { 615 - etc = singleton 616 - { source = "/var/lib/postfix/conf"; 617 - target = "postfix"; 618 - }; 615 + etc.postfix.source = "/var/lib/postfix/conf"; 619 616 620 617 # This makes it comfortable to run 'postqueue/postdrop' for example. 621 618 systemPackages = [ pkgs.postfix ];
+1 -1
nixos/modules/services/mail/spamassassin.nix
··· 124 124 # Allow users to run 'spamc'. 125 125 126 126 environment = { 127 - etc = singleton { source = spamdEnv; target = "spamassassin"; }; 127 + etc.spamassassin.source = spamdEnv; 128 128 systemPackages = [ pkgs.spamassassin ]; 129 129 }; 130 130
+1 -1
nixos/modules/services/misc/gitea.nix
··· 364 364 ''} 365 365 sed -e "s,#secretkey#,$KEY,g" \ 366 366 -e "s,#dbpass#,$DBPASS,g" \ 367 - -e "s,#jwtsecet#,$JWTSECET,g" \ 367 + -e "s,#jwtsecret#,$JWTSECRET,g" \ 368 368 -e "s,#mailerpass#,$MAILERPASSWORD,g" \ 369 369 -i ${runConfig} 370 370 chmod 640 ${runConfig} ${secretKey} ${jwtSecret}
+6 -8
nixos/modules/services/misc/paperless.nix
··· 123 123 config = mkIf cfg.enable { 124 124 125 125 systemd.tmpfiles.rules = [ 126 - "d '${cfg.dataDir}' - ${cfg.user} ${cfg.user} - -" 126 + "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" 127 127 ] ++ (optional cfg.consumptionDirIsPublic 128 - "d '${cfg.consumptionDir}' 777 ${cfg.user} ${cfg.user} - -" 128 + "d '${cfg.consumptionDir}' 777 - - - -" 129 129 # If the consumption dir is not created here, it's automatically created by 130 130 # 'manage' with the default permissions. 131 131 ); ··· 169 169 }; 170 170 171 171 users = optionalAttrs (cfg.user == defaultUser) { 172 - users = [{ 173 - name = defaultUser; 172 + users.${defaultUser} = { 174 173 group = defaultUser; 175 174 uid = config.ids.uids.paperless; 176 175 home = cfg.dataDir; 177 - }]; 176 + }; 178 177 179 - groups = [{ 180 - name = defaultUser; 178 + groups.${defaultUser} = { 181 179 gid = config.ids.gids.paperless; 182 - }]; 180 + }; 183 181 }; 184 182 }; 185 183 }
+19 -1
nixos/modules/services/networking/ndppd.nix
··· 161 161 documentation = [ "man:ndppd(1)" "man:ndppd.conf(5)" ]; 162 162 after = [ "network-pre.target" ]; 163 163 wantedBy = [ "multi-user.target" ]; 164 - serviceConfig.ExecStart = "${pkgs.ndppd}/bin/ndppd -c ${ndppdConf}"; 164 + serviceConfig = { 165 + ExecStart = "${pkgs.ndppd}/bin/ndppd -c ${ndppdConf}"; 166 + 167 + # Sandboxing 168 + CapabilityBoundingSet = "CAP_NET_RAW CAP_NET_ADMIN"; 169 + ProtectSystem = "strict"; 170 + ProtectHome = true; 171 + PrivateTmp = true; 172 + PrivateDevices = true; 173 + ProtectKernelTunables = true; 174 + ProtectKernelModules = true; 175 + ProtectControlGroups = true; 176 + RestrictAddressFamilies = "AF_INET6 AF_PACKET AF_NETLINK"; 177 + RestrictNamespaces = true; 178 + LockPersonality = true; 179 + MemoryDenyWriteExecute = true; 180 + RestrictRealtime = true; 181 + RestrictSUIDSGID = true; 182 + }; 165 183 }; 166 184 }; 167 185 }
+4 -3
nixos/modules/services/networking/wpa_supplicant.nix
··· 233 233 path = [ pkgs.wpa_supplicant ]; 234 234 235 235 script = '' 236 + iface_args="-s -u -D${cfg.driver} -c ${configFile}" 236 237 ${if ifaces == [] then '' 237 238 for i in $(cd /sys/class/net && echo *); do 238 239 DEVTYPE= ··· 240 241 if [ -e "$UEVENT_PATH" ]; then 241 242 source "$UEVENT_PATH" 242 243 if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then 243 - ifaces="$ifaces''${ifaces:+ -N} -i$i" 244 + args+="''${args:+ -N} -i$i $iface_args" 244 245 fi 245 246 fi 246 247 done 247 248 '' else '' 248 - ifaces="${concatStringsSep " -N " (map (i: "-i${i}") ifaces)}" 249 + args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}" 249 250 ''} 250 - exec wpa_supplicant -s -u -D${cfg.driver} -c ${configFile} $ifaces 251 + exec wpa_supplicant $args 251 252 ''; 252 253 }; 253 254
+148
nixos/modules/services/networking/xandikos.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.xandikos; 7 + in 8 + { 9 + 10 + options = { 11 + services.xandikos = { 12 + enable = mkEnableOption "Xandikos CalDAV and CardDAV server"; 13 + 14 + package = mkOption { 15 + type = types.package; 16 + default = pkgs.xandikos; 17 + defaultText = "pkgs.xandikos"; 18 + description = "The Xandikos package to use."; 19 + }; 20 + 21 + address = mkOption { 22 + type = types.str; 23 + default = "localhost"; 24 + description = '' 25 + The IP address on which Xandikos will listen. 26 + By default listens on localhost. 27 + ''; 28 + }; 29 + 30 + port = mkOption { 31 + type = types.port; 32 + default = 8080; 33 + description = "The port of the Xandikos web application"; 34 + }; 35 + 36 + routePrefix = mkOption { 37 + type = types.str; 38 + default = "/"; 39 + description = '' 40 + Path to Xandikos. 41 + Useful when Xandikos is behind a reverse proxy. 42 + ''; 43 + }; 44 + 45 + extraOptions = mkOption { 46 + default = []; 47 + type = types.listOf types.str; 48 + example = literalExample '' 49 + [ "--autocreate" 50 + "--defaults" 51 + "--current-user-principal user" 52 + "--dump-dav-xml" 53 + ] 54 + ''; 55 + description = '' 56 + Extra command line arguments to pass to xandikos. 57 + ''; 58 + }; 59 + 60 + nginx = mkOption { 61 + default = {}; 62 + description = '' 63 + Configuration for nginx reverse proxy. 64 + ''; 65 + 66 + type = types.submodule { 67 + options = { 68 + enable = mkOption { 69 + type = types.bool; 70 + default = false; 71 + description = '' 72 + Configure the nginx reverse proxy settings. 73 + ''; 74 + }; 75 + 76 + hostName = mkOption { 77 + type = types.str; 78 + description = '' 79 + The hostname use to setup the virtualhost configuration 80 + ''; 81 + }; 82 + }; 83 + }; 84 + }; 85 + 86 + }; 87 + 88 + }; 89 + 90 + config = mkIf cfg.enable ( 91 + mkMerge [ 92 + { 93 + meta.maintainers = [ lib.maintainers."0x4A6F" ]; 94 + 95 + systemd.services.xandikos = { 96 + description = "A Simple Calendar and Contact Server"; 97 + after = [ "network.target" ]; 98 + wantedBy = [ "multi-user.target" ]; 99 + 100 + serviceConfig = { 101 + User = "xandikos"; 102 + Group = "xandikos"; 103 + DynamicUser = "yes"; 104 + RuntimeDirectory = "xandikos"; 105 + StateDirectory = "xandikos"; 106 + StateDirectoryMode = "0700"; 107 + PrivateDevices = true; 108 + # Sandboxing 109 + CapabilityBoundingSet = "CAP_NET_RAW CAP_NET_ADMIN"; 110 + ProtectSystem = "strict"; 111 + ProtectHome = true; 112 + PrivateTmp = true; 113 + ProtectKernelTunables = true; 114 + ProtectKernelModules = true; 115 + ProtectControlGroups = true; 116 + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX AF_PACKET AF_NETLINK"; 117 + RestrictNamespaces = true; 118 + LockPersonality = true; 119 + MemoryDenyWriteExecute = true; 120 + RestrictRealtime = true; 121 + RestrictSUIDSGID = true; 122 + ExecStart = '' 123 + ${cfg.package}/bin/xandikos \ 124 + --directory /var/lib/xandikos \ 125 + --listen_address ${cfg.address} \ 126 + --port ${toString cfg.port} \ 127 + --route-prefix ${cfg.routePrefix} \ 128 + ${lib.concatStringsSep " " cfg.extraOptions} 129 + ''; 130 + }; 131 + }; 132 + } 133 + 134 + ( 135 + mkIf cfg.nginx.enable { 136 + services.nginx = { 137 + enable = true; 138 + virtualHosts."${cfg.nginx.hostName}" = { 139 + locations."/" = { 140 + proxyPass = "http://${cfg.address}:${toString cfg.port}/"; 141 + }; 142 + }; 143 + }; 144 + } 145 + ) 146 + ] 147 + ); 148 + }
+2 -2
nixos/modules/services/security/certmgr.nix
··· 113 113 otherCert = "/var/certmgr/specs/other-cert.json"; 114 114 } 115 115 ''; 116 - type = with types; attrsOf (either (submodule { 116 + type = with types; attrsOf (either path (submodule { 117 117 options = { 118 118 service = mkOption { 119 119 type = nullOr str; ··· 148 148 description = "certmgr spec request object."; 149 149 }; 150 150 }; 151 - }) path); 151 + })); 152 152 description = '' 153 153 Certificate specs as described by: 154 154 <link xlink:href="https://github.com/cloudflare/certmgr#certificate-specs" />
+10 -6
nixos/modules/services/torrent/transmission.nix
··· 129 129 # It's useful to have transmission in path, e.g. for remote control 130 130 environment.systemPackages = [ pkgs.transmission ]; 131 131 132 - users.users = optionalAttrs (cfg.user == "transmission") (singleton 133 - { name = "transmission"; 132 + users.users = optionalAttrs (cfg.user == "transmission") ({ 133 + transmission = { 134 + name = "transmission"; 134 135 group = cfg.group; 135 136 uid = config.ids.uids.transmission; 136 137 description = "Transmission BitTorrent user"; 137 138 home = homeDir; 138 139 createHome = true; 139 - }); 140 + }; 141 + }); 140 142 141 - users.groups = optionalAttrs (cfg.group == "transmission") (singleton 142 - { name = "transmission"; 143 + users.groups = optionalAttrs (cfg.group == "transmission") ({ 144 + transmission = { 145 + name = "transmission"; 143 146 gid = config.ids.gids.transmission; 144 - }); 147 + }; 148 + }); 145 149 146 150 # AppArmor profile 147 151 security.apparmor.profiles = mkIf apparmor [
+1
nixos/tests/all-tests.nix
··· 295 295 wireguard-generated = handleTest ./wireguard/generated.nix {}; 296 296 wireguard-namespaces = handleTest ./wireguard/namespaces.nix {}; 297 297 wordpress = handleTest ./wordpress.nix {}; 298 + xandikos = handleTest ./xandikos.nix {}; 298 299 xautolock = handleTest ./xautolock.nix {}; 299 300 xfce = handleTest ./xfce.nix {}; 300 301 xmonad = handleTest ./xmonad.nix {};
+75 -74
nixos/tests/bittorrent.nix
··· 18 18 externalRouterAddress = "80.100.100.1"; 19 19 externalClient2Address = "80.100.100.2"; 20 20 externalTrackerAddress = "80.100.100.3"; 21 + 22 + transmissionConfig = { ... }: { 23 + environment.systemPackages = [ pkgs.transmission ]; 24 + services.transmission = { 25 + enable = true; 26 + settings = { 27 + dht-enabled = false; 28 + message-level = 3; 29 + }; 30 + }; 31 + }; 21 32 in 22 33 23 34 { ··· 26 37 maintainers = [ domenkozar eelco rob bobvanderlinden ]; 27 38 }; 28 39 29 - nodes = 30 - { tracker = 31 - { pkgs, ... }: 32 - { environment.systemPackages = [ pkgs.transmission ]; 40 + nodes = { 41 + tracker = { pkgs, ... }: { 42 + imports = [ transmissionConfig ]; 33 43 34 - virtualisation.vlans = [ 1 ]; 35 - networking.interfaces.eth1.ipv4.addresses = [ 36 - { address = externalTrackerAddress; prefixLength = 24; } 37 - ]; 44 + virtualisation.vlans = [ 1 ]; 45 + networking.firewall.enable = false; 46 + networking.interfaces.eth1.ipv4.addresses = [ 47 + { address = externalTrackerAddress; prefixLength = 24; } 48 + ]; 38 49 39 - # We need Apache on the tracker to serve the torrents. 40 - services.httpd.enable = true; 41 - services.httpd.adminAddr = "foo@example.org"; 42 - services.httpd.documentRoot = "/tmp"; 50 + # We need Apache on the tracker to serve the torrents. 51 + services.httpd = { 52 + enable = true; 53 + virtualHosts = { 54 + "torrentserver.org" = { 55 + adminAddr = "foo@example.org"; 56 + documentRoot = "/tmp"; 57 + }; 58 + }; 59 + }; 60 + services.opentracker.enable = true; 61 + }; 43 62 44 - networking.firewall.enable = false; 63 + router = { pkgs, nodes, ... }: { 64 + virtualisation.vlans = [ 1 2 ]; 65 + networking.nat.enable = true; 66 + networking.nat.internalInterfaces = [ "eth2" ]; 67 + networking.nat.externalInterface = "eth1"; 68 + networking.firewall.enable = true; 69 + networking.firewall.trustedInterfaces = [ "eth2" ]; 70 + networking.interfaces.eth0.ipv4.addresses = []; 71 + networking.interfaces.eth1.ipv4.addresses = [ 72 + { address = externalRouterAddress; prefixLength = 24; } 73 + ]; 74 + networking.interfaces.eth2.ipv4.addresses = [ 75 + { address = internalRouterAddress; prefixLength = 24; } 76 + ]; 77 + services.miniupnpd = { 78 + enable = true; 79 + externalInterface = "eth1"; 80 + internalIPs = [ "eth2" ]; 81 + appendConfig = '' 82 + ext_ip=${externalRouterAddress} 83 + ''; 84 + }; 85 + }; 45 86 46 - services.opentracker.enable = true; 87 + client1 = { pkgs, nodes, ... }: { 88 + imports = [ transmissionConfig ]; 89 + environment.systemPackages = [ pkgs.miniupnpc ]; 47 90 48 - services.transmission.enable = true; 49 - services.transmission.settings.dht-enabled = false; 50 - services.transmission.settings.port-forwaring-enabled = false; 51 - }; 91 + virtualisation.vlans = [ 2 ]; 92 + networking.interfaces.eth0.ipv4.addresses = []; 93 + networking.interfaces.eth1.ipv4.addresses = [ 94 + { address = internalClient1Address; prefixLength = 24; } 95 + ]; 96 + networking.defaultGateway = internalRouterAddress; 97 + networking.firewall.enable = false; 98 + }; 52 99 53 - router = 54 - { pkgs, nodes, ... }: 55 - { virtualisation.vlans = [ 1 2 ]; 56 - networking.nat.enable = true; 57 - networking.nat.internalInterfaces = [ "eth2" ]; 58 - networking.nat.externalInterface = "eth1"; 59 - networking.firewall.enable = true; 60 - networking.firewall.trustedInterfaces = [ "eth2" ]; 61 - networking.interfaces.eth0.ipv4.addresses = []; 62 - networking.interfaces.eth1.ipv4.addresses = [ 63 - { address = externalRouterAddress; prefixLength = 24; } 64 - ]; 65 - networking.interfaces.eth2.ipv4.addresses = [ 66 - { address = internalRouterAddress; prefixLength = 24; } 67 - ]; 68 - services.miniupnpd = { 69 - enable = true; 70 - externalInterface = "eth1"; 71 - internalIPs = [ "eth2" ]; 72 - appendConfig = '' 73 - ext_ip=${externalRouterAddress} 74 - ''; 75 - }; 76 - }; 77 - 78 - client1 = 79 - { pkgs, nodes, ... }: 80 - { environment.systemPackages = [ pkgs.transmission pkgs.miniupnpc ]; 81 - virtualisation.vlans = [ 2 ]; 82 - networking.interfaces.eth0.ipv4.addresses = []; 83 - networking.interfaces.eth1.ipv4.addresses = [ 84 - { address = internalClient1Address; prefixLength = 24; } 85 - ]; 86 - networking.defaultGateway = internalRouterAddress; 87 - networking.firewall.enable = false; 88 - services.transmission.enable = true; 89 - services.transmission.settings.dht-enabled = false; 90 - services.transmission.settings.message-level = 3; 91 - }; 100 + client2 = { pkgs, ... }: { 101 + imports = [ transmissionConfig ]; 92 102 93 - client2 = 94 - { pkgs, ... }: 95 - { environment.systemPackages = [ pkgs.transmission ]; 96 - virtualisation.vlans = [ 1 ]; 97 - networking.interfaces.eth0.ipv4.addresses = []; 98 - networking.interfaces.eth1.ipv4.addresses = [ 99 - { address = externalClient2Address; prefixLength = 24; } 100 - ]; 101 - networking.firewall.enable = false; 102 - services.transmission.enable = true; 103 - services.transmission.settings.dht-enabled = false; 104 - services.transmission.settings.port-forwaring-enabled = false; 105 - }; 103 + virtualisation.vlans = [ 1 ]; 104 + networking.interfaces.eth0.ipv4.addresses = []; 105 + networking.interfaces.eth1.ipv4.addresses = [ 106 + { address = externalClient2Address; prefixLength = 24; } 107 + ]; 108 + networking.firewall.enable = false; 106 109 }; 110 + }; 107 111 108 - testScript = 109 - { nodes, ... }: 110 - '' 112 + testScript = { nodes, ... }: '' 111 113 start_all() 112 114 113 115 # Wait for network and miniupnpd. ··· 159 161 "cmp /tmp/test.tar.bz2 ${file}" 160 162 ) 161 163 ''; 162 - 163 164 })
+70
nixos/tests/xandikos.nix
··· 1 + import ./make-test-python.nix ( 2 + { pkgs, lib, ... }: 3 + 4 + { 5 + name = "xandikos"; 6 + 7 + meta.maintainers = [ lib.maintainers."0x4A6F" ]; 8 + 9 + nodes = { 10 + xandikos_client = {}; 11 + xandikos_default = { 12 + networking.firewall.allowedTCPPorts = [ 8080 ]; 13 + services.xandikos.enable = true; 14 + }; 15 + xandikos_proxy = { 16 + networking.firewall.allowedTCPPorts = [ 80 8080 ]; 17 + services.xandikos.enable = true; 18 + services.xandikos.address = "localhost"; 19 + services.xandikos.port = 8080; 20 + services.xandikos.routePrefix = "/xandikos/"; 21 + services.xandikos.extraOptions = [ 22 + "--defaults" 23 + ]; 24 + services.nginx = { 25 + enable = true; 26 + recommendedProxySettings = true; 27 + virtualHosts."xandikos" = { 28 + serverName = "xandikos.local"; 29 + basicAuth.xandikos = "snakeOilPassword"; 30 + locations."/xandikos/" = { 31 + proxyPass = "http://localhost:8080/"; 32 + }; 33 + }; 34 + }; 35 + }; 36 + }; 37 + 38 + testScript = '' 39 + start_all() 40 + 41 + with subtest("Xandikos default"): 42 + xandikos_default.wait_for_unit("multi-user.target") 43 + xandikos_default.wait_for_unit("xandikos.service") 44 + xandikos_default.wait_for_open_port(8080) 45 + xandikos_default.succeed("curl --fail http://localhost:8080/") 46 + xandikos_default.succeed( 47 + "curl -s --fail --location http://localhost:8080/ | grep -qi Xandikos" 48 + ) 49 + xandikos_client.wait_for_unit("network.target") 50 + xandikos_client.fail("curl --fail http://xandikos_default:8080/") 51 + 52 + with subtest("Xandikos proxy"): 53 + xandikos_proxy.wait_for_unit("multi-user.target") 54 + xandikos_proxy.wait_for_unit("xandikos.service") 55 + xandikos_proxy.wait_for_open_port(8080) 56 + xandikos_proxy.succeed("curl --fail http://localhost:8080/") 57 + xandikos_proxy.succeed( 58 + "curl -s --fail --location http://localhost:8080/ | grep -qi Xandikos" 59 + ) 60 + xandikos_client.wait_for_unit("network.target") 61 + xandikos_client.fail("curl --fail http://xandikos_proxy:8080/") 62 + xandikos_client.succeed( 63 + "curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/ | grep -qi Xandikos" 64 + ) 65 + xandikos_client.succeed( 66 + "curl -s --fail -u xandikos:snakeOilPassword -H 'Host: xandikos.local' http://xandikos_proxy/xandikos/user/ | grep -qi Xandikos" 67 + ) 68 + ''; 69 + } 70 + )
+3 -9
pkgs/applications/audio/pavucontrol/default.nix
··· 1 1 { fetchurl, stdenv, pkgconfig, intltool, libpulseaudio, gtkmm3 2 - , libcanberra-gtk3, makeWrapper, gnome3 }: 2 + , libcanberra-gtk3, gnome3, wrapGAppsHook }: 3 3 4 4 stdenv.mkDerivation rec { 5 5 pname = "pavucontrol"; ··· 10 10 sha256 = "1qhlkl3g8d7h72xjskii3g1l7la2cavwp69909pzmbi2jyn5pi4g"; 11 11 }; 12 12 13 - preFixup = '' 14 - wrapProgram "$out/bin/pavucontrol" \ 15 - --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ 16 - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" 17 - ''; 18 - 19 - buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 makeWrapper 13 + buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 20 14 gnome3.adwaita-icon-theme ]; 21 15 22 - nativeBuildInputs = [ pkgconfig intltool ]; 16 + nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ]; 23 17 24 18 configureFlags = [ "--disable-lynx" ]; 25 19
+3 -3
pkgs/applications/audio/spotifyd/default.nix
··· 6 6 7 7 rustPlatform.buildRustPackage rec { 8 8 pname = "spotifyd"; 9 - version = "0.2.20"; 9 + version = "0.2.23"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "Spotifyd"; 13 13 repo = "spotifyd"; 14 14 rev = "v${version}"; 15 - sha256 = "1hf4wpk7r0s4jpjhxaz67y1hd8jx9ns5imd85r3cdg4lxf3j5gph"; 15 + sha256 = "0xxr21avgr4pvlr5vgb68jmad5xy5kqvaxfzh0qn1jpiax7y3avm"; 16 16 }; 17 17 18 - cargoSha256 = "1h3fis47hmxvppiv1icjhgp48nd46gayfcmzfjs34q6jask90n0w"; 18 + cargoSha256 = "1ykmn7zzwn9my96bbxwkparab5lck1zzdkpafil2mmrjyvyi40da"; 19 19 20 20 cargoBuildFlags = [ 21 21 "--no-default-features"
+4 -4
pkgs/applications/editors/emacs-modes/elpa-generated.nix
··· 3236 3236 elpaBuild { 3237 3237 pname = "undo-tree"; 3238 3238 ename = "undo-tree"; 3239 - version = "0.7"; 3239 + version = "0.7.2"; 3240 3240 src = fetchurl { 3241 - url = "https://elpa.gnu.org/packages/undo-tree-0.7.el"; 3242 - sha256 = "0mc5spiqx20z8vh8b24dp9hqj27h5bm5wqk0ga7c6s6mp69r72h4"; 3241 + url = "https://elpa.gnu.org/packages/undo-tree-0.7.2.el"; 3242 + sha256 = "0gdqh5rkgwlancbjx5whgl5gqkdipdkspkl2bqmrq70sgg5ahrcc"; 3243 3243 }; 3244 3244 packageRequires = []; 3245 3245 meta = { ··· 3734 3734 license = lib.licenses.free; 3735 3735 }; 3736 3736 }) {}; 3737 - } 3737 + }
+5
pkgs/applications/editors/emacs-modes/melpa-packages.nix
··· 111 111 112 112 flycheck-rtags = fix-rtags super.flycheck-rtags; 113 113 114 + gnuplot = super.gnuplot.overrideAttrs (old: { 115 + nativeBuildInputs = 116 + (old.nativeBuildInputs or []) ++ [ pkgs.autoreconfHook ]; 117 + }); 118 + 114 119 pdf-tools = super.pdf-tools.overrideAttrs(old: { 115 120 nativeBuildInputs = [ external.pkgconfig ]; 116 121 buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
+2 -2
pkgs/applications/editors/neovim/qt.nix
··· 4 4 let 5 5 unwrapped = mkDerivation rec { 6 6 pname = "neovim-qt-unwrapped"; 7 - version = "0.2.12"; 7 + version = "0.2.15"; 8 8 9 9 src = fetchFromGitHub { 10 10 owner = "equalsraf"; 11 11 repo = "neovim-qt"; 12 12 rev = "v${version}"; 13 - sha256 = "09s3044j0y8nmyi8ykslfii6fx7k9mckmdvb0jn2xmdabpb60i20"; 13 + sha256 = "097nykglqp4jyvla4yp32sc1f1hph4cqqhp6rm9ww7br8c0j54xl"; 14 14 }; 15 15 16 16 cmakeFlags = [
-1
pkgs/applications/graphics/openimageio/default.nix
··· 39 39 license = licenses.bsd3; 40 40 maintainers = [ maintainers.goibhniu ]; 41 41 platforms = platforms.unix; 42 - badPlatforms = [ "x86_64-darwin" ]; 43 42 }; 44 43 }
+59 -57
pkgs/applications/graphics/pencil/default.nix
··· 1 - { stdenv, fetchurl, lib, makeWrapper, 1 + { stdenv, fetchurl, lib, makeWrapper, wrapGAppsHook, 2 2 # build dependencies 3 - alsaLib, atk, cairo, cups, dbus, expat, fontconfig, 4 - freetype, gdk-pixbuf, glib, gnome2, nspr, nss, xorg, 5 - glibc, systemd 3 + alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, 4 + freetype, gdk-pixbuf, glib, glibc, gtk3, libuuid, nspr, nss, pango, 5 + xorg, systemd 6 6 }: 7 + let 7 8 8 - stdenv.mkDerivation rec { 9 - version = "3.0.4"; 9 + deps = [ 10 + alsaLib 11 + atk 12 + at-spi2-atk 13 + at-spi2-core 14 + cairo 15 + cups 16 + dbus 17 + expat 18 + fontconfig 19 + freetype 20 + gdk-pixbuf 21 + glib 22 + glibc 23 + gtk3 24 + libuuid 25 + nspr 26 + nss 27 + pango 28 + xorg.libX11 29 + xorg.libxcb 30 + xorg.libXScrnSaver 31 + xorg.libXcomposite 32 + xorg.libXcursor 33 + xorg.libXdamage 34 + xorg.libXext 35 + xorg.libXfixes 36 + xorg.libXi 37 + xorg.libXrandr 38 + xorg.libXrender 39 + xorg.libXtst 40 + stdenv.cc.cc.lib 41 + stdenv.cc.cc 42 + ]; 43 + 44 + in stdenv.mkDerivation rec { 45 + version = "3.1.0"; 10 46 pname = "pencil"; 11 47 12 48 src = fetchurl { 13 - url = "http://pencil.evolus.vn/dl/V${version}/Pencil_${version}_amd64.deb"; 14 - sha256 = "58e2b794c615ea8715d8374f177e19c87f7071e359826ec34a59836d537a62fd"; 49 + url = "http://pencil.evolus.vn/dl/V${version}.ga/pencil_${version}.ga_amd64.deb"; 50 + sha256 = "01ae54b1a1351b909eb2366c6ec00816e1deba370e58f35601cf7368f10aaba3"; 15 51 }; 16 52 17 53 sourceRoot = "."; 18 54 19 55 unpackCmd = '' 20 - ar p "$src" data.tar.xz | tar xJ 56 + ar p "$src" data.tar.gz | tar xz 21 57 ''; 22 58 23 59 dontBuild = true; 24 60 25 - nativeBuildInputs = [ makeWrapper ]; 61 + nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; 62 + 63 + buildInputs = deps; 26 64 27 65 installPhase = '' 28 - mkdir -p $out/bin 29 - cp -R usr/share opt $out/ 66 + mkdir -p $out/bin $out/opt $out/share/applications 67 + cp -R usr/share $out/ 68 + cp -R opt/pencil*/ $out/opt/pencil 69 + cp $out/opt/pencil/pencil.desktop $out/share/applications/ 30 70 31 71 # fix the path in the desktop file 32 72 substituteInPlace \ ··· 34 74 --replace /opt/ $out/opt/ 35 75 36 76 # symlink the binary to bin/ 37 - ln -s $out/opt/Pencil/pencil $out/bin/pencil 77 + ln -s $out/opt/pencil/pencil $out/bin/pencil 38 78 ''; 39 79 40 80 41 81 preFixup = let 42 - packages = [ 43 - alsaLib 44 - atk 45 - cairo 46 - cups 47 - dbus 48 - expat 49 - fontconfig 50 - freetype 51 - gdk-pixbuf 52 - glib 53 - gnome2.GConf 54 - gnome2.gtk 55 - gnome2.pango 56 - nspr 57 - nss 58 - xorg.libX11 59 - xorg.libXScrnSaver 60 - xorg.libXcomposite 61 - xorg.libXcursor 62 - xorg.libXdamage 63 - xorg.libXext 64 - xorg.libXfixes 65 - xorg.libXi 66 - xorg.libXrandr 67 - xorg.libXrender 68 - xorg.libXtst 69 - stdenv.cc.cc.lib 70 - stdenv.cc.cc 71 - glibc 72 - ]; 82 + packages = deps; 73 83 libPathNative = lib.makeLibraryPath packages; 74 84 libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages; 75 85 libPath = "${libPathNative}:${libPath64}"; ··· 77 87 # patch executable 78 88 patchelf \ 79 89 --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 80 - --set-rpath "${libPath}:$out/opt/Pencil" \ 81 - $out/opt/Pencil/pencil 82 - 83 - # patch libnode 84 - patchelf \ 85 - --set-rpath "${libPath}" \ 86 - $out/opt/Pencil/libnode.so 87 - 88 - # libffmpeg is for some reason not executable 89 - chmod a+x $out/opt/Pencil/libffmpeg.so 90 + --set-rpath "${libPath}:$out/opt/pencil" \ 91 + $out/opt/pencil/pencil 90 92 91 93 # fix missing libudev 92 - ln -s ${systemd.lib}/lib/libudev.so.1 $out/opt/Pencil/libudev.so.1 93 - wrapProgram $out/opt/Pencil/pencil \ 94 - --prefix LD_LIBRARY_PATH : $out/opt/Pencil 94 + ln -s ${systemd.lib}/lib/libudev.so.1 $out/opt/pencil/libudev.so.1 95 + wrapProgram $out/opt/pencil/pencil \ 96 + --prefix LD_LIBRARY_PATH : $out/opt/pencil 95 97 ''; 96 98 97 99 meta = with stdenv.lib; {
+2 -2
pkgs/applications/graphics/rx/default.nix
··· 7 7 8 8 rustPlatform.buildRustPackage rec { 9 9 pname = "rx"; 10 - version = "0.3.1"; 10 + version = "0.3.2"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "cloudhead"; 14 14 repo = pname; 15 15 rev = "v${version}"; 16 - sha256 = "1byaxbhd3q49473kcdd52rvn3xq7bmy8bdx3pz0jiw96bclzhcgq"; 16 + sha256 = "1n5s7v2z13550gkqz7w6dw62jdy60wdi8w1lfa23609b4yhg4w94"; 17 17 }; 18 18 19 19 cargoSha256 = "173jfjvdag97f6jvfg366hjk9v3cz301cbzpcahy51rbf1cip1w1";
+105
pkgs/applications/misc/blender/darwin.patch
··· 1 + diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake 2 + --- a/build_files/cmake/platform/platform_apple.cmake 3 + +++ b/build_files/cmake/platform/platform_apple.cmake 4 + @@ -35,7 +35,6 @@ else() 5 + message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") 6 + endif() 7 + if(NOT EXISTS "${LIBDIR}/") 8 + - message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'") 9 + endif() 10 + 11 + if(WITH_OPENAL) 12 + @@ -79,7 +78,7 @@ endif() 13 + if(WITH_CODEC_SNDFILE) 14 + set(LIBSNDFILE ${LIBDIR}/sndfile) 15 + set(LIBSNDFILE_INCLUDE_DIRS ${LIBSNDFILE}/include) 16 + - set(LIBSNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc) 17 + + set(LIBSNDFILE_LIBRARIES sndfile) 18 + set(LIBSNDFILE_LIBPATH ${LIBSNDFILE}/lib ${LIBDIR}/ffmpeg/lib) # TODO, deprecate 19 + endif() 20 + 21 + @@ -90,7 +89,7 @@ if(WITH_PYTHON) 22 + # normally cached but not since we include them with blender 23 + set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m") 24 + set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m") 25 + - set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.a) 26 + + set(PYTHON_LIBRARY "${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.dylib") 27 + set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}") 28 + # set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled 29 + else() 30 + @@ -155,10 +154,7 @@ if(WITH_CODEC_FFMPEG) 31 + set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include) 32 + set(FFMPEG_LIBRARIES 33 + avcodec avdevice avformat avutil 34 + - mp3lame swscale x264 xvidcore 35 + - theora theoradec theoraenc 36 + - vorbis vorbisenc vorbisfile ogg opus 37 + - vpx swresample) 38 + + swscale swresample) 39 + set(FFMPEG_LIBPATH ${FFMPEG}/lib) 40 + endif() 41 + 42 + @@ -199,14 +195,14 @@ if(WITH_OPENCOLLADA) 43 + set(OPENCOLLADA ${LIBDIR}/opencollada) 44 + 45 + set(OPENCOLLADA_INCLUDE_DIRS 46 + - ${LIBDIR}/opencollada/include/COLLADAStreamWriter 47 + - ${LIBDIR}/opencollada/include/COLLADABaseUtils 48 + - ${LIBDIR}/opencollada/include/COLLADAFramework 49 + - ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader 50 + - ${LIBDIR}/opencollada/include/GeneratedSaxParser 51 + + ${LIBDIR}/opencollada/include/opencollada/COLLADAStreamWriter 52 + + ${LIBDIR}/opencollada/include/opencollada/COLLADABaseUtils 53 + + ${LIBDIR}/opencollada/include/opencollada/COLLADAFramework 54 + + ${LIBDIR}/opencollada/include/opencollada/COLLADASaxFrameworkLoader 55 + + ${LIBDIR}/opencollada/include/opencollada/GeneratedSaxParser 56 + ) 57 + 58 + - set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib) 59 + + set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib/opencollada) 60 + set(OPENCOLLADA_LIBRARIES 61 + OpenCOLLADASaxFrameworkLoader 62 + -lOpenCOLLADAFramework 63 + @@ -215,7 +211,7 @@ if(WITH_OPENCOLLADA) 64 + -lMathMLSolver 65 + -lGeneratedSaxParser 66 + -lbuffer -lftoa -lUTF 67 + - ${OPENCOLLADA_LIBPATH}/libxml2.a 68 + + xml2 69 + ) 70 + # PCRE is bundled with openCollada 71 + # set(PCRE ${LIBDIR}/pcre) 72 + @@ -276,14 +272,13 @@ if(WITH_BOOST) 73 + endif() 74 + 75 + if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG) 76 + - set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -liconv") # boost_locale and ffmpeg needs it ! 77 + endif() 78 + 79 + if(WITH_OPENIMAGEIO) 80 + set(OPENIMAGEIO ${LIBDIR}/openimageio) 81 + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) 82 + set(OPENIMAGEIO_LIBRARIES 83 + - ${OPENIMAGEIO}/lib/libOpenImageIO.a 84 + + ${OPENIMAGEIO}/lib/libOpenImageIO.dylib 85 + ${PNG_LIBRARIES} 86 + ${JPEG_LIBRARIES} 87 + ${TIFF_LIBRARY} 88 + @@ -306,7 +301,7 @@ endif() 89 + if(WITH_OPENCOLORIO) 90 + set(OPENCOLORIO ${LIBDIR}/opencolorio) 91 + set(OPENCOLORIO_INCLUDE_DIRS ${OPENCOLORIO}/include) 92 + - set(OPENCOLORIO_LIBRARIES OpenColorIO tinyxml yaml-cpp) 93 + + set(OPENCOLORIO_LIBRARIES OpenColorIO) 94 + set(OPENCOLORIO_LIBPATH ${OPENCOLORIO}/lib) 95 + endif() 96 + 97 + @@ -443,7 +438,7 @@ else() 98 + set(CMAKE_CXX_FLAGS_RELEASE "-mdynamic-no-pic -fno-strict-aliasing") 99 + endif() 100 + 101 + -if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5) 102 + +if(FALSE) 103 + # Xcode 5 is always using CLANG, which has too low template depth of 128 for libmv 104 + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024") 105 + endif()
+50 -10
pkgs/applications/misc/blender/default.nix
··· 1 1 { config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew 2 2 , ilmbase, libXi, libX11, libXext, libXrender 3 3 , libjpeg, libpng, libsamplerate, libsndfile 4 - , libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages 4 + , libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio2, openjpeg, python3Packages 5 5 , openvdb, libXxf86vm, tbb 6 6 , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath 7 7 , jackaudioSupport ? false, libjack2 8 8 , cudaSupport ? config.cudaSupport or false, cudatoolkit 9 9 , colladaSupport ? true, opencollada 10 10 , enableNumpy ? false, makeWrapper 11 + , pugixml, SDL, Cocoa, CoreGraphics, ForceFeedback, OpenAL, OpenGL 11 12 }: 12 13 13 14 with lib; ··· 23 24 sha256 = "1zl0ar95qkxsrbqw9miz2hrjijlqjl06vg3clfk9rm7krr2l3b2j"; 24 25 }; 25 26 27 + patches = lib.optional stdenv.isDarwin ./darwin.patch; 28 + 26 29 nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath; 27 30 buildInputs = 28 31 [ boost ffmpeg gettext glew ilmbase 29 - libXi libX11 libXext libXrender 30 - freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU libGL openal 31 - opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc 32 + freetype libjpeg libpng libsamplerate libsndfile libtiff 33 + opencolorio openexr openimageio2 openjpeg python zlib fftw jemalloc 32 34 (opensubdiv.override { inherit cudaSupport; }) 33 - openvdb libXxf86vm tbb 35 + tbb 34 36 makeWrapper 35 37 ] 38 + ++ (if (!stdenv.isDarwin) then [ 39 + libXi libX11 libXext libXrender 40 + libGLU libGL openal 41 + libXxf86vm 42 + # OpenVDB currently doesn't build on darwin 43 + openvdb 44 + ] 45 + else [ 46 + pugixml SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL 47 + ]) 36 48 ++ optional jackaudioSupport libjack2 37 49 ++ optional cudaSupport cudatoolkit 38 50 ++ optional colladaSupport opencollada; 39 51 40 52 postPatch = 41 - '' 53 + if stdenv.isDarwin then '' 54 + : > build_files/cmake/platform/platform_apple_xcode.cmake 55 + substituteInPlace source/creator/CMakeLists.txt \ 56 + --replace '${"$"}{LIBDIR}/python' \ 57 + '${python}' 58 + substituteInPlace build_files/cmake/platform/platform_apple.cmake \ 59 + --replace '${"$"}{LIBDIR}/python' \ 60 + '${python}' \ 61 + --replace '${"$"}{LIBDIR}/opencollada' \ 62 + '${opencollada}' \ 63 + --replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \ 64 + '${python3Packages.numpy}/${python.sitePackages}/numpy' \ 65 + --replace 'set(OPENJPEG_INCLUDE_DIRS ' \ 66 + 'set(OPENJPEG_INCLUDE_DIRS "'$(echo ${openjpeg.dev}/include/openjpeg-*)'") #' \ 67 + --replace 'set(OPENJPEG_LIBRARIES ' \ 68 + 'set(OPENJPEG_LIBRARIES "${openjpeg}/lib/libopenjp2.dylib") #' \ 69 + --replace 'set(OPENIMAGEIO ' \ 70 + 'set(OPENIMAGEIO "${openimageio2.out}") #' \ 71 + --replace 'set(OPENEXR_INCLUDE_DIRS ' \ 72 + 'set(OPENEXR_INCLUDE_DIRS "${openexr.dev}/include/OpenEXR") #' 73 + '' else '' 42 74 substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"' 43 75 ''; 44 76 ··· 48 80 "-DWITH_CODEC_SNDFILE=ON" 49 81 "-DWITH_INSTALL_PORTABLE=OFF" 50 82 "-DWITH_FFTW3=ON" 51 - #"-DWITH_SDL=ON" 83 + "-DWITH_SDL=OFF" 52 84 "-DWITH_OPENCOLORIO=ON" 53 85 "-DWITH_OPENSUBDIV=ON" 54 86 "-DPYTHON_LIBRARY=${python.libPrefix}m" ··· 61 93 "-DWITH_OPENVDB=ON" 62 94 "-DWITH_TBB=ON" 63 95 "-DWITH_IMAGE_OPENJPEG=ON" 96 + "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}" 64 97 ] 98 + ++ optionals stdenv.isDarwin [ 99 + "-DWITH_CYCLES_OSL=OFF" # requires LLVM 100 + "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin 101 + 102 + "-DLIBDIR=/does-not-exist" 103 + ] 104 + # Clang doesn't support "-export-dynamic" 105 + ++ optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" 65 106 ++ optional jackaudioSupport "-DWITH_JACK=ON" 66 - ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON" 67 - ++ optional colladaSupport "-DWITH_OPENCOLLADA=ON"; 107 + ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"; 68 108 69 109 NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}"; 70 110 ··· 95 135 # They comment two licenses: GPLv2 and Blender License, but they 96 136 # say: "We've decided to cancel the BL offering for an indefinite period." 97 137 license = licenses.gpl2Plus; 98 - platforms = [ "x86_64-linux" ]; 138 + platforms = [ "x86_64-linux" "x86_64-darwin" ]; 99 139 maintainers = [ maintainers.goibhniu ]; 100 140 }; 101 141 }
+3 -16
pkgs/applications/misc/font-manager/default.nix
··· 1 - { stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch, 1 + { stdenv, fetchFromGitHub, meson, ninja, gettext, python3, 2 2 pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg, yelp-tools, 3 3 vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection 4 4 }: 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "font-manager"; 8 - version = "0.7.5"; 8 + version = "0.7.7"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "FontManager"; 12 12 repo = "master"; 13 13 rev = version; 14 - sha256 = "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g"; 14 + sha256 = "1bzqvspplp1zj0n0869jqbc60wgbjhf0vdrn5bj8dfawxynh8s5f"; 15 15 }; 16 16 17 17 nativeBuildInputs = [ ··· 36 36 librsvg 37 37 gtk3 38 38 gnome3.adwaita-icon-theme 39 - ]; 40 - 41 - mesonFlags = [ 42 - "-Ddisable_pycompile=true" 43 - ]; 44 - 45 - patches = [ 46 - # fix build with Vala 0.46 47 - (fetchpatch { 48 - url = "https://github.com/FontManager/font-manager/commit/c73b40de11f376f4515a0edfe97fb3721a264b35.patch"; 49 - sha256 = "0lacwsifgvda2r3z6j2a0svdqr6mgav7zkvih35xa8155y8wfpnw"; 50 - excludes = [ "fedora/font-manager.spec" ]; 51 - }) 52 39 ]; 53 40 54 41 postPatch = ''
+3 -3
pkgs/applications/misc/mako/default.nix
··· 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "mako"; 7 - version = "1.4"; 7 + version = "1.4.1"; 8 8 9 9 src = fetchFromGitHub { 10 10 owner = "emersion"; 11 11 repo = pname; 12 12 rev = "v${version}"; 13 - sha256 = "11ymiq6cr2ma0iva1mqybn3j6k73bsc6lv6pcbdq7hkhd4f9b7j9"; 13 + sha256 = "0hwvibpnrximb628w9dsfjpi30b5jy7nfkm4d94z5vhp78p43vxh"; 14 14 }; 15 15 16 16 nativeBuildInputs = [ meson ninja pkgconfig scdoc wayland-protocols ]; ··· 22 22 description = "A lightweight Wayland notification daemon"; 23 23 homepage = https://wayland.emersion.fr/mako/; 24 24 license = licenses.mit; 25 - maintainers = with maintainers; [ dywedir ]; 25 + maintainers = with maintainers; [ dywedir synthetica ]; 26 26 platforms = platforms.linux; 27 27 }; 28 28 }
+14 -33
pkgs/applications/misc/osmctools/default.nix
··· 1 - { stdenv, fetchurl, zlib } : 2 - 3 - let 1 + { stdenv, fetchFromGitLab, autoreconfHook, zlib }: 4 2 5 - convert_src = fetchurl { 6 - url = http://m.m.i24.cc/osmconvert.c; 7 - sha256 = "1mvmb171c1jqxrm80jc7qicwk4kgg7yq694n7ci65g6i284r984x"; 8 - # version = 0.8.5 9 - }; 3 + stdenv.mkDerivation rec { 4 + pname = "osmctools"; 5 + version = "0.9"; 10 6 11 - filter_src = fetchurl { 12 - url = http://m.m.i24.cc/osmfilter.c; 13 - sha256 = "0vm3bls9jb2cb5b11dn82sxnc22qzkf4ghmnkivycigrwa74i6xl"; 14 - # version = 1.4.0 7 + src = fetchFromGitLab { 8 + owner = "osm-c-tools"; 9 + repo = pname; 10 + rev = version; 11 + sha256 = "1m8d3r1q1v05pkr8k9czrmb4xjszw6hvgsf3kn9pf0v14gpn4r8f"; 15 12 }; 16 13 17 - in 18 - 19 - stdenv.mkDerivation { 20 - pname = "osmctools"; 21 - version = "0.8.5plus1.4.0"; 22 - 14 + nativeBuildInputs = [ autoreconfHook ]; 23 15 buildInputs = [ zlib ]; 24 16 25 - phases = [ "buildPhase" "installPhase" ]; 26 - 27 - buildPhase = '' 28 - cc ${convert_src} -lz -O3 -o osmconvert 29 - cc ${filter_src} -O3 -o osmfilter 30 - ''; 31 - 32 - installPhase = '' 33 - mkdir -p $out/bin 34 - mv osmconvert $out/bin 35 - mv osmfilter $out/bin 36 - ''; 37 - 38 17 meta = with stdenv.lib; { 39 18 description = "Command line tools for transforming Open Street Map files"; 40 19 homepage = [ 41 - https://wiki.openstreetmap.org/wiki/Osmconvert 42 - https://wiki.openstreetmap.org/wiki/Osmfilter 20 + https://wiki.openstreetmap.org/wiki/osmconvert 21 + https://wiki.openstreetmap.org/wiki/osmfilter 22 + https://wiki.openstreetmap.org/wiki/osmupdate 43 23 ]; 24 + maintainers = with maintainers; [ sikmir ]; 44 25 platforms = platforms.unix; 45 26 license = licenses.agpl3; 46 27 };
+2 -2
pkgs/applications/misc/waybar/default.nix
··· 1 - { stdenv, fetchFromGitHub, meson, pkgconfig, ninja 1 + { stdenv, fetchFromGitHub, meson, pkgconfig, ninja, wrapGAppsHook 2 2 , wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt, scdoc, spdlog, gtk-layer-shell 3 3 , traySupport ? true, libdbusmenu-gtk3 4 4 , pulseSupport ? false, libpulseaudio ··· 19 19 }; 20 20 21 21 nativeBuildInputs = [ 22 - meson ninja pkgconfig scdoc 22 + meson ninja pkgconfig scdoc wrapGAppsHook 23 23 ]; 24 24 25 25 buildInputs = with stdenv.lib;
+2 -2
pkgs/applications/networking/Sylk/default.nix
··· 2 2 3 3 let 4 4 pname = "Sylk"; 5 - version = "2.1.0"; 5 + version = "2.5.0"; 6 6 in 7 7 8 8 appimageTools.wrapType2 rec { ··· 10 10 11 11 src = fetchurl { 12 12 url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage"; 13 - sha256 = "1ifi8qr6f84dcssxhv5ar1s48nsqxiv2j1blc82248hmq5is24mf"; 13 + sha256 = "1jhs25zzdac3r2wz886vlpb0bz77p52mdlrbsbv28h6is79pbd69"; 14 14 }; 15 15 16 16 profile = ''
+2 -2
pkgs/applications/networking/browsers/chromium/plugins.nix
··· 45 45 46 46 flash = stdenv.mkDerivation rec { 47 47 pname = "flashplayer-ppapi"; 48 - version = "32.0.0.303"; 48 + version = "32.0.0.314"; 49 49 50 50 src = fetchzip { 51 51 url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; 52 - sha256 = "0b2cw8y9rif2p0lyy2ir1v5lchxlsh543b9c743a2p85c9p7q62b"; 52 + sha256 = "05xcscpzglpfpiiqc3ngs5snxli99irjk18g5vdhw91jk9808gnl"; 53 53 stripRoot = false; 54 54 }; 55 55
+5 -5
pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
··· 74 74 in 75 75 stdenv.mkDerivation rec { 76 76 pname = "flashplayer"; 77 - version = "32.0.0.303"; 77 + version = "32.0.0.314"; 78 78 79 79 src = fetchurl { 80 80 url = ··· 85 85 sha256 = 86 86 if debug then 87 87 if arch == "x86_64" then 88 - "05hfc5ywmcvp6zf8aqmzjp3qy3byp0zdl0ssrv9gvzcskdqkhsj2" 88 + "076l93wjcy15sic88cyq6msp87gdhcvbk4ym2vbvvjz2bav2z456" 89 89 else 90 - "12hl8lvxz648ha70gi3v85mwf0nnayjiaslr669vjan3ww94jymv" 90 + "0kxr8d6fh00akqgk3lwv0z6rk7xswislicsbh9b9p33f19mj7c8a" 91 91 else 92 92 if arch == "x86_64" then 93 - "0x0mabgswly2v8z13832pkbjsv404aq61pback6sgmp2lyycdg6w" 93 + "0a3hvp0qmqlann8k875ajf0i70cv0an1a3mr8kbgji46dxqvwjxz" 94 94 else 95 - "16kbpf1i3aqlrfbfh5ncg1n46ncl9hp6qdp36s5j3ivbc68pj81z"; 95 + "0jyywas2z7ssgzng82qgnp01gy6nccqavkbx9529m07xrclvqbxn"; 96 96 }; 97 97 98 98 nativeBuildInputs = [ unzip ];
+3 -3
pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
··· 50 50 51 51 stdenv.mkDerivation { 52 52 pname = "flashplayer-standalone"; 53 - version = "32.0.0.303"; 53 + version = "32.0.0.314"; 54 54 55 55 src = fetchurl { 56 56 url = ··· 60 60 "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz"; 61 61 sha256 = 62 62 if debug then 63 - "0xkzlv90lpyy54j6pllknrp1l9vjyh6dsl63l4c8cgh4i830gi14" 63 + "0zlin94rip13rn58m7v5l6m20ylnw59l77rbg5j5qyxkr53zawdz" 64 64 else 65 - "0mi3ggv6zhzmdd1h68cgl87n6izhp0pbkhnidd2gl2cp95f23c2d"; 65 + "0pfrm02iwa01pqx3adqj0sw27p1ddlz9knjky6x248ak8zywsqr2"; 66 66 }; 67 67 68 68 nativeBuildInputs = [ unzip ];
+2 -2
pkgs/applications/networking/cawbird/default.nix
··· 20 20 }: 21 21 22 22 stdenv.mkDerivation rec { 23 - version = "1.0.3.1"; 23 + version = "1.0.4"; 24 24 pname = "cawbird"; 25 25 26 26 src = fetchFromGitHub { 27 27 owner = "IBBoard"; 28 28 repo = "cawbird"; 29 29 rev = "v${version}"; 30 - sha256 = "sha256:1v1y4bx0mm518b9vlpsry12fw1qz2j28jfhjqq73blvzd89lgb0y"; 30 + sha256 = "sha256:1gqi7bn08b9cjpb0mgs6bk1a2npdfhn56ckps95nck0jyqzfbnir"; 31 31 }; 32 32 33 33 nativeBuildInputs = [
+2 -2
pkgs/applications/networking/cluster/cni/plugins.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, go, removeReferencesTo, buildGoPackage }: 2 2 buildGoPackage rec { 3 3 pname = "cni-plugins"; 4 - version = "0.8.3"; 4 + version = "0.8.4"; 5 5 6 6 src = fetchFromGitHub { 7 7 owner = "containernetworking"; 8 8 repo = "plugins"; 9 9 rev = "v${version}"; 10 - sha256 = "0dc4fs08x4x518yhgvq3drjvansnc0cb8rm4h5wiw7k3whjii3cd"; 10 + sha256 = "02kz6y3klhbriybsskn4hmldwli28cycnp2klsm2x0y9c73iczdp"; 11 11 }; 12 12 13 13 goDeps = ./plugins-deps.nix;
-21
pkgs/applications/networking/cluster/docker-machine/xhyve-deps.nix
··· 1 - # This file was generated by https://github.com/kamilchm/go2nix v1.2.1 2 - [ 3 - { 4 - goPackagePath = "github.com/docker/machine"; 5 - fetch = { 6 - type = "git"; 7 - url = "https://github.com/docker/machine"; 8 - rev = "5b274558ea6ca822c06dd407a4e774a0105c3f60"; 9 - sha256 = "1wdq9h4bx7awgclh969gvmcnl9jvgv7ldfklnclh5iv47mi7q22d"; 10 - }; 11 - } 12 - { 13 - goPackagePath = "github.com/zchee/libhyperkit"; 14 - fetch = { 15 - type = "git"; 16 - url = "https://github.com/zchee/libhyperkit"; 17 - rev = "1a19a7693fac32b46ec6cdd22da6fbec974447fc"; 18 - sha256 = "119f5gcl24znwnmi837jk667asd3lirx32jldpd4mbyb3sm9nz24"; 19 - }; 20 - } 21 - ]
+18 -6
pkgs/applications/networking/cluster/docker-machine/xhyve.nix
··· 1 - { stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, Hypervisor, vmnet }: 1 + { stdenv, buildGoPackage, fetchFromGitHub, fetchpatch, pkgconfig, cctools, Hypervisor, vmnet }: 2 2 3 3 buildGoPackage rec { 4 4 pname = "docker-machine-xhyve"; 5 - version = "0.3.3"; 5 + version = "0.4.0"; 6 6 7 7 goPackagePath = "github.com/zchee/docker-machine-driver-xhyve"; 8 - goDeps = ./xhyve-deps.nix; 8 + 9 + # https://github.com/machine-drivers/docker-machine-driver-xhyve/pull/225 10 + patches = fetchpatch { 11 + url = "https://github.com/machine-drivers/docker-machine-driver-xhyve/commit/546256494bf2ccc33e4125bf45f504b0e3027d5a.patch"; 12 + sha256 = "1i8wxqccqkxvqrbsyd0g9s0kdskd8xi2jv0c1bji9aj4rq0a8cgz"; 13 + }; 14 + 15 + preBuild = '' 16 + make -C go/src/${goPackagePath} CC=${stdenv.cc}/bin/cc LIBTOOL=${cctools}/bin/libtool GIT_CMD=: lib9p 17 + export CGO_CFLAGS=-I$(pwd)/go/src/${goPackagePath}/vendor/github.com/jceel/lib9p 18 + export CGO_LDFLAGS=$(pwd)/go/src/${goPackagePath}/vendor/build/lib9p/lib9p.a 19 + ''; 20 + buildFlags = "--tags lib9p"; 9 21 10 22 src = fetchFromGitHub { 11 23 rev = "v${version}"; 12 - owner = "zchee"; 24 + owner = "machine-drivers"; 13 25 repo = "docker-machine-driver-xhyve"; 14 - sha256 = "0rj6pyqp4yv4j28bglqjs95rip5i77vv8mrkmqv1rxrsl3i8aqqy"; 26 + sha256 = "0000v97fr8xc5b39v44hsa87wrbk4bcwyaaivxv4hxlf4vlgg863"; 15 27 }; 16 28 17 29 nativeBuildInputs = [ pkgconfig ]; 18 30 buildInputs = [ Hypervisor vmnet ]; 19 31 20 32 meta = with stdenv.lib; { 21 - homepage = https://github.com/zchee/docker-machine-driver-xhyve; 33 + homepage = https://github.com/machine-drivers/docker-machine-driver-xhyve; 22 34 description = "Xhyve driver for docker-machine."; 23 35 license = licenses.bsd3; 24 36 maintainers = with maintainers; [ periklis ];
+2 -2
pkgs/applications/networking/mailreaders/mutt/default.nix
··· 27 27 28 28 stdenv.mkDerivation rec { 29 29 pname = "mutt"; 30 - version = "1.13.2"; 30 + version = "1.13.3"; 31 31 32 32 src = fetchurl { 33 33 url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz"; 34 - sha256 = "0x4yfvk8415p80h9an242n6q3b43mw6mnnczh95zd3j0zwdr6wrg"; 34 + sha256 = "0y3ks10mc7m8c7pd4c4j8pj7n5rqcvzrjs8mzldv7z7jnlb30hkq"; 35 35 }; 36 36 37 37 patches = optional smimeSupport (fetchpatch {
+2 -2
pkgs/applications/radio/soapysdr/default.nix
··· 8 8 9 9 let 10 10 11 - version = "0.7.1"; 11 + version = "0.7.2"; 12 12 modulesVersion = with lib; versions.major version + "." + versions.minor version; 13 13 modulesPath = "lib/SoapySDR/modules" + modulesVersion; 14 14 extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages; ··· 21 21 owner = "pothosware"; 22 22 repo = "SoapySDR"; 23 23 rev = "soapy-sdr-${version}"; 24 - sha256 = "1rbnd3w12kzsh94fiywyn4vch7h0kf75m88fi6nq992b3vnmiwvl"; 24 + sha256 = "102wnpjxrwba20pzdh1vvx0yg1h8vqd8z914idxflg9p14r6v5am"; 25 25 }; 26 26 27 27 nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
+40
pkgs/applications/science/math/nota/default.nix
··· 1 + { mkDerivation, haskellPackages, fetchurl, lib }: 2 + 3 + mkDerivation rec { 4 + pname = "nota"; 5 + version = "1.0"; 6 + 7 + # Can't use fetchFromGitLab since codes.kary.us doesn't support https 8 + src = fetchurl { 9 + url = "http://codes.kary.us/nota/nota/-/archive/V${version}/nota-V${version}.tar.bz2"; 10 + sha256 = "0bbs6bm9p852hvqadmqs428ir7m65h2prwyma238iirv42pk04v8"; 11 + }; 12 + 13 + postUnpack = '' 14 + export sourceRoot=$sourceRoot/source 15 + ''; 16 + 17 + isLibrary = false; 18 + isExecutable = true; 19 + 20 + libraryHaskellDepends = with haskellPackages; [ 21 + base 22 + bytestring 23 + array 24 + split 25 + scientific 26 + parsec 27 + ansi-terminal 28 + regex-compat 29 + containers 30 + terminal-size 31 + numbers 32 + text 33 + time 34 + ]; 35 + 36 + description = "The most beautiful command line calculator"; 37 + homepage = "https://kary.us/nota"; 38 + license = lib.licenses.mpl20; 39 + maintainers = with lib.maintainers; [ dtzWill ]; 40 + }
+1 -1
pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
··· 13 13 14 14 buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ]; 15 15 patchPhase = '' 16 - sed -i "s|local daemon=.*|local daemon=$out/bin/gitstatusd|" gitstatus.plugin.zsh 16 + sed -i "1i GITSTATUS_DAEMON=$out/bin/gitstatusd" gitstatus.plugin.zsh 17 17 ''; 18 18 installPhase = '' 19 19 install -Dm755 gitstatusd $out/bin/gitstatusd
+4 -4
pkgs/applications/version-management/gitlab/data.json
··· 1 1 { 2 - "version": "12.6.2", 3 - "repo_hash": "0bchamvr3f0ph49f7xa76gsp2mjj1ajy4q0wy1hjvr9bayxx94av", 2 + "version": "12.6.4", 3 + "repo_hash": "0jsww785bxvjdrp1wsz6zkvx9zr69j24bway6nfyjkz8a7vbl9ls", 4 4 "owner": "gitlab-org", 5 5 "repo": "gitlab", 6 - "rev": "v12.6.2-ee", 6 + "rev": "v12.6.4-ee", 7 7 "passthru": { 8 - "GITALY_SERVER_VERSION": "a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83", 8 + "GITALY_SERVER_VERSION": "1.77.1", 9 9 "GITLAB_PAGES_VERSION": "1.12.0", 10 10 "GITLAB_SHELL_VERSION": "10.3.0", 11 11 "GITLAB_WORKHORSE_VERSION": "8.18.0"
+3 -3
pkgs/applications/version-management/gitlab/gitaly/default.nix
··· 17 17 }; 18 18 }; 19 19 in buildGoPackage rec { 20 - version = "a4b6c71d4b7c1588587345e2dfe0c6bd7cc63a83"; 20 + version = "1.77.1"; 21 21 pname = "gitaly"; 22 22 23 23 src = fetchFromGitLab { 24 24 owner = "gitlab-org"; 25 25 repo = "gitaly"; 26 - rev = version; 27 - sha256 = "1pxmhq1nrc8q2kk83bz5afx14hshqgzqm6j4vgmyjvbmdvgl80wv"; 26 + rev = "v${version}"; 27 + sha256 = "08xc9lxlvga36yq1wdvb1h4zk70c36qspyd7azhkw84kzwfrif1c"; 28 28 }; 29 29 30 30 # Fix a check which assumes that hook files are writeable by their
+1 -1
pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
··· 327 327 gem 'influxdb', '~> 0.2', require: false 328 328 329 329 # Prometheus 330 - gem 'prometheus-client-mmap', '~> 0.9.10' 330 + gem 'prometheus-client-mmap', '~> 0.10.0' 331 331 gem 'raindrops', '~> 0.18' 332 332 end 333 333
+4 -4
pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
··· 531 531 regexp_parser (~> 1.1) 532 532 regexp_property_values (~> 0.3) 533 533 json (1.8.6) 534 - json-jwt (1.9.4) 535 - activesupport 534 + json-jwt (1.11.0) 535 + activesupport (>= 4.2) 536 536 aes_key_wrap 537 537 bindata 538 538 json-schema (2.8.0) ··· 746 746 parser 747 747 unparser 748 748 procto (0.0.3) 749 - prometheus-client-mmap (0.9.10) 749 + prometheus-client-mmap (0.10.0) 750 750 pry (0.11.3) 751 751 coderay (~> 1.1.0) 752 752 method_source (~> 0.9.0) ··· 1283 1283 peek (~> 1.1) 1284 1284 pg (~> 1.1) 1285 1285 premailer-rails (~> 1.10.3) 1286 - prometheus-client-mmap (~> 0.9.10) 1286 + prometheus-client-mmap (~> 0.10.0) 1287 1287 pry-byebug (~> 3.5.1) 1288 1288 pry-rails (~> 0.3.4) 1289 1289 rack (~> 2.0.7)
+4 -4
pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
··· 2326 2326 platforms = []; 2327 2327 source = { 2328 2328 remotes = ["https://rubygems.org"]; 2329 - sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r"; 2329 + sha256 = "18rf9v20i0dk5dblr7m22di959xpch2h7gsx0cl585cryr7apwp3"; 2330 2330 type = "gem"; 2331 2331 }; 2332 - version = "1.9.4"; 2332 + version = "1.11.0"; 2333 2333 }; 2334 2334 json-schema = { 2335 2335 dependencies = ["addressable"]; ··· 3365 3365 platforms = []; 3366 3366 source = { 3367 3367 remotes = ["https://rubygems.org"]; 3368 - sha256 = "0immyg4as0isyj2dcjf44n0avg1jv5kx1qk0asrgb5ayzwmjqg1k"; 3368 + sha256 = "00d2c79xhz5k3fcclarjr1ffxbrvc6236f4rrvriad9kwqr7c1mp"; 3369 3369 type = "gem"; 3370 3370 }; 3371 - version = "0.9.10"; 3371 + version = "0.10.0"; 3372 3372 }; 3373 3373 pry = { 3374 3374 dependencies = ["coderay" "method_source"];
+1 -1
pkgs/applications/window-managers/sway/lock-fancy.nix
··· 18 18 19 19 src = fetchFromGitHub { 20 20 owner = "Big-B"; 21 - repo = pname; 21 + repo = "swaylock-fancy"; 22 22 rev = "35618ceec70338047355b6b057825e68f16971b5"; 23 23 sha256 = "06fjqwblmj0d9pq6y11rr73mizirna4ixy6xkvblf1c7sn5n8lpc"; 24 24 };
+2 -2
pkgs/build-support/rust/default.nix
··· 100 100 '' + stdenv.lib.optionalString verifyCargoDeps '' 101 101 if ! diff source/Cargo.lock $cargoDeps/Cargo.lock ; then 102 102 echo 103 - echo "ERROR: cargoSha256 is out of date." 103 + echo "ERROR: cargoSha256 is out of date" 104 104 echo 105 - echo "Cargo.lock is not the same in $cargoDeps." 105 + echo "Cargo.lock is not the same in $cargoDeps" 106 106 echo 107 107 echo "To fix the issue:" 108 108 echo '1. Use "1111111111111111111111111111111111111111111111111111" as the cargoSha256 value'
+2 -2
pkgs/data/fonts/victor-mono/default.nix
··· 2 2 3 3 let 4 4 pname = "victor-mono"; 5 - version = "1.3.0"; 5 + version = "1.3.1"; 6 6 in fetchFromGitHub rec { 7 7 name = "${pname}-${version}"; 8 8 ··· 26 26 unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname} 27 27 ''; 28 28 29 - sha256 = "1lv2x7kfspabnhvm8z79n165fw3awvzj1r8f0g5zn26wgdalgw69"; 29 + sha256 = "1yj91rhs9pd705406r4lqabdfzjclbz837nzm6z1rziy6mbpd61s"; 30 30 31 31 meta = with lib; { 32 32 description = "Free programming font with cursive italics and ligatures";
+2 -2
pkgs/desktops/gnome-3/apps/seahorse/default.nix
··· 26 26 27 27 stdenv.mkDerivation rec { 28 28 pname = "seahorse"; 29 - version = "3.34"; 29 + version = "3.34.1"; 30 30 31 31 src = fetchurl { 32 32 url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; 33 - sha256 = "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"; 33 + sha256 = "19c2zylwgycb5q9hal8rmflc2sywc5c2grpsfsq3rf37i9lfwynw"; 34 34 }; 35 35 36 36 doCheck = true;
-55
pkgs/development/compilers/bs-platform/bs-platform-62.nix
··· 1 - { stdenv, fetchFromGitHub, ninja, nodejs, python3 }: 2 - let 3 - version = "6.2.1"; 4 - ocaml-version = "4.06.1"; 5 - src = fetchFromGitHub { 6 - owner = "BuckleScript"; 7 - repo = "bucklescript"; 8 - rev = "${version}"; 9 - sha256 = "0zx9nq7cik0c60n3rndqfqy3vdbj5lcrx6zcqcz2d60jjxi1z32y"; 10 - fetchSubmodules = true; 11 - }; 12 - ocaml = import ./ocaml.nix { 13 - bs-version = version; 14 - version = ocaml-version; 15 - inherit stdenv; 16 - src = "${src}/ocaml"; 17 - }; 18 - in 19 - stdenv.mkDerivation { 20 - inherit src version; 21 - pname = "bs-platform"; 22 - BS_RELEASE_BUILD = "true"; 23 - buildInputs = [ nodejs python3 ]; 24 - 25 - patchPhase = '' 26 - sed -i 's:./configure.py --bootstrap:python3 ./configure.py --bootstrap:' ./scripts/install.js 27 - 28 - mkdir -p ./native/${ocaml-version}/bin 29 - ln -sf ${ocaml}/bin/* ./native/${ocaml-version}/bin 30 - 31 - rm -f vendor/ninja/snapshot/ninja.linux 32 - cp ${ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux 33 - ''; 34 - 35 - configurePhase = '' 36 - node scripts/ninja.js config 37 - ''; 38 - 39 - buildPhase = '' 40 - node scripts/ninja.js build 41 - ''; 42 - 43 - installPhase = '' 44 - node scripts/install.js 45 - 46 - mkdir -p $out/bin 47 - 48 - cp -rf jscomp lib vendor odoc_gen native $out 49 - cp bsconfig.json package.json $out 50 - 51 - ln -s $out/lib/bsb $out/bin/bsb 52 - ln -s $out/lib/bsc $out/bin/bsc 53 - ln -s $out/lib/bsrefmt $out/bin/bsrefmt 54 - ''; 55 - }
+50
pkgs/development/compilers/bs-platform/build-bs-platform.nix
··· 1 + # This file is based on https://github.com/turboMaCk/bs-platform.nix/blob/master/build-bs-platform.nix 2 + # to make potential future updates simpler 3 + 4 + { stdenv, fetchFromGitHub, ninja, runCommand, nodejs, python3, 5 + ocaml-version, version, src, 6 + ocaml ? (import ./ocaml.nix { 7 + version = ocaml-version; 8 + inherit stdenv; 9 + src = "${src}/ocaml"; 10 + }), 11 + custom-ninja ? (ninja.overrideAttrs (attrs: { 12 + src = runCommand "ninja-patched-source" {} '' 13 + mkdir -p $out 14 + tar zxvf ${src}/vendor/ninja.tar.gz -C $out 15 + ''; 16 + patches = []; 17 + })) 18 + }: 19 + stdenv.mkDerivation { 20 + inherit src version; 21 + pname = "bs-platform"; 22 + BS_RELEASE_BUILD = "true"; 23 + buildInputs = [ nodejs python3 custom-ninja ]; 24 + 25 + patchPhase = '' 26 + sed -i 's:./configure.py --bootstrap:python3 ./configure.py --bootstrap:' ./scripts/install.js 27 + mkdir -p ./native/${ocaml-version}/bin 28 + ln -sf ${ocaml}/bin/* ./native/${ocaml-version}/bin 29 + rm -f vendor/ninja/snapshot/ninja.linux 30 + cp ${custom-ninja}/bin/ninja vendor/ninja/snapshot/ninja.linux 31 + ''; 32 + 33 + configurePhase = '' 34 + node scripts/ninja.js config 35 + ''; 36 + 37 + buildPhase = '' 38 + node scripts/ninja.js build 39 + ''; 40 + 41 + installPhase = '' 42 + node scripts/install.js 43 + mkdir -p $out/bin 44 + cp -rf jscomp lib vendor odoc_gen native $out 45 + cp bsconfig.json package.json $out 46 + ln -s $out/lib/bsb $out/bin/bsb 47 + ln -s $out/lib/bsc $out/bin/bsc 48 + ln -s $out/lib/bsrefmt $out/bin/bsrefmt 49 + ''; 50 + }
+21 -8
pkgs/development/compilers/bs-platform/default.nix
··· 1 - { stdenv, fetchFromGitHub, ninja, nodejs, python3, ... }: 1 + { stdenv, runCommand, fetchFromGitHub, ninja, nodejs, python3, ... }: 2 2 let 3 + build-bs-platform = import ./build-bs-platform.nix; 4 + in 5 + (build-bs-platform { 6 + inherit stdenv runCommand fetchFromGitHub ninja nodejs python3; 7 + version = "7.0.1"; 8 + ocaml-version = "4.06.1"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "BuckleScript"; 12 + repo = "bucklescript"; 13 + rev = "52770839e293ade2bcf187f2639000ca0a9a1d46"; 14 + sha256 = "0s7g2zfhshsilv9zyp0246bypg34d294z27alpwz03ws9608yr7k"; 15 + fetchSubmodules = true; 16 + }; 17 + }).overrideAttrs (attrs: { 3 18 meta = with stdenv.lib; { 4 19 description = "A JavaScript backend for OCaml focused on smooth integration and clean generated code."; 5 20 homepage = https://bucklescript.github.io; 6 21 license = licenses.lgpl3; 7 - maintainers = with maintainers; [ turbomack gamb ]; 22 + maintainers = with maintainers; [ turbomack gamb anmonteiro ]; 8 23 platforms = platforms.all; 24 + # Currently there is an issue with aarch build in hydra 25 + # https://github.com/BuckleScript/bucklescript/issues/4091 26 + badPlatforms = platforms.aarch64; 9 27 }; 10 - in 11 - { 12 - bs-platform-621 = import ./bs-platform-62.nix { 13 - inherit stdenv fetchFromGitHub ninja nodejs python3; 14 - } // { inherit meta; }; 15 - } 28 + })
+2 -2
pkgs/development/compilers/bs-platform/ocaml.nix
··· 1 - { stdenv, src, version, bs-version }: 1 + { stdenv, src, version }: 2 2 stdenv.mkDerivation rec { 3 3 inherit src version; 4 - name = "ocaml-${version}+bs-${bs-version}"; 4 + name = "ocaml-${version}+bs"; 5 5 configurePhase = '' 6 6 ./configure -prefix $out 7 7 '';
+3 -3
pkgs/development/compilers/ghc/8.10.1.nix
··· 86 86 87 87 in 88 88 stdenv.mkDerivation (rec { 89 - version = "8.10.0.20191210"; 89 + version = "8.10.0.20200108"; 90 90 name = "${targetPrefix}ghc-${version}"; 91 91 92 92 src = fetchurl { 93 - url = "https://downloads.haskell.org/ghc/8.10.1-alpha2/ghc-${version}-src.tar.xz"; 94 - sha256 = "1mmv8s9cs41kp7wh1qqnzin5wv32cvs3lmzgda7njz0ssqb0mmvj"; 93 + url = "https://downloads.haskell.org/ghc/8.10.1-rc1/ghc-${version}-src.tar.xz"; 94 + sha256 = "1xm6cb3s2x3rycnyvkh12mp65xi3zbwrk5ima8sg7c245f3dl0ay"; 95 95 }; 96 96 97 97 enableParallelBuilding = true;
+1 -2
pkgs/development/interpreters/perl/default.nix
··· 96 96 "-Dprefix=${placeholder "out"}" 97 97 "-Dman1dir=${placeholder "out"}/share/man/man1" 98 98 "-Dman3dir=${placeholder "out"}/share/man/man3" 99 - ] 100 - ++ optional (stdenv.isAarch32 || stdenv.isMips) "-Dldflags=\"-lm -lrt\""; 99 + ]; 101 100 102 101 configureScript = optionalString (!crossCompiling) "${stdenv.shell} ./Configure"; 103 102
+12
pkgs/development/interpreters/python/hooks/default.nix
··· 2 2 { python 3 3 , callPackage 4 4 , makeSetupHook 5 + , disabledIf 6 + , isPy3k 7 + , ensureNewerSourcesForZipFilesHook 5 8 }: 6 9 7 10 let ··· 108 111 inherit pythonCheckInterpreter setuppy; 109 112 }; 110 113 } ./setuptools-check-hook.sh) {}; 114 + 115 + venvShellHook = disabledIf (!isPy3k) (callPackage ({ }: 116 + makeSetupHook { 117 + name = "venv-shell-hook"; 118 + deps = [ ensureNewerSourcesForZipFilesHook ]; 119 + substitutions = { 120 + inherit pythonInterpreter; 121 + }; 122 + } ./venv-shell-hook.sh) {}); 111 123 112 124 wheelUnpackHook = callPackage ({ wheel }: 113 125 makeSetupHook {
+26
pkgs/development/interpreters/python/hooks/venv-shell-hook.sh
··· 1 + venvShellHook() { 2 + echo "Executing venvHook" 3 + runHook preShellHook 4 + 5 + if [ -d "${venvDir}" ]; then 6 + echo "Skipping venv creation, '${venvDir}' already exists" 7 + else 8 + echo "Creating new venv environment in path: '${venvDir}'" 9 + @pythonInterpreter@ -m venv "${venvDir}" 10 + fi 11 + 12 + source "${venvDir}/bin/activate" 13 + 14 + runHook postShellHook 15 + echo "Finished executing venvShellHook" 16 + } 17 + 18 + if [ -z "${dontUseVenvShellHook:-}" ] && [ -z "${shellHook-}" ]; then 19 + echo "Using venvShellHook" 20 + if [ -z "${venvDir-}" ]; then 21 + echo "Error: \`venvDir\` should be set when using \`venvShellHook\`." 22 + exit 1 23 + else 24 + shellHook=venvShellHook 25 + fi 26 + fi
+24
pkgs/development/libraries/alure2/default.nix
··· 1 + { stdenv, fetchFromGitHub, cmake, openal, libvorbis, opusfile, libsndfile }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "alure2"; 5 + version = "unstable-2020-01-09"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "kcat"; 9 + repo = "alure"; 10 + rev = "4b7b58d3f0de444d6f26aa705704deb59145f586"; 11 + sha256 = "0ds18hhy2wpvx498z5hcpzfqz9i60ixsi0cjihyvk20rf4qy12vg"; 12 + }; 13 + 14 + nativeBuildInputs = [ cmake ]; 15 + buildInputs = [ openal libvorbis opusfile libsndfile ]; 16 + 17 + meta = with stdenv.lib; { 18 + description = "A utility library for OpenAL, providing a C++ API and managing common tasks that include file loading, caching, and streaming"; 19 + homepage = "https://github.com/kcat/alure"; 20 + license = licenses.zlib; 21 + platforms = platforms.linux; 22 + maintainers = with maintainers; [ McSinyx ]; 23 + }; 24 + }
+2 -2
pkgs/development/libraries/cln/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "cln"; 5 - version = "1.3.5"; 5 + version = "1.3.6"; 6 6 7 7 src = fetchurl { 8 8 url = "${meta.homepage}${pname}-${version}.tar.bz2"; 9 - sha256 = "0bc43v4fyxwik9gjkvm8jan74bkx9bjssv61lfh9jhhblmj010bq"; 9 + sha256 = "0jlq9l4hphk7qqlgqj9ihjp4m3rwjbhk6q4v00lsbgbri07574pl"; 10 10 }; 11 11 12 12 buildInputs = [ gmp ];
+10 -6
pkgs/development/libraries/cpp-netlib/default.nix
··· 1 - { stdenv, fetchFromGitHub, cmake, boost, openssl, asio }: 1 + { stdenv, fetchFromGitHub, cmake, boost, openssl }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "cpp-netlib"; ··· 14 14 15 15 buildInputs = [ cmake boost openssl ]; 16 16 17 - # This can be removed when updating to 0.13, see https://github.com/cpp-netlib/cpp-netlib/issues/629 18 - propagatedBuildInputs = [ asio ]; 19 - 20 17 cmakeFlags = [ 21 18 "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" 22 19 ]; 23 20 24 21 enableParallelBuilding = true; 25 22 23 + # The test driver binary lacks an RPath to the library's libs 24 + preCheck = '' 25 + export LD_LIBRARY_PATH=$PWD/libs/network/src 26 + ''; 27 + 28 + # Most tests make network GET requests to various websites 29 + doCheck = false; 30 + 26 31 meta = with stdenv.lib; { 27 - description = 28 - "Collection of open-source libraries for high level network programming"; 32 + description = "Collection of open-source libraries for high level network programming"; 29 33 homepage = https://cpp-netlib.org; 30 34 license = licenses.boost; 31 35 platforms = platforms.all;
+2 -2
pkgs/development/libraries/glfw/3.x.nix
··· 4 4 }: 5 5 6 6 stdenv.mkDerivation rec { 7 - version = "3.3"; 7 + version = "3.3.1"; 8 8 pname = "glfw"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "glfw"; 12 12 repo = "GLFW"; 13 13 rev = version; 14 - sha256 = "1f1hqpqffzg46z33ybs2c3akmkly7b3qmgp5byk50nvad6g2pm4p"; 14 + sha256 = "0c7nlrhq84gdq10diyv6nshjbv8410bmn0vging815pfvis208xc"; 15 15 }; 16 16 17 17 enableParallelBuilding = true;
+9 -1
pkgs/development/libraries/glog/default.nix
··· 1 - { stdenv, lib, fetchFromGitHub, fetchpatch, cmake, perl }: 1 + { stdenv, lib, fetchFromGitHub, fetchpatch, cmake, gflags, perl }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "glog"; ··· 20 20 }) 21 21 ]; 22 22 23 + postPatch = lib.optionalString stdenv.isDarwin '' 24 + # A path clash on case-insensitive file systems blocks creation of the build directory. 25 + # The file in question is specific to bazel and does not influence the build result. 26 + rm BUILD 27 + ''; 28 + 23 29 nativeBuildInputs = [ cmake ]; 30 + 31 + propagatedBuildInputs = [ gflags ]; 24 32 25 33 cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; 26 34
+2 -2
pkgs/development/libraries/leptonica/default.nix
··· 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "leptonica"; 7 - version = "1.78.0"; 7 + version = "1.79.0"; 8 8 9 9 src = fetchurl { 10 10 url = "http://www.leptonica.org/source/${pname}-${version}.tar.gz"; 11 - sha256 = "122s9b8hi93va4lgwnwrbma50x5fp740npy0s92xybd2wy0jxvg2"; 11 + sha256 = "1n004gv1dj3pq1fcnfdclvvx5nang80336aa67nvs3nnqp4ncn84"; 12 12 }; 13 13 14 14 nativeBuildInputs = [ autoreconfHook pkgconfig ];
+3 -3
pkgs/development/libraries/libdeflate/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "libdeflate"; 5 - version = "1.3"; 5 + version = "1.5"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "ebiggers"; 9 9 repo = "libdeflate"; 10 10 rev = "v${version}"; 11 - sha256 = "019xsz5dnbpxiz29j3zqsxyi4ksjkkygi6a2zyc8fxbm8lvaa9ar"; 11 + sha256 = "1v0y7998p8a8wpblnpdyk5zzvpj8pbrpzxwxmv0b0axrhaarxrf3"; 12 12 }; 13 13 14 14 postPatch = '' ··· 25 25 description = "Fast DEFLATE/zlib/gzip compressor and decompressor"; 26 26 license = licenses.mit; 27 27 homepage = https://github.com/ebiggers/libdeflate; 28 - platforms = platforms.linux; 28 + platforms = platforms.unix; 29 29 maintainers = with maintainers; [ orivej ]; 30 30 }; 31 31 }
+1
pkgs/development/libraries/libvirt/default.nix
··· 102 102 ] ++ optionals stdenv.isLinux [ 103 103 "QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper" 104 104 "QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper" 105 + "EBTABLES_PATH=${ebtables}/bin/ebtables-legacy" 105 106 "--with-attr" 106 107 "--with-apparmor" 107 108 "--with-secdriver-apparmor"
+4 -3
pkgs/development/libraries/libvterm-neovim/default.nix
··· 6 6 7 7 stdenv.mkDerivation { 8 8 pname = "libvterm-neovim"; 9 - version = "2019-10-08"; 9 + # Releases are not tagged, look at commit history to find latest release 10 + version = "0.1.3"; 10 11 11 12 src = fetchFromGitHub { 12 13 owner = "neovim"; 13 14 repo = "libvterm"; 14 - rev = "7c72294d84ce20da4c27362dbd7fa4b08cfc91da"; 15 - sha256 = "111qyxq33x74dwdnqcnzlv9j0n8hxyribd6ppwcsxmyrniyw9qrk"; 15 + rev = "65dbda3ed214f036ee799d18b2e693a833a0e591"; 16 + sha256 = "0r6yimzbkgrsi9aaxwvxahai2lzgjd1ysblr6m6by5w459853q3n"; 16 17 }; 17 18 18 19 buildInputs = [ perl ];
+11 -4
pkgs/development/libraries/onnxruntime/default.nix
··· 1 1 { stdenv, fetchFromGitHub, glibcLocales 2 - , cmake, python3 2 + , cmake, python3, libpng, zlib 3 3 }: 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "onnxruntime"; 7 - version = "1.0.0"; 7 + version = "1.1.0"; 8 8 9 9 src = fetchFromGitHub { 10 10 owner = "microsoft"; 11 11 repo = "onnxruntime"; 12 12 rev = "v${version}"; 13 - sha256 = "1d28lzrjnq69yl8j9ncxlsxl0bniacn3hnsr9van10zgp527436v"; 13 + sha256 = "1ryf5v2h07c7b42q2p9id88i270ajyz5rlsradp00dy8in6dn2yr"; 14 14 # TODO: use nix-versions of grpc, onnx, eigen, googletest, etc. 15 15 # submodules increase src size and compile times significantly 16 16 # not currently feasible due to how integrated cmake build is with git ··· 25 25 python3 # for shared-lib or server 26 26 ]; 27 27 28 + buildInputs = [ 29 + # technically optional, but highly recommended 30 + libpng 31 + zlib 32 + ]; 33 + 28 34 cmakeDir = "../cmake"; 29 35 30 36 cmakeFlags = [ 31 37 "-Donnxruntime_USE_OPENMP=ON" 32 38 "-Donnxruntime_BUILD_SHARED_LIB=ON" 33 - "-Donnxruntime_ENABLE_LTO=ON" 39 + # flip back to ON next release 40 + "-Donnxruntime_ENABLE_LTO=OFF" # https://github.com/microsoft/onnxruntime/issues/2828 34 41 ]; 35 42 36 43 # ContribOpTest.StringNormalizerTest sets locale to en_US.UTF-8"
+1 -1
pkgs/development/libraries/openssl/default.nix
··· 36 36 37 37 outputs = [ "bin" "dev" "out" "man" ] ++ optional withDocs "doc"; 38 38 setOutputFlags = false; 39 - separateDebugInfo = stdenv.hostPlatform.isLinux; 39 + separateDebugInfo = stdenv.cc.isGNU; 40 40 41 41 nativeBuildInputs = [ perl ]; 42 42 buildInputs = stdenv.lib.optional withCryptodev cryptodev;
+2 -2
pkgs/development/libraries/physics/rivet/default.nix
··· 12 12 patches = [ 13 13 ./darwin.patch # configure relies on impure sw_vers to -Dunix 14 14 (fetchpatch { 15 - url = "https://phab-files.hepforge.org/file/data/j3ja4jirrdyrovrmnbuh/PHID-FILE-6vnor4aoz3s2ejruisrg/file"; 16 - sha256 = "0flxv08wcd0m5di75s2zvm015k2k70nqgpcgcbq7m604z26pd6ab"; 15 + url = "https://gitlab.com/hepcedar/rivet/commit/37bd34f52cce66946ebb311a8fe61bfc5f69cc00.diff"; 16 + sha256 = "0wj3ilpfq2gpc33bj3800l9vyvc9lrrlj1x9ss5qki0yiqd8i2aa"; 17 17 }) 18 18 ]; 19 19
+2 -2
pkgs/development/libraries/science/biology/htslib/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "htslib"; 5 - version = "1.9"; 5 + version = "1.10.2"; 6 6 7 7 src = fetchurl { 8 8 url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2"; 9 - sha256 = "16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0"; 9 + sha256 = "0f8rglbvf4aaw41i2sxlpq7pvhly93sjqiz0l4q3hwki5zg47dg3"; 10 10 }; 11 11 12 12 # perl is only used during the check phase.
+23
pkgs/development/ocaml-modules/lens/default.nix
··· 1 + { lib, fetchzip, ppx_deriving, ppxfind, buildDunePackage }: 2 + 3 + buildDunePackage rec { 4 + pname = "lens"; 5 + version = "1.2.3"; 6 + 7 + src = fetchzip { 8 + url = "https://github.com/pdonadeo/ocaml-lens/archive/v${version}.tar.gz"; 9 + sha256 = "09k2vhzysx91syjhgv6w1shc9mgzi0l4bhwpx1g5pi4r4ghjp07y"; 10 + }; 11 + 12 + minimumOCamlVersion = "4.04.1"; 13 + buildInputs = [ ppx_deriving ppxfind ]; 14 + 15 + meta = with lib; { 16 + homepage = https://github.com/pdonadeo/ocaml-lens; 17 + description = "Functional lenses"; 18 + license = licenses.bsd3; 19 + maintainers = with maintainers; [ 20 + kazcw 21 + ]; 22 + }; 23 + }
+9 -11
pkgs/development/ocaml-modules/sqlite3/default.nix
··· 1 - { stdenv, fetchurl, sqlite, ocaml, findlib, ocamlbuild, pkgconfig }: 1 + { lib, fetchurl, sqlite, pkgconfig, buildDunePackage }: 2 2 3 - stdenv.mkDerivation rec { 4 - pname = "ocaml-sqlite3"; 5 - version = "2.0.9"; 3 + buildDunePackage rec { 4 + pname = "sqlite3"; 5 + version = "5.0.1"; 6 + minimumOCamlVersion = "4.05"; 6 7 7 8 src = fetchurl { 8 - url = "https://github.com/mmottl/sqlite3-ocaml/releases/download/v${version}/sqlite3-ocaml-${version}.tar.gz"; 9 - sha256 = "0rwsx1nfa3xqmbygim2qx45jqm1gwf08m70wmcwkx50f1qk3l551"; 9 + url = "https://github.com/mmottl/sqlite3-ocaml/releases/download/${version}/sqlite3-${version}.tbz"; 10 + sha256 = "0iymkszrs6qwak0vadfzc8yd8jfwn06zl08ggb4jr2mgk2c8mmsn"; 10 11 }; 11 12 12 13 nativeBuildInputs = [ pkgconfig ]; 13 - buildInputs = [ ocaml findlib ocamlbuild sqlite ]; 14 - 15 - createFindlibDestdir = true; 14 + buildInputs = [ sqlite ]; 16 15 17 - meta = with stdenv.lib; { 16 + meta = with lib; { 18 17 homepage = http://mmottl.github.io/sqlite3-ocaml/; 19 18 description = "OCaml bindings to the SQLite 3 database access library"; 20 19 license = licenses.mit; 21 - platforms = ocaml.meta.platforms or []; 22 20 maintainers = with maintainers; [ 23 21 maggesi vbgl 24 22 ];
+3 -3
pkgs/development/ocaml-modules/uchar/default.nix
··· 8 8 sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7"; 9 9 }; 10 10 11 - nativeBuildInputs = [ ocaml ocamlbuild findlib opaline ]; 12 - buildInputs = [ findlib ocaml ocamlbuild opaline ]; 11 + nativeBuildInputs = [ ocaml ocamlbuild findlib ]; 12 + buildInputs = [ findlib ocaml ocamlbuild ]; 13 13 buildPhase = "ocaml pkg/build.ml native=true native-dynlink=${if withShared then "true" else "false"}"; 14 - installPhase = "opaline -libdir $OCAMLFIND_DESTDIR"; 14 + installPhase = "${opaline}/bin/opaline -libdir $OCAMLFIND_DESTDIR"; 15 15 configurePlatforms = []; 16 16 17 17 meta = {
+22
pkgs/development/python-modules/avro-python3/default.nix
··· 1 + { lib, stdenv, buildPythonPackage, fetchPypi, isPy3k }: 2 + 3 + buildPythonPackage rec { 4 + pname = "avro-python3"; 5 + version = "1.8.2"; 6 + disabled = !isPy3k; 7 + 8 + src = fetchPypi { 9 + inherit pname version; 10 + sha256 = "f82cf0d66189600b1e6b442f650ad5aca6c189576723dcbf6f9ce096eab81bd6"; 11 + }; 12 + 13 + doCheck = false; # No such file or directory: './run_tests.py 14 + 15 + meta = with lib; { 16 + description = "A serialization and RPC framework"; 17 + homepage = https://pypi.python.org/pypi/avro-python3/; 18 + license = licenses.asl20; 19 + 20 + maintainers = [ maintainers.shlevy maintainers.timma ]; 21 + }; 22 + }
+10 -1
pkgs/development/python-modules/django-extensions/default.nix
··· 1 - { lib, buildPythonPackage, fetchFromGitHub, pythonOlder 1 + { lib, buildPythonPackage, fetchFromGitHub, fetchpatch, pythonOlder 2 2 , six, typing, pygments 3 3 , django, shortuuid, python-dateutil, pytest 4 4 , pytest-django, pytestcov, mock, vobject ··· 15 15 rev = version; 16 16 sha256 = "0053yqq4vq3mwy7zkfs5vfm3g8j9sfy3vrc6xby83qlj9wz43ipi"; 17 17 }; 18 + 19 + # This patch fixes a single failing test and can be removed when updating this pkg 20 + # to the next version 21 + patches = [ 22 + (fetchpatch { 23 + url = "https://github.com/django-extensions/django-extensions/commit/1d21786da2e6868d98ae34c82079e1e03ad1aa97.patch"; 24 + sha256 = "0d81zpj0f8a7ijrfb12j0b67fgj89k3axaskz1nwqsr4wc6n4bw2"; 25 + }) 26 + ]; 18 27 19 28 postPatch = '' 20 29 substituteInPlace setup.py --replace "'tox'," ""
+27
pkgs/development/python-modules/gpxpy/default.nix
··· 1 + { lib, fetchFromGitHub, buildPythonPackage, python, lxml }: 2 + 3 + buildPythonPackage rec { 4 + pname = "gpxpy"; 5 + version = "1.3.5"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "tkrajina"; 9 + repo = pname; 10 + rev = "v${version}"; 11 + sha256 = "18r7pfda7g3l0hv8j9565n52cvvgjxiiqqzagfdfaba1djgl6p8b"; 12 + }; 13 + 14 + propagatedBuildInputs = [ lxml ]; 15 + 16 + checkPhase = '' 17 + ${python.interpreter} -m unittest test 18 + ''; 19 + 20 + meta = with lib; { 21 + description = "Python GPX (GPS eXchange format) parser"; 22 + homepage = "https://github.com/tkrajina/gpxpy"; 23 + license = licenses.asl20; 24 + platforms = platforms.unix; 25 + maintainers = with maintainers; [ sikmir ]; 26 + }; 27 + }
+78
pkgs/development/python-modules/onnx/default.nix
··· 1 + { lib 2 + , fetchpatch 3 + , buildPythonPackage 4 + , fetchPypi 5 + , pythonOlder 6 + , isPy27 7 + , cmake 8 + , protobuf 9 + , numpy 10 + , six 11 + , typing-extensions 12 + , typing 13 + , pytestrunner 14 + , pytest 15 + , nbval 16 + , tabulate 17 + }: 18 + 19 + buildPythonPackage rec { 20 + pname = "onnx"; 21 + version = "1.6.0"; 22 + 23 + # Due to Protobuf packaging issues this build of Onnx with Python 2 gives 24 + # errors on import 25 + disabled = isPy27; 26 + 27 + src = fetchPypi { 28 + inherit pname version; 29 + sha256 = "0ig33jl3591041lyylxp52yi20rfrcqx3i030hd6al8iabzc721v"; 30 + }; 31 + 32 + # Remove the unqualified requirement for the typing package for running the 33 + # tests. typing is already required for the installation, where it is 34 + # correctly qualified so as to only be required for sufficiently old Python 35 + # versions. 36 + # This patch should be in the next release (>1.6). 37 + patches = [ 38 + (fetchpatch { 39 + url = "https://github.com/onnx/onnx/commit/c963586d0f8dd5740777b2fd06f04ec60816de9f.patch"; 40 + sha256 = "1hl26cw5zckc91gmh0bdah87jyprccxiw0f4i5h1gwkq28hm6wbj"; 41 + }) 42 + ]; 43 + 44 + nativeBuildInputs = [ cmake ]; 45 + 46 + propagatedBuildInputs = [ 47 + protobuf 48 + numpy 49 + six 50 + typing-extensions 51 + ] ++ lib.optional (pythonOlder "3.5") [ typing ]; 52 + 53 + checkInputs = [ 54 + pytestrunner 55 + pytest 56 + nbval 57 + tabulate 58 + ]; 59 + 60 + postPatch = '' 61 + patchShebangs tools/protoc-gen-mypy.py 62 + ''; 63 + 64 + # The executables are just utility scripts that aren't too important 65 + postInstall = '' 66 + rm -r $out/bin 67 + ''; 68 + 69 + # The setup.py does all the configuration (running CMake) 70 + dontConfigure = true; 71 + 72 + meta = { 73 + homepage = http://onnx.ai; 74 + description = "Open Neural Network Exchange"; 75 + license = lib.licenses.mit; 76 + maintainers = [ lib.maintainers.acairncross ]; 77 + }; 78 + }
+1 -4
pkgs/development/python-modules/publicsuffix/default.nix
··· 10 10 }; 11 11 12 12 13 - # fix the ASCII-mode LICENSE file read 14 13 # disable test_fetch and the doctests (which also invoke fetch) 15 - patchPhase = stdenv.lib.optionalString isPy3k '' 16 - sed -i "s/)\.read(/,encoding='utf-8'\0/" setup.py 17 - '' + '' 14 + postPatch = '' 18 15 sed -i -e "/def test_fetch/i\\ 19 16 \\t@unittest.skip('requires internet')" -e "/def additional_tests():/,+1d" tests.py 20 17 '';
+37
pkgs/development/python-modules/pylint-celery/default.nix
··· 1 + { buildPythonPackage 2 + , fetchFromGitHub 3 + , isPy3k 4 + , lib 5 + 6 + # pythonPackages 7 + , pylint-plugin-utils 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "pylint-celery"; 12 + version = "0.3"; 13 + disabled = !isPy3k; 14 + 15 + src = fetchFromGitHub { 16 + owner = "PyCQA"; 17 + repo = pname; 18 + rev = version; 19 + sha256 = "05fhwraq12c2724pn4py1bjzy5rmsrb1x68zck73nlp5icba6yap"; 20 + }; 21 + 22 + propagatedBuildInputs = [ 23 + pylint-plugin-utils 24 + ]; 25 + 26 + # Testing requires a very old version of pylint, incompatible with other dependencies 27 + doCheck = false; 28 + 29 + meta = with lib; { 30 + description = "A Pylint plugin to analyze Celery applications"; 31 + homepage = "https://github.com/PyCQA/pylint-celery"; 32 + license = licenses.gpl2; 33 + maintainers = with maintainers; [ 34 + kamadorueda 35 + ]; 36 + }; 37 + }
+39
pkgs/development/python-modules/pylint-django/default.nix
··· 1 + { buildPythonPackage 2 + , fetchFromGitHub 3 + , isPy3k 4 + , lib 5 + 6 + # pythonPackages 7 + , django 8 + , pylint-plugin-utils 9 + }: 10 + 11 + buildPythonPackage rec { 12 + pname = "pylint-django"; 13 + version = "2.0.12"; 14 + disabled = !isPy3k; 15 + 16 + src = fetchFromGitHub { 17 + owner = "PyCQA"; 18 + repo = pname; 19 + rev = "v${version}"; 20 + sha256 = "0ha06wpqqn5fp5dapgjhsdx3ahh3y62l7k2f3czlrdjmmivgdp9y"; 21 + }; 22 + 23 + propagatedBuildInputs = [ 24 + django 25 + pylint-plugin-utils 26 + ]; 27 + 28 + # Testing requires checkout from other repositories 29 + doCheck = false; 30 + 31 + meta = with lib; { 32 + description = "A Pylint plugin to analyze Django applications"; 33 + homepage = "https://github.com/PyCQA/pylint-django"; 34 + license = licenses.gpl2; 35 + maintainers = with maintainers; [ 36 + kamadorueda 37 + ]; 38 + }; 39 + }
+36
pkgs/development/python-modules/pylint-flask/default.nix
··· 1 + { buildPythonPackage 2 + , fetchPypi 3 + , isPy3k 4 + , lib 5 + 6 + # pythonPackages 7 + , pylint-plugin-utils 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "pylint-flask"; 12 + version = "0.6"; 13 + disabled = !isPy3k; 14 + 15 + src = fetchPypi { 16 + inherit pname version; 17 + sha256 = "05qmwgkpvaa5k05abqjxfbrfk3wpdqb8ph690z7bzxvb47i7vngl"; 18 + }; 19 + 20 + propagatedBuildInputs = [ 21 + pylint-plugin-utils 22 + ]; 23 + 24 + # Tests require a very old version of pylint 25 + # also tests are only available at GitHub, with an old release tag 26 + doCheck = false; 27 + 28 + meta = with lib; { 29 + description = "A Pylint plugin to analyze Flask applications"; 30 + homepage = "https://github.com/jschaf/pylint-flask"; 31 + license = licenses.gpl2; 32 + maintainers = with maintainers; [ 33 + kamadorueda 34 + ]; 35 + }; 36 + }
+27
pkgs/development/python-modules/pynrrd/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , numpy 5 + , pytest 6 + }: 7 + 8 + buildPythonPackage rec { 9 + pname = "pynrrd"; 10 + version = "0.4.2"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "mhe"; 14 + repo = pname; 15 + rev = "v${version}"; 16 + sha256 = "1wn3ara3i19fi1y9a5j4imyczpa6dkkzd5djggxg4kkl1ff9awrj"; 17 + }; 18 + 19 + propagatedBuildInputs = [ numpy ]; 20 + 21 + meta = with lib; { 22 + homepage = https://github.com/mhe/pynrrd; 23 + description = "Simple pure-Python reader for NRRD files"; 24 + license = licenses.mit; 25 + maintainers = with maintainers; [ bcdarwin ]; 26 + }; 27 + }
+39
pkgs/development/python-modules/python-miio/default.nix
··· 1 + { stdenv 2 + , buildPythonPackage 3 + , fetchPypi 4 + , appdirs 5 + , click 6 + , construct 7 + , cryptography 8 + , pytest 9 + , zeroconf 10 + , attrs 11 + , pytz 12 + , tqdm 13 + , netifaces 14 + }: 15 + 16 + buildPythonPackage rec { 17 + pname = "python-miio"; 18 + version = "0.4.8"; 19 + 20 + src = fetchPypi { 21 + inherit pname version; 22 + sha256 = "19423b3386b23d2e0fc94a8f6a358bcfbb44eed05376e33fd434d26d168bd18c"; 23 + }; 24 + 25 + checkInputs = [ pytest ]; 26 + propagatedBuildInputs = [ appdirs click construct cryptography zeroconf attrs pytz tqdm netifaces ]; 27 + 28 + checkPhase = '' 29 + pytest 30 + ''; 31 + 32 + meta = with stdenv.lib; { 33 + description = "Python library for interfacing with Xiaomi smart appliances"; 34 + homepage = https://github.com/rytilahti/python-miio; 35 + license = licenses.gpl3; 36 + maintainers = with maintainers; [ flyfloh ]; 37 + }; 38 + } 39 +
+2 -3
pkgs/development/python-modules/python-olm/default.nix
··· 1 1 { lib, buildPythonPackage, olm, 2 - cffi, future, typing }: 2 + cffi, future, isPy3k, typing }: 3 3 4 4 buildPythonPackage { 5 5 pname = "python-olm"; ··· 15 15 propagatedBuildInputs = [ 16 16 cffi 17 17 future 18 - typing 19 - ]; 18 + ] ++ lib.optionals (!isPy3k) [ typing ]; 20 19 21 20 doCheck = false; 22 21
+7 -2
pkgs/development/python-modules/requirements-detector/default.nix
··· 4 4 , lib 5 5 6 6 # pythonPackages 7 + , astroid 7 8 , pytest 8 9 }: 9 10 ··· 13 14 disabled = isPy27; 14 15 15 16 src = fetchFromGitHub { 16 - owner = "yuvadm"; 17 + owner = "landscapeio"; 17 18 repo = pname; 18 19 rev = version; 19 - sha256 = "15s0n1lhkz0zwi33waqkkjipal3f7s45rxsj1bw89xpr4dj87qx5"; 20 + sha256 = "1sfmm7daz0kpdx6pynsvi6qlfhrzxx783l1wb69c8dfzya4xssym"; 20 21 }; 22 + 23 + propagatedBuildInputs = [ 24 + astroid 25 + ]; 21 26 22 27 checkInputs = [ 23 28 pytest
+2 -1
pkgs/development/python-modules/sentry-sdk/default.nix
··· 13 13 , pyramid 14 14 , rq 15 15 , sanic 16 + , sqlalchemy 16 17 , stdenv 17 18 , tornado 18 19 , urllib3 ··· 27 28 sha256 = "c6b919623e488134a728f16326c6f0bcdab7e3f59e7f4c472a90eea4d6d8fe82"; 28 29 }; 29 30 30 - checkInputs = [ django flask tornado bottle rq falcon ] 31 + checkInputs = [ django flask tornado bottle rq falcon sqlalchemy ] 31 32 ++ stdenv.lib.optionals isPy3k [ celery pyramid sanic aiohttp ]; 32 33 33 34 propagatedBuildInputs = [ urllib3 certifi ];
+2 -3
pkgs/development/python-modules/solo-python/default.nix
··· 3 3 4 4 buildPythonPackage rec { 5 5 pname = "solo-python"; 6 - version = "0.0.18"; 6 + version = "0.0.21"; 7 7 format = "flit"; 8 8 disabled = pythonOlder "3.6"; # only python>=3.6 is supported 9 9 ··· 11 11 owner = "solokeys"; 12 12 repo = pname; 13 13 rev = version; 14 - sha256 = "01mgppjvxlr93vrgz7bzisghpg1vqyaj4cg5wngk0h499iyx4d9q"; 14 + sha256 = "07r451dp3ma1mh735b2kjv86a4jkjhmag70cjqf73z7b61dmzl1q"; 15 15 }; 16 16 17 17 # replaced pinned fido, with unrestricted fido version ··· 48 48 homepage = "https://github.com/solokeys/solo-python"; 49 49 maintainers = with maintainers; [ wucke13 ]; 50 50 license = with licenses; [ asl20 mit ]; 51 - broken = true; # no longer compatible with fido2 52 51 }; 53 52 }
+2 -2
pkgs/development/python-modules/srsly/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "srsly"; 15 - version = "0.2.0"; 15 + version = "1.0.1"; 16 16 17 17 src = fetchPypi { 18 18 inherit pname version; 19 - sha256 = "0gha1xfh64mapvgn0sghnjsvmjdrh5rywhs3j3bhkvwk42kf40ma"; 19 + sha256 = "0d49a90gsfyxwp8g14mvvw1kjm77qgx86zg4812kcmlz9ycb80hi"; 20 20 }; 21 21 22 22 propagatedBuildInputs = lib.optional (pythonOlder "3.4") pathlib;
+47
pkgs/development/python-modules/stups-pierone/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , buildPythonPackage 4 + , requests 5 + , stups-cli-support 6 + , stups-zign 7 + , pytest 8 + , pytestcov 9 + , hypothesis 10 + , isPy3k 11 + }: 12 + 13 + buildPythonPackage rec { 14 + pname = "stups-pierone"; 15 + version = "1.1.45"; 16 + disabled = !isPy3k; 17 + 18 + src = fetchFromGitHub { 19 + owner = "zalando-stups"; 20 + repo = "pierone-cli"; 21 + rev = version; 22 + sha256 = "1ggfizw27wpcagbbk15xpfrhq6b250cx4278b5d7y8s438g128cs"; 23 + }; 24 + 25 + propagatedBuildInputs = [ 26 + requests 27 + stups-cli-support 28 + stups-zign 29 + ]; 30 + 31 + preCheck = " 32 + export HOME=$TEMPDIR 33 + "; 34 + 35 + checkInputs = [ 36 + pytest 37 + pytestcov 38 + hypothesis 39 + ]; 40 + 41 + meta = with lib; { 42 + description = "Convenient command line client for STUPS' Pier One Docker registry"; 43 + homepage = "https://github.com/zalando-stups/pierone-cli"; 44 + license = licenses.asl20; 45 + maintainers = [ maintainers.mschuwalow ]; 46 + }; 47 + }
+1 -1
pkgs/development/r-modules/default.nix
··· 311 311 rgdal = [ pkgs.proj.dev pkgs.gdal ]; 312 312 rgeos = [ pkgs.geos ]; 313 313 rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ]; 314 - rgl = [ pkgs.libGLU pkgs.libGL pkgs.xlibsWrapper ]; 315 314 Rglpk = [ pkgs.glpk ]; 316 315 RGtk2 = [ pkgs.gtk2.dev ]; 317 316 rhdf5 = [ pkgs.zlib ]; ··· 404 403 RCurl = [ pkgs.curl.dev ]; 405 404 R2SWF = [ pkgs.pkgconfig ]; 406 405 rggobi = [ pkgs.pkgconfig ]; 406 + rgl = [ pkgs.libGLU pkgs.libGLU.dev pkgs.libGL pkgs.xlibsWrapper ]; 407 407 RGtk2 = [ pkgs.pkgconfig ]; 408 408 RProtoBuf = [ pkgs.pkgconfig ]; 409 409 Rpoppler = [ pkgs.pkgconfig ];
+2 -2
pkgs/development/tools/boomerang/default.nix
··· 2 2 3 3 mkDerivation rec { 4 4 pname = "boomerang"; 5 - version = "0.5.1"; 5 + version = "0.5.2"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "BoomerangDecompiler"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "046ba4km8c31kbnllx05nbqhjmk7bpi56d3n8md8bsr98nj21a2j"; 11 + sha256 = "0xncdp0z8ry4lkzmvbj5d7hlzikivghpwicgywlv47spgh8ny0ix"; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake bison flex ];
+294
pkgs/development/tools/misc/usb-modeswitch/configurable-usb-modeswitch.patch
··· 1 + diff --git a/Makefile b/Makefile 2 + index 463a11f..f20072c 100644 3 + --- a/Makefile 4 + +++ b/Makefile 5 + @@ -5,11 +5,11 @@ CFLAGS += -Wall 6 + LIBS = `pkg-config --libs --cflags libusb-1.0` 7 + RM = /bin/rm -f 8 + OBJS = usb_modeswitch.c 9 + -PREFIX = $(DESTDIR)/usr 10 + -ETCDIR = $(DESTDIR)/etc 11 + +PREFIX = /usr/local 12 + +ETCDIR = $(PREFIX)/etc 13 + SYSDIR = $(ETCDIR)/systemd/system 14 + UPSDIR = $(ETCDIR)/init 15 + -UDEVDIR = $(DESTDIR)/lib/udev 16 + +UDEVDIR = $(PREFIX)/lib/udev 17 + SBINDIR = $(PREFIX)/sbin 18 + MANDIR = $(PREFIX)/share/man/man1 19 + VPATH = jimtcl 20 + @@ -22,10 +22,17 @@ endif 21 + JIM_CONFIGURE_OPTS = --disable-lineedit \ 22 + --with-out-jim-ext="stdlib posix load signal syslog" --prefix=/usr 23 + 24 + +USE_UPSTART=$(shell if command -v initctl > /dev/null; then echo "true"; fi) 25 + +USE_SYSTEMD=$(shell if command -v systemctl > /dev/null; then echo "true"; fi) 26 + + 27 + .PHONY: clean install install-common uninstall \ 28 + script shared static \ 29 + dispatcher-script dispatcher-shared dispatcher-static \ 30 + - install-script install-shared install-static 31 + + install-script install-shared install-static \ 32 + + install-upstart install-systemd \ 33 + + configure-dispatcher configure-script \ 34 + + configure-upstart configure-systemd \ 35 + + configure 36 + 37 + all: script 38 + 39 + @@ -46,7 +53,25 @@ jim/libjim.a: 40 + cd jim && CFLAGS="$(CFLAGS)" CC="$(CC)" ./configure $(JIM_CONFIGURE_OPTS) 41 + $(MAKE) -C jim lib 42 + 43 + -dispatcher-script: usb_modeswitch.tcl 44 + +configure-dispatcher: 45 + + sed -i \ 46 + + -e 's,^\(set setup(sbindir) \).*$$,\1$(SBINDIR),' \ 47 + + -e 's,^\(set setup(etcdir) \).*$$,\1$(ETCDIR),' \ 48 + + usb_modeswitch.tcl 49 + + 50 + +configure-script: 51 + + sed -i -e 's,^\(SBINDIR=\).*$$,\1$(SBINDIR),' usb_modeswitch.sh 52 + + 53 + +configure-systemd: 54 + + sed -i -e 's,@sbindir@,$(SBINDIR),' usb_modeswitch@.service 55 + + 56 + +configure-upstart: 57 + + sed -i -e 's,@sbindir@,$(SBINDIR),' usb-modeswitch-upstart.conf 58 + + 59 + +configure: configure-dispatcher configure-script \ 60 + + configure-systemd configure-upstart 61 + + 62 + +dispatcher-script: configure-dispatcher usb_modeswitch.tcl 63 + sed 's_!/usr/bin/tclsh_!'"$(TCL)"'_' < usb_modeswitch.tcl > usb_modeswitch_dispatcher 64 + 65 + dispatcher-shared: jim/libjim.so dispatcher.c usb_modeswitch.string 66 + @@ -55,7 +80,7 @@ dispatcher-shared: jim/libjim.so dispatcher.c usb_modeswitch.string 67 + dispatcher-static: jim/libjim.a dispatcher.c usb_modeswitch.string 68 + $(CC) dispatcher.c $(LDFLAGS) jim/libjim.a -Ijim -o usb_modeswitch_dispatcher $(CFLAGS) 69 + 70 + -usb_modeswitch.string: usb_modeswitch.tcl 71 + +usb_modeswitch.string: configure-dispatcher usb_modeswitch.tcl 72 + $(HOST_TCL) make_string.tcl usb_modeswitch.tcl > $@ 73 + 74 + clean: 75 + @@ -76,16 +101,28 @@ ums-clean: 76 + # If the systemd folder is present, install the service for starting the dispatcher 77 + # If not, use the dispatcher directly from the udev rule as in previous versions 78 + 79 + -install-common: $(PROG) usb_modeswitch_dispatcher 80 + - install -D --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch 81 + - install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch 82 + - install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf 83 + - install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1 84 + - install -D --mode=644 usb_modeswitch_dispatcher.1 $(MANDIR)/usb_modeswitch_dispatcher.1 85 + - install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher 86 + +install-common: $(PROG) configure usb_modeswitch_dispatcher 87 + + install -D --mode=755 usb_modeswitch $(DESTDIR)$(SBINDIR)/usb_modeswitch 88 + + install -D --mode=755 usb_modeswitch.sh $(DESTDIR)$(UDEVDIR)/usb_modeswitch 89 + + install -D --mode=644 usb_modeswitch.conf $(DESTDIR)$(ETCDIR)/usb_modeswitch.conf 90 + + install -D --mode=644 usb_modeswitch.1 $(DESTDIR)$(MANDIR)/usb_modeswitch.1 91 + + install -D --mode=644 usb_modeswitch_dispatcher.1 $(DESTDIR)$(MANDIR)/usb_modeswitch_dispatcher.1 92 + + install -D --mode=755 usb_modeswitch_dispatcher $(DESTDIR)$(SBINDIR)/usb_modeswitch_dispatcher 93 + install -d $(DESTDIR)/var/lib/usb_modeswitch 94 + - test -d $(UPSDIR) -a -e /sbin/initctl && install --mode=644 usb-modeswitch-upstart.conf $(UPSDIR) || test 1 95 + - test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1 96 + + 97 + +install-upstart: 98 + + install -D --mode=644 usb-modeswitch-upstart.conf $(DESTDIR)$(UPSDIR)/usb-modeswitch-upstart.conf 99 + + 100 + +install-systemd: 101 + + install -D --mode=644 usb_modeswitch@.service $(DESTDIR)$(SYSDIR)/usb_modeswitch@.service 102 + + 103 + +ifeq ($(USE_UPSTART),true) 104 + +install-common: install-upstart 105 + +endif 106 + + 107 + +ifeq ($(USE_SYSTEMD),true) 108 + +install-common: install-systemd 109 + +endif 110 + 111 + install: install-script 112 + 113 + @@ -96,10 +133,10 @@ install-shared: dispatcher-shared install-common 114 + install-static: dispatcher-static install-common 115 + 116 + uninstall: 117 + - $(RM) $(SBINDIR)/usb_modeswitch 118 + - $(RM) $(SBINDIR)/usb_modeswitch_dispatcher 119 + - $(RM) $(UDEVDIR)/usb_modeswitch 120 + - $(RM) $(ETCDIR)/usb_modeswitch.conf 121 + - $(RM) $(MANDIR)/usb_modeswitch.1 122 + + $(RM) $(DESTDIR)$(SBINDIR)/usb_modeswitch 123 + + $(RM) $(DESTDIR)$(SBINDIR)/usb_modeswitch_dispatcher 124 + + $(RM) $(DESTDIR)$(UDEVDIR)/usb_modeswitch 125 + + $(RM) $(DESTDIR)$(ETCDIR)/usb_modeswitch.conf 126 + + $(RM) $(DESTDIR)$(MANDIR)/usb_modeswitch.1 127 + $(RM) -R $(DESTDIR)/var/lib/usb_modeswitch 128 + - $(RM) $(SYSDIR)/usb_modeswitch@.service 129 + + $(RM) $(DESTDIR)$(SYSDIR)/usb_modeswitch@.service 130 + diff --git a/usb-modeswitch-upstart.conf b/usb-modeswitch-upstart.conf 131 + index 0d82b69..1c177b4 100644 132 + --- a/usb-modeswitch-upstart.conf 133 + +++ b/usb-modeswitch-upstart.conf 134 + @@ -1,5 +1,5 @@ 135 + start on usb-modeswitch-upstart 136 + task 137 + script 138 + - exec /usr/sbin/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM 139 + + exec @sbindir@/usb_modeswitch_dispatcher --switch-mode $UMS_PARAM 140 + end script 141 + diff --git a/usb_modeswitch.sh b/usb_modeswitch.sh 142 + index eb3fa3e..0e93166 100755 143 + --- a/usb_modeswitch.sh 144 + +++ b/usb_modeswitch.sh 145 + @@ -1,5 +1,9 @@ 146 + #!/bin/sh 147 + # part of usb_modeswitch 2.5.2 148 + + 149 + +# Compile time configuration, injected by the Makefile 150 + +SBINDIR=/usr/sbin 151 + + 152 + device_in() 153 + { 154 + if [ ! -e /var/lib/usb_modeswitch/$1 ]; then 155 + @@ -37,7 +41,7 @@ if [ $(expr "$1" : "--.*") ]; then 156 + v_id=$3 157 + fi 158 + fi 159 + -PATH=/sbin:/usr/sbin:$PATH 160 + + 161 + case "$1" in 162 + --driver-bind) 163 + # driver binding code removed 164 + @@ -46,9 +50,7 @@ case "$1" in 165 + --symlink-name) 166 + device_in "link_list" $v_id $p_id 167 + if [ "$?" = "1" ]; then 168 + - if [ -e "/usr/sbin/usb_modeswitch_dispatcher" ]; then 169 + - exec usb_modeswitch_dispatcher $1 $2 2>>/dev/null 170 + - fi 171 + + exec $SBINDIR/usb_modeswitch_dispatcher $1 $2 2>>/dev/null 172 + fi 173 + exit 0 174 + ;; 175 + @@ -61,15 +63,13 @@ if [ "$p2" = "" -a "$p1" != "" ]; then 176 + p2=$p1 177 + fi 178 + 179 + -PATH=/bin:/sbin:/usr/bin:/usr/sbin 180 + -init_path=`readlink -f /sbin/init` 181 + -if [ `basename $init_path` = "systemd" ]; then 182 + +if command -v systemctl > /dev/null; then 183 + systemctl --no-block start usb_modeswitch@$p2.service 184 + -elif [ -e "/etc/init/usb-modeswitch-upstart.conf" ]; then 185 + +elif command -v initctl > /dev/null; then 186 + initctl emit --no-wait usb-modeswitch-upstart UMS_PARAM=$p2 187 + else 188 + # only old distros, new udev will kill all subprocesses 189 + exec 1<&- 2<&- 5<&- 7<&- 190 + - exec usb_modeswitch_dispatcher --switch-mode $p2 & 191 + + exec $SBINDIR/usb_modeswitch_dispatcher --switch-mode $p2 & 192 + fi 193 + exit 0 194 + diff --git a/usb_modeswitch.tcl b/usb_modeswitch.tcl 195 + index d2ee50c..8a48751 100755 196 + --- a/usb_modeswitch.tcl 197 + +++ b/usb_modeswitch.tcl 198 + @@ -12,6 +12,16 @@ 199 + # Part of usb-modeswitch-2.5.2 package 200 + # (C) Josua Dietze 2009-2017 201 + 202 + +# Compile-time configuration, injected by the Makefile. 203 + +set setup(sbindir) /usr/sbin 204 + +set setup(etcdir) /etc 205 + + 206 + +# External dependency default location 207 + +set setup(dbdir) /usr/share/usb_modeswitch 208 + + 209 + +# Derived configuration 210 + +set setup(dbdir_etc) $setup(etcdir)/usb_modeswitch.d 211 + + 212 + set arg0 [lindex $argv 0] 213 + if [regexp {\.tcl$} $arg0] { 214 + if [file exists $arg0] { 215 + @@ -91,10 +101,8 @@ if {![regexp {(.*?):.*$} $arg1 d device]} { 216 + } 217 + set flags(logwrite) 1 218 + 219 + -set setup(dbdir) /usr/share/usb_modeswitch 220 + -set setup(dbdir_etc) /etc/usb_modeswitch.d 221 + if {![file exists $setup(dbdir)] && ![file exists $setup(dbdir_etc)]} { 222 + - Log "\nError: no config database found in /usr/share or /etc. Exit" 223 + + Log "\nError: no config database found in $setup(dbdir) or $setup(dbdir_etc). Exit" 224 + SafeExit 225 + } 226 + 227 + @@ -261,7 +269,7 @@ if {$config(NoMBIMCheck)==0 && $usb(bNumConfigurations) > 1} { 228 + if [CheckMBIM] { 229 + Log " driver for MBIM devices is available" 230 + Log "Find MBIM configuration number ..." 231 + - if [catch {set cfgno [exec /usr/sbin/usb_modeswitch -j -Q $busParam $devParam -v $usb(idVendor) -p $usb(idProduct)]} err] { 232 + + if [catch {set cfgno [exec $setup(sbindir)/usb_modeswitch -j -Q $busParam $devParam -v $usb(idVendor) -p $usb(idProduct)]} err] { 233 + Log "Error when trying to find MBIM configuration, switch to legacy modem mode" 234 + } else { 235 + set cfgno [string trim $cfgno] 236 + @@ -297,7 +305,7 @@ if {$report == ""} { 237 + # Now we are actually switching 238 + if $flags(logging) { 239 + Log "Command line:\nusb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f \$flags(config)" 240 + - catch {set report [exec /usr/sbin/usb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report 241 + + catch {set report [exec $setup(sbindir)/usb_modeswitch -W -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report 242 + Log "\nVerbose debug output of usb_modeswitch and libusb follows" 243 + Log "(Note that some USB errors are to be expected in the process)" 244 + Log "--------------------------------" 245 + @@ -305,7 +313,7 @@ if {$report == ""} { 246 + Log "--------------------------------" 247 + Log "(end of usb_modeswitch output)\n" 248 + } else { 249 + - catch {set report [exec /usr/sbin/usb_modeswitch -Q -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report 250 + + catch {set report [exec $setup(sbindir)/usb_modeswitch -Q -D $configParam $busParam $devParam -v $usb(idVendor) -p $usb(idProduct) -f "$flags(config)" 2>@1]} report 251 + } 252 + } 253 + 254 + @@ -498,9 +506,9 @@ return 1 255 + 256 + proc {ParseGlobalConfig} {} { 257 + 258 + -global flags 259 + +global flags setup 260 + set configFile "" 261 + -set places [list /etc/usb_modeswitch.conf /etc/sysconfig/usb_modeswitch /etc/default/usb_modeswitch] 262 + +set places [list $setup(etcdir)/usb_modeswitch.conf $setup(etcdir)/sysconfig/usb_modeswitch $setup(etcdir)/default/usb_modeswitch] 263 + foreach cfg $places { 264 + if [file exists $cfg] { 265 + set configFile $cfg 266 + @@ -897,10 +905,12 @@ proc {SysLog} {msg} { 267 + 268 + global flags 269 + if {![info exists flags(logger)]} { 270 + - set flags(logger) "" 271 + - foreach fn {/bin/logger /usr/bin/logger} { 272 + - if [file exists $fn] { 273 + - set flags(logger) $fn 274 + + set flags(logger) [exec sh -c "command -v logger || true"] 275 + + if {$flags(logger) == ""} { 276 + + foreach fn {/bin/logger /usr/bin/logger} { 277 + + if [file exists $fn] { 278 + + set flags(logger) $fn 279 + + } 280 + } 281 + } 282 + Log "Logger is $flags(logger)" 283 + diff --git a/usb_modeswitch@.service b/usb_modeswitch@.service 284 + index f74a8bf..90cb96a 100644 285 + --- a/usb_modeswitch@.service 286 + +++ b/usb_modeswitch@.service 287 + @@ -3,6 +3,6 @@ Description=USB_ModeSwitch_%i 288 + 289 + [Service] 290 + Type=oneshot 291 + -ExecStart=/usr/sbin/usb_modeswitch_dispatcher --switch-mode %i 292 + +ExecStart=@sbindir@/usb_modeswitch_dispatcher --switch-mode %i 293 + #ExecStart=/bin/echo %i 294 +
+5 -2
pkgs/development/tools/misc/usb-modeswitch/data.nix
··· 9 9 sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz"; 10 10 }; 11 11 12 - inherit (usb-modeswitch) makeFlags; 12 + makeFlags = [ 13 + "PREFIX=$(out)" 14 + "DESTDIR=$(out)" 15 + ]; 13 16 14 17 prePatch = '' 15 - sed -i 's@usb_modeswitch@${usb-modeswitch}/bin/usb_modeswitch@g' 40-usb_modeswitch.rules 18 + sed -i 's@usb_modeswitch@${usb-modeswitch}/lib/udev/usb_modeswitch@g' 40-usb_modeswitch.rules 16 19 ''; 17 20 18 21 # we add tcl here so we can patch in support for new devices by dropping config into
+22 -8
pkgs/development/tools/misc/usb-modeswitch/default.nix
··· 1 - { stdenv, fetchurl, pkgconfig, libusb1 }: 1 + { stdenv, lib, fetchurl, pkgconfig, makeWrapper 2 + , libusb1, tcl, utillinux, coreutils, bash }: 2 3 3 4 stdenv.mkDerivation rec { 4 5 pname = "usb-modeswitch"; ··· 9 10 sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2"; 10 11 }; 11 12 13 + patches = [ ./configurable-usb-modeswitch.patch ]; 14 + 15 + # Remove attempts to write to /etc and /var/lib. 16 + postPatch = '' 17 + sed -i \ 18 + -e '/^\tinstall .* usb_modeswitch.conf/s,$(ETCDIR),$(out)/etc,' \ 19 + -e '\,^\tinstall -d .*/var/lib/usb_modeswitch,d' \ 20 + Makefile 21 + ''; 22 + 12 23 makeFlags = [ 13 - "DESTDIR=$(out)" 14 24 "PREFIX=$(out)" 25 + "ETCDIR=/etc" 26 + "USE_UPSTART=false" 27 + "USE_SYSTEMD=true" 28 + "SYSDIR=$(out)/lib/systemd/system" 29 + "UDEVDIR=$(out)/lib/udev" 15 30 ]; 16 31 17 - # make clean: we always build from source. It should be necessary on x86_64 only 18 - preConfigure = '' 19 - find -type f | xargs sed 's@/bin/rm@rm@g' -i 20 - make clean 32 + postFixup = '' 33 + wrapProgram $out/bin/usb_modeswitch_dispatcher \ 34 + --set PATH ${lib.makeBinPath [ utillinux coreutils bash ]} 21 35 ''; 22 36 23 - buildInputs = [ libusb1 ]; 24 - nativeBuildInputs = [ pkgconfig ]; 37 + buildInputs = [ libusb1 tcl ]; 38 + nativeBuildInputs = [ pkgconfig makeWrapper ]; 25 39 26 40 meta = with stdenv.lib; { 27 41 description = "A mode switching tool for controlling 'multi-mode' USB devices";
+7 -13
pkgs/development/tools/poetry2nix/poetry2nix/default.nix
··· 20 20 21 21 getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn; 22 22 23 - getAttrDefault = attribute: set: default: ( 24 - if builtins.hasAttr attribute set 25 - then builtins.getAttr attribute set 26 - else default 27 - ); 28 - 29 23 # Map SPDX identifiers to license names 30 24 spdxLicenses = lib.listToAttrs (lib.filter (pair: pair.name != null) (builtins.map (v: { name = if lib.hasAttr "spdxId" v then v.spdxId else null; value = v; }) (lib.attrValues lib.licenses))); 31 25 # Get license by id falling back to input string 32 - getLicenseBySpdxId = spdxId: getAttrDefault spdxId spdxLicenses spdxId; 26 + getLicenseBySpdxId = spdxId: spdxLicenses.${spdxId} or spdxId; 33 27 34 28 # 35 29 # Returns an attrset { python, poetryPackages } for the given lockfile ··· 65 59 # closure as python can only ever have one version of a dependency 66 60 baseOverlay = self: super: 67 61 let 68 - getDep = depName: if builtins.hasAttr depName self then self."${depName}" else throw "foo"; 62 + getDep = depName: self.${depName}; 69 63 70 64 lockPkgs = builtins.listToAttrs ( 71 65 builtins.map ( ··· 74 68 value = self.mkPoetryDep ( 75 69 pkgMeta // { 76 70 inherit pwd; 77 - source = getAttrDefault "source" pkgMeta null; 71 + source = pkgMeta.source or null; 78 72 files = lockFiles.${name}; 79 73 pythonPackages = self; 80 74 } ··· 159 153 passedAttrs = builtins.removeAttrs attrs specialAttrs; 160 154 161 155 getDeps = depAttr: let 162 - deps = getAttrDefault depAttr pyProject.tool.poetry {}; 156 + deps = pyProject.tool.poetry.${depAttr} or {}; 163 157 depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames deps); 164 158 in 165 159 builtins.map (dep: py.pkgs."${dep}") depAttrs; 166 160 167 - getInputs = attr: getAttrDefault attr attrs []; 161 + getInputs = attr: attrs.${attr} or []; 168 162 mkInput = attr: extraInputs: getInputs attr ++ extraInputs; 169 163 170 164 buildSystemPkgs = poetryLib.getBuildSystemPkgs { ··· 189 183 python = py; 190 184 }; 191 185 192 - postPatch = (getAttrDefault "postPatch" passedAttrs "") + '' 186 + postPatch = (passedAttrs.postPatch or "") + '' 193 187 # Tell poetry not to resolve the path dependencies. Any version is 194 188 # fine ! 195 189 yj -tj < pyproject.toml | python ${./pyproject-without-path.py} > pyproject.json ··· 199 193 200 194 meta = meta // { 201 195 inherit (pyProject.tool.poetry) description homepage; 202 - license = getLicenseBySpdxId (getAttrDefault "license" pyProject.tool.poetry "unknown"); 196 + license = getLicenseBySpdxId (pyProject.tool.poetry.license or "unknown"); 203 197 }; 204 198 205 199 }
+18 -16
pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
··· 30 30 in 31 31 (builtins.foldl' combine initial tokens).state; 32 32 33 - fromTOML = toml: if builtins.hasAttr "fromTOML" builtins then builtins.fromTOML toml else 34 - builtins.fromJSON ( 35 - builtins.readFile ( 36 - pkgs.runCommand "from-toml" 37 - { 38 - inherit toml; 39 - allowSubstitutes = false; 40 - preferLocalBuild = true; 41 - } 42 - '' 43 - ${pkgs.remarshal}/bin/remarshal \ 44 - -if toml \ 45 - -i <(echo "$toml") \ 46 - -of json \ 47 - -o $out 48 - '' 33 + fromTOML = builtins.fromTOML or 34 + ( 35 + toml: builtins.fromJSON ( 36 + builtins.readFile ( 37 + pkgs.runCommand "from-toml" 38 + { 39 + inherit toml; 40 + allowSubstitutes = false; 41 + preferLocalBuild = true; 42 + } 43 + '' 44 + ${pkgs.remarshal}/bin/remarshal \ 45 + -if toml \ 46 + -i <(echo "$toml") \ 47 + -of json \ 48 + -o $out 49 + '' 50 + ) 49 51 ) 50 52 ); 51 53 readTOML = path: fromTOML (builtins.readFile path);
+89 -79
pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
··· 16 16 , pwd 17 17 , supportedExtensions ? lib.importJSON ./extensions.json 18 18 , ... 19 - }: let 19 + }: 20 20 21 - inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi; 21 + pythonPackages.callPackage ( 22 + { preferWheel ? false 23 + }: 22 24 23 - inherit (import ./pep425.nix { 24 - inherit lib python; 25 - inherit (pkgs) stdenv; 26 - }) selectWheel 27 - ; 25 + let 28 26 29 - fileCandidates = let 30 - supportedRegex = ("^.*?(" + builtins.concatStringsSep "|" supportedExtensions + ")"); 31 - matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." ] [ "\\." ] version + ".*$") fname != null; 32 - hasSupportedExtension = fname: builtins.match supportedRegex fname != null; 33 - isCompatibleEgg = fname: ! lib.strings.hasSuffix ".egg" fname || lib.strings.hasSuffix "py${python.pythonVersion}.egg" fname; 34 - in 35 - builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file && isCompatibleEgg f.file) files; 36 - 37 - toPath = s: pwd + "/${s}"; 27 + inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi; 38 28 39 - isSource = source != null; 40 - isGit = isSource && source.type == "git"; 41 - isLocal = isSource && source.type == "directory"; 29 + inherit (import ./pep425.nix { 30 + inherit lib python; 31 + inherit (pkgs) stdenv; 32 + }) selectWheel 33 + ; 42 34 43 - localDepPath = toPath source.url; 44 - pyProject = poetryLib.readTOML (localDepPath + "/pyproject.toml"); 35 + fileCandidates = let 36 + supportedRegex = ("^.*?(" + builtins.concatStringsSep "|" supportedExtensions + ")"); 37 + matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." ] [ "\\." ] version + ".*$") fname != null; 38 + hasSupportedExtension = fname: builtins.match supportedRegex fname != null; 39 + isCompatibleEgg = fname: ! lib.strings.hasSuffix ".egg" fname || lib.strings.hasSuffix "py${python.pythonVersion}.egg" fname; 40 + in 41 + builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file && isCompatibleEgg f.file) files; 45 42 46 - buildSystemPkgs = poetryLib.getBuildSystemPkgs { 47 - inherit pythonPackages pyProject; 48 - }; 43 + toPath = s: pwd + "/${s}"; 49 44 50 - fileInfo = let 51 - isBdist = f: lib.strings.hasSuffix "whl" f.file; 52 - isSdist = f: ! isBdist f && ! isEgg f; 53 - isEgg = f: lib.strings.hasSuffix ".egg" f.file; 45 + isSource = source != null; 46 + isGit = isSource && source.type == "git"; 47 + isLocal = isSource && source.type == "directory"; 54 48 55 - binaryDist = selectWheel fileCandidates; 56 - sourceDist = builtins.filter isSdist fileCandidates; 57 - eggs = builtins.filter isEgg fileCandidates; 49 + localDepPath = toPath source.url; 50 + pyProject = poetryLib.readTOML (localDepPath + "/pyproject.toml"); 58 51 59 - lockFileEntry = builtins.head (sourceDist ++ binaryDist ++ eggs); 52 + buildSystemPkgs = poetryLib.getBuildSystemPkgs { 53 + inherit pythonPackages pyProject; 54 + }; 60 55 61 - _isEgg = isEgg lockFileEntry; 56 + fileInfo = let 57 + isBdist = f: lib.strings.hasSuffix "whl" f.file; 58 + isSdist = f: ! isBdist f && ! isEgg f; 59 + isEgg = f: lib.strings.hasSuffix ".egg" f.file; 62 60 63 - in 64 - rec { 65 - inherit (lockFileEntry) file hash; 66 - name = file; 67 - format = 68 - if _isEgg then "egg" 69 - else if lib.strings.hasSuffix ".whl" name then "wheel" 70 - else "setuptools"; 71 - kind = 72 - if _isEgg then python.pythonVersion 73 - else if format == "setuptools" then "source" 74 - else (builtins.elemAt (lib.strings.splitString "-" name) 2); 75 - }; 61 + binaryDist = selectWheel fileCandidates; 62 + sourceDist = builtins.filter isSdist fileCandidates; 63 + eggs = builtins.filter isEgg fileCandidates; 76 64 77 - baseBuildInputs = lib.optional (name != "setuptools_scm" && name != "setuptools-scm") pythonPackages.setuptools_scm; 65 + entries = (if preferWheel then binaryDist ++ sourceDist else sourceDist ++ binaryDist) ++ eggs; 78 66 79 - in 67 + lockFileEntry = builtins.head entries; 80 68 81 - buildPythonPackage { 82 - pname = name; 83 - version = version; 69 + _isEgg = isEgg lockFileEntry; 84 70 85 - doCheck = false; # We never get development deps 86 - dontStrip = true; 87 - format = if isLocal then "pyproject" else if isGit then "setuptools" else fileInfo.format; 71 + in 72 + rec { 73 + inherit (lockFileEntry) file hash; 74 + name = file; 75 + format = 76 + if _isEgg then "egg" 77 + else if lib.strings.hasSuffix ".whl" name then "wheel" 78 + else "setuptools"; 79 + kind = 80 + if _isEgg then python.pythonVersion 81 + else if format == "setuptools" then "source" 82 + else (builtins.elemAt (lib.strings.splitString "-" name) 2); 83 + }; 88 84 89 - nativeBuildInputs = if (!isSource && (getManyLinuxDeps fileInfo.name).str != null) then [ autoPatchelfHook ] else []; 90 - buildInputs = baseBuildInputs ++ (if !isSource then (getManyLinuxDeps fileInfo.name).pkg else []); 85 + baseBuildInputs = lib.optional (name != "setuptools_scm" && name != "setuptools-scm") pythonPackages.setuptools_scm; 91 86 92 - propagatedBuildInputs = 93 - let 94 - # Some dependencies like django gets the attribute name django 95 - # but dependencies try to access Django 96 - deps = builtins.map (d: lib.toLower d) (builtins.attrNames dependencies); 97 87 in 98 - (builtins.map (n: pythonPackages.${n}) deps) ++ (if isLocal then buildSystemPkgs else []); 99 88 100 - meta = { 101 - broken = ! isCompatible python.version python-versions; 102 - license = []; 103 - }; 89 + buildPythonPackage { 90 + pname = name; 91 + version = version; 104 92 105 - # We need to retrieve kind from the interpreter and the filename of the package 106 - # Interpreters should declare what wheel types they're compatible with (python type + ABI) 107 - # Here we can then choose a file based on that info. 108 - src = if isGit then ( 109 - builtins.fetchGit { 110 - inherit (source) url; 111 - rev = source.reference; 112 - } 113 - ) else if isLocal then (localDepPath) else fetchFromPypi { 114 - pname = name; 115 - inherit (fileInfo) file hash kind; 116 - }; 117 - } 93 + doCheck = false; # We never get development deps 94 + dontStrip = true; 95 + format = if isLocal then "pyproject" else if isGit then "setuptools" else fileInfo.format; 96 + 97 + nativeBuildInputs = if (!isSource && (getManyLinuxDeps fileInfo.name).str != null) then [ autoPatchelfHook ] else []; 98 + buildInputs = baseBuildInputs ++ (if !isSource then (getManyLinuxDeps fileInfo.name).pkg else []); 99 + 100 + propagatedBuildInputs = 101 + let 102 + # Some dependencies like django gets the attribute name django 103 + # but dependencies try to access Django 104 + deps = builtins.map (d: lib.toLower d) (builtins.attrNames dependencies); 105 + in 106 + (builtins.map (n: pythonPackages.${n}) deps) ++ (if isLocal then buildSystemPkgs else []); 107 + 108 + meta = { 109 + broken = ! isCompatible python.version python-versions; 110 + license = []; 111 + }; 112 + 113 + # We need to retrieve kind from the interpreter and the filename of the package 114 + # Interpreters should declare what wheel types they're compatible with (python type + ABI) 115 + # Here we can then choose a file based on that info. 116 + src = if isGit then ( 117 + builtins.fetchGit { 118 + inherit (source) url; 119 + rev = source.reference; 120 + } 121 + ) else if isLocal then (localDepPath) else fetchFromPypi { 122 + pname = name; 123 + inherit (fileInfo) file hash kind; 124 + }; 125 + } 126 + 127 + ) {}
+109 -10
pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
··· 5 5 6 6 self: super: 7 7 8 - let 9 - 10 - getAttrDefault = attribute: set: default: 11 - if builtins.hasAttr attribute set 12 - then builtins.getAttr attribute set 13 - else default; 14 - 15 - in 16 8 { 17 9 av = super.av.overrideAttrs ( 18 10 old: { ··· 52 44 django = ( 53 45 super.django.overrideAttrs ( 54 46 old: { 55 - propagatedNativeBuildInputs = (getAttrDefault "propagatedNativeBuildInputs" old []) 47 + propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or []) 56 48 ++ [ pkgs.gettext ]; 57 49 } 58 50 ) ··· 64 56 if ! test -e LICENSE; then 65 57 touch LICENSE 66 58 fi 67 - '' + (getAttrDefault "configurePhase" old ""); 59 + '' + (old.configurePhase or ""); 68 60 } 69 61 ); 70 62 ··· 85 77 } 86 78 ); 87 79 80 + # importlib-metadata has an incomplete dependency specification 81 + importlib-metadata = super.importlib-metadata.overrideAttrs ( 82 + old: { 83 + propagatedBuildInputs = old.propagatedBuildInputs ++ lib.optional self.python.isPy2 self.pathlib2; 84 + } 85 + ); 86 + 88 87 lap = super.lap.overrideAttrs ( 89 88 old: { 90 89 propagatedBuildInputs = old.propagatedBuildInputs ++ [ ··· 153 152 inherit (super.matplotlib) patches; 154 153 } 155 154 ); 155 + 156 + # Calls Cargo at build time for source builds and is really tricky to package 157 + maturin = super.maturin.override { 158 + preferWheel = true; 159 + }; 156 160 157 161 mccabe = super.mccabe.overrideAttrs ( 158 162 old: { ··· 293 297 } 294 298 ); 295 299 300 + pyqt5 = super.pyqt5.overridePythonAttrs ( 301 + old: { 302 + format = "other"; 303 + 304 + nativeBuildInputs = old.nativeBuildInputs ++ [ 305 + pkgs.pkgconfig 306 + pkgs.qt5.qmake 307 + pkgs.xorg.lndir 308 + pkgs.qt5.qtbase 309 + pkgs.qt5.qtsvg 310 + pkgs.qt5.qtdeclarative 311 + pkgs.qt5.qtwebchannel 312 + # self.pyqt5-sip 313 + self.sip 314 + ]; 315 + 316 + buildInputs = old.buildInputs ++ [ 317 + pkgs.dbus 318 + pkgs.qt5.qtbase 319 + pkgs.qt5.qtsvg 320 + pkgs.qt5.qtdeclarative 321 + self.sip 322 + ]; 323 + 324 + # Fix dbus mainloop 325 + inherit (pkgs.python3.pkgs.pyqt5) patches; 326 + 327 + configurePhase = '' 328 + runHook preConfigure 329 + 330 + export PYTHONPATH=$PYTHONPATH:$out/${self.python.sitePackages} 331 + 332 + mkdir -p $out/${self.python.sitePackages}/dbus/mainloop 333 + ${self.python.executable} configure.py -w \ 334 + --confirm-license \ 335 + --no-qml-plugin \ 336 + --bindir=$out/bin \ 337 + --destdir=$out/${self.python.sitePackages} \ 338 + --stubsdir=$out/${self.python.sitePackages}/PyQt5 \ 339 + --sipdir=$out/share/sip/PyQt5 \ 340 + --designer-plugindir=$out/plugins/designer 341 + 342 + runHook postConfigure 343 + ''; 344 + 345 + postInstall = '' 346 + ln -s ${self.pyqt5-sip}/${self.python.sitePackages}/PyQt5/sip.* $out/${self.python.sitePackages}/PyQt5/ 347 + for i in $out/bin/*; do 348 + wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" 349 + done 350 + 351 + # # Let's make it a namespace package 352 + # cat << EOF > $out/${self.python.sitePackages}/PyQt5/__init__.py 353 + # from pkgutil import extend_path 354 + # __path__ = extend_path(__path__, __name__) 355 + # EOF 356 + ''; 357 + 358 + installCheckPhase = let 359 + modules = [ 360 + "PyQt5" 361 + "PyQt5.QtCore" 362 + "PyQt5.QtQml" 363 + "PyQt5.QtWidgets" 364 + "PyQt5.QtGui" 365 + ]; 366 + imports = lib.concatMapStrings (module: "import ${module};") modules; 367 + in 368 + '' 369 + echo "Checking whether modules can be imported..." 370 + ${self.python.interpreter} -c "${imports}" 371 + ''; 372 + 373 + doCheck = true; 374 + 375 + enableParallelBuilding = true; 376 + } 377 + ); 378 + 379 + pytest-datadir = super.pytest-datadir.overrideAttrs ( 380 + old: { 381 + postInstall = '' 382 + rm -f $out/LICENSE 383 + ''; 384 + } 385 + ); 386 + 296 387 python-prctl = super.python-prctl.overrideAttrs ( 297 388 old: { 298 389 buildInputs = old.buildInputs ++ [ ··· 337 428 propagatedBuildInputs = old.propagatedBuildInputs ++ [ 338 429 self.urwid 339 430 ]; 431 + } 432 + ); 433 + 434 + vose-alias-method = super.pytest-datadir.overrideAttrs ( 435 + old: { 436 + postInstall = '' 437 + rm -f $out/LICENSE 438 + ''; 340 439 } 341 440 ); 342 441
+74
pkgs/development/tools/prospector/default.nix
··· 1 + { lib 2 + , pkgs 3 + , python 4 + }: 5 + 6 + let 7 + py = python.override { 8 + packageOverrides = self: super: { 9 + pep8-naming = super.pep8-naming.overridePythonAttrs(oldAttrs: rec { 10 + version = "0.4.1"; 11 + src = oldAttrs.src.override { 12 + inherit version; 13 + sha256 = "0nhf8p37y008shd4f21bkj5pizv8q0l8cpagyyb8gr059d6gvvaf"; 14 + }; 15 + }); 16 + }; 17 + }; 18 + setoptconf = py.pkgs.callPackage ./setoptconf.nix { }; 19 + in 20 + 21 + with py.pkgs; 22 + 23 + buildPythonApplication rec { 24 + pname = "prospector"; 25 + version = "1.2.0"; 26 + disabled = isPy27; 27 + 28 + src = pkgs.fetchFromGitHub { 29 + owner = "PyCQA"; 30 + repo = pname; 31 + rev = version; 32 + sha256 = "07kb37zrrsriqzcmli0ghx7qb1iwkzh83qsiikl9jy50faby2sjg"; 33 + }; 34 + 35 + checkInputs = [ 36 + pytest 37 + ]; 38 + 39 + checkPhase = '' 40 + pytest 41 + ''; 42 + 43 + patchPhase = '' 44 + substituteInPlace setup.py \ 45 + --replace 'pycodestyle<=2.4.0' 'pycodestyle<=2.5.0' 46 + ''; 47 + 48 + propagatedBuildInputs = [ 49 + astroid 50 + django 51 + dodgy 52 + mccabe 53 + pep8-naming 54 + pycodestyle 55 + pydocstyle 56 + pyflakes 57 + pylint 58 + pylint-celery 59 + pylint-django 60 + pylint-flask 61 + pyyaml 62 + requirements-detector 63 + setoptconf 64 + ]; 65 + 66 + meta = with lib; { 67 + description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity"; 68 + homepage = "https://github.com/PyCQA/prospector"; 69 + license = licenses.gpl2; 70 + maintainers = with maintainers; [ 71 + kamadorueda 72 + ]; 73 + }; 74 + }
+26
pkgs/development/tools/prospector/setoptconf.nix
··· 1 + { buildPythonPackage 2 + , fetchPypi 3 + , lib 4 + }: 5 + 6 + buildPythonPackage rec { 7 + pname = "setoptconf"; 8 + version = "0.2.0"; 9 + 10 + src = fetchPypi { 11 + inherit pname version; 12 + sha256 = "177l7j68j751i781bgk6pfhxjj7hwqxzdm2ja5fkywbp0275s2sv"; 13 + }; 14 + 15 + # Base tests provided via PyPi are broken 16 + doCheck = false; 17 + 18 + meta = with lib; { 19 + homepage = "https://pypi.org/project/setoptconf"; 20 + description = "A module for retrieving program settings from various sources in a consistant method"; 21 + license = licenses.mit; 22 + maintainers = with maintainers; [ 23 + kamadorueda 24 + ]; 25 + }; 26 + }
+22
pkgs/development/tools/rnix-lsp/default.nix
··· 1 + { callPackage, lib, fetchFromGitHub, rustPlatform }: 2 + 3 + rustPlatform.buildRustPackage rec { 4 + pname = "rnix-lsp"; 5 + version = "0.1.0"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "nix-community"; 9 + repo = "rnix-lsp"; 10 + rev = "v${version}"; 11 + 12 + sha256 = "0fy620c34kxl27sd62x9mj0555bcdmnmbsxavmyiwb497z1m9wnn"; 13 + }; 14 + 15 + cargoSha256 = "1wm5m7b6zr6wg1k59rmqis1zp9i2990p7y0ml852hxv34an7pp5d"; 16 + 17 + meta = with lib; { 18 + description = "A work-in-progress language server for Nix, with syntax checking and basic completion"; 19 + license = licenses.mit; 20 + maintainers = with maintainers; [ jD91mZM2 ]; 21 + }; 22 + }
+2
pkgs/development/tools/vagrant/default.nix
··· 33 33 for gem in "$out"/lib/ruby/gems/*/gems/*; do 34 34 cp -a "$gem/" "$gem.new" 35 35 rm "$gem" 36 + # needed on macOS, otherwise the mv yields permission denied 37 + chmod +w "$gem.new" 36 38 mv "$gem.new" "$gem" 37 39 done 38 40 '';
+106
pkgs/games/mindustry/default.nix
··· 1 + { stdenv 2 + , makeWrapper 3 + , makeDesktopItem 4 + , fetchFromGitHub 5 + , gradle_5 6 + , perl 7 + , jre 8 + , libpulseaudio 9 + 10 + # Make the build version easily overridable. 11 + # Server and client build versions must match, and an empty build version means 12 + # any build is allowed, so this parameter acts as a simple whitelist. 13 + # Takes the package version and returns the build version. 14 + , makeBuildVersion ? (v: v) 15 + }: 16 + 17 + let 18 + pname = "mindustry"; 19 + # Note: when raising the version, ensure that all SNAPSHOT versions in 20 + # build.gradle are replaced by a fixed version 21 + # (the current one at the time of release) (see postPatch). 22 + version = "102"; 23 + buildVersion = makeBuildVersion version; 24 + 25 + src = fetchFromGitHub { 26 + owner = "Anuken"; 27 + repo = "Mindustry"; 28 + rev = "v${version}"; 29 + sha256 = "0g4zy2zlynv6f427pq1ngnl0zpr6nnih10wd2l8vl9bxwzjygwdr"; 30 + }; 31 + 32 + desktopItem = makeDesktopItem { 33 + type = "Application"; 34 + name = "Mindustry"; 35 + desktopName = "Mindustry"; 36 + exec = "mindustry"; 37 + icon = "mindustry"; 38 + }; 39 + 40 + postPatch = '' 41 + # Remove unbuildable iOS stuff 42 + sed -i '/^project(":ios"){/,/^}/d' build.gradle 43 + sed -i '/robo(vm|VM)/d' build.gradle 44 + rm ios/build.gradle 45 + 46 + # Pin 'SNAPSHOT' versions 47 + sed -i 's/com.github.anuken:packr:-SNAPSHOT/com.github.anuken:packr:034efe51781d2d8faa90370492133241bfb0283c/' build.gradle 48 + ''; 49 + 50 + # fake build to pre-download deps into fixed-output derivation 51 + deps = stdenv.mkDerivation { 52 + pname = "${pname}-deps"; 53 + inherit version src postPatch; 54 + nativeBuildInputs = [ gradle_5 perl ]; 55 + buildPhase = '' 56 + export GRADLE_USER_HOME=$(mktemp -d) 57 + gradle --no-daemon desktop:dist -Pbuildversion=${buildVersion} 58 + gradle --no-daemon server:dist -Pbuildversion=${buildVersion} 59 + ''; 60 + # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) 61 + installPhase = '' 62 + find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ 63 + | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ 64 + | sh 65 + ''; 66 + outputHashAlgo = "sha256"; 67 + outputHashMode = "recursive"; 68 + outputHash = "1sscxrr32f2agwz34pm491xqkz7m4bwdc1p3g64kcnl3p6rg7r7k"; 69 + }; 70 + 71 + in stdenv.mkDerivation rec { 72 + inherit pname version src postPatch; 73 + 74 + nativeBuildInputs = [ gradle_5 makeWrapper ]; 75 + 76 + buildPhase = '' 77 + export GRADLE_USER_HOME=$(mktemp -d) 78 + # point to offline repo 79 + sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle 80 + gradle --offline --no-daemon desktop:dist -Pbuildversion=${buildVersion} 81 + gradle --offline --no-daemon server:dist -Pbuildversion=${buildVersion} 82 + ''; 83 + 84 + installPhase = '' 85 + install -Dm644 desktop/build/libs/Mindustry.jar $out/share/mindustry.jar 86 + install -Dm644 server/build/libs/server-release.jar $out/share/mindustry-server.jar 87 + mkdir $out/bin 88 + makeWrapper ${jre}/bin/java $out/bin/mindustry \ 89 + --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib \ 90 + --add-flags "-jar $out/share/mindustry.jar" 91 + makeWrapper ${jre}/bin/java $out/bin/mindustry-server \ 92 + --add-flags "-jar $out/share/mindustry-server.jar" 93 + install -Dm644 core/assets/icons/icon_64.png $out/share/icons/hicolor/64x64/apps/mindustry.png 94 + install -Dm644 ${desktopItem}/share/applications/Mindustry.desktop $out/share/applications/Mindustry.desktop 95 + ''; 96 + 97 + meta = with stdenv.lib; { 98 + homepage = "https://mindustrygame.github.io/"; 99 + downloadPage = "https://github.com/Anuken/Mindustry/releases"; 100 + description = "A sandbox tower defense game"; 101 + license = licenses.gpl3; 102 + maintainers = with maintainers; [ fgaz ]; 103 + platforms = platforms.all; 104 + }; 105 + } 106 +
+3 -5
pkgs/games/ultrastardx/default.nix
··· 12 12 13 13 in stdenv.mkDerivation rec { 14 14 pname = "ultrastardx"; 15 - version = "2017.8.0"; 15 + version = "unstable-2019-01-07"; 16 16 src = fetchFromGitHub { 17 17 owner = "UltraStar-Deluxe"; 18 18 repo = "USDX"; 19 - rev = "v${version}"; 20 - sha256 = "1zp0xfwzci3cjmwx3cprcxvm60cik5cvhvrz9n4d6yb8dv38nqzm"; 19 + rev = "3df142590f29db1505cc58746af9f8cf7cb4a6a5"; 20 + sha256 = "EpwGKK9B8seF7gRwo3kCeSzFQQW1p8rP4HXeu8/LoyA="; 21 21 }; 22 22 23 23 nativeBuildInputs = [ pkgconfig autoreconfHook ]; 24 24 buildInputs = [ fpc libpng ] ++ sharedLibs; 25 25 26 - # https://github.com/UltraStar-Deluxe/USDX/issues/462 27 26 postPatch = '' 28 27 substituteInPlace src/config.inc.in \ 29 - --subst-var-by lua_LIB_NAME liblua.so \ 30 28 --subst-var-by libpcre_LIBNAME libpcre.so.1 31 29 ''; 32 30
+4 -3
pkgs/misc/emulators/retroarch/cores.nix
··· 786 786 787 787 snes9x = (mkLibRetroCore rec { 788 788 core = "snes9x"; 789 - src = fetchRetro { 789 + src = fetchFromGitHub { 790 + owner = "snes9xgit"; 790 791 repo = core; 791 - rev = "29b78df8c9f0f48ed4605d08a187a134b3b316d6"; 792 - sha256 = "004h1pkxvbn4zlh8bqs6z17k04jw5wzbwklpgvmb7hbxshsi4qid"; 792 + rev = "04692e1ee45cc647423774ee17c63208c2713638"; 793 + sha256 = "09p9m85fxwrrrapjb08rcxknpgq5d6a87arrm1jn94r56glxlcfa"; 793 794 }; 794 795 description = "Port of SNES9x git to libretro"; 795 796 license = "Non-commercial";
+171 -149
pkgs/misc/vim-plugins/generated.nix
··· 50 50 51 51 alchemist-vim = buildVimPluginFrom2Nix { 52 52 pname = "alchemist-vim"; 53 - version = "2019-11-27"; 53 + version = "2020-01-10"; 54 54 src = fetchFromGitHub { 55 55 owner = "slashmili"; 56 56 repo = "alchemist.vim"; 57 - rev = "911eda990ef259d1f035061c5dfb2f44adb2697e"; 58 - sha256 = "04lm3k6svq4y2a7kqq5phzyny93ynnjdmsv2s98pw6c4z5fq5y1m"; 57 + rev = "a5158d2e731afe3bca25a6a76eb706ff34e155b0"; 58 + sha256 = "0r1xiw0f46if7whxan2asi1klyijlyaf61p0xg5v81nnh64w6lhs"; 59 59 }; 60 60 }; 61 61 ··· 193 193 194 194 bufexplorer = buildVimPluginFrom2Nix { 195 195 pname = "bufexplorer"; 196 - version = "2019-02-13"; 196 + version = "2020-01-10"; 197 197 src = fetchFromGitHub { 198 198 owner = "jlanzarotta"; 199 199 repo = "bufexplorer"; 200 - rev = "162f6031ada3b2d1ad171e02e93f417ee1689176"; 201 - sha256 = "0ws8yw1s77pb0gm5wvj5w5symx8fqqzcdizds8cg47cfmw97zz1h"; 200 + rev = "8014787603fff635dfae6afd4dbe9297673a0b39"; 201 + sha256 = "0drj8q6wg9h08nf517l0dks1fbcnc558zg7dqavxc43maymq5mxm"; 202 202 }; 203 203 }; 204 204 ··· 424 424 425 425 coc-metals = buildVimPluginFrom2Nix { 426 426 pname = "coc-metals"; 427 - version = "2020-01-03"; 427 + version = "2020-01-13"; 428 428 src = fetchFromGitHub { 429 429 owner = "ckipp01"; 430 430 repo = "coc-metals"; 431 - rev = "a2c71dc75b35251549d1ba2cdb5f9ee286ab9f90"; 432 - sha256 = "0hzd7m1rli2vgwvykrv9ld5q9na867l5d56fl02d7d3q9ykfn6j7"; 431 + rev = "b2b3c6e43f8dc0a9353046faacb2cfafe0220228"; 432 + sha256 = "160y5rz1nhpdlb9j3ximn6ylj0rabkbvl0h7jil95rin60sq91d1"; 433 433 }; 434 434 }; 435 435 436 436 coc-neco = buildVimPluginFrom2Nix { 437 437 pname = "coc-neco"; 438 - version = "2019-09-23"; 438 + version = "2020-01-11"; 439 439 src = fetchFromGitHub { 440 440 owner = "neoclide"; 441 441 repo = "coc-neco"; 442 - rev = "e6eb1ccc2ab98966fe678107c6da0d4ddfa34f10"; 443 - sha256 = "14lph4dg7q0s5yjdr8snz9yl7bn6gs42ikizb6mxq43qqfdnxzdx"; 442 + rev = "e203327ff80c56fc51d85f73df9049455edf1a56"; 443 + sha256 = "1snfb92pahdfkch0cwhd0pcmia35al518351np2hq8dhbs7fc02n"; 444 444 }; 445 445 }; 446 446 ··· 523 523 524 524 coc-solargraph = buildVimPluginFrom2Nix { 525 525 pname = "coc-solargraph"; 526 - version = "2019-08-11"; 526 + version = "2020-01-11"; 527 527 src = fetchFromGitHub { 528 528 owner = "neoclide"; 529 529 repo = "coc-solargraph"; 530 - rev = "6a146623192e661e18830c58abe1055fddcf57d7"; 531 - sha256 = "1mc8jqpgwy5q4jzb5p09j5mal9paq50dl1hsxhg0y5q6rqrr7qhz"; 530 + rev = "c767dd19c8d07920e10f126b4b71f187c7bdcb6a"; 531 + sha256 = "014k1sqjfzcr052vnqnr5ccxpw2yr0dfgd0657nwjgbhnpf8qn3s"; 532 532 }; 533 533 }; 534 534 ··· 545 545 546 546 coc-tabnine = buildVimPluginFrom2Nix { 547 547 pname = "coc-tabnine"; 548 - version = "2019-12-10"; 548 + version = "2020-01-06"; 549 549 src = fetchFromGitHub { 550 550 owner = "neoclide"; 551 551 repo = "coc-tabnine"; 552 - rev = "f72b4f47109918cc6ad43b42ed566bec61feff8e"; 553 - sha256 = "1jaj6qsascdpdyz0g8yvi7bcxf4jwcrb0766x4dsmfk9r7prxifl"; 552 + rev = "442c829185ecab2268d1b9fd076c5286bbd39562"; 553 + sha256 = "0as4b33nnp7anqbxkkja8lp37y4a74b3507zyk3gmmna0my1ca3r"; 554 554 }; 555 555 }; 556 556 ··· 700 700 701 701 context_filetype-vim = buildVimPluginFrom2Nix { 702 702 pname = "context_filetype-vim"; 703 - version = "2019-08-17"; 703 + version = "2020-01-08"; 704 704 src = fetchFromGitHub { 705 705 owner = "Shougo"; 706 706 repo = "context_filetype.vim"; 707 - rev = "9d495ce4ddfdae8f0b268fcec3a7a5e0062456e8"; 708 - sha256 = "0g5ixgg8p2vrpjhyy52xln7a5f8rcbglgyir620ynzhz1phdilg4"; 707 + rev = "cbe3c0069e6a13bd9bfcd9739c0770f7fd4b4ef4"; 708 + sha256 = "07mnch8vi7snx8jfz32hkg4v4ml2ywb8yn0jycshn317j253fbmj"; 709 709 }; 710 710 }; 711 711 ··· 808 808 }; 809 809 }; 810 810 811 - defx-icons = buildVimPluginFrom2Nix { 812 - pname = "defx-icons"; 813 - version = "2019-11-03"; 814 - src = fetchFromGitHub { 815 - owner = "kristijanhusak"; 816 - repo = "defx-icons"; 817 - rev = "1412fd083eb54ffedb4f3ae32ddc7ce28613a144"; 818 - sha256 = "1x0xpixbmxm15g5nmsslccdngm14sg86ymy6mywg9xfbnrh1vn0p"; 819 - }; 820 - }; 821 - 822 811 defx-git = buildVimPluginFrom2Nix { 823 812 pname = "defx-git"; 824 813 version = "2019-12-25"; ··· 830 819 }; 831 820 }; 832 821 822 + defx-icons = buildVimPluginFrom2Nix { 823 + pname = "defx-icons"; 824 + version = "2019-11-03"; 825 + src = fetchFromGitHub { 826 + owner = "kristijanhusak"; 827 + repo = "defx-icons"; 828 + rev = "1412fd083eb54ffedb4f3ae32ddc7ce28613a144"; 829 + sha256 = "1x0xpixbmxm15g5nmsslccdngm14sg86ymy6mywg9xfbnrh1vn0p"; 830 + }; 831 + }; 832 + 833 833 defx-nvim = buildVimPluginFrom2Nix { 834 834 pname = "defx-nvim"; 835 - version = "2020-01-02"; 835 + version = "2020-01-08"; 836 836 src = fetchFromGitHub { 837 837 owner = "Shougo"; 838 838 repo = "defx.nvim"; 839 - rev = "aa1b5c762bbabaeeb5f3eca976e65bbb2f82a883"; 840 - sha256 = "0pfsky4i4h769fjmrvy89d9ickkfifvmq0m54c6qhs24bycx0s7j"; 839 + rev = "2823cfbf37ae86bf20b56a4dacff123c54dc85fa"; 840 + sha256 = "0hbmdkwfhihjn1sxlznhv6fls8zgfvm7srigw8anxh7zr7rx2qz3"; 841 841 }; 842 842 }; 843 843 ··· 876 876 877 877 denite-nvim = buildVimPluginFrom2Nix { 878 878 pname = "denite-nvim"; 879 - version = "2020-01-05"; 879 + version = "2020-01-13"; 880 880 src = fetchFromGitHub { 881 881 owner = "Shougo"; 882 882 repo = "denite.nvim"; 883 - rev = "908cd3a3fe5b03783da7186441b2fe0c146f31b3"; 884 - sha256 = "0qrz0mrrx79525rzab0l1qx3q49531306b05hgqrlkzx9zcppk8l"; 883 + rev = "22dd7524bef3468af674fb1ecfb3e55ee679ebc0"; 884 + sha256 = "03cf90kvq337mj151y5m0w5px6h3y6hanfj2bcxwnpwifmjdinij"; 885 885 }; 886 886 }; 887 887 ··· 978 978 979 979 deoplete-lsp = buildVimPluginFrom2Nix { 980 980 pname = "deoplete-lsp"; 981 - version = "2019-12-24"; 981 + version = "2020-01-10"; 982 982 src = fetchFromGitHub { 983 983 owner = "Shougo"; 984 984 repo = "deoplete-lsp"; 985 - rev = "0985ba9f5a5f35521087b9ca0858c96ab3785158"; 986 - sha256 = "09bfsd217qi1ndfrfrjla1vlhnp8r9q9qirkwjjajbqhk4ws90pm"; 985 + rev = "7a8c44f423bc4339c092a759abaad40131d2c98a"; 986 + sha256 = "1gg9j26xq668s4gbww0p2x8pkh3ssbzgyp2hxppk2ws7x8c2cihi"; 987 987 }; 988 988 }; 989 989 ··· 1022 1022 1023 1023 deoplete-nvim = buildVimPluginFrom2Nix { 1024 1024 pname = "deoplete-nvim"; 1025 - version = "2019-12-27"; 1025 + version = "2020-01-10"; 1026 1026 src = fetchFromGitHub { 1027 1027 owner = "Shougo"; 1028 1028 repo = "deoplete.nvim"; 1029 - rev = "840c46aed8033efe19c7a5a809713c809b4a6bb5"; 1030 - sha256 = "09bivhh6iig9vskia9fz1cz2c6dbn3xf4cgm77z9ppaii00n9wh3"; 1029 + rev = "1e1af97ed05f12ad16104365d40e1f26a3e98a1d"; 1030 + sha256 = "01zgvadp7h47ni9bvvgbg68vxb0hijw670xyps557ii4aadkk28f"; 1031 1031 }; 1032 1032 }; 1033 1033 ··· 1245 1245 1246 1246 fzf-vim = buildVimPluginFrom2Nix { 1247 1247 pname = "fzf-vim"; 1248 - version = "2019-12-22"; 1248 + version = "2020-01-10"; 1249 1249 src = fetchFromGitHub { 1250 1250 owner = "junegunn"; 1251 1251 repo = "fzf.vim"; 1252 - rev = "76669c3c1d675833f9d89f6496f16a7accc0f40e"; 1253 - sha256 = "0p5z9bljjfnp4kkpf9pb5zwv5l9xdk3aikpfxjj8scafl99k4m5r"; 1252 + rev = "8a6894d6a560497bd35947f55ece381bf4f2d9ed"; 1253 + sha256 = "17f64c3z03g45iw68ir9wszq3bjlk661ccy87g0wxvl2pkcmnk53"; 1254 1254 }; 1255 1255 }; 1256 1256 ··· 1278 1278 1279 1279 ghcid = buildVimPluginFrom2Nix { 1280 1280 pname = "ghcid"; 1281 - version = "2019-12-14"; 1281 + version = "2020-01-09"; 1282 1282 src = fetchFromGitHub { 1283 1283 owner = "ndmitchell"; 1284 1284 repo = "ghcid"; 1285 - rev = "723054642faf15082bbad6a0d6db921918e5db61"; 1286 - sha256 = "0ln5y7jfd4m59ci39zffjmzi9bda0bck7mkxk0i5fyp4whp8jqdr"; 1285 + rev = "40a6ed21bc811e7795c525ce9a4fc689c6b99f60"; 1286 + sha256 = "020g3032gggxllnapqf7nbg5wqjg3c2z190f2jx3cl6z0fswgiwz"; 1287 1287 }; 1288 1288 }; 1289 1289 ··· 1300 1300 1301 1301 gist-vim = buildVimPluginFrom2Nix { 1302 1302 pname = "gist-vim"; 1303 - version = "2019-07-08"; 1303 + version = "2020-01-09"; 1304 1304 src = fetchFromGitHub { 1305 1305 owner = "mattn"; 1306 1306 repo = "gist-vim"; 1307 - rev = "e485c6c24a62b378a2a4c8687e36e7f54ceca18c"; 1308 - sha256 = "1fkm7aada088l9f5rf6fk1valfanwzfrsfip9w4q9w2mqvd7n1kn"; 1307 + rev = "c1f9b5aef7fa68f5151e62ceadbc9a9c48d58962"; 1308 + sha256 = "0q83dqhp3n0hj0mdkvj2kilywpqy512r1vpay0f9z57vkx29grzr"; 1309 1309 }; 1310 1310 }; 1311 1311 ··· 1531 1531 1532 1532 jedi-vim = buildVimPluginFrom2Nix { 1533 1533 pname = "jedi-vim"; 1534 - version = "2020-01-01"; 1534 + version = "2020-01-10"; 1535 1535 src = fetchFromGitHub { 1536 1536 owner = "davidhalter"; 1537 1537 repo = "jedi-vim"; 1538 - rev = "2572136fcb4c9941553dd05504007806613c8946"; 1539 - sha256 = "08fdaxaldbmg76bkj0xni4cpgqiss4cdxnv3jxskwvs6v9dxmbcs"; 1538 + rev = "c0ded0baf2971cec3698d7c799c04ad971a1484d"; 1539 + sha256 = "0bbivgm62a9v28r968dsx174km72an9xxz98r1r4z5krllccilab"; 1540 1540 fetchSubmodules = true; 1541 1541 }; 1542 1542 }; ··· 1675 1675 1676 1676 lh-vim-lib = buildVimPluginFrom2Nix { 1677 1677 pname = "lh-vim-lib"; 1678 - version = "2019-12-29"; 1678 + version = "2020-01-12"; 1679 1679 src = fetchFromGitHub { 1680 1680 owner = "LucHermitte"; 1681 1681 repo = "lh-vim-lib"; 1682 - rev = "6e60e3a6575449e08feb27fb3528b55e71fd56e3"; 1683 - sha256 = "054wxj8f23ddqs3mp8rvw2lsplqfyn352zcq6biywbybjm2xphf7"; 1682 + rev = "13a59968c0d76884f2ef1feb27493ba90d62deb0"; 1683 + sha256 = "0g9dfg7y7znj3iiz67323jbflg6d34hq8hc8v4gcjnrinagyydnv"; 1684 1684 }; 1685 1685 }; 1686 1686 ··· 1928 1928 1929 1929 neomake = buildVimPluginFrom2Nix { 1930 1930 pname = "neomake"; 1931 - version = "2019-12-20"; 1931 + version = "2020-01-07"; 1932 1932 src = fetchFromGitHub { 1933 1933 owner = "neomake"; 1934 1934 repo = "neomake"; 1935 - rev = "212c0d8b05ee65b9be77675db147d05abd323a46"; 1936 - sha256 = "0fjmrnmnqjb1r4cxbrlxwpwbm7jgs47wx6pql565946adv5bckh2"; 1935 + rev = "2669c679fa2d39457eba3f84f50404d7994e22cf"; 1936 + sha256 = "1ag11acrg32qgwn0c3lsv7ai0f8hs3hklpnqjx84jb0kb1fqp8s2"; 1937 1937 }; 1938 1938 }; 1939 1939 ··· 1961 1961 1962 1962 neosnippet-vim = buildVimPluginFrom2Nix { 1963 1963 pname = "neosnippet-vim"; 1964 - version = "2019-12-28"; 1964 + version = "2020-01-08"; 1965 1965 src = fetchFromGitHub { 1966 1966 owner = "Shougo"; 1967 1967 repo = "neosnippet.vim"; 1968 - rev = "6cccbd41851f3d8f47c5e225d552a217cede4f3f"; 1969 - sha256 = "0jrdya11fzis746x1s802g2w20v47dhaxlmczb2fv4x3fxfwql5p"; 1968 + rev = "5673f584c06431978a17609865f2adcf5e934be3"; 1969 + sha256 = "05g4dixqn584h6z2w7va676q74fl1839f86wsjfm09kfdlql4n1m"; 1970 1970 }; 1971 1971 }; 1972 1972 ··· 2038 2038 2039 2039 nerdtree = buildVimPluginFrom2Nix { 2040 2040 pname = "nerdtree"; 2041 - version = "2020-01-02"; 2041 + version = "2020-01-06"; 2042 2042 src = fetchFromGitHub { 2043 2043 owner = "scrooloose"; 2044 2044 repo = "nerdtree"; 2045 - rev = "8a14891241e3468f9c13deaa6cf88aebe53b519f"; 2046 - sha256 = "033qnzna0awys5w5wf9sj2gydm433l1919zz9cm984l0nmgmkp29"; 2045 + rev = "ee79ecfb67e4403e54ea59c175ca4d39544395e8"; 2046 + sha256 = "0zny0ycxfkcfj65y8m70spj96lv81fv52s07r8ncfa4bqm9kk9sd"; 2047 2047 }; 2048 2048 }; 2049 2049 ··· 2102 2102 }; 2103 2103 }; 2104 2104 2105 + nvim-gdb = buildVimPluginFrom2Nix { 2106 + pname = "nvim-gdb"; 2107 + version = "2019-10-28"; 2108 + src = fetchFromGitHub { 2109 + owner = "sakhnik"; 2110 + repo = "nvim-gdb"; 2111 + rev = "aa343ab3089cb520289a614a7b7c71f43134b34a"; 2112 + sha256 = "0qn0mq59x8jdkjvv47g2fjxnagvpa7pb01vl4jjrdwq34639i1bg"; 2113 + }; 2114 + }; 2115 + 2105 2116 nvim-hs-vim = buildVimPluginFrom2Nix { 2106 2117 pname = "nvim-hs-vim"; 2107 2118 version = "2019-04-14"; ··· 2487 2498 }; 2488 2499 }; 2489 2500 2501 + salt-vim = buildVimPluginFrom2Nix { 2502 + pname = "salt-vim"; 2503 + version = "2017-07-01"; 2504 + src = fetchFromGitHub { 2505 + owner = "saltstack"; 2506 + repo = "salt-vim"; 2507 + rev = "6ca9e3500cc39dd417b411435d58a1b720b331cc"; 2508 + sha256 = "0r79bpl98xcsmkw6dg83cf1ghn89rzsr011zirk3v1wfxclri2c4"; 2509 + }; 2510 + }; 2511 + 2490 2512 self = buildVimPluginFrom2Nix { 2491 2513 pname = "self"; 2492 2514 version = "2014-05-28"; ··· 2687 2709 2688 2710 syntastic = buildVimPluginFrom2Nix { 2689 2711 pname = "syntastic"; 2690 - version = "2019-11-20"; 2712 + version = "2020-01-12"; 2691 2713 src = fetchFromGitHub { 2692 2714 owner = "scrooloose"; 2693 2715 repo = "syntastic"; 2694 - rev = "39b35b23b952d620b8ec7cabb13110f586663837"; 2695 - sha256 = "1nc3019c969ms6m0hrj5k1kggcvsywn6j7kz0scdwzvfd6bcla6h"; 2716 + rev = "3b756bc1066a6df6b54415f2aa7eceaa67ee1ee4"; 2717 + sha256 = "1c9nsg36an3jyma0bhz6c9ymmcrayim6cxn82g37skl040gksvn4"; 2696 2718 }; 2697 2719 }; 2698 2720 ··· 2731 2753 2732 2754 tagbar = buildVimPluginFrom2Nix { 2733 2755 pname = "tagbar"; 2734 - version = "2020-01-04"; 2756 + version = "2020-01-08"; 2735 2757 src = fetchFromGitHub { 2736 2758 owner = "majutsushi"; 2737 2759 repo = "tagbar"; 2738 - rev = "3753b235a1163cfbc3b7c417825d1910b2f66100"; 2739 - sha256 = "16nw145n17d9fnwhcp42k85sf2mx2nyp7wy4gllhw48xnwgh6qpb"; 2760 + rev = "3bd3ba403dfaf5868656264f979fc0dc63526afb"; 2761 + sha256 = "1s9y6qxvys393gsql4x5v0y2wfdb8b2a7mv8a39as98msq67a4sx"; 2740 2762 }; 2741 2763 }; 2742 2764 ··· 2875 2897 2876 2898 tsuquyomi = buildVimPluginFrom2Nix { 2877 2899 pname = "tsuquyomi"; 2878 - version = "2019-07-17"; 2900 + version = "2020-01-13"; 2879 2901 src = fetchFromGitHub { 2880 2902 owner = "Quramy"; 2881 2903 repo = "tsuquyomi"; 2882 - rev = "61e16ab1d1cb621385bc9c6a0c5e7744494ec9f5"; 2883 - sha256 = "1w6m69695f4gx7d5fg3bnabhjx1680fvrz44f65jhdh2y2njm68h"; 2904 + rev = "1fc47734abcb272df4321a50e2587c4c9e0a0a1a"; 2905 + sha256 = "0dwc22zhzslgk60slr60rn26ww3ppl52nf6pcbnagxwfzadn5l6z"; 2884 2906 }; 2885 2907 }; 2886 2908 ··· 2919 2941 2920 2942 unicode-vim = buildVimPluginFrom2Nix { 2921 2943 pname = "unicode-vim"; 2922 - version = "2019-11-06"; 2944 + version = "2020-01-06"; 2923 2945 src = fetchFromGitHub { 2924 2946 owner = "chrisbra"; 2925 2947 repo = "unicode.vim"; 2926 - rev = "49f79785e7fba0f40519a6b9074dcceb8626f7d5"; 2927 - sha256 = "1k2b4wh0244dx7zinag88wfcwl2x2042z0zsyv9b77w81h8qfdd1"; 2948 + rev = "d450defdb29842e66b779715941a98cbf73736ea"; 2949 + sha256 = "196fi75rvhj0lrzpzkpzvlnrncnjysxj8iww0drc1aawjfkmn1ni"; 2928 2950 }; 2929 2951 }; 2930 2952 ··· 3216 3238 3217 3239 vim-airline = buildVimPluginFrom2Nix { 3218 3240 pname = "vim-airline"; 3219 - version = "2020-01-03"; 3241 + version = "2020-01-13"; 3220 3242 src = fetchFromGitHub { 3221 3243 owner = "vim-airline"; 3222 3244 repo = "vim-airline"; 3223 - rev = "66f77d4a77e54946fedaac7d54d02271751eab40"; 3224 - sha256 = "008k8v0nx219lbn0vsc1cwr537lg0gdb9s4d7hjpdq2rhh79zsg3"; 3245 + rev = "8d694cba9c22efe8320a8fbc919a50bd938e7929"; 3246 + sha256 = "17kjbc13rsjaxkpfj0f90v3khzid02rrkcdjss3sqa35f37wn2bz"; 3225 3247 }; 3226 3248 }; 3227 3249 3228 3250 vim-airline-themes = buildVimPluginFrom2Nix { 3229 3251 pname = "vim-airline-themes"; 3230 - version = "2020-01-03"; 3252 + version = "2020-01-07"; 3231 3253 src = fetchFromGitHub { 3232 3254 owner = "vim-airline"; 3233 3255 repo = "vim-airline-themes"; 3234 - rev = "14c3a60ab0f42aa1001d8f32ffaab2c28935a1e7"; 3235 - sha256 = "0k25x599sfaw931p5b83cpqhz5dzjxp01v3qlsi78rhjyw1y83jf"; 3256 + rev = "9cfa14a6b7e2bd923b3f14252091ed35eda188fd"; 3257 + sha256 = "09ap3w0ixbk5yxsyw165kh7lxmrbjlnz16a1z5qpd9d7afbl3k69"; 3236 3258 }; 3237 3259 }; 3238 3260 ··· 3260 3282 3261 3283 vim-asterisk = buildVimPluginFrom2Nix { 3262 3284 pname = "vim-asterisk"; 3263 - version = "2019-09-23"; 3285 + version = "2020-01-07"; 3264 3286 src = fetchFromGitHub { 3265 3287 owner = "haya14busa"; 3266 3288 repo = "vim-asterisk"; 3267 - rev = "7cf0d8f379babbdbf538aefe3af444ac4ba21dce"; 3268 - sha256 = "0y21ziz36sqa84dy9pv2jnr0ppalxn54bsk82zfc6064h3bqn77r"; 3289 + rev = "66a64172d21fab44312d0d49b22f63eeeaf89b23"; 3290 + sha256 = "1lksnr4mix9y2al2yfysrxqcska3cd82ck89fkjg5zqzb5wz20vs"; 3269 3291 }; 3270 3292 }; 3271 3293 ··· 3282 3304 3283 3305 vim-autoformat = buildVimPluginFrom2Nix { 3284 3306 pname = "vim-autoformat"; 3285 - version = "2019-12-04"; 3307 + version = "2020-01-09"; 3286 3308 src = fetchFromGitHub { 3287 3309 owner = "Chiel92"; 3288 3310 repo = "vim-autoformat"; 3289 - rev = "354abcd3d533ba07eebc510102870d85d4e2c466"; 3290 - sha256 = "1hngbjj12q5v73smyhsay4irp3q71cxyc60n97ybfik5mmm455nj"; 3311 + rev = "4159c742ed0b547026b9e398ef78b31527b5e167"; 3312 + sha256 = "0yq4jl252bndr45yhqwmv9mzgjsscywm0wn0lqz70xbz9ik69gvk"; 3291 3313 }; 3292 3314 }; 3293 3315 ··· 3403 3425 3404 3426 vim-codefmt = buildVimPluginFrom2Nix { 3405 3427 pname = "vim-codefmt"; 3406 - version = "2020-01-01"; 3428 + version = "2020-01-13"; 3407 3429 src = fetchFromGitHub { 3408 3430 owner = "google"; 3409 3431 repo = "vim-codefmt"; 3410 - rev = "7556c68b1d68b9a2b1b4a9df838cdc4bcf87ba0a"; 3411 - sha256 = "0bi6nbma0bwzvn7l6w88qgr4fbpfbipv936z346sh59dk17j4nv6"; 3432 + rev = "af796cf4084a3d32b85313ccc82675d626d40b59"; 3433 + sha256 = "0pbwirsh8nx0dgf82w1sy6az6mpwdnxzy0ycqrx6qxs6bbf1kf74"; 3412 3434 }; 3413 3435 }; 3414 3436 ··· 3656 3678 3657 3679 vim-easymotion = buildVimPluginFrom2Nix { 3658 3680 pname = "vim-easymotion"; 3659 - version = "2020-01-06"; 3681 + version = "2020-01-13"; 3660 3682 src = fetchFromGitHub { 3661 3683 owner = "easymotion"; 3662 3684 repo = "vim-easymotion"; 3663 - rev = "83a09a19e7a9c51c6ca2e0f90f1dd27ef4c159c6"; 3664 - sha256 = "1xaliyiv80vcsl5gqj40avgdf4384d5xhnvhh0jaklk1hmrdzxgf"; 3685 + rev = "d534ba0d0c211d8228408c88fa3ebde13fecec37"; 3686 + sha256 = "0yc28synqrqjnzgzpmn7ji3nnidb55mm8n27d0kkd2l80bygg8n4"; 3665 3687 }; 3666 3688 }; 3667 3689 ··· 3700 3722 3701 3723 vim-elm-syntax = buildVimPluginFrom2Nix { 3702 3724 pname = "vim-elm-syntax"; 3703 - version = "2019-11-28"; 3725 + version = "2020-01-06"; 3704 3726 src = fetchFromGitHub { 3705 3727 owner = "andys8"; 3706 3728 repo = "vim-elm-syntax"; 3707 - rev = "7ed55d9bc2c0cfd023d7cc6541634bcbf36430b5"; 3708 - sha256 = "1kq7qcw9l41q646a2ilwy94lj1qz9as14aqfmzkbi938yij18zpx"; 3729 + rev = "904025e5db117fe292fdb7ae490feff1540696ea"; 3730 + sha256 = "0nm1pzq5qg9mcg0vhvqjbnq20f98njf2yn0sfzlyjgna2ivvjasg"; 3709 3731 }; 3710 3732 }; 3711 3733 ··· 3865 3887 3866 3888 vim-fugitive = buildVimPluginFrom2Nix { 3867 3889 pname = "vim-fugitive"; 3868 - version = "2020-01-06"; 3890 + version = "2020-01-11"; 3869 3891 src = fetchFromGitHub { 3870 3892 owner = "tpope"; 3871 3893 repo = "vim-fugitive"; 3872 - rev = "ddd64fc4c5c5365d56478f100f19898375244890"; 3873 - sha256 = "1b6mw8bb8dc46vjz5qb2v0n5kfvwz4hk7q0frflrsyc6z3pw7hab"; 3894 + rev = "6bc345f6f16aee0dcc361f2f3bf80e4964f461af"; 3895 + sha256 = "0fbbi9gsmrjbff75y0r9zdjcbyc7lf5j9pyski3y5wma4z3l4idr"; 3874 3896 }; 3875 3897 }; 3876 3898 ··· 3909 3931 3910 3932 vim-gitgutter = buildVimPluginFrom2Nix { 3911 3933 pname = "vim-gitgutter"; 3912 - version = "2019-12-03"; 3934 + version = "2020-01-06"; 3913 3935 src = fetchFromGitHub { 3914 3936 owner = "airblade"; 3915 3937 repo = "vim-gitgutter"; 3916 - rev = "1c53af9a0d3b622af5a62d69ddfc141c841a28c1"; 3917 - sha256 = "0269cjkcx4arq7phyqv80ziafg5p1in5ci7207svixbfdg5hlmfs"; 3938 + rev = "0946c53cfc6edfb8dbf4b25a27d013c0b6ec6619"; 3939 + sha256 = "06n4w9c8w2dyh8nwmlmz4d8hqy4yk9i6w01qa9plbvkhb1lrv21l"; 3918 3940 }; 3919 3941 }; 3920 3942 ··· 3942 3964 3943 3965 vim-go = buildVimPluginFrom2Nix { 3944 3966 pname = "vim-go"; 3945 - version = "2020-01-03"; 3967 + version = "2020-01-08"; 3946 3968 src = fetchFromGitHub { 3947 3969 owner = "fatih"; 3948 3970 repo = "vim-go"; 3949 - rev = "ee2071d8e63f9aab98d750a91fcc3358e9987bc9"; 3950 - sha256 = "0a2ac5y8x3lhry5dzq2jbzvryfbvrdvn7bkd2wwm5bf2y9zpkbwk"; 3971 + rev = "810e4b9faf1583443fe2d027d11993fb698b080f"; 3972 + sha256 = "0841030jxifv0x8y4vqz0dvwkxirbynra5iibfgyv485ynhw2l8i"; 3951 3973 }; 3952 3974 }; 3953 3975 ··· 4427 4449 4428 4450 vim-lsc = buildVimPluginFrom2Nix { 4429 4451 pname = "vim-lsc"; 4430 - version = "2019-12-30"; 4452 + version = "2020-01-07"; 4431 4453 src = fetchFromGitHub { 4432 4454 owner = "natebosch"; 4433 4455 repo = "vim-lsc"; 4434 - rev = "6cb8410e10f1b6a23adf238c1f93ce19a3eef83a"; 4435 - sha256 = "1zqv58s35qvp53an15mvs7ywvarsqxc0has6yji99jwmjiq68pag"; 4456 + rev = "2384903e1dd6314934f58e3c88b10924dd1bf4f7"; 4457 + sha256 = "0xs64i4g27w8bdmznjilqg5rlrpaw12qiclg1p4l3ryyid27wki7"; 4436 4458 }; 4437 4459 }; 4438 4460 ··· 5120 5142 5121 5143 vim-snippets = buildVimPluginFrom2Nix { 5122 5144 pname = "vim-snippets"; 5123 - version = "2020-01-03"; 5145 + version = "2020-01-13"; 5124 5146 src = fetchFromGitHub { 5125 5147 owner = "honza"; 5126 5148 repo = "vim-snippets"; 5127 - rev = "f324a43a5f6a941a55ee992bb852f3c2c504a509"; 5128 - sha256 = "0dgxsn96vw4zgci58lzr4d4d4kwjbk9d52h51ibh3mhsikmpr7xk"; 5149 + rev = "5279654b3e9fc280742d02c9509d4313d9da18e9"; 5150 + sha256 = "0xnml4ayjwf7mzpz64alwygpgccvj4znask76ldw3hxp112fwcah"; 5129 5151 }; 5130 5152 }; 5131 5153 ··· 5285 5307 5286 5308 vim-terraform = buildVimPluginFrom2Nix { 5287 5309 pname = "vim-terraform"; 5288 - version = "2020-01-02"; 5310 + version = "2020-01-06"; 5289 5311 src = fetchFromGitHub { 5290 5312 owner = "hashivim"; 5291 5313 repo = "vim-terraform"; 5292 - rev = "1df8ac3e1bc33e1c70bd3a1713d8c9cd2eb491e1"; 5293 - sha256 = "0ivkm9vzzfn1iwzkkgk54kn846qnhvsaf8f4nzz3mllirjsl14am"; 5314 + rev = "5ae986685ba479718b3f59263c519976cf9b4c80"; 5315 + sha256 = "1dhgzpjykx9slv6lfbjnyci5ndixisdgym3y8zanhhhjp4nff41b"; 5294 5316 }; 5295 5317 }; 5296 5318 5297 5319 vim-test = buildVimPluginFrom2Nix { 5298 5320 pname = "vim-test"; 5299 - version = "2019-12-07"; 5321 + version = "2020-01-09"; 5300 5322 src = fetchFromGitHub { 5301 5323 owner = "janko-m"; 5302 5324 repo = "vim-test"; 5303 - rev = "e9e824cf3f22fa1cddabb7ef739f2481436c3924"; 5304 - sha256 = "0nl1b3zzw3w413lmdl4fhm8ia079hr1rz1kpx7sf0i86lx1c0dcv"; 5325 + rev = "2f4efe7028e493a3d9eb06ccb7e27780b81687b7"; 5326 + sha256 = "1yfpishvgj1zdnhsixzjqnbmvfw8qg908zqnis3gk8s9fmnrw6fz"; 5305 5327 }; 5306 5328 }; 5307 5329 ··· 5505 5527 5506 5528 vim-visual-multi = buildVimPluginFrom2Nix { 5507 5529 pname = "vim-visual-multi"; 5508 - version = "2019-12-18"; 5530 + version = "2020-01-11"; 5509 5531 src = fetchFromGitHub { 5510 5532 owner = "mg979"; 5511 5533 repo = "vim-visual-multi"; 5512 - rev = "d332d08365bc735f60904a4207d650f191598378"; 5513 - sha256 = "0g5lawg641ma216v53ivhbkzpmdqhcmgybb5kh1rz6s991j51ziy"; 5534 + rev = "1b4d7269600a926a394b146f7d39044cd4dafa19"; 5535 + sha256 = "0wknx72x7mbkw9007b6ylp1cpl6jap4kv3y85f9sz2lwlsbbkk4b"; 5514 5536 }; 5515 5537 }; 5516 5538 ··· 5626 5648 5627 5649 vimagit = buildVimPluginFrom2Nix { 5628 5650 pname = "vimagit"; 5629 - version = "2019-07-24"; 5651 + version = "2020-01-12"; 5630 5652 src = fetchFromGitHub { 5631 5653 owner = "jreybert"; 5632 5654 repo = "vimagit"; 5633 - rev = "94762b1356ebdcb8ec486a86f45e69ef77a69465"; 5634 - sha256 = "1p8izqdkx8g1aqmq9a2qm506bs4mvc4xdbzkh2k5xprm5vc14z0s"; 5655 + rev = "bf7b16e99e075b019e56f2fbfb96c493ca3635e2"; 5656 + sha256 = "1f7gvlhrvvkf69y5vfrkvidhx8aa03n1aqmdhk9qjd6sglfg5w0i"; 5635 5657 }; 5636 5658 }; 5637 5659 ··· 5692 5714 5693 5715 vimproc-vim = buildVimPluginFrom2Nix { 5694 5716 pname = "vimproc-vim"; 5695 - version = "2019-11-28"; 5717 + version = "2020-01-06"; 5696 5718 src = fetchFromGitHub { 5697 5719 owner = "Shougo"; 5698 5720 repo = "vimproc.vim"; 5699 - rev = "89065f62883edb10a99aa1b1640d6d411907316b"; 5700 - sha256 = "0699kf269rsyabl49m4n7vsi5bbxk129wq6ml3ykhy9g9m2b8a3k"; 5721 + rev = "7425059fe2d9689f8560f1a47590677740669fdd"; 5722 + sha256 = "1rp5jq4jv8zga98pw62635mby0sgw0inzknlwcdy0f2lfbdvaq8g"; 5701 5723 }; 5702 5724 }; 5703 5725 ··· 5714 5736 5715 5737 vimtex = buildVimPluginFrom2Nix { 5716 5738 pname = "vimtex"; 5717 - version = "2019-12-31"; 5739 + version = "2020-01-12"; 5718 5740 src = fetchFromGitHub { 5719 5741 owner = "lervag"; 5720 5742 repo = "vimtex"; 5721 - rev = "020206fbe1f6981855a3fe2f96ef893db782d4b8"; 5722 - sha256 = "113d1zdmx3vhjig4xrp1kqlzapdhygis2ky2paww42j22vakqywc"; 5743 + rev = "aabfcf9e0c95bc08125aefaeb9fdfc9be04913c5"; 5744 + sha256 = "0d7sv6f8iafwm891vl4wlsv93jfqjckmsrg2k9rfynk737vsmvp5"; 5723 5745 }; 5724 5746 }; 5725 5747 ··· 5736 5758 5737 5759 vimwiki = buildVimPluginFrom2Nix { 5738 5760 pname = "vimwiki"; 5739 - version = "2020-01-04"; 5761 + version = "2020-01-13"; 5740 5762 src = fetchFromGitHub { 5741 5763 owner = "vimwiki"; 5742 5764 repo = "vimwiki"; 5743 - rev = "b90e6f2e3343277faca65156d733f725f76f1e53"; 5744 - sha256 = "1z3mj73iqh4h3wx5cq4k7gp2nkbaj85v665v0phqw42c213064nb"; 5765 + rev = "64c9f3d36d632b1657616c06ea8f08f14cf6438d"; 5766 + sha256 = "0wwfl0bafwh9p8lzic75d0nl6v5dnpfid7fbiffr0i72agp0gcq7"; 5745 5767 }; 5746 5768 }; 5747 5769 ··· 5758 5780 5759 5781 vista-vim = buildVimPluginFrom2Nix { 5760 5782 pname = "vista-vim"; 5761 - version = "2020-01-06"; 5783 + version = "2020-01-12"; 5762 5784 src = fetchFromGitHub { 5763 5785 owner = "liuchengxu"; 5764 5786 repo = "vista.vim"; 5765 - rev = "dcf134c83a6a3f9618a97cafab5b7fb1f1df3f84"; 5766 - sha256 = "0w9q69a2k8a39b8zrd3sildisrdskbk6cgvbkmb3fqsr0zdzjxzv"; 5787 + rev = "221893d85d2e8ed5ec51da12bf23d2e5bada57cf"; 5788 + sha256 = "1ggwkmi6haj7hayiki3nd9vrc14l4z1912jd06w22hmyl86926x9"; 5767 5789 }; 5768 5790 }; 5769 5791 ··· 5835 5857 5836 5858 xptemplate = buildVimPluginFrom2Nix { 5837 5859 pname = "xptemplate"; 5838 - version = "2019-10-29"; 5860 + version = "2020-01-07"; 5839 5861 src = fetchFromGitHub { 5840 5862 owner = "drmingdrmer"; 5841 5863 repo = "xptemplate"; 5842 - rev = "4dabcf320f18e33923dbcf793d3c04330dcb79a1"; 5843 - sha256 = "07sr3ixlgfv0sql48fxvyimwdb8xr3iklmzfxb5wxfxgvhr4xbs8"; 5864 + rev = "9cd1c622a5a7cc383ae3df2cec2bac5cb102fa7f"; 5865 + sha256 = "01szas3gv4zw1v6c8yp5p2hygf3fqmpx0y2h6sn8696pfph7vjk3"; 5844 5866 }; 5845 5867 }; 5846 5868 ··· 5868 5890 5869 5891 yats-vim = buildVimPluginFrom2Nix { 5870 5892 pname = "yats-vim"; 5871 - version = "2020-01-06"; 5893 + version = "2020-01-13"; 5872 5894 src = fetchFromGitHub { 5873 5895 owner = "HerringtonDarkholme"; 5874 5896 repo = "yats.vim"; 5875 - rev = "48184a10ecdda3efce0131aa73495f1edc449a33"; 5876 - sha256 = "0nsdq17r2m2pmnz077rliqdlwk5sn1aj3bxl648bsli7rjacgaqq"; 5897 + rev = "976d10ee24ce4d8790bcd80b3f7c6b8bbc9ec76d"; 5898 + sha256 = "0f3kgb07js6pjr6p03iyspn5k852y5b90w1ylas7lbgz32a1f3hp"; 5877 5899 fetchSubmodules = true; 5878 5900 }; 5879 5901 }; ··· 5925 5947 5926 5948 zig-vim = buildVimPluginFrom2Nix { 5927 5949 pname = "zig-vim"; 5928 - version = "2020-01-02"; 5950 + version = "2020-01-12"; 5929 5951 src = fetchFromGitHub { 5930 5952 owner = "zig-lang"; 5931 5953 repo = "zig.vim"; 5932 - rev = "7b644a313bf3e32a3b0c4616660d61f5ec8872d9"; 5933 - sha256 = "1icv1qa4wf1kaknfs045m8md2938qggzl6a5wf76lcn1iw5nr1cc"; 5954 + rev = "2a1de0f764e42f8b76daafc24249d6cb4a743c16"; 5955 + sha256 = "0lbry8s34ld97m05q091q2dmpfkn8k6nsj0q1vrbrsml5i5xig9c"; 5934 5956 }; 5935 5957 }; 5936 5958
+2
pkgs/misc/vim-plugins/vim-plugin-names
··· 377 377 ryanoasis/vim-devicons 378 378 Rykka/riv.vim 379 379 ryvnf/readline.vim 380 + sakhnik/nvim-gdb 381 + saltstack/salt-vim 380 382 samoshkin/vim-mergetool 381 383 sbdchd/neoformat 382 384 scrooloose/nerdcommenter
+2 -2
pkgs/os-specific/linux/firejail/default.nix
··· 36 36 sed -e "s@/etc/@$out/etc/@g" -e "/chmod u+s/d" -i Makefile 37 37 ''; 38 38 39 - # We need to set the directory for the .local override files back to 39 + # We need to set the directory for the .local override files to 40 40 # /etc/firejail so we can actually override them 41 41 postInstall = '' 42 - sed -E -e 's@^include (.*)(/firejail/.*.local)$@include /etc\2@g' -i $out/etc/firejail/*.profile 42 + sed -E -e 's@^include (.*.local)$@include /etc/firejail/\1@g' -i $out/etc/firejail/*.profile 43 43 ''; 44 44 45 45 # At high parallelism, the build sometimes fails with:
+2 -2
pkgs/os-specific/linux/kernel/linux-4.14.nix
··· 3 3 with stdenv.lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "4.14.163"; 6 + version = "4.14.164"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 16 - sha256 = "0jdh54rqdsb3b908v2q4xjn8y45b7rdnwgab0s4qf5alznfcqagb"; 16 + sha256 = "0jzbgpxlfy64q7zaqix87k8ci1fr9lkx1xr9m5zjniziydhi00x2"; 17 17 }; 18 18 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-4.19.nix
··· 3 3 with stdenv.lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "4.19.94"; 6 + version = "4.19.95"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 16 - sha256 = "0rvlz94mjl7ygpmhz0yn2whx9dq9fmy0w1472bj16hkwbaki0an6"; 16 + sha256 = "1c2g5wcf4zgy5q51qrf0s4hf3pr1j8gi8gn27w8cafn1xqrcmvaa"; 17 17 }; 18 18 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-4.4.nix
··· 1 1 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 buildLinux (args // rec { 4 - version = "4.4.208"; 4 + version = "4.4.209"; 5 5 extraMeta.branch = "4.4"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "03jj91z5dc0ybpjy9w6aanb3k53gcj7gsjc32h3ldf72hlmgz6aq"; 9 + sha256 = "0m94795grq3sbj7jlmwc0ncq3vap9lf1z00sdiys17kjs3bcfbnh"; 10 10 }; 11 11 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-4.9.nix
··· 1 1 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 buildLinux (args // rec { 4 - version = "4.9.208"; 4 + version = "4.9.209"; 5 5 extraMeta.branch = "4.9"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 - sha256 = "0njjw1i8dilihn1hz62zra4b9y05fb3r2k2sqlkd0wfn86c1rbdp"; 9 + sha256 = "1qarm90l1r4y68v5swhf81z6v6gspa8sw9jab3fxrz8mz6zdan02"; 10 10 }; 11 11 } // (args.argsOverride or {}))
-18
pkgs/os-specific/linux/kernel/linux-5.3.nix
··· 1 - { stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args: 2 - 3 - with stdenv.lib; 4 - 5 - buildLinux (args // rec { 6 - version = "5.3.18"; 7 - 8 - # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 - modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; 10 - 11 - # branchVersion needs to be x.y 12 - extraMeta.branch = versions.majorMinor version; 13 - 14 - src = fetchurl { 15 - url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; 16 - sha256 = "133342nv9ddjad2rizmcbilg9rhg339sfqr9l77j4cgkqhblkw90"; 17 - }; 18 - } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-5.4.nix
··· 3 3 with stdenv.lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "5.4.10"; 6 + version = "5.4.11"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; 16 - sha256 = "1p9f0h9fl1xy13dag1x7j2ic8kdv0zsp42c8baxn7cz3llc04g7j"; 16 + sha256 = "0b6pamnhyzf4n6sl8lxcnllrn41xmbldipfca23j1n71spjkdgb2"; 17 17 }; 18 18 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-libre.nix
··· 1 1 { stdenv, lib, fetchsvn, linux 2 2 , scripts ? fetchsvn { 3 3 url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; 4 - rev = "17185"; 5 - sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789"; 4 + rev = "17198"; 5 + sha256 = "0cr7jpag6kr3iili5zmv1iimi5a1c175dcj8qvhcspwkbv7f17mp"; 6 6 } 7 7 , ... 8 8 }:
+2 -2
pkgs/os-specific/linux/kernel/linux-testing.nix
··· 3 3 with stdenv.lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "5.5-rc3"; 6 + version = "5.5-rc6"; 7 7 extraMeta.branch = "5.5"; 8 8 9 9 # modDirVersion needs to be x.y.z, will always add .0 ··· 11 11 12 12 src = fetchurl { 13 13 url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; 14 - sha256 = "1rf394d1d6c0mvf6006gq1bscq3jjcvj9xxmdwallfwpp9igs8id"; 14 + sha256 = "0y4rsxynn0qprrsxy4v5vr4ihhavn43yqqp1qfrrxsfw15djncc2"; 15 15 }; 16 16 17 17 # Should the testing kernels ever be built on Hydra?
+9 -2
pkgs/os-specific/linux/kernel/update-libre.sh
··· 6 6 path="$nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix" 7 7 8 8 old_rev="$(grep -o 'rev = ".*"' "$path" | awk -F'"' '{print $2}')" 9 + old_sha256="$(grep -o 'sha256 = ".*"' "$path" | awk -F'"' '{print $2}')" 9 10 10 11 svn_url=https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/ 11 12 rev="$(curl -s "$svn_url" | grep -Em 1 -o 'Revision [0-9]+' | awk '{print $2}')" ··· 16 17 fi 17 18 18 19 sha256="$(QUIET=1 nix-prefetch-svn "$svn_url" "$rev" | tail -1)" 20 + 21 + if [ "$old_sha256" = "$sha256" ]; then 22 + echo "No updates for linux-libre" 23 + exit 0 24 + fi 19 25 20 26 sed -i -e "s/rev = \".*\"/rev = \"$rev\"/" \ 21 27 -e "s/sha256 = \".*\"/sha256 = \"$sha256\"/" "$path" 22 28 23 - if [ -n "$COMMIT" ]; then 24 - git commit -qm "linux_latest-libre: $old_rev -> $rev" "$path" 29 + if [ -n "${COMMIT-}" ]; then 30 + git commit -qm "linux_latest-libre: $old_rev -> $rev" "$path" \ 31 + $nixpkgs/pkgs/os-specific/linux/kernel/linux-libre.nix 25 32 echo "Updated linux_latest-libre $old_rev -> $rev" 26 33 fi
+11 -11
pkgs/os-specific/linux/rfkill/udev.nix
··· 8 8 # udev.packages = [ pkgs.rfkill_udev ]; 9 9 # 10 10 # Add a hook script in the managed etc directory, e.g.: 11 - # etc = [ 12 - # { source = pkgs.writeScript "rtfkill.hook" '' 13 - # #!${pkgs.runtimeShell} 11 + # etc."rfkill.hook" = { 12 + # mode = "0755"; 13 + # text = '' 14 + # #!${pkgs.runtimeShell} 14 15 # 15 - # if [ "$RFKILL_STATE" -eq "1" ]; then 16 - # exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-on 17 - # else 18 - # exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-off 19 - # fi 20 - # ''; 21 - # target = "rfkill.hook"; 22 - # } 16 + # if [ "$RFKILL_STATE" -eq "1" ]; then 17 + # exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-on 18 + # else 19 + # exec ${config.system.build.upstart}/sbin/initctl emit -n antenna-off 20 + # fi 21 + # ''; 22 + # } 23 23 24 24 # Note: this package does not need the binaries 25 25 # in the rfkill package.
+3 -1
pkgs/servers/dante/default.nix
··· 11 11 12 12 buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc ]; 13 13 14 - configureFlags = ["--with-libc=libc${stdenv.targetPlatform.extensions.sharedLibrary}"]; 14 + configureFlags = if !stdenv.isDarwin 15 + then [ "--with-libc=libc.so.6" ] 16 + else [ "--with-libc=libc${stdenv.targetPlatform.extensions.sharedLibrary}" ]; 15 17 16 18 dontAddDisableDepTrack = stdenv.isDarwin; 17 19
+2 -2
pkgs/servers/ftp/bftpd/default.nix
··· 5 5 6 6 in stdenv.mkDerivation rec { 7 7 name = "${pname}-${version}"; 8 - version = "5.2"; 8 + version = "5.4"; 9 9 10 10 src = fetchurl { 11 11 url = "mirror://sourceforge/project/${pname}/${pname}/${name}/${name}.tar.gz"; 12 - sha256 = "0kmavljj3zwpgdib9nb14fnriiv0l9zm3hglimcyz26sxbw5jqky"; 12 + sha256 = "19fd9r233wkjk8gdxn6qsjgfijiw67a48xhgbm2kq46bx80yf3pg"; 13 13 }; 14 14 15 15 preConfigure = ''
+172
pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch
··· 1 + From c9b5164c954cd0de80d971f1c4ced16bf41ea81b Mon Sep 17 00:00:00 2001 2 + From: Eric Wong <e@80x24.org> 3 + Date: Fri, 29 Nov 2019 12:25:07 +0000 4 + Subject: [PATCH 2/2] msgtime: drop Date::Parse for RFC2822 5 + 6 + Date::Parse is not optimized for RFC2822 dates and isn't 7 + packaged on OpenBSD. It's still useful for historical 8 + email when email clients were less conformant, but is 9 + less relevant for new emails. 10 + --- 11 + lib/PublicInbox/MsgTime.pm | 115 ++++++++++++++++++++++++++++++++----- 12 + t/msgtime.t | 6 ++ 13 + 2 files changed, 107 insertions(+), 14 deletions(-) 14 + 15 + diff --git a/lib/PublicInbox/MsgTime.pm b/lib/PublicInbox/MsgTime.pm 16 + index 58e11d72..e9b27a49 100644 17 + --- a/lib/PublicInbox/MsgTime.pm 18 + +++ b/lib/PublicInbox/MsgTime.pm 19 + @@ -7,24 +7,114 @@ use strict; 20 + use warnings; 21 + use base qw(Exporter); 22 + our @EXPORT_OK = qw(msg_timestamp msg_datestamp); 23 + -use Date::Parse qw(str2time strptime); 24 + +use Time::Local qw(timegm); 25 + +my @MoY = qw(january february march april may june 26 + + july august september october november december); 27 + +my %MoY; 28 + +@MoY{@MoY} = (0..11); 29 + +@MoY{map { substr($_, 0, 3) } @MoY} = (0..11); 30 + + 31 + +my %OBSOLETE_TZ = ( # RFC2822 4.3 (Obsolete Date and Time) 32 + + EST => '-0500', EDT => '-0400', 33 + + CST => '-0600', CDT => '-0500', 34 + + MST => '-0700', MDT => '-0600', 35 + + PST => '-0800', PDT => '-0700', 36 + + UT => '+0000', GMT => '+0000', Z => '+0000', 37 + + 38 + + # RFC2822 states: 39 + + # The 1 character military time zones were defined in a non-standard 40 + + # way in [RFC822] and are therefore unpredictable in their meaning. 41 + +); 42 + +my $OBSOLETE_TZ = join('|', keys %OBSOLETE_TZ); 43 + 44 + sub str2date_zone ($) { 45 + my ($date) = @_; 46 + + my ($ts, $zone); 47 + + 48 + + # RFC822 is most likely for email, but we can tolerate an extra comma 49 + + # or punctuation as long as all the data is there. 50 + + # We'll use '\s' since Unicode spaces won't affect our parsing. 51 + + # SpamAssassin ignores commas and redundant spaces, too. 52 + + if ($date =~ /(?:[A-Za-z]+,?\s+)? # day-of-week 53 + + ([0-9]+),?\s+ # dd 54 + + ([A-Za-z]+)\s+ # mon 55 + + ([0-9]{2,})\s+ # YYYY or YY (or YYY :P) 56 + + ([0-9]+)[:\.] # HH: 57 + + ((?:[0-9]{2})|(?:\s?[0-9])) # MM 58 + + (?:[:\.]((?:[0-9]{2})|(?:\s?[0-9])))? # :SS 59 + + \s+ # a TZ offset is required: 60 + + ([\+\-])? # TZ sign 61 + + [\+\-]* # I've seen extra "-" e.g. "--500" 62 + + ([0-9]+|$OBSOLETE_TZ)(?:\s|$) # TZ offset 63 + + /xo) { 64 + + my ($dd, $m, $yyyy, $hh, $mm, $ss, $sign, $tz) = 65 + + ($1, $2, $3, $4, $5, $6, $7, $8); 66 + + # don't accept non-English months 67 + + defined(my $mon = $MoY{lc($m)}) or return; 68 + + 69 + + if (defined(my $off = $OBSOLETE_TZ{$tz})) { 70 + + $sign = substr($off, 0, 1); 71 + + $tz = substr($off, 1); 72 + + } 73 + + 74 + + # Y2K problems: 3-digit years, follow RFC2822 75 + + if (length($yyyy) <= 3) { 76 + + $yyyy += 1900; 77 + + 78 + + # and 2-digit years from '09 (2009) (0..49) 79 + + $yyyy += 100 if $yyyy < 1950; 80 + + } 81 + + 82 + + $ts = timegm($ss // 0, $mm, $hh, $dd, $mon, $yyyy); 83 + 84 + - my $ts = str2time($date); 85 + - return undef unless(defined $ts); 86 + + # Compute the time offset from [+-]HHMM 87 + + $tz //= 0; 88 + + my ($tz_hh, $tz_mm); 89 + + if (length($tz) == 1) { 90 + + $tz_hh = $tz; 91 + + $tz_mm = 0; 92 + + } elsif (length($tz) == 2) { 93 + + $tz_hh = 0; 94 + + $tz_mm = $tz; 95 + + } else { 96 + + $tz_hh = $tz; 97 + + $tz_hh =~ s/([0-9]{2})\z//; 98 + + $tz_mm = $1; 99 + + } 100 + + while ($tz_mm >= 60) { 101 + + $tz_mm -= 60; 102 + + $tz_hh += 1; 103 + + } 104 + + $sign //= '+'; 105 + + my $off = $sign . ($tz_mm * 60 + ($tz_hh * 60 * 60)); 106 + + $ts -= $off; 107 + + $sign = '+' if $off == 0; 108 + + $zone = sprintf('%s%02d%02d', $sign, $tz_hh, $tz_mm); 109 + 110 + - # off is the time zone offset in seconds from GMT 111 + - my ($ss,$mm,$hh,$day,$month,$year,$off) = strptime($date); 112 + - return undef unless(defined $off); 113 + + # Time::Zone and Date::Parse are part of the same distibution, 114 + + # and we need Time::Zone to deal with tz names like "EDT" 115 + + } elsif (eval { require Date::Parse }) { 116 + + $ts = Date::Parse::str2time($date); 117 + + return undef unless(defined $ts); 118 + 119 + - # Compute the time zone from offset 120 + - my $sign = ($off < 0) ? '-' : '+'; 121 + - my $hour = abs(int($off / 3600)); 122 + - my $min = ($off / 60) % 60; 123 + - my $zone = sprintf('%s%02d%02d', $sign, $hour, $min); 124 + + # off is the time zone offset in seconds from GMT 125 + + my ($ss,$mm,$hh,$day,$month,$year,$off) = 126 + + Date::Parse::strptime($date); 127 + + return undef unless(defined $off); 128 + + 129 + + # Compute the time zone from offset 130 + + my $sign = ($off < 0) ? '-' : '+'; 131 + + my $hour = abs(int($off / 3600)); 132 + + my $min = ($off / 60) % 60; 133 + + 134 + + $zone = sprintf('%s%02d%02d', $sign, $hour, $min); 135 + + } else { 136 + + warn "Date::Parse missing for non-RFC822 date: $date\n"; 137 + + return undef; 138 + + } 139 + 140 + + # Note: we've already applied the offset to $ts at this point, 141 + + # but we want to keep "git fsck" happy. 142 + # "-1200" is the furthest westermost zone offset, 143 + # but git fast-import is liberal so we use "-1400" 144 + if ($zone >= 1400 || $zone <= -1400) { 145 + @@ -59,9 +149,6 @@ sub msg_date_only ($) { 146 + my @date = $hdr->header_raw('Date'); 147 + my ($ts); 148 + foreach my $d (@date) { 149 + - # Y2K problems: 3-digit years 150 + - $d =~ s!([A-Za-z]{3}) ([0-9]{3}) ([0-9]{2}:[0-9]{2}:[0-9]{2})! 151 + - my $yyyy = $2 + 1900; "$1 $yyyy $3"!e; 152 + $ts = eval { str2date_zone($d) } and return $ts; 153 + if ($@) { 154 + my $mid = $hdr->header_raw('Message-ID'); 155 + diff --git a/t/msgtime.t b/t/msgtime.t 156 + index 6b396602..d9643b65 100644 157 + --- a/t/msgtime.t 158 + +++ b/t/msgtime.t 159 + @@ -84,4 +84,10 @@ is_deeply(datestamp('Fri, 28 Jun 2002 12:54:40 -700'), [1025294080, '-0700']); 160 + is_deeply(datestamp('Sat, 12 Jan 2002 12:52:57 -200'), [1010847177, '-0200']); 161 + is_deeply(datestamp('Mon, 05 Nov 2001 10:36:16 -800'), [1004985376, '-0800']); 162 + 163 + +# obsolete formats described in RFC2822 164 + +for (qw(UT GMT Z)) { 165 + + is_deeply(datestamp('Fri, 02 Oct 1993 00:00:00 '.$_), [ 749520000, '+0000']); 166 + +} 167 + +is_deeply(datestamp('Fri, 02 Oct 1993 00:00:00 EDT'), [ 749534400, '-0400']); 168 + + 169 + done_testing(); 170 + -- 171 + 2.24.1 172 +
+9 -1
pkgs/servers/mail/public-inbox/default.nix
··· 1 - { buildPerlPackage, lib, fetchurl, makeWrapper 1 + { buildPerlPackage, lib, fetchurl, fetchpatch, makeWrapper 2 2 , DBDSQLite, EmailMIME, IOSocketSSL, IPCRun, Plack, PlackMiddlewareReverseProxy 3 3 , SearchXapian, TimeDate, URI 4 4 , git, highlight, openssl, xapian ··· 28 28 url = "https://public-inbox.org/releases/public-inbox-${version}.tar.gz"; 29 29 sha256 = "0sa2m4f2x7kfg3mi4im7maxqmqvawafma8f7g92nyfgybid77g6s"; 30 30 }; 31 + 32 + patches = [ 33 + (fetchpatch { 34 + url = "https://public-inbox.org/meta/20200101032822.GA13063@dcvr/raw"; 35 + sha256 = "0ncxqqkvi5lwi8zaa7lk7l8mf8h278raxsvbvllh3z7jhfb48r3l"; 36 + }) 37 + ./0002-msgtime-drop-Date-Parse-for-RFC2822.patch 38 + ]; 31 39 32 40 outputs = [ "out" "devdoc" "sa_config" ]; 33 41
+41 -33
pkgs/servers/rippled/default.nix
··· 1 - { stdenv, fetchFromGitHub, fetchgit, fetchurl, git, cmake, pkgconfig 1 + { stdenv, fetchFromGitHub, fetchgit, fetchurl, runCommand, git, cmake, pkgconfig 2 2 , openssl, boost, zlib }: 3 3 4 4 let 5 - sqlite3 = fetchurl { 5 + sqlite3 = fetchurl rec { 6 6 url = "https://www.sqlite.org/2018/sqlite-amalgamation-3260000.zip"; 7 7 sha256 = "0vh9aa5dyvdwsyd8yp88ss300mv2c2m40z79z569lcxa6fqwlpfy"; 8 - }; 9 - 10 - beast = fetchgit { 11 - url = "https://github.com/boostorg/beast.git"; 12 - rev = "2f9a8440c2432d8a196571d6300404cb76314125"; 13 - sha256 = "1n9ms5cn67b0p0mhldz5psgylds22sm5x22q7knrsf20856vlk5a"; 14 - fetchSubmodules = false; 15 - leaveDotGit = true; 8 + passthru.url = url; 16 9 }; 17 10 18 11 docca = fetchgit { 19 12 url = "https://github.com/vinniefalco/docca.git"; 20 13 rev = "335dbf9c3613e997ed56d540cc8c5ff2e28cab2d"; 21 - sha256 = "09cb90k0ygmnlpidybv6nzf6is51i80lnwlvad6ijc3gf1z6i1yh"; 14 + sha256 = "1yisdg7q2p9q9gz0c446796p3ggx9s4d6g8w4j1pjff55655805h"; 15 + leaveDotGit = true; 22 16 fetchSubmodules = false; 23 - leaveDotGit = true; 24 17 }; 25 18 26 - rocksdb = fetchgit { 19 + rocksdb = fetchgit rec { 27 20 url = "https://github.com/facebook/rocksdb.git"; 28 - rev = "a297643f2e327a8bc7061bfc838fdf11935a2cf2"; 29 - sha256 = "00z8i4fwr27j9d4ymnls7rcgfvm6xh36a4hy2m2njx4x513pgyzw"; 21 + rev = "v5.17.2"; 22 + sha256 = "0d9ssggjls1hc4zhng65yg8slqlcw0lr23qr6f39shg42lzr227p"; 23 + leaveDotGit = true; 30 24 fetchSubmodules = false; 31 - leaveDotGit = true; 25 + postFetch = "cd $out && git tag ${rev}"; 32 26 }; 33 27 34 28 lz4 = fetchgit rec { ··· 51 45 52 46 soci = fetchgit { 53 47 url = "https://github.com/SOCI/soci.git"; 54 - rev = "3a1f602b3021b925d38828e3ff95f9e7f8887ff7"; 55 - sha256 = "0lnps42cidlrn43h13b9yc8cs3fwgz7wb6a1kfc9rnw7swkh757f"; 48 + rev = "04e1870294918d20761736743bb6136314c42dd5"; 49 + sha256 = "0w3b7qi3bwn8bxh4qbqy6c1fw2bbwh7pxvk8b3qb6h4qgsh6kx89"; 56 50 leaveDotGit = true; 57 51 fetchSubmodules = false; 58 52 }; ··· 67 61 }; 68 62 69 63 nudb = fetchgit rec { 70 - url = "https://github.com/vinniefalco/NuDB.git"; 71 - rev = "1.0.0"; 72 - sha256 = "142bxicv25xaw4fmpw8bbblb1grdw30wyj181xl4a5734zw3qgmz"; 64 + url = "https://github.com/CPPAlliance/NuDB.git"; 65 + rev = "2.0.1"; 66 + sha256 = "0h7hmwavrxzj1v547h3z0031ckwphjayfpv1mgcr6q86wm9p5468"; 73 67 leaveDotGit = true; 74 - fetchSubmodules = false; 68 + fetchSubmodules = true; # submodules are needed, rocksdb is dependency 75 69 postFetch = "cd $out && git tag ${rev}"; 76 70 }; 77 71 ··· 88 82 url = "https://github.com/google/googletest.git"; 89 83 rev = "c3bb0ee2a63279a803aaad956b9b26d74bf9e6e2"; 90 84 sha256 = "0pj5b6jnrj5lrccz2disr8hklbnzd8hwmrwbfqmvhiwb9q9p0k2k"; 91 - leaveDotGit = true; 92 85 fetchSubmodules = false; 86 + leaveDotGit = true; 93 87 }; 94 88 95 89 google-benchmark = fetchgit { 96 90 url = "https://github.com/google/benchmark.git"; 97 91 rev = "5b7683f49e1e9223cf9927b24f6fd3d6bd82e3f8"; 98 92 sha256 = "0qg70j47zqnrbszlgrzmxpr4g88kq0gyq6v16bhaggfm83c6mg6i"; 99 - leaveDotGit = true; 100 93 fetchSubmodules = false; 94 + leaveDotGit = true; 101 95 }; 96 + 97 + # hack to merge rocksdb revisions from rocksdb and nudb, so build process 98 + # will find both 99 + rocksdb-merged = runCommand "rocksdb-merged" { 100 + buildInputs = [ git ]; 101 + } '' 102 + commit=$(cd ${nudb} && git ls-tree HEAD extras/rocksdb | awk '{ print $3 }') 103 + git clone ${rocksdb} $out && cd $out 104 + git fetch ${nudb}/extras/rocksdb $commit 105 + git checkout $commit 106 + ''; 102 107 in stdenv.mkDerivation rec { 103 108 pname = "rippled"; 104 - version = "1.2.1"; 109 + version = "1.4.0"; 105 110 106 111 src = fetchFromGitHub { 107 112 owner = "ripple"; 108 113 repo = "rippled"; 109 114 rev = version; 110 - sha256 = "1lm0zzz0hi2sh2f4iqq3scapzdjbxcjgr700fgham9wqgaj2ash5"; 115 + sha256 = "1z04378bg8lcyrnn7sl3j2zfxbwwy2biasg1d4fbaq4snxg5d1pq"; 111 116 }; 112 117 113 118 hardeningDisable = ["format"]; 114 - cmakeFlags = ["-Dstatic=OFF"]; 119 + cmakeFlags = [ 120 + "-Dstatic=OFF" 121 + "-DBOOST_LIBRARYDIR=${boost.out}/lib" 122 + "-DBOOST_INCLUDEDIR=${boost.dev}/include" 123 + ]; 115 124 116 125 nativeBuildInputs = [ pkgconfig cmake git ]; 117 - buildInputs = [ openssl openssl.dev boost zlib ]; 126 + buildInputs = [ openssl openssl.dev zlib ]; 118 127 119 128 preConfigure = '' 120 129 export HOME=$PWD 121 130 122 - git config --global url."file://${beast}".insteadOf "https://github.com/vinniefalco/Beast.git" 123 - git config --global url."file://${docca}".insteadOf "https://github.com/vinniefalco/docca.git" 124 - git config --global url."file://${rocksdb}".insteadOf "https://github.com/facebook/rocksdb.git" 131 + git config --global url."file://${docca}".insteadOf "${docca.url}" 132 + git config --global url."file://${rocksdb-merged}".insteadOf "${rocksdb.url}" 125 133 git config --global url."file://${lz4}".insteadOf "${lz4.url}" 126 134 git config --global url."file://${libarchive}".insteadOf "${libarchive.url}" 127 135 git config --global url."file://${soci}".insteadOf "${soci.url}" ··· 131 139 git config --global url."file://${google-benchmark}".insteadOf "${google-benchmark.url}" 132 140 git config --global url."file://${google-test}".insteadOf "${google-test.url}" 133 141 134 - substituteInPlace CMakeLists.txt --replace "URL https://www.sqlite.org/2018/sqlite-amalgamation-3260000.zip" "URL ${sqlite3}" 142 + substituteInPlace Builds/CMake/deps/Sqlite.cmake --replace "URL ${sqlite3.url}" "URL ${sqlite3}" 135 143 ''; 136 144 137 145 doCheck = true; ··· 141 149 142 150 meta = with stdenv.lib; { 143 151 description = "Ripple P2P payment network reference server"; 144 - homepage = https://ripple.com; 152 + homepage = https://github.com/ripple/rippled; 145 153 maintainers = with maintainers; [ ehmry offline ]; 146 154 license = licenses.isc; 147 155 platforms = [ "x86_64-linux" ];
+2 -2
pkgs/servers/web-apps/moodle/default.nix
··· 1 1 { stdenv, fetchurl, writeText }: 2 2 3 3 let 4 - version = "3.8"; 4 + version = "3.8.1"; 5 5 stableVersion = builtins.substring 0 2 (builtins.replaceStrings ["."] [""] version); 6 6 in 7 7 ··· 11 11 12 12 src = fetchurl { 13 13 url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz"; 14 - sha256 = "00ssx0drgp1fy062x6alp0x8di7hjn4xc87v8skpy3aznchfxyk9"; 14 + sha256 = "1xz2wq16blw9p2b6wlrn9lr524gddm5jyac5prka8kp6lrk0v0y1"; 15 15 }; 16 16 17 17 phpConfig = writeText "config.php" ''
+2 -2
pkgs/tools/admin/azure-cli/default.nix
··· 1 1 { stdenv, lib, python, fetchFromGitHub, installShellFiles }: 2 2 3 3 let 4 - version = "2.0.79"; 4 + version = "2.0.80"; 5 5 src = fetchFromGitHub { 6 6 owner = "Azure"; 7 7 repo = "azure-cli"; 8 8 rev = "azure-cli-${version}"; 9 - sha256 = "0fzpq5fnqxkjghsjk4hi3jng5lgywpvj3fzb5sb7nb7ymvkvhad2"; 9 + sha256 = "05j74cfxjpi3w79w0i5av3h2m81bavbsc581vvh773ixivndds1k"; 10 10 }; 11 11 12 12 # put packages that needs to be overriden in the py package scope
+2 -2
pkgs/tools/admin/azure-cli/python-packages.nix
··· 207 207 azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.52.0" "zip" 208 208 "0357laxgldb7lvvws81r8xb6mrq9dwwnr1bnwdnyj4bw6p21i9hn"; 209 209 210 - azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "7.0.0" "zip" 211 - "01f17fb1myskj72zarc67i1sxfvk66lid9zn12gwjrz2vqc6npkz"; 210 + azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "7.1.0" "zip" 211 + "03yjvw1dwkwsadsv60i625mr9zpdryy7ywvh7p8fg60djszh1p5l"; 212 212 213 213 azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.2.0" "zip" 214 214 "1bcq6fcgrsvmk6q7v8mxzn1180jm2qijdqkqbv1m117zp1wj5gxj";
+3 -3
pkgs/tools/admin/eksctl/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "eksctl"; 5 - version = "0.11.1"; 5 + version = "0.12.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "weaveworks"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "197lf6cb1maam1yxy29wgp4dkakaavmwqvq2d9i4qxhscalrdra5"; 11 + sha256 = "1m4hcj2bi9v3ngjj2x1fifcnb450jrij06vbi3j28slsdwn1bcc8"; 12 12 }; 13 13 14 - modSha256 = "04ba3dyfwlf0m6kn7yp7qyp3h2qdwp17y1f9pa79y3c6sd2nadk2"; 14 + modSha256 = "1c8qyxzfazgw77rlv3yw2x39ymaq66jjd51im0jl4131a6hzj6fd"; 15 15 16 16 subPackages = [ "cmd/eksctl" ]; 17 17
+19 -4
pkgs/tools/misc/broot/default.nix
··· 1 - { stdenv, rustPlatform, fetchFromGitHub }: 1 + { stdenv, rustPlatform, fetchFromGitHub, coreutils, installShellFiles }: 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "broot"; 5 - version = "0.10.2"; 5 + version = "0.11.8"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "Canop"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "1wisqb4cqdgsnjvmpgxbzs9zcw6npqw1kqxxs8mn33sxlikhbf2l"; 11 + sha256 = "1pbjlfwv4s50s731ryrcc54200g2i04acdxrxk4kpcvi6b19kbky"; 12 12 }; 13 13 14 - cargoSha256 = "09gnyj97akychin1axp9kcww3c04xx7x1qnplhs2yxfki62r4y2b"; 14 + cargoSha256 = "07ncclp4yqqr2lncw4bbcmknm09qzmdcq8iwkhyyfiy3fpyw9hqc"; 15 + 16 + nativeBuildInputs = [ installShellFiles ]; 17 + 18 + postPatch = '' 19 + substituteInPlace src/verb_store.rs --replace '"/bin/' '"${coreutils}/bin/' 20 + ''; 21 + 22 + postInstall = '' 23 + # install shell completion files 24 + OUT_DIR=target/release/build/broot-*/out 25 + 26 + installShellCompletion --bash $OUT_DIR/{br,broot}.bash 27 + installShellCompletion --fish $OUT_DIR/{br,broot}.fish 28 + installShellCompletion --zsh $OUT_DIR/{_br,_broot} 29 + ''; 15 30 16 31 meta = with stdenv.lib; { 17 32 description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
+8 -5
pkgs/tools/misc/diffoscope/default.nix
··· 35 35 # 36 36 # Still missing these tools: abootimg docx2txt dumpxsb enjarify js-beautify lipo oggDump otool procyon-decompiler Rscript wasm2wat zipnode 37 37 # Also these libraries: python3-guestfs 38 - pythonPath = with python3Packages; [ debian libarchive-c python_magic tlsh rpm pyxattr ] ++ [ 39 - acl binutils-unwrapped bzip2 cdrkit colordiff coreutils cpio db diffutils 38 + pythonPath = [ 39 + binutils-unwrapped bzip2 colordiff coreutils cpio db diffutils 40 40 dtc e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip 41 - libarchive libcaca lz4 pgpdump progressbar33 sng sqlite squashfsTools unzip xxd xz 42 - ] ++ lib.optionals enableBloat [ 41 + libarchive libcaca lz4 pgpdump sng sqlite squashfsTools unzip xxd xz 42 + ] 43 + ++ (with python3Packages; [ debian libarchive-c python_magic tlsh rpm progressbar33 ]) 44 + ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit ] 45 + ++ lib.optionals enableBloat [ 43 46 apktool cbfstool colord fpc ghc ghostscriptX giflib gnupg gnumeric imagemagick 44 47 llvm jdk mono openssh pdftk poppler_utils tcpdump unoconv 45 48 python3Packages.guestfs ··· 69 72 homepage = https://wiki.debian.org/ReproducibleBuilds; 70 73 license = licenses.gpl3Plus; 71 74 maintainers = with maintainers; [ dezgeg ]; 72 - platforms = platforms.linux; 75 + platforms = platforms.unix; 73 76 }; 74 77 }
+75 -19
pkgs/tools/misc/hakuneko/default.nix
··· 1 - { stdenv, fetchurl, wxGTK30, openssl, curl }: 2 - 1 + { atomEnv 2 + , autoPatchelfHook 3 + , dpkg 4 + , fetchurl 5 + , makeDesktopItem 6 + , makeWrapper 7 + , udev 8 + , stdenv 9 + , wrapGAppsHook 10 + }: 11 + let 12 + desktopItem = makeDesktopItem { 13 + desktopName = "HakuNeko Desktop"; 14 + genericName = "Manga & Anime Downloader"; 15 + categories = "Network;FileTransfer;"; 16 + exec = "hakuneko"; 17 + icon = "hakuneko-desktop"; 18 + name = "hakuneko-desktop"; 19 + type = "Application"; 20 + }; 21 + in 3 22 stdenv.mkDerivation rec { 4 23 pname = "hakuneko"; 5 - version = "1.4.2"; 24 + version = "5.0.8"; 6 25 7 - src = fetchurl { 8 - url = "mirror://sourceforge/hakuneko/hakuneko_${version}_src.tar.gz"; 9 - sha256 = "76a63fa05e91b082cb5a70a8abacef005354e99978ff8b1369f7aa0af7615d52"; 10 - }; 26 + src = { 27 + "x86_64-linux" = fetchurl { 28 + url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_amd64.deb"; 29 + sha256 = "924df1d7a0ab54b918529165317e4428b423c9045548d1e36bd634914f7957f0"; 30 + }; 31 + "i686-linux" = fetchurl { 32 + url = "https://github.com/manga-download/hakuneko/releases/download/v${version}/hakuneko-desktop_${version}_linux_i386.deb"; 33 + sha256 = "988d8b0e8447dcd0a8d85927f5877bca9efb8e4b09ed3c80a6788390e54a48d2"; 34 + }; 35 + }."${stdenv.hostPlatform.system}"; 11 36 12 - preConfigure = '' 13 - substituteInPlace ./configure \ 14 - --replace /bin/bash $shell 15 - ''; 37 + dontBuild = true; 38 + dontConfigure = true; 39 + dontPatchELF = true; 40 + dontWrapGApps = true; 16 41 17 - buildInputs = [ wxGTK30 openssl curl ]; 42 + nativeBuildInputs = [ 43 + autoPatchelfHook 44 + dpkg 45 + makeWrapper 46 + wrapGAppsHook 47 + ]; 48 + 49 + buildInputs = atomEnv.packages; 50 + 51 + unpackPhase = '' 52 + # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here 53 + dpkg --fsys-tarfile $src | tar --extract 54 + ''; 55 + 56 + installPhase = '' 57 + cp -R usr "$out" 58 + # Overwrite existing .desktop file. 59 + cp "${desktopItem}/share/applications/hakuneko-desktop.desktop" \ 60 + "$out/share/applications/hakuneko-desktop.desktop" 61 + ''; 62 + 63 + runtimeDependencies = [ 64 + udev.lib 65 + ]; 18 66 19 - meta = { 20 - description = "Manga downloader"; 21 - homepage = https://sourceforge.net/projects/hakuneko/; 22 - license = stdenv.lib.licenses.mit; 23 - platforms = stdenv.lib.platforms.linux; 67 + postFixup = '' 68 + makeWrapper $out/lib/hakuneko-desktop/hakuneko $out/bin/hakuneko \ 69 + "''${gappsWrapperArgs[@]}" 70 + ''; 24 71 25 - # This project was abandoned upstream. 26 - broken = true; 72 + meta = with stdenv.lib; { 73 + description = "Manga & Anime Downloader"; 74 + homepage = "https://sourceforge.net/projects/hakuneko/"; 75 + license = licenses.unlicense; 76 + maintainers = with maintainers; [ 77 + nloomans 78 + ]; 79 + platforms = [ 80 + "x86_64-linux" 81 + "i686-linux" 82 + ]; 27 83 }; 28 84 }
+2 -2
pkgs/tools/misc/snapper/default.nix
··· 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "snapper"; 8 - version = "0.8.7"; 8 + version = "0.8.8"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "openSUSE"; 12 12 repo = "snapper"; 13 13 rev = "v${version}"; 14 - sha256 = "0605j4f3plb6q8lwf82y2jhply6dwj49jgxk8j16wsbf5k7lqzfq"; 14 + sha256 = "0wpf82xf61r9r20whhb83wk3408wac1if8awqm3bb36b9j7ni5jr"; 15 15 }; 16 16 17 17 nativeBuildInputs = [
+1 -1
pkgs/tools/networking/axel/default.nix
··· 22 22 description = "Console downloading program with some features for parallel connections for faster downloading"; 23 23 homepage = "https://github.com/axel-download-accelerator/axel"; 24 24 maintainers = with maintainers; [ pSub ]; 25 - platforms = with platforms; linux; 25 + platforms = with platforms; unix; 26 26 license = licenses.gpl2; 27 27 }; 28 28 }
+3 -3
pkgs/tools/networking/bandwhich/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "bandwhich"; 5 - version = "0.8.0"; 5 + version = "0.9.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "imsnif"; 9 9 repo = pname; 10 10 rev = version; 11 - sha256 = "1pd0hy17knalq4m5517ymbg95fa141843ir9283djlh3iqfgkm37"; 11 + sha256 = "0gjk84a4ks5107vrchwwnslpbcrprmznjy3sqn2mrwfvw5biycb3"; 12 12 }; 13 13 14 - cargoSha256 = "14mb6rbjxv3r8awvy0rjc23lyhg92q1q1dik6q1za1aq9w8yipwf"; 14 + cargoSha256 = "1sa81570cvvpqgdcpnb08b0q4c6ap8a2wxfp2z336jzbv0zgv8a6"; 15 15 16 16 buildInputs = stdenv.lib.optional stdenv.isDarwin Security; 17 17
+32
pkgs/tools/security/fido2luks/default.nix
··· 1 + { stdenv 2 + , rustPlatform 3 + , fetchFromGitHub 4 + , cryptsetup 5 + , pkg-config 6 + }: 7 + 8 + rustPlatform.buildRustPackage rec { 9 + pname = "fido2luks"; 10 + version = "0.2.2"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "shimunn"; 14 + repo = pname; 15 + rev = version; 16 + sha256 = "018qzbgmgm0f0d0c7i54nqqjbr4k5mzy1xfavi6hpifjll971wci"; 17 + }; 18 + 19 + buildInputs = [ cryptsetup ]; 20 + nativeBuildInputs = [ pkg-config ]; 21 + 22 + cargoSha256 = "1kf757wxxk5h8dfbz588qw1pnyjbg5qzr7rz14i7x8rhmn5xwb74"; 23 + verifyCargoDeps = true; 24 + 25 + meta = with stdenv.lib; { 26 + description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator"; 27 + homepage = "https://github.com/shimunn/fido2luks"; 28 + license = licenses.gpl3; 29 + maintainers = with maintainers; [ prusnak mmahut ]; 30 + platforms = platforms.linux; 31 + }; 32 + }
+3 -1
pkgs/tools/security/jwt-cli/default.nix
··· 1 - { stdenv, fetchFromGitHub, rustPlatform }: 1 + { stdenv, fetchFromGitHub, rustPlatform, Security }: 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "jwt-cli"; ··· 12 12 }; 13 13 14 14 cargoSha256 = "005y92acsn5j490jkp23ny7bsjd9ql1glybmbh4cyc8b15hmy618"; 15 + 16 + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; 15 17 16 18 meta = with stdenv.lib; { 17 19 description = "Super fast CLI tool to decode and encode JWTs";
+6
pkgs/tools/security/pass/default.nix
··· 111 111 '' + stdenv.lib.optionalString stdenv.isDarwin '' 112 112 # 'pass edit' uses hdid, which is not available from the sandbox. 113 113 rm -f tests/t0200-edit-tests.sh 114 + rm -f tests/t0010-generate-tests.sh 115 + rm -f tests/t0020-show-tests.sh 116 + rm -f tests/t0050-mv-tests.sh 117 + rm -f tests/t0100-insert-tests.sh 118 + rm -f tests/t0300-reencryption.sh 119 + rm -f tests/t0400-grep.sh 114 120 ''; 115 121 116 122 doCheck = false;
+7 -5
pkgs/tools/text/mdcat/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "mdcat"; 5 - version = "0.14.0"; 5 + version = "0.15.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "lunaryorn"; 9 9 repo = pname; 10 10 rev = "mdcat-${version}"; 11 - sha256 = "1q8h6pc1i89j1zl4s234inl9v95vsdrry1fzlis89sl2mnbv8ywy"; 11 + sha256 = "1x9c3cj3y8wvwr74kbz6nrdh61rinr98gcp3hnjpi6c3vg3xx4wh"; 12 12 }; 13 13 14 14 nativeBuildInputs = [ pkgconfig ]; 15 15 buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security; 16 16 17 - cargoSha256 = "1hxsfls6fpllc9yg5ib3qz6pa62j1y1va8a6356j6812csk4ifnn"; 17 + cargoSha256 = "1kc434pa72n9xll2r4ddmd9xdwv3ls36cwsmdry392j41zmics51"; 18 18 19 19 checkInputs = [ ansi2html ]; 20 20 checkPhase = '' 21 21 # Skip tests that use the network and that include files. 22 - cargo test -- --skip terminal::iterm2 --skip terminal::resources::tests::remote \ 22 + cargo test -- --skip terminal::iterm2 \ 23 23 --skip magic::tests::detect_mimetype_of_svg_image \ 24 - --skip magic::tests::detect_mimetype_of_png_image 24 + --skip magic::tests::detect_mimetype_of_png_image \ 25 + --skip resources::tests::read_url_with_http_url_fails_when_status_404 \ 26 + --skip resources::tests::read_url_with_http_url_returns_content_when_status_200 25 27 ''; 26 28 27 29 meta = with stdenv.lib; {
+27 -17
pkgs/top-level/all-packages.nix
··· 1298 1298 1299 1299 burpsuite = callPackage ../tools/networking/burpsuite {}; 1300 1300 1301 - bs-platform = (callPackage ../development/compilers/bs-platform {}).bs-platform-621; 1301 + bs-platform = callPackage ../development/compilers/bs-platform {}; 1302 1302 1303 1303 c3d = callPackage ../applications/graphics/c3d { 1304 1304 inherit (darwin.apple_sdk.frameworks) Cocoa; ··· 1860 1860 1861 1861 jotta-cli = callPackage ../applications/misc/jotta-cli { }; 1862 1862 1863 - jwt-cli = callPackage ../tools/security/jwt-cli { }; 1863 + jwt-cli = callPackage ../tools/security/jwt-cli { 1864 + inherit (darwin.apple_sdk.frameworks) Security; 1865 + }; 1864 1866 1865 1867 kapacitor = callPackage ../servers/monitoring/kapacitor { }; 1866 1868 ··· 3235 3237 }; 3236 3238 3237 3239 flux = callPackage ../development/compilers/flux { }; 3240 + 3241 + fido2luks = callPackage ../tools/security/fido2luks {}; 3238 3242 3239 3243 fierce = callPackage ../tools/security/fierce { }; 3240 3244 ··· 10481 10485 10482 10486 rman = callPackage ../development/tools/misc/rman { }; 10483 10487 10488 + rnix-lsp = callPackage ../development/tools/rnix-lsp { }; 10489 + 10484 10490 rolespec = callPackage ../development/tools/misc/rolespec { }; 10485 10491 10486 10492 rr = callPackage ../development/tools/analysis/rr { }; ··· 10770 10776 10771 10777 alure = callPackage ../development/libraries/alure { }; 10772 10778 10779 + alure2 = callPackage ../development/libraries/alure2 { }; 10780 + 10773 10781 agg = callPackage ../development/libraries/agg { }; 10774 10782 10775 10783 allegro = allegro4; ··· 11053 11061 11054 11062 cpp-ipfs-api = callPackage ../development/libraries/cpp-ipfs-api { }; 11055 11063 11056 - cpp-netlib = callPackage ../development/libraries/cpp-netlib { 11057 - openssl = openssl_1_0_2; 11058 - }; 11064 + cpp-netlib = callPackage ../development/libraries/cpp-netlib {}; 11065 + 11059 11066 uri = callPackage ../development/libraries/uri { }; 11060 11067 11061 11068 cppcms = callPackage ../development/libraries/cppcms { }; ··· 13642 13649 buildPythonApplication click future six; 13643 13650 }; 13644 13651 13652 + prospector = callPackage ../development/tools/prospector { 13653 + python = python37; 13654 + }; 13655 + 13645 13656 protobuf = protobuf3_7; 13646 13657 13647 13658 protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { }; ··· 15666 15677 libtool = darwin.cctools; 15667 15678 }; 15668 15679 15669 - rippled = callPackage ../servers/rippled { }; 15680 + rippled = callPackage ../servers/rippled { 15681 + boost = boost17x; 15682 + }; 15670 15683 15671 15684 rippled-validator-keys-tool = callPackage ../servers/rippled/validator-keys-tool.nix { 15672 15685 boost = boost167.override { ··· 16336 16349 kernelPatches.modinst_arg_list_too_long 16337 16350 kernelPatches.export_kernel_fpu_functions."4.14" 16338 16351 ]; 16339 - }; 16340 - 16341 - linux_5_3 = callPackage ../os-specific/linux/kernel/linux-5.3.nix { 16342 - kernelPatches = [ 16343 - kernelPatches.bridge_stp_helper 16344 - kernelPatches.request_key_helper 16345 - kernelPatches.export_kernel_fpu_functions."5.3" 16346 - ]; 16347 16352 }; 16348 16353 16349 16354 linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix { ··· 16568 16573 linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9); 16569 16574 linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14); 16570 16575 linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19); 16571 - linuxPackages_5_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_3); 16572 16576 linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4); 16573 16577 16574 16578 # When adding to this list: ··· 18207 18211 18208 18212 bleachbit = callPackage ../applications/misc/bleachbit { }; 18209 18213 18210 - blender = callPackage ../applications/misc/blender { }; 18214 + blender = callPackage ../applications/misc/blender { 18215 + inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics ForceFeedback OpenAL OpenGL; 18216 + }; 18211 18217 18212 18218 bluefish = callPackage ../applications/editors/bluefish { 18213 18219 gtk = gtk3; ··· 18549 18555 docker-machine-kvm2 = callPackage ../applications/networking/cluster/docker-machine/kvm2.nix { }; 18550 18556 docker-machine-xhyve = callPackage ../applications/networking/cluster/docker-machine/xhyve.nix { 18551 18557 inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet; 18558 + inherit (darwin) cctools; 18552 18559 }; 18553 18560 18554 18561 docker-distribution = callPackage ../applications/virtualization/docker/distribution.nix { }; ··· 23016 23023 23017 23024 megaglest = callPackage ../games/megaglest {}; 23018 23025 23026 + mindustry = callPackage ../games/mindustry { }; 23027 + 23019 23028 minecraft = callPackage ../games/minecraft { }; 23020 23029 23021 23030 minecraft-server = callPackage ../games/minecraft-server { }; ··· 23906 23915 mkl = callPackage ../development/libraries/science/math/mkl { }; 23907 23916 23908 23917 nasc = callPackage ../applications/science/math/nasc { }; 23918 + 23919 + nota = haskellPackages.callPackage ../applications/science/math/nota { }; 23909 23920 23910 23921 openblas = callPackage ../development/libraries/science/math/openblas { }; 23911 23922 ··· 25791 25802 sentencepiece = callPackage ../development/libraries/sentencepiece {}; 25792 25803 25793 25804 kcli = callPackage ../development/tools/kcli {}; 25794 - 25795 25805 }
+2
pkgs/top-level/ocaml-packages.nix
··· 468 468 469 469 lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { }; 470 470 471 + lens = callPackage ../development/ocaml-modules/lens { }; 472 + 471 473 linenoise = callPackage ../development/ocaml-modules/linenoise { }; 472 474 473 475 llvm = callPackage ../development/ocaml-modules/llvm {
+19 -1
pkgs/top-level/python-packages.nix
··· 108 108 inherit buildSetupcfg; 109 109 110 110 inherit (callPackage ../development/interpreters/python/hooks { }) 111 - eggUnpackHook eggBuildHook eggInstallHook flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook setuptoolsBuildHook setuptoolsCheckHook wheelUnpackHook; 111 + eggUnpackHook eggBuildHook eggInstallHook flitBuildHook pipBuildHook pipInstallHook pytestCheckHook pythonCatchConflictsHook pythonImportsCheckHook pythonRemoveBinBytecodeHook setuptoolsBuildHook setuptoolsCheckHook venvShellHook wheelUnpackHook; 112 112 113 113 # helpers 114 114 ··· 903 903 904 904 oauthenticator = callPackage ../development/python-modules/oauthenticator { }; 905 905 906 + onnx = callPackage ../development/python-modules/onnx { }; 907 + 906 908 ordered-set = callPackage ../development/python-modules/ordered-set { }; 907 909 908 910 ortools = (toPythonModule (pkgs.or-tools.override { ··· 1392 1394 1393 1395 stups-fullstop = callPackage ../development/python-modules/stups-fullstop { }; 1394 1396 1397 + stups-pierone = callPackage ../development/python-modules/stups-pierone { }; 1398 + 1395 1399 stups-tokens = callPackage ../development/python-modules/stups-tokens { }; 1396 1400 1397 1401 stups-zign = callPackage ../development/python-modules/stups-zign { }; ··· 1668 1672 avro = callPackage ../development/python-modules/avro {}; 1669 1673 1670 1674 avro3k = callPackage ../development/python-modules/avro3k {}; 1675 + 1676 + avro-python3 = callPackage ../development/python-modules/avro-python3 {}; 1671 1677 1672 1678 aws-lambda-builders = callPackage ../development/python-modules/aws-lambda-builders { }; 1673 1679 ··· 2651 2657 gplaycli = callPackage ../development/python-modules/gplaycli { }; 2652 2658 2653 2659 gpsoauth = callPackage ../development/python-modules/gpsoauth { }; 2660 + 2661 + gpxpy = callPackage ../development/python-modules/gpxpy { }; 2654 2662 2655 2663 grip = callPackage ../development/python-modules/grip { }; 2656 2664 ··· 4824 4832 pylint = if isPy3k then callPackage ../development/python-modules/pylint { } 4825 4833 else callPackage ../development/python-modules/pylint/1.9.nix { }; 4826 4834 4835 + pylint-celery = callPackage ../development/python-modules/pylint-celery { }; 4836 + 4837 + pylint-django = callPackage ../development/python-modules/pylint-django { }; 4838 + 4839 + pylint-flask = callPackage ../development/python-modules/pylint-flask { }; 4840 + 4827 4841 pylint-plugin-utils = callPackage ../development/python-modules/pylint-plugin-utils { }; 4828 4842 4829 4843 pyomo = callPackage ../development/python-modules/pyomo { }; ··· 4934 4948 4935 4949 pynmea2 = callPackage ../development/python-modules/pynmea2 {}; 4936 4950 4951 + pynrrd = callPackage ../development/python-modules/pynrrd { }; 4952 + 4937 4953 pynzb = callPackage ../development/python-modules/pynzb { }; 4938 4954 4939 4955 process-tests = callPackage ../development/python-modules/process-tests { }; ··· 5007 5023 pysvn = callPackage ../development/python-modules/pysvn { }; 5008 5024 5009 5025 python-markdown-math = callPackage ../development/python-modules/python-markdown-math { }; 5026 + 5027 + python-miio = callPackage ../development/python-modules/python-miio { }; 5010 5028 5011 5029 python-pipedrive = callPackage ../development/python-modules/python-pipedrive { }; 5012 5030
-1
pkgs/top-level/release-small.nix
··· 156 156 time = linux; 157 157 tinycc = linux; 158 158 udev = linux; 159 - unar = linux; 160 159 unzip = all; 161 160 usbutils = linux; 162 161 utillinux = linux;
-1
pkgs/top-level/release.nix
··· 105 105 jobs.nix-info-tested.x86_64-linux 106 106 # Ensure that X11/GTK are in order. 107 107 jobs.thunderbird.x86_64-linux 108 - jobs.unar.x86_64-linux 109 108 jobs.cachix.x86_64-linux 110 109 111 110 /*