lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge remote-tracking branch 'upstream/master' into staging

+924 -318
+7 -7
lib/customisation.nix
··· 1 1 { lib }: 2 2 let 3 3 4 - inherit (builtins) attrNames isFunction; 4 + inherit (builtins) attrNames; 5 5 6 6 in 7 7 ··· 72 72 makeOverridable = f: origArgs: 73 73 let 74 74 ff = f origArgs; 75 - overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs); 75 + overrideWith = newArgs: origArgs // (if lib.isFunction newArgs then newArgs origArgs else newArgs); 76 76 in 77 77 if builtins.isAttrs ff then (ff // { 78 78 override = newArgs: makeOverridable f (overrideWith newArgs); ··· 81 81 ${if ff ? overrideAttrs then "overrideAttrs" else null} = fdrv: 82 82 makeOverridable (args: (f args).overrideAttrs fdrv) origArgs; 83 83 }) 84 - else if builtins.isFunction ff then { 84 + else if lib.isFunction ff then { 85 85 override = newArgs: makeOverridable f (overrideWith newArgs); 86 86 __functor = self: ff; 87 87 overrideDerivation = throw "overrideDerivation not yet supported for functors"; ··· 112 112 */ 113 113 callPackageWith = autoArgs: fn: args: 114 114 let 115 - f = if builtins.isFunction fn then fn else import fn; 116 - auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs; 115 + f = if lib.isFunction fn then fn else import fn; 116 + auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs; 117 117 in makeOverridable f (auto // args); 118 118 119 119 ··· 122 122 individual attributes. */ 123 123 callPackagesWith = autoArgs: fn: args: 124 124 let 125 - f = if builtins.isFunction fn then fn else import fn; 126 - auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs; 125 + f = if lib.isFunction fn then fn else import fn; 126 + auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs; 127 127 origArgs = auto // args; 128 128 pkgs = f origArgs; 129 129 mkAttrOverridable = name: pkg: makeOverridable (newArgs: (f newArgs).${name}) origArgs;
+2 -2
lib/debug.nix
··· 2 2 3 3 let 4 4 5 - inherit (builtins) trace attrNamesToStr isAttrs isFunction isList isInt 5 + inherit (builtins) trace attrNamesToStr isAttrs isList isInt 6 6 isString isBool head substring attrNames; 7 7 8 - inherit (lib) all id mapAttrsFlatten elem; 8 + inherit (lib) all id mapAttrsFlatten elem isFunction; 9 9 10 10 in 11 11
+2 -2
lib/default.nix
··· 51 51 52 52 inherit (builtins) add addErrorContext attrNames 53 53 concatLists deepSeq elem elemAt filter genericClosure genList 54 - getAttr hasAttr head isAttrs isBool isFunction isInt isList 54 + getAttr hasAttr head isAttrs isBool isInt isList 55 55 isString length lessThan listToAttrs pathExists readFile 56 56 replaceStrings seq stringLength sub substring tail; 57 57 inherit (trivial) id const concat or and boolToString mergeAttrs 58 58 flip mapNullable inNixShell min max importJSON warn info 59 - nixpkgsVersion mod; 59 + nixpkgsVersion mod functionArgs setFunctionArgs isFunction; 60 60 61 61 inherit (fixedPoints) fix fix' extends composeExtensions 62 62 makeExtensible makeExtensibleWithCustomName;
+4 -4
lib/deprecated.nix
··· 1 1 { lib }: 2 2 let 3 - inherit (builtins) isFunction head tail isList isAttrs isInt attrNames; 3 + inherit (builtins) head tail isList isAttrs isInt attrNames; 4 4 5 5 in 6 6 ··· 53 53 f: # the function applied to the arguments 54 54 initial: # you pass attrs, the functions below are passing a function taking the fix argument 55 55 let 56 - takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument 56 + takeFixed = if lib.isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument 57 57 tidy = args: 58 58 let # apply all functions given in "applyPreTidy" in sequence 59 59 applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args); ··· 63 63 let args = takeFixed fixed; 64 64 mergeFun = args.${n}; 65 65 in if isAttrs x then (mergeFun args x) 66 - else assert isFunction x; 66 + else assert lib.isFunction x; 67 67 mergeFun args (x ( args // { inherit fixed; })); 68 68 in overridableDelayableArgs f newArgs; 69 69 in ··· 374 374 if isAttrs x then 375 375 if x ? outPath then "derivation" 376 376 else "attrs" 377 - else if isFunction x then "function" 377 + else if lib.isFunction x then "function" 378 378 else if isList x then "list" 379 379 else if x == true then "bool" 380 380 else if x == false then "bool"
+3 -1
lib/generators.nix
··· 14 14 libAttr = lib.attrsets; 15 15 16 16 flipMapAttrs = flip libAttr.mapAttrs; 17 + 18 + inherit (lib) isFunction; 17 19 in 18 20 19 21 rec { ··· 110 112 else if isString v then "\"" + v + "\"" 111 113 else if null == v then "null" 112 114 else if isFunction v then 113 - let fna = functionArgs v; 115 + let fna = lib.functionArgs v; 114 116 showFnas = concatStringsSep "," (libAttr.mapAttrsToList 115 117 (name: hasDefVal: if hasDefVal then "(${name})" else name) 116 118 fna);
+5
lib/licenses.nix
··· 200 200 fullName = "Eclipse Public License 1.0"; 201 201 }; 202 202 203 + epl20 = spdx { 204 + spdxId = "EPL-2.0"; 205 + fullName = "Eclipse Public License 2.0"; 206 + }; 207 + 203 208 epson = { 204 209 fullName = "Seiko Epson Corporation Software License Agreement for Linux"; 205 210 url = https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html;
+2
lib/maintainers.nix
··· 231 231 fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>"; 232 232 falsifian = "James Cook <james.cook@utoronto.ca>"; 233 233 fare = "Francois-Rene Rideau <fahree@gmail.com>"; 234 + f-breidenstein = "Felix Breidenstein <mail@felixbreidenstein.de>"; 234 235 fgaz = "Francesco Gazzetta <francygazz@gmail.com>"; 235 236 FireyFly = "Jonas Höglund <nix@firefly.nu>"; 236 237 flokli = "Florian Klink <flokli@flokli.de>"; ··· 542 543 pmahoney = "Patrick Mahoney <pat@polycrystal.org>"; 543 544 pmeunier = "Pierre-Étienne Meunier <pierre-etienne.meunier@inria.fr>"; 544 545 pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>"; 546 + pneumaticat = "Kevin Liu <kevin@potatofrom.space>"; 545 547 polyrod = "Maurizio Di Pietro <dc1mdp@gmail.com>"; 546 548 pradeepchhetri = "Pradeep Chhetri <pradeep.chhetri89@gmail.com>"; 547 549 prikhi = "Pavan Rikhi <pavan.rikhi@gmail.com>";
+1 -1
lib/modules.nix
··· 155 155 # a module will resolve strictly the attributes used as argument but 156 156 # not their values. The values are forwarding the result of the 157 157 # evaluation of the option. 158 - requiredArgs = builtins.attrNames (builtins.functionArgs f); 158 + requiredArgs = builtins.attrNames (lib.functionArgs f); 159 159 context = name: ''while evaluating the module argument `${name}' in "${key}":''; 160 160 extraArgs = builtins.listToAttrs (map (name: { 161 161 inherit name;
+26 -1
lib/trivial.nix
··· 52 52 53 53 # Pull in some builtins not included elsewhere. 54 54 inherit (builtins) 55 - pathExists readFile isBool isFunction 55 + pathExists readFile isBool 56 56 isInt add sub lessThan 57 57 seq deepSeq genericClosure; 58 58 ··· 99 99 */ 100 100 warn = msg: builtins.trace "WARNING: ${msg}"; 101 101 info = msg: builtins.trace "INFO: ${msg}"; 102 + 103 + # | Add metadata about expected function arguments to a function. 104 + # The metadata should match the format given by 105 + # builtins.functionArgs, i.e. a set from expected argument to a bool 106 + # representing whether that argument has a default or not. 107 + # setFunctionArgs : (a → b) → Map String Bool → (a → b) 108 + # 109 + # This function is necessary because you can't dynamically create a 110 + # function of the { a, b ? foo, ... }: format, but some facilities 111 + # like callPackage expect to be able to query expected arguments. 112 + setFunctionArgs = f: args: 113 + { # TODO: Should we add call-time "type" checking like built in? 114 + __functor = self: f; 115 + __functionArgs = args; 116 + }; 117 + 118 + # | Extract the expected function arguments from a function. 119 + # This works both with nix-native { a, b ? foo, ... }: style 120 + # functions and functions with args set with 'setFunctionArgs'. It 121 + # has the same return type and semantics as builtins.functionArgs. 122 + # setFunctionArgs : (a → b) → Map String Bool. 123 + functionArgs = f: f.__functionArgs or (builtins.functionArgs f); 124 + 125 + isFunction = f: builtins.isFunction f || 126 + (f ? __functor && isFunction (f.__functor f)); 102 127 }
+1 -1
nixos/doc/manual/default.nix
··· 12 12 substFunction = x: 13 13 if builtins.isAttrs x then lib.mapAttrs (name: substFunction) x 14 14 else if builtins.isList x then map substFunction x 15 - else if builtins.isFunction x then "<function>" 15 + else if lib.isFunction x then "<function>" 16 16 else x; 17 17 18 18 # Clean up declaration sites to not refer to the NixOS source tree.
+22
nixos/doc/manual/release-notes/rl-1803.xml
··· 90 90 </listitem> 91 91 <listitem> 92 92 <para> 93 + Package attributes starting with a digit have been prefixed with an 94 + underscore sign. This is to avoid quoting in the configuration and 95 + other issues with command-line tools like <literal>nix-env</literal>. 96 + The change affects the following packages: 97 + <itemizedlist> 98 + <listitem> 99 + <para><literal>2048-in-terminal</literal> → <literal>_2048-in-terminal</literal></para> 100 + </listitem> 101 + <listitem> 102 + <para><literal>90secondportraits</literal> → <literal>_90secondportraits</literal></para> 103 + </listitem> 104 + <listitem> 105 + <para><literal>2bwm</literal> → <literal>_2bwm</literal></para> 106 + </listitem> 107 + <listitem> 108 + <para><literal>389-ds-base</literal> → <literal>_389-ds-base</literal></para> 109 + </listitem> 110 + </itemizedlist> 111 + </para> 112 + </listitem> 113 + <listitem> 114 + <para> 93 115 <emphasis role="strong"> 94 116 The OpenSSH service no longer enables support for DSA keys by default, 95 117 which could cause a system lock out. Update your keys or, unfavorably,
+1 -1
nixos/lib/testing.nix
··· 85 85 86 86 testScript' = 87 87 # Call the test script with the computed nodes. 88 - if builtins.isFunction testScript 88 + if lib.isFunction testScript 89 89 then testScript { inherit nodes; } 90 90 else testScript; 91 91
+2
nixos/modules/misc/ids.nix
··· 302 302 kodi = 283; 303 303 restya-board = 284; 304 304 mighttpd2 = 285; 305 + hass = 286; 305 306 306 307 # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! 307 308 ··· 572 573 kodi = 283; 573 574 restya-board = 284; 574 575 mighttpd2 = 285; 576 + hass = 286; 575 577 576 578 # When adding a gid, make sure it doesn't match an existing 577 579 # uid. Users and groups with the same name should have equal
+3 -3
nixos/modules/misc/nixpkgs.nix
··· 4 4 5 5 let 6 6 isConfig = x: 7 - builtins.isAttrs x || builtins.isFunction x; 7 + builtins.isAttrs x || lib.isFunction x; 8 8 9 9 optCall = f: x: 10 - if builtins.isFunction f 10 + if lib.isFunction f 11 11 then f x 12 12 else f; 13 13 ··· 38 38 overlayType = mkOptionType { 39 39 name = "nixpkgs-overlay"; 40 40 description = "nixpkgs overlay"; 41 - check = builtins.isFunction; 41 + check = lib.isFunction; 42 42 merge = lib.mergeOneOption; 43 43 }; 44 44
+1
nixos/modules/module-list.nix
··· 315 315 ./services/misc/gogs.nix 316 316 ./services/misc/gollum.nix 317 317 ./services/misc/gpsd.nix 318 + ./services/misc/home-assistant.nix 318 319 ./services/misc/ihaskell.nix 319 320 ./services/misc/irkerd.nix 320 321 ./services/misc/jackett.nix
+1 -1
nixos/modules/profiles/clone-config.nix
··· 17 17 # you should use files). 18 18 moduleFiles = 19 19 # FIXME: use typeOf (Nix 1.6.1). 20 - filter (x: !isAttrs x && !builtins.isFunction x) modules; 20 + filter (x: !isAttrs x && !lib.isFunction x) modules; 21 21 22 22 # Partition module files because between NixOS and non-NixOS files. NixOS 23 23 # files may change if the repository is updated.
+90
nixos/modules/services/misc/home-assistant.nix
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.home-assistant; 7 + 8 + configFile = pkgs.writeText "configuration.yaml" (builtins.toJSON cfg.config); 9 + in { 10 + meta.maintainers = with maintainers; [ dotlambda ]; 11 + 12 + options.services.home-assistant = { 13 + enable = mkEnableOption "Home Assistant"; 14 + 15 + configDir = mkOption { 16 + default = "/var/lib/hass"; 17 + type = types.path; 18 + description = "The config directory, where your <filename>configuration.yaml</filename> is located."; 19 + }; 20 + 21 + config = mkOption { 22 + default = null; 23 + type = with types; nullOr attrs; 24 + example = literalExample '' 25 + { 26 + homeassistant = { 27 + name = "Home"; 28 + time_zone = "UTC"; 29 + }; 30 + frontend = { }; 31 + http = { }; 32 + } 33 + ''; 34 + description = '' 35 + Your <filename>configuration.yaml</filename> as a Nix attribute set. 36 + Beware that setting this option will delete your previous <filename>configuration.yaml</filename>. 37 + ''; 38 + }; 39 + 40 + package = mkOption { 41 + default = pkgs.home-assistant; 42 + defaultText = "pkgs.home-assistant"; 43 + type = types.package; 44 + example = literalExample '' 45 + pkgs.home-assistant.override { 46 + extraPackages = ps: with ps; [ colorlog ]; 47 + } 48 + ''; 49 + description = '' 50 + Home Assistant package to use. 51 + Most Home Assistant components require additional dependencies, 52 + which are best specified by overriding <literal>pkgs.home-assistant</literal>. 53 + You can find the dependencies by searching for failed imports in your log or by looking at this list: 54 + <link xlink:href="https://github.com/home-assistant/home-assistant/blob/master/requirements_all.txt"/> 55 + ''; 56 + }; 57 + }; 58 + 59 + config = mkIf cfg.enable { 60 + systemd.services.home-assistant = { 61 + description = "Home Assistant"; 62 + wantedBy = [ "multi-user.target" ]; 63 + after = [ "network.target" ]; 64 + preStart = lib.optionalString (cfg.config != null) '' 65 + rm -f ${cfg.configDir}/configuration.yaml 66 + ln -s ${configFile} ${cfg.configDir}/configuration.yaml 67 + ''; 68 + serviceConfig = { 69 + ExecStart = '' 70 + ${cfg.package}/bin/hass --config "${cfg.configDir}" 71 + ''; 72 + User = "hass"; 73 + Group = "hass"; 74 + Restart = "on-failure"; 75 + ProtectSystem = "strict"; 76 + ReadWritePaths = "${cfg.configDir}"; 77 + PrivateTmp = true; 78 + }; 79 + }; 80 + 81 + users.extraUsers.hass = { 82 + home = cfg.configDir; 83 + createHome = true; 84 + group = "hass"; 85 + uid = config.ids.uids.hass; 86 + }; 87 + 88 + users.extraGroups.hass.gid = config.ids.gids.hass; 89 + }; 90 + }
+3 -3
nixos/modules/services/networking/kresd.nix
··· 43 43 type = with types; listOf str; 44 44 default = [ "::1" "127.0.0.1" ]; 45 45 description = '' 46 - What addresses the server should listen on. 46 + What addresses the server should listen on. (UDP+TCP 53) 47 47 ''; 48 48 }; 49 49 # TODO: perhaps options for more common stuff like cache size or forwarding ··· 99 99 Restart = "on-failure"; 100 100 }; 101 101 102 + # Trust anchor goes from dns-root-data by default. 102 103 script = '' 103 - exec '${package}/bin/kresd' --config '${configFile}' \ 104 - -k '${pkgs.dns-root-data}/root.key' 104 + exec '${package}/bin/kresd' --config '${configFile}' --forks=1 105 105 ''; 106 106 107 107 requires = [ "kresd.socket" ];
+2 -2
nixos/modules/services/x11/window-managers/2bwm.nix
··· 25 25 { name = "2bwm"; 26 26 start = 27 27 '' 28 - ${pkgs."2bwm"}/bin/2bwm & 28 + ${pkgs._2bwm}/bin/2bwm & 29 29 waitPID=$! 30 30 ''; 31 31 }; 32 32 33 - environment.systemPackages = [ pkgs."2bwm" ]; 33 + environment.systemPackages = [ pkgs._2bwm ]; 34 34 35 35 }; 36 36
+1 -3
nixos/modules/tasks/network-interfaces-scripted.nix
··· 230 230 RemainAfterExit = true; 231 231 }; 232 232 script = '' 233 - ip tuntap add dev "${i.name}" \ 234 - ${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \ 235 - user "${i.virtualOwner}" 233 + ip tuntap add dev "${i.name}" mode "${i.virtualType}" user "${i.virtualOwner}" 236 234 ''; 237 235 postStop = '' 238 236 ip link del ${i.name} || true
+10 -14
nixos/modules/tasks/network-interfaces-systemd.nix
··· 74 74 networks."99-main" = genericNetwork mkDefault; 75 75 } 76 76 (mkMerge (flip map interfaces (i: { 77 - netdevs = mkIf i.virtual ( 78 - let 79 - devType = if i.virtualType != null then i.virtualType 80 - else (if hasPrefix "tun" i.name then "tun" else "tap"); 81 - in { 82 - "40-${i.name}" = { 83 - netdevConfig = { 84 - Name = i.name; 85 - Kind = devType; 86 - }; 87 - "${devType}Config" = optionalAttrs (i.virtualOwner != null) { 88 - User = i.virtualOwner; 89 - }; 77 + netdevs = mkIf i.virtual ({ 78 + "40-${i.name}" = { 79 + netdevConfig = { 80 + Name = i.name; 81 + Kind = i.virtualType; 90 82 }; 91 - }); 83 + "${i.virtualType}Config" = optionalAttrs (i.virtualOwner != null) { 84 + User = i.virtualOwner; 85 + }; 86 + }; 87 + }); 92 88 networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) { 93 89 name = mkDefault i.name; 94 90 DHCP = mkForce (dhcpStr
+6 -4
nixos/modules/tasks/network-interfaces.nix
··· 273 273 }; 274 274 275 275 virtualType = mkOption { 276 - default = null; 277 - type = with types; nullOr (enum [ "tun" "tap" ]); 276 + default = if hasPrefix "tun" name then "tun" else "tap"; 277 + defaultText = literalExample ''if hasPrefix "tun" name then "tun" else "tap"''; 278 + type = with types; enum [ "tun" "tap" ]; 278 279 description = '' 279 - The explicit type of interface to create. Accepts tun or tap strings. 280 - Also accepts null to implicitly detect the type of device. 280 + The type of interface to create. 281 + The default is TUN for an interface name starting 282 + with "tun", otherwise TAP. 281 283 ''; 282 284 }; 283 285
+1
nixos/release.nix
··· 267 267 tests.graphite = callTest tests/graphite.nix {}; 268 268 tests.hardened = callTest tests/hardened.nix { }; 269 269 tests.hibernate = callTest tests/hibernate.nix {}; 270 + tests.home-assistant = callTest tests/home-assistant.nix { }; 270 271 tests.hound = callTest tests/hound.nix {}; 271 272 tests.i3wm = callTest tests/i3wm.nix {}; 272 273 tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};
+41
nixos/tests/home-assistant.nix
··· 1 + import ./make-test.nix ({ pkgs, ... }: 2 + 3 + let 4 + configDir = "/var/lib/foobar"; 5 + 6 + in { 7 + name = "home-assistant"; 8 + 9 + nodes = { 10 + hass = 11 + { config, pkgs, ... }: 12 + { 13 + services.home-assistant = { 14 + inherit configDir; 15 + enable = true; 16 + config = { 17 + homeassistant = { 18 + name = "Home"; 19 + time_zone = "UTC"; 20 + }; 21 + frontend = { }; 22 + http = { }; 23 + }; 24 + }; 25 + }; 26 + }; 27 + 28 + testScript = '' 29 + startAll; 30 + $hass->waitForUnit("home-assistant.service"); 31 + 32 + # Since config is specified using a Nix attribute set, 33 + # configuration.yaml is a link to the Nix store 34 + $hass->succeed("test -L ${configDir}/configuration.yaml"); 35 + 36 + # Check that Home Assistant's web interface and API can be reached 37 + $hass->waitForOpenPort(8123); 38 + $hass->succeed("curl --fail http://localhost:8123/states"); 39 + $hass->succeed("curl --fail http://localhost:8123/api/ | grep 'API running'"); 40 + ''; 41 + })
+1 -1
nixos/tests/make-test.nix
··· 2 2 3 3 with import ../lib/testing.nix { inherit system; }; 4 4 5 - makeTest (if builtins.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f) 5 + makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
+43
nixos/tests/networking.nix
··· 433 433 $client2->succeed("ip addr show dev vlan >&2"); 434 434 ''; 435 435 }; 436 + virtual = { 437 + name = "Virtual"; 438 + machine = { 439 + networking.interfaces."tap0" = { 440 + ip4 = [ { address = "192.168.1.1"; prefixLength = 24; } ]; 441 + ip6 = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ]; 442 + virtual = true; 443 + }; 444 + networking.interfaces."tun0" = { 445 + ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ]; 446 + ip6 = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ]; 447 + virtual = true; 448 + }; 449 + }; 450 + 451 + testScript = '' 452 + my $targetList = <<'END'; 453 + tap0: tap UNKNOWN_FLAGS:800 user 0 454 + tun0: tun UNKNOWN_FLAGS:800 user 0 455 + END 456 + 457 + # Wait for networking to come up 458 + $machine->start; 459 + $machine->waitForUnit("network.target"); 460 + 461 + # Test interfaces set up 462 + my $list = $machine->succeed("ip tuntap list | sort"); 463 + "$list" eq "$targetList" or die( 464 + "The list of virtual interfaces does not match the expected one:\n", 465 + "Result:\n", "$list\n", 466 + "Expected:\n", "$targetList\n" 467 + ); 468 + 469 + # Test interfaces clean up 470 + $machine->succeed("systemctl stop network-addresses-tap0"); 471 + $machine->succeed("systemctl stop network-addresses-tun0"); 472 + my $residue = $machine->succeed("ip tuntap list"); 473 + $residue eq "" or die( 474 + "Some virtual interface has not been properly cleaned:\n", 475 + "$residue\n" 476 + ); 477 + ''; 478 + }; 436 479 }; 437 480 438 481 in mapAttrs (const (attrs: makeTest (attrs // {
+2
pkgs/applications/audio/ncmpc/default.nix
··· 15 15 buildInputs = [ glib ncurses mpd_clientlib ]; 16 16 nativeBuildInputs = [ meson ninja pkgconfig gettext ]; 17 17 18 + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; 19 + 18 20 meta = with stdenv.lib; { 19 21 description = "Curses-based interface for MPD (music player daemon)"; 20 22 homepage = https://www.musicpd.org/clients/ncmpc/;
+3 -3
pkgs/applications/editors/android-studio/default.nix
··· 27 27 28 28 preview = mkStudio { 29 29 pname = "android-studio-preview"; 30 - version = "3.1.0.8"; # "Android Studio 3.1 Canary 9" 31 - build = "173.4559767"; 32 - sha256Hash = "0wy3bqd4wvvcwlqcv06mwlqgc119pjpc102ix3yacqvki9qyi1r0"; 30 + version = "3.1.0.9"; # "Android Studio 3.1 Beta 1" 31 + build = "173.4567466"; 32 + sha256Hash = "01c6a46pk5zbhwk2w038nm68fkx86nafiw1v2i5rdr93mxvx9cag"; 33 33 34 34 meta = stable.meta // { 35 35 description = "The Official IDE for Android (preview version)";
+2 -2
pkgs/applications/editors/vim/common.nix
··· 1 1 { lib, fetchFromGitHub }: 2 2 rec { 3 - version = "8.0.1428"; 3 + version = "8.0.1451"; 4 4 5 5 src = fetchFromGitHub { 6 6 owner = "vim"; 7 7 repo = "vim"; 8 8 rev = "v${version}"; 9 - sha256 = "0pqqh7g96w8jfc5kvv2il6fcbhccwhk4k5skk52g1c1ixsblwz3y"; 9 + sha256 = "1vxd5mr8c62qyf7ax7gi2wka48282yplckq91154yd55xcqw36zx"; 10 10 }; 11 11 12 12 enableParallelBuilding = true;
+21 -7
pkgs/applications/networking/browsers/firefox/common.nix
··· 38 38 39 39 ## other 40 40 41 - # If you want the resulting program to call itself 42 - # "Firefox"/"Torbrowser" instead of "Nightly" or whatever, enable this 43 - # option. However, in Firefox's case, those binaries may not be 44 - # distributed without permission from the Mozilla Foundation, see 45 - # http://www.mozilla.org/foundation/trademarks/. 46 - , enableOfficialBranding ? isTorBrowserLike 41 + # As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at 42 + # https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we 43 + # have permission to use the official firefox branding. 44 + # 45 + # Fur purposes of documentation the statement of @sylvestre: 46 + # > As the person who did part of the work described in the LWN article 47 + # > and release manager working for Mozilla, I can confirm the statement 48 + # > that I made in 49 + # > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006 50 + # > 51 + # > @garbas shared with me the list of patches applied for the Nix package. 52 + # > As they are just for portability and tiny modifications, they don't 53 + # > alter the experience of the product. In parallel, Rok also shared the 54 + # > build options. They seem good (even if I cannot judge the quality of the 55 + # > packaging of the underlying dependencies like sqlite, png, etc). 56 + # > Therefor, as long as you keep the patch queue sane and you don't alter 57 + # > the experience of Firefox users, you won't have any issues using the 58 + # > official branding. 59 + , enableOfficialBranding ? true 47 60 }: 48 61 49 62 assert stdenv.cc ? libc && stdenv.cc.libc != null; ··· 91 104 '' + lib.optionalString (stdenv.lib.versionAtLeast version "58.0.0") '' 92 105 cat >.mozconfig <<END_MOZCONFIG 93 106 ${lib.concatStringsSep "\n" (map (flag: "ac_add_options ${flag}") configureFlags)} 107 + ${lib.optionalString googleAPISupport "ac_add_options --with-google-api-keyfile=$TMPDIR/ga"} 94 108 END_MOZCONFIG 95 109 '' + lib.optionalString googleAPISupport '' 96 110 # Google API key used by Chromium and Firefox. 97 111 # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, 98 112 # please get your own set of keys. 99 113 echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga 114 + configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga") 100 115 '' + '' 101 116 # this will run autoconf213 102 117 ${if (stdenv.lib.versionAtLeast version "58.0.0") then "./mach configure" else "make -f client.mk configure-files"} ··· 171 186 ++ flag gssSupport "negotiateauth" 172 187 ++ lib.optional (!ffmpegSupport) "--disable-gstreamer" 173 188 ++ flag webrtcSupport "webrtc" 174 - ++ lib.optional googleAPISupport "--with-google-api-keyfile=$TMPDIR/ga" 175 189 ++ flag crashreporterSupport "crashreporter" 176 190 ++ lib.optional drmSupport "--enable-eme=widevine" 177 191
+47
pkgs/applications/virtualization/looking-glass-client/default.nix
··· 1 + { stdenv, fetchFromGitHub 2 + , pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice_protocol, fontconfig 3 + , libX11, freefont_ttf 4 + }: 5 + 6 + stdenv.mkDerivation rec { 7 + name = "looking-glass-client-${version}"; 8 + version = "a10"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "gnif"; 12 + repo = "LookingGlass"; 13 + rev = version; 14 + sha256 = "10jxnkrvskjzkg86iz3hnb5v91ykzx6pvcnpy1v4436g5f2d62wn"; 15 + }; 16 + 17 + nativeBuildInputs = [ pkgconfig ]; 18 + 19 + buildInputs = [ 20 + SDL SDL2 SDL2_ttf openssl spice_protocol fontconfig 21 + libX11 freefont_ttf 22 + ]; 23 + 24 + enableParallelBuilding = true; 25 + 26 + sourceRoot = "source/client"; 27 + 28 + installPhase = '' 29 + mkdir -p $out 30 + mv bin $out/ 31 + ''; 32 + 33 + meta = with stdenv.lib; { 34 + description = "A KVM Frame Relay (KVMFR) implementation"; 35 + longDescription = '' 36 + Looking Glass is an open source application that allows the use of a KVM 37 + (Kernel-based Virtual Machine) configured for VGA PCI Pass-through 38 + without an attached physical monitor, keyboard or mouse. This is the final 39 + step required to move away from dual booting with other operating systems 40 + for legacy programs that require high performance graphics. 41 + ''; 42 + homepage = https://looking-glass.hostfission.com/; 43 + license = licenses.gpl2Plus; 44 + maintainers = [ maintainers.pneumaticat ]; 45 + platforms = platforms.linux; 46 + }; 47 + }
+4 -17
pkgs/applications/window-managers/qtile/0001-Substitution-vars-for-absolute-paths.patch
··· 1 - From 00c5af939567429d40877845dc52b54fde2d8a50 Mon Sep 17 00:00:00 2001 2 - From: "Alexander V. Nikolaev" <avn@avnik.info> 3 - Date: Thu, 26 Nov 2015 10:53:12 +0200 4 - Subject: [PATCH 1/3] Substitution vars for absolute paths 5 - 6 - --- 7 - libqtile/pangocffi.py | 6 +++--- 8 - libqtile/xcursors.py | 2 +- 9 - 2 files changed, 4 insertions(+), 4 deletions(-) 10 - 11 1 diff --git a/libqtile/pangocffi.py b/libqtile/pangocffi.py 12 - index 27691d1..25f690d 100644 2 + index 1e8f5c04..e860d43a 100644 13 3 --- a/libqtile/pangocffi.py 14 4 +++ b/libqtile/pangocffi.py 15 5 @@ -58,9 +58,9 @@ except ImportError: ··· 26 16 27 17 def CairoContext(cairo_t): 28 18 diff --git a/libqtile/xcursors.py b/libqtile/xcursors.py 29 - index e0e55e1..59b6428 100644 19 + index f1133555..3e61204a 100644 30 20 --- a/libqtile/xcursors.py 31 21 +++ b/libqtile/xcursors.py 32 - @@ -114,7 +114,7 @@ class Cursors(dict): 22 + @@ -112,7 +112,7 @@ class Cursors(dict): 33 23 34 24 def _setup_xcursor_binding(self): 35 25 try: 36 26 - xcursor = ffi.dlopen('libxcb-cursor.so') 37 27 + xcursor = ffi.dlopen('@xcb-cursor@/lib/libxcb-cursor.so') 38 28 except OSError: 39 - self.log.warning("xcb-cursor not found, fallback to font pointer") 29 + logger.warning("xcb-cursor not found, fallback to font pointer") 40 30 return False 41 - -- 42 - 2.6.3 43 -
+35 -40
pkgs/applications/window-managers/qtile/0002-Restore-PATH-and-PYTHONPATH.patch
··· 1 - From f299a0aa0eefcf16bb4990f00ac3946727f43ef3 Mon Sep 17 00:00:00 2001 2 - From: "Alexander V. Nikolaev" <avn@avnik.info> 3 - Date: Fri, 27 Nov 2015 10:49:48 +0200 4 - Subject: [PATCH 2/3] Restore PATH and PYTHONPATH 5 - 6 - --- 7 - bin/qtile | 1 + 8 - bin/qtile-run | 1 + 9 - bin/qtile-session | 2 ++ 10 - libqtile/utils.py | 7 +++++++ 11 - 4 files changed, 11 insertions(+) 12 - 1 + diff --git a/bin/qshell b/bin/qshell 2 + index 2ba7e61c..0ac2a2ef 100755 3 + --- a/bin/qshell 4 + +++ b/bin/qshell 5 + @@ -28,5 +28,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, "..")) 6 + sys.path.insert(0, base_dir) 7 + 8 + if __name__ == '__main__': 9 + + __import__("importlib").import_module("libqtile.utils").restore_os_environment() 10 + from libqtile.scripts import qshell 11 + qshell.main() 13 12 diff --git a/bin/qtile b/bin/qtile 14 - index 66034fe..ce3fcd1 100755 13 + index 3e82814d..335b5cea 100755 15 14 --- a/bin/qtile 16 15 +++ b/bin/qtile 17 - @@ -131,6 +131,7 @@ def make_qtile(): 16 + @@ -29,5 +29,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, "..")) 17 + sys.path.insert(0, base_dir) 18 18 19 - 20 - if __name__ == "__main__": 19 + if __name__ == '__main__': 21 20 + __import__("importlib").import_module("libqtile.utils").restore_os_environment() 22 - rename_process() 23 - q = make_qtile() 24 - try: 21 + from libqtile.scripts import qtile 22 + qtile.main() 25 23 diff --git a/bin/qtile-run b/bin/qtile-run 26 - index ccedb96..646a476 100755 24 + index e4b121be..1c203bc9 100755 27 25 --- a/bin/qtile-run 28 26 +++ b/bin/qtile-run 29 - @@ -50,6 +50,7 @@ def main(): 30 - proc.wait() 27 + @@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, "..")) 28 + sys.path.insert(0, base_dir) 31 29 32 - if __name__ == "__main__": 30 + if __name__ == '__main__': 33 31 + __import__("importlib").import_module("libqtile.utils").restore_os_environment() 34 - try: 35 - main() 36 - except KeyboardInterrupt: 37 - diff --git a/bin/qtile-session b/bin/qtile-session 38 - index 84f6a2d..da31b12 100755 39 - --- a/bin/qtile-session 40 - +++ b/bin/qtile-session 41 - @@ -25,6 +25,8 @@ 42 - Qtile session manager. 43 - """ 32 + from libqtile.scripts import qtile_run 33 + qtile_run.main() 34 + diff --git a/bin/qtile-top b/bin/qtile-top 35 + index 5316e0e7..272c6430 100755 36 + --- a/bin/qtile-top 37 + +++ b/bin/qtile-top 38 + @@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, "..")) 39 + sys.path.insert(0, base_dir) 44 40 45 - +__import__("importlib").import_module("libqtile.utils").restore_os_environment() 46 - + 47 - from libqtile.log_utils import init_log 48 - import logging 49 - import os 41 + if __name__ == '__main__': 42 + + __import__("importlib").import_module("libqtile.utils").restore_os_environment() 43 + from libqtile.scripts import qtile_top 44 + qtile_top.main() 50 45 diff --git a/libqtile/utils.py b/libqtile/utils.py 51 - index 284089b..ec3539e 100644 46 + index 36ed0a58..bca9eab3 100644 52 47 --- a/libqtile/utils.py 53 48 +++ b/libqtile/utils.py 54 - @@ -227,3 +227,11 @@ def describe_attributes(obj, attrs, func=None): 49 + @@ -240,3 +240,11 @@ def describe_attributes(obj, attrs, func=None): 55 50 pairs.append('%s=%s' % (attr, value)) 56 51 57 52 return ', '.join(pairs)
+3 -15
pkgs/applications/window-managers/qtile/0003-Restart-executable.patch
··· 1 - From b560c11078fecc35df2c62f34beda06c4e80a10d Mon Sep 17 00:00:00 2001 2 - From: "Alexander V. Nikolaev" <avn@avnik.info> 3 - Date: Fri, 27 Nov 2015 10:54:35 +0200 4 - Subject: [PATCH 3/3] Restart executable 5 - 6 - --- 7 - libqtile/manager.py | 2 +- 8 - 1 file changed, 1 insertion(+), 1 deletion(-) 9 - 10 1 diff --git a/libqtile/manager.py b/libqtile/manager.py 11 - index b1a38e2..110f7d8 100644 2 + index 36518a74..9b6bdd02 100644 12 3 --- a/libqtile/manager.py 13 4 +++ b/libqtile/manager.py 14 - @@ -1339,7 +1339,7 @@ class Qtile(command.CommandObject): 5 + @@ -1386,7 +1386,7 @@ class Qtile(command.CommandObject): 15 6 argv = [s for s in argv if not s.startswith('--with-state')] 16 7 argv.append('--with-state=' + buf.getvalue().decode()) 17 8 ··· 19 10 + self.cmd_execute(os.environ.get("QTILE_WRAPPER", "@out@/bin/qtile"), argv[1:]) 20 11 21 12 def cmd_spawn(self, cmd): 22 - """ 23 - -- 24 - 2.6.3 25 - 13 + """Run cmd in a shell.
+2 -2
pkgs/applications/window-managers/qtile/default.nix
··· 7 7 8 8 python27Packages.buildPythonApplication rec { 9 9 name = "qtile-${version}"; 10 - version = "0.10.4"; 10 + version = "0.10.7"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "qtile"; 14 14 repo = "qtile"; 15 15 rev = "v${version}"; 16 - sha256 = "0rwklzgkp3x242xql6qmfpfnhr788hd3jc1l80pc5ybxlwyfx59i"; 16 + sha256 = "18szgplyym0b65vnaa8nqzadq6q0mhsiky9g5hqhn7xzf4kykmj8"; 17 17 }; 18 18 19 19 patches = [
+1 -1
pkgs/build-support/emacs/wrapper.nix
··· 40 40 41 41 let 42 42 explicitRequires = 43 - if builtins.isFunction packagesFun 43 + if lib.isFunction packagesFun 44 44 then packagesFun self 45 45 else packagesFun; 46 46 in
+8 -4
pkgs/data/misc/scowl/default.nix
··· 1 - {stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix}: 1 + {stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix, singleWordlist ? null}: 2 2 stdenv.mkDerivation rec { 3 3 name = "${pname}-${version}"; 4 4 pname = "scowl"; ··· 21 21 export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$PWD/varcon" 22 22 ''; 23 23 24 - postBuild = '' 24 + postBuild = stdenv.lib.optionalString (singleWordlist == null) '' 25 25 ( 26 26 cd scowl/speller 27 27 make aspell ··· 31 31 32 32 enableParallelBuilding = false; 33 33 34 - installPhase = '' 34 + installPhase = if singleWordlist == null then '' 35 35 eval "$preInstall" 36 36 37 37 mkdir -p "$out/share/scowl" ··· 73 73 fi 74 74 75 75 echo $region $regcode $regcode_sz 76 - for s in 10 20 30 35 40 50 55 60 70 80 90; do 76 + for s in 10 20 30 35 40 50 55 60 70 80 90 95; do 77 77 ./mk-list $regcode $s > "$out/share/dict/w$region.$s" 78 78 ./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s" 79 79 ./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s" ··· 88 88 ) 89 89 90 90 eval "$postInstall" 91 + '' else '' 92 + mkdir -p "$out/share/dict" 93 + cd scowl 94 + ./mk-list ${singleWordlist} > "$out/share/dict/words.txt" 91 95 ''; 92 96 93 97 meta = {
+47
pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix
··· 1 + { stdenv 2 + , intltool 3 + , fetchurl 4 + , pkgconfig 5 + , gtk3 6 + , glib 7 + , meson 8 + , ninja 9 + , upower 10 + , desktop_file_utils 11 + , wrapGAppsHook 12 + , gnome3 }: 13 + 14 + stdenv.mkDerivation rec { 15 + inherit (import ./src.nix fetchurl) name src; 16 + 17 + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; 18 + 19 + nativeBuildInputs = [ 20 + meson 21 + ninja 22 + pkgconfig 23 + wrapGAppsHook 24 + intltool 25 + 26 + # needed by meson_post_install.sh 27 + glib.dev 28 + desktop_file_utils 29 + ]; 30 + 31 + buildInputs = [ 32 + gtk3 33 + glib 34 + upower 35 + gnome3.defaultIconTheme 36 + ]; 37 + 38 + enableParallelBuilding = true; 39 + 40 + meta = with stdenv.lib; { 41 + homepage = https://projects.gnome.org/gnome-power-manager/; 42 + description = "View battery and power statistics provided by UPower"; 43 + maintainers = gnome3.maintainers; 44 + license = licenses.gpl2Plus; 45 + platforms = platforms.linux; 46 + }; 47 + }
+10
pkgs/desktops/gnome-3/apps/gnome-power-manager/src.nix
··· 1 + # Autogenerated by maintainers/scripts/gnome.sh update 2 + 3 + fetchurl: { 4 + name = "gnome-power-manager-3.26.0"; 5 + 6 + src = fetchurl { 7 + url = mirror://gnome/sources/gnome-power-manager/3.26/gnome-power-manager-3.26.0.tar.xz; 8 + sha256 = "20aee0b0b4015e7cc6fbabc3cbc4344c07c230fe3d195e90c8ae0dc5d55a2d4e"; 9 + }; 10 + }
+3
pkgs/desktops/gnome-3/default.nix
··· 36 36 nautilus-sendto dconf-editor vinagre gnome-weather gnome-logs 37 37 gnome-maps gnome-characters gnome-calendar accerciser gnome-nettool 38 38 gnome-getting-started-docs gnome-packagekit gnome-software 39 + gnome-power-manager 39 40 ]; 40 41 41 42 gamesPackages = with gnome3; [ swell-foop lightsoff iagno ··· 296 297 gnome-photos = callPackage ./apps/gnome-photos { 297 298 gegl = gegl_0_3; 298 299 }; 300 + 301 + gnome-power-manager = callPackage ./apps/gnome-power-manager { }; 299 302 300 303 gnome-weather = callPackage ./apps/gnome-weather { }; 301 304
+28
pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix
··· 1 + { stdenv, fetchFromGitHub }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "gnome-shell-extension-clipboard-indicator-${version}"; 5 + version = "30"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "Tudmotu"; 9 + repo = "gnome-shell-extension-clipboard-indicator"; 10 + rev = "v${version}"; 11 + sha256 = "1fmgmxv2y678bj0kmymkgnnglcpqk8ww053izlq46xg7s27jjdf6"; 12 + }; 13 + 14 + uuid = "clipboard-indicator@tudmotu.com"; 15 + 16 + installPhase = '' 17 + mkdir -p $out/share/gnome-shell/extensions/${uuid} 18 + cp -r * $out/share/gnome-shell/extensions/${uuid} 19 + ''; 20 + 21 + meta = with stdenv.lib; { 22 + description = "Adds a clipboard indicator to the top panel and saves clipboard history"; 23 + license = licenses.mit; 24 + maintainers = with maintainers; [ jonafato ]; 25 + platforms = platforms.linux; 26 + homepage = https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator; 27 + }; 28 + }
+28
pkgs/desktops/gnome-3/extensions/icon-hider/default.nix
··· 1 + { stdenv, fetchFromGitHub }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "gnome-shell-extension-icon-hider-${version}"; 5 + version = "19"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "ikalnytskyi"; 9 + repo = "gnome-shell-extension-icon-hider"; 10 + rev = "v${version}"; 11 + sha256 = "0cifm6cmxwxrrrva41wvjvrzsdqaczfbillf2vv3wsb60dqr6h39"; 12 + }; 13 + 14 + uuid = "icon-hider@kalnitsky.org"; 15 + 16 + installPhase = '' 17 + mkdir -p $out/share/gnome-shell/extensions 18 + cp -r ${uuid} $out/share/gnome-shell/extensions 19 + ''; 20 + 21 + meta = with stdenv.lib; { 22 + description = "Icon Hider is a GNOME Shell extension for managing status area items"; 23 + license = licenses.bsd3; 24 + maintainers = with maintainers; [ jonafato ]; 25 + platforms = platforms.linux; 26 + homepage = https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider; 27 + }; 28 + }
+19 -6
pkgs/desktops/gnome-3/misc/gexiv2/default.nix
··· 1 - { stdenv, fetchurl, pkgconfig, exiv2, glib, libtool, m4, gnome3 }: 1 + { stdenv, fetchurl, meson, ninja, pkgconfig, exiv2, glib, gnome3, gobjectIntrospection, vala }: 2 2 3 3 let 4 4 majorVersion = "0.10"; 5 5 in 6 6 stdenv.mkDerivation rec { 7 7 name = "gexiv2-${version}"; 8 - version = "${majorVersion}.6"; 8 + version = "${majorVersion}.7"; 9 9 10 10 src = fetchurl { 11 11 url = "mirror://gnome/sources/gexiv2/${majorVersion}/${name}.tar.xz"; 12 - sha256 = "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"; 12 + sha256 = "1f7312zygw77ml37i5qilhfvmjm59dn753ax71rcb2jm1p76vgcb"; 13 13 }; 14 14 15 + patches = [ 16 + # Darwin compatibility (https://bugzilla.gnome.org/show_bug.cgi?id=791941) 17 + (fetchurl { 18 + url = https://bugzilla.gnome.org/attachment.cgi?id=365969; 19 + sha256 = "06w744acgnz3hym7sm8c245yzlg05ldkmwgiz3yz4pp6h72brizj"; 20 + }) 21 + # GIR & Vala bindings fix (https://bugzilla.gnome.org/show_bug.cgi?id=792431) 22 + (fetchurl { 23 + url = https://bugzilla.gnome.org/attachment.cgi?id=366662; 24 + sha256 = "1ljb2pap5v9z3zhx69ghfyrbl2b62ck35nyn7h5h410d008lcb4v"; 25 + }) 26 + ]; 27 + 15 28 preConfigure = '' 16 29 patchShebangs . 17 30 ''; 18 31 19 - nativeBuildInputs = [ pkgconfig ]; 20 - buildInputs = [ glib libtool m4 ]; 32 + nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection vala ]; 33 + buildInputs = [ glib ]; 21 34 propagatedBuildInputs = [ exiv2 ]; 22 35 23 36 meta = with stdenv.lib; { 24 37 homepage = https://wiki.gnome.org/Projects/gexiv2; 25 38 description = "GObject wrapper around the Exiv2 photo metadata library"; 26 - platforms = platforms.linux; 39 + platforms = platforms.unix; 27 40 maintainers = gnome3.maintainers; 28 41 }; 29 42 }
+2 -2
pkgs/development/beam-modules/lib.nix
··· 6 6 */ 7 7 callPackageWith = autoArgs: fn: args: 8 8 let 9 - f = if builtins.isFunction fn then fn else import fn; 10 - auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs; 9 + f = if pkgs.lib.isFunction fn then fn else import fn; 10 + auto = builtins.intersectAttrs (stdenv.lib.functionArgs f) autoArgs; 11 11 in f (auto // args); 12 12 13 13 callPackage = callPackageWith pkgs;
+2 -2
pkgs/development/haskell-modules/make-package-set.nix
··· 81 81 # lost on `.override`) but determine the auto-args based on `drv` (the problem here 82 82 # is that nix has no way to "passthrough" args while preserving the reflection 83 83 # info that callPackage uses to determine the arguments). 84 - drv = if builtins.isFunction fn then fn else import fn; 85 - auto = builtins.intersectAttrs (builtins.functionArgs drv) scope; 84 + drv = if stdenv.lib.isFunction fn then fn else import fn; 85 + auto = builtins.intersectAttrs (stdenv.lib.functionArgs drv) scope; 86 86 87 87 # this wraps the `drv` function to add a `overrideScope` function to the result. 88 88 drvScope = allArgs: drv allArgs // {
+1 -1
pkgs/development/libraries/audiofile/default.nix
··· 5 5 fetchDebianPatch = { name, debname, sha256 }: 6 6 fetchpatch { 7 7 inherit sha256 name; 8 - url = "https://anonscm.debian.org/cgit/pkg-multimedia/audiofile.git/plain/debian/patches/${debname}?h=debian/0.3.6-4"; 8 + url = "https://salsa.debian.org/multimedia-team/audiofile/raw/debian/0.3.6-4/debian/patches/${debname}"; 9 9 }; 10 10 11 11 in
+2 -2
pkgs/development/libraries/babl/default.nix
··· 1 1 { stdenv, fetchurl }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "babl-0.1.38"; 4 + name = "babl-0.1.42"; 5 5 6 6 src = fetchurl { 7 7 url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2"; 8 - sha256 = "11pfbyzq20596p9sgwraxspg3djg1jzz6wvz4bapf0yyr97jiyd0"; 8 + sha256 = "1wc7fyj9bfqfiwf1w33g3vv3wcl18pd9cxr9fc0iy391szrsynb8"; 9 9 }; 10 10 11 11 doCheck = true;
+8 -6
pkgs/development/libraries/gegl/3.0.nix
··· 3 3 , libwebp, gnome3 }: 4 4 5 5 stdenv.mkDerivation rec { 6 - name = "gegl-0.3.26"; 6 + name = "gegl-0.3.28"; 7 7 8 8 src = fetchurl { 9 9 url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2"; 10 - sha256 = "1a9zbi6ws0r0sqynvg2fh3ad0ipnphg7w62y7whlcrbpqi29izvf"; 10 + sha256 = "1zr3gmmzjhp2d3d3h51x80r5q7gs9rv67ywx69sif6as99h8fbqm"; 11 11 }; 12 + 13 + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; 12 14 13 15 hardeningDisable = [ "format" ]; 14 16 ··· 28 30 29 31 nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ]; 30 32 31 - meta = { 33 + meta = with stdenv.lib; { 32 34 description = "Graph-based image processing framework"; 33 35 homepage = http://www.gegl.org; 34 - license = stdenv.lib.licenses.gpl3; 35 - maintainers = with stdenv.lib.maintainers; [ jtojnar ]; 36 - platforms = stdenv.lib.platforms.linux; 36 + license = licenses.gpl3; 37 + maintainers = with maintainers; [ jtojnar ]; 38 + platforms = platforms.unix; 37 39 }; 38 40 }
+6 -2
pkgs/development/libraries/json-glib/default.nix
··· 1 - { stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext, gobjectIntrospection, dbus, libintlOrEmpty }: 1 + { stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext 2 + , gobjectIntrospection, dbus, libintlOrEmpty 3 + , fixDarwinDylibNames 4 + }: 2 5 3 6 stdenv.mkDerivation rec { 4 7 name = "json-glib-${minVer}.2"; ··· 11 14 12 15 propagatedBuildInputs = [ glib ]; 13 16 nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ]; 14 - buildInputs = libintlOrEmpty; 17 + buildInputs = libintlOrEmpty 18 + ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; 15 19 16 20 NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; 17 21
+3
pkgs/development/libraries/libqalculate/default.nix
··· 25 25 substituteInPlace libqalculate/Calculator.cc \ 26 26 --replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \ 27 27 --replace '"gnuplot -"' '"${gnuplot}/bin/gnuplot -"' 28 + '' + stdenv.lib.optionalString stdenv.cc.isClang '' 29 + substituteInPlace src/qalc.cc \ 30 + --replace 'printf(_("aborted"))' 'printf("%s", _("aborted"))' 28 31 ''; 29 32 30 33 preBuild = ''
+2 -2
pkgs/development/libraries/liburcu/default.nix
··· 1 1 { stdenv, fetchurl, perl }: 2 2 3 3 stdenv.mkDerivation rec { 4 - version = "0.9.3"; 4 + version = "0.9.5"; 5 5 name = "liburcu-${version}"; 6 6 7 7 src = fetchurl { 8 8 url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; 9 - sha256 = "01j0xp3f0w147yfyzybkjvb7i67i7prsvnkssgvgwry9lvk35khv"; 9 + sha256 = "19iq7985rhvbrj99hlmbyq2wjrkhssvigh5454mhaprn3c7jaj6r"; 10 10 }; 11 11 12 12 nativeBuildInputs = stdenv.lib.optional doCheck perl;
+1 -1
pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
··· 101 101 :separator \":\") 102 102 for l in sb-alien::*shared-objects* 103 103 for ns := (sb-alien::shared-object-namestring l) 104 - do (and (> (length ns) 0) (not (equal (elt ns 0) "/")) 104 + do (and (> (length ns) 0) (not (equal (elt ns 0) \"/\")) 105 105 (let* 106 106 ((prefix (find-if (lambda (s) (probe-file (format nil \"~a/~a\" s ns))) libpath)) 107 107 (fullpath (and prefix (format nil \"~a/~a\" prefix ns))))
+2
pkgs/development/lisp-modules/clwrapper/setup-hook.sh
··· 15 15 sbcl) NIX_LISP_COMMAND="$j" ;; 16 16 ecl) NIX_LISP_COMMAND="$j" ;; 17 17 clisp) NIX_LISP_COMMAND="$j" ;; 18 + lx86cl) NIX_LISP_COMMAND="$j" ;; 19 + lx86cl64) NIX_LISP_COMMAND="$j" ;; 18 20 esac 19 21 done 20 22 fi
+2 -2
pkgs/development/mobile/xpwn/default.nix
··· 1 - { stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb1, openssl }: 1 + { stdenv, fetchgit, cmake, zlib, libpng, bzip2, libusb, openssl }: 2 2 3 3 stdenv.mkDerivation { 4 4 name = "xpwn-0.5.8git"; ··· 18 18 sed -i -e '/install/d' CMakeLists.txt 19 19 ''; 20 20 21 - buildInputs = [ cmake zlib libpng bzip2 libusb1 openssl ]; 21 + buildInputs = [ cmake zlib libpng bzip2 libusb openssl ]; 22 22 23 23 cmakeFlags = [ 24 24 "-DCMAKE_OSX_DEPLOYMENT_TARGET="
+1 -1
pkgs/development/python-modules/aiohttp/cors.nix
··· 3 3 buildPythonPackage rec { 4 4 pname = "aiohttp-cors"; 5 5 version = "0.6.0"; 6 - name = "${pname}-${version}"; 6 + 7 7 src = fetchPypi { 8 8 inherit pname version; 9 9 sha256 = "1r0mb4dw0dc1lpi54dk5vxqs06nyhvagp76lyrvk7rd94z5mjkd4";
+1 -2
pkgs/development/python-modules/aiohttp/default.nix
··· 14 14 buildPythonPackage rec { 15 15 pname = "aiohttp"; 16 16 version = "2.3.9"; 17 - name = "${pname}-${version}"; 18 17 19 18 src = fetchPypi { 20 19 inherit pname version; ··· 33 32 license = with lib.licenses; [ asl20 ]; 34 33 homepage = https://github.com/KeepSafe/aiohttp/; 35 34 }; 36 - } 35 + }
+26
pkgs/development/python-modules/astral/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi, pytz, pytest }: 2 + 3 + buildPythonPackage rec { 4 + pname = "astral"; 5 + version = "1.4"; 6 + 7 + src = fetchPypi { 8 + inherit pname version; 9 + extension = "zip"; 10 + sha256 = "1zm1ypc6w279gh7lbgsfbzfxk2x4gihlq3rfh59hj70hmhjwiwp7"; 11 + }; 12 + 13 + propagatedBuildInputs = [ pytz ]; 14 + 15 + checkInputs = [ pytest ]; 16 + checkPhase = '' 17 + py.test -k "not test_GoogleLocator" 18 + ''; 19 + 20 + meta = with stdenv.lib; { 21 + description = "Calculations for the position of the sun and the moon"; 22 + homepage = https://github.com/sffjunkie/astral/; 23 + license = licenses.asl20; 24 + maintainers = with maintainers; [ flokli ]; 25 + }; 26 + }
+20
pkgs/development/python-modules/ptyprocess/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + }: 5 + 6 + buildPythonPackage rec { 7 + pname = "ptyprocess"; 8 + version = "0.5.2"; 9 + 10 + src = fetchPypi { 11 + inherit pname version; 12 + sha256 = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365"; 13 + }; 14 + 15 + meta = { 16 + description = "Run a subprocess in a pseudo terminal"; 17 + homepage = https://github.com/pexpect/ptyprocess; 18 + license = lib.licenses.isc; 19 + }; 20 + }
+20
pkgs/development/python-modules/pytest-aiohttp/default.nix
··· 1 + { stdenv, buildPythonPackage, fetchPypi, pytest, aiohttp }: 2 + 3 + buildPythonPackage rec { 4 + pname = "pytest-aiohttp"; 5 + version = "0.3.0"; 6 + 7 + src = fetchPypi { 8 + inherit pname version; 9 + sha256 = "0kx4mbs9bflycd8x9af0idcjhdgnzri3nw1qb0vpfyb3751qaaf9"; 10 + }; 11 + 12 + propagatedBuildInputs = [ pytest aiohttp ]; 13 + 14 + meta = with stdenv.lib; { 15 + homepage = https://github.com/aio-libs/pytest-aiohttp/; 16 + description = "Pytest plugin for aiohttp support"; 17 + license = licenses.asl20; 18 + maintainers = with maintainers; [ dotlambda ]; 19 + }; 20 + }
+31
pkgs/development/python-modules/xcffib/default.nix
··· 1 + { stdenv 2 + , buildPythonPackage 3 + , fetchPypi 4 + , xorg 5 + , cffi 6 + , six 7 + }: 8 + 9 + buildPythonPackage rec { 10 + version = "0.5.1"; 11 + pname = "xcffib"; 12 + 13 + src = fetchPypi { 14 + inherit pname version; 15 + sha256 = "09gbnmr5vn58mm8xi3fmd7fz6743cks6c46dphnxzwax6zsxmy60"; 16 + }; 17 + 18 + patchPhase = '' 19 + # Hardcode cairo library path 20 + sed -e 's,ffi\.dlopen(,&"${xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py 21 + ''; 22 + 23 + propagatedBuildInputs = [ cffi six ]; 24 + 25 + meta = with stdenv.lib; { 26 + description = "A drop in replacement for xpyb, an XCB python binding"; 27 + homepage = "https://github.com/tych0/xcffib"; 28 + license = licenses.asl20; 29 + maintainers = with maintainers; [ kamilchm ]; 30 + }; 31 + }
+1 -1
pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
··· 44 44 homepage = https://buildkite.com/docs/agent; 45 45 license = licenses.mit; 46 46 maintainers = with maintainers; [ pawelpacana zimbatm ]; 47 - platforms = platforms.linux; 47 + platforms = platforms.linux ++ platforms.darwin; 48 48 }; 49 49 }
+2 -2
pkgs/misc/cups/filters.nix
··· 9 9 10 10 in stdenv.mkDerivation rec { 11 11 name = "cups-filters-${version}"; 12 - version = "1.16.0"; 12 + version = "1.20.0"; 13 13 14 14 src = fetchurl { 15 15 url = "http://openprinting.org/download/cups-filters/${name}.tar.xz"; 16 - sha256 = "1kcndzpbbcaxafnz1wa6acy3p3r5likfqmf057i5q0q6i176lz5k"; 16 + sha256 = "0g6npicm1cwmxqi6ymfvf9wkplp4z2rzvjjl9v4yfvqdjq85gxnp"; 17 17 }; 18 18 19 19 nativeBuildInputs = [ pkgconfig makeWrapper ];
+3 -3
pkgs/misc/vim-plugins/default.nix
··· 777 777 }; 778 778 779 779 vim-elixir = buildVimPluginFrom2Nix { # created by nix#NixDerivation 780 - name = "vim-elixir-2017-10-20"; 780 + name = "vim-elixir-2018-02-01"; 781 781 src = fetchgit { 782 782 url = "https://github.com/elixir-lang/vim-elixir"; 783 - rev = "3066d5fb5e1c694e607b2bb5d8277266ca524262"; 784 - sha256 = "1j5sic3rssh2kaj73lv4m5sck3irn1jzgkpdr5qw7qi0gyfgpg81"; 783 + rev = "8ca41c1f02208dd5ca68c7bcb6c71b3b92f46af6"; 784 + sha256 = "0dp9cqflbwc3h1hzgn9fyaxhcn6q9bclgfy9kkgywp8zk5kwzb7p"; 785 785 }; 786 786 dependencies = []; 787 787
+1 -1
pkgs/os-specific/darwin/apple-source-releases/default.nix
··· 186 186 # There should be an IOVideo here, but they haven't released it :( 187 187 }; 188 188 189 - IOKitSrcs = stdenv.lib.mapAttrs (name: value: if builtins.isFunction value then value name else value) IOKitSpecs; 189 + IOKitSrcs = stdenv.lib.mapAttrs (name: value: if stdenv.lib.isFunction value then value name else value) IOKitSpecs; 190 190 191 191 adv_cmds = applePackage "adv_cmds" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {}; 192 192
+1 -1
pkgs/os-specific/darwin/maloader/default.nix
··· 6 6 src = fetchgit { 7 7 url = "git://github.com/shinh/maloader.git"; 8 8 rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442"; 9 - sha256 = "07j9b7n0grrbxxyn2h8pnk6pa8b370wq5z5zwbds8dlhi7q37rhn"; 9 + sha256 = "0dd1pn07x1y8pyn5wz8qcl1c1xwghyya4d060m3y9vx5dhv9xmzw"; 10 10 }; 11 11 12 12 postPatch = ''
+2 -2
pkgs/os-specific/linux/lttng-modules/default.nix
··· 3 3 stdenv.mkDerivation rec { 4 4 pname = "lttng-modules-${version}"; 5 5 name = "${pname}-${kernel.version}"; 6 - version = "2.10.0"; 6 + version = "2.10.5"; 7 7 8 8 src = fetchurl { 9 9 url = "http://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2"; 10 - sha256 = "1gzi7j97zymzfj6b7mlih35djflwfgg93b63q9rbs5w1kclmsrgz"; 10 + sha256 = "07rs01zwr4bmjamplix5qz1c6mb6wdawb68vyn0w6wx68ppbpnxq"; 11 11 }; 12 12 13 13 hardeningDisable = [ "pic" ];
+5 -5
pkgs/os-specific/linux/nvidia-x11/default.nix
··· 17 17 { 18 18 # Policy: use the highest stable version as the default (on our master). 19 19 stable = generic { 20 - version = "387.34"; 21 - sha256_32bit = "1haqk5h1fcmwp7kn9644k280wn409kh0xbivrj1ks8r8f4nbvfmq"; 22 - sha256_64bit = "06w8dw6hb40ymz6ax7v82j29ihmp3d7yxsi8ah9ch10jldl973z4"; 23 - settingsSha256 = "0dpm22ggpr93ypz24ap9vgx43ik7lw6cxcb29v8ys2iinhs7zm7s"; 24 - persistencedSha256 = "02lf9b6j85amc1vr84lj98q74a680nrx4fmpxj17cz597yq8s200"; 20 + version = "390.25"; 21 + sha256_32bit = "0fkbpx01l46pprrd4nlc2y6hfmkb55ddlwm1r84kr6j08qmmb0qi"; 22 + sha256_64bit = "0whsls1mm6vkll5qmxnyz8vjgspp1rmqpsampgi83k62n514c08r"; 23 + settingsSha256 = "1jhbr68z36s3fr9vx3ga2f6yrzlwpc0j5mw8h12g65p7wdsbk6y7"; 24 + persistencedSha256 = "033azbhi50f1b0lw759sncgf7ckh2m2c0khj5v15sch9kl1fzk8i"; 25 25 }; 26 26 27 27 beta = generic {
+2 -2
pkgs/servers/dns/knot-dns/default.nix
··· 7 7 # Note: ATM only the libraries have been tested in nixpkgs. 8 8 stdenv.mkDerivation rec { 9 9 name = "knot-dns-${version}"; 10 - version = "2.6.3"; 10 + version = "2.6.4"; 11 11 12 12 src = fetchurl { 13 13 url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; 14 - sha256 = "2fb27a4006865fc12873cbadc5b4a870ec65d3293a284972c031522282987790"; 14 + sha256 = "1d0d37b5047ecd554d927519d5565c29c1ba9b501c100eb5f3a5af184d75386a"; 15 15 }; 16 16 17 17 outputs = [ "bin" "out" "dev" ];
+41 -30
pkgs/servers/dns/knot-resolver/default.nix
··· 1 - { stdenv, fetchurl, pkgconfig, hexdump, which 1 + { stdenv, fetchurl, runCommand, pkgconfig, hexdump, which 2 2 , knot-dns, luajit, libuv, lmdb, gnutls, nettle 3 3 , cmocka, systemd, dns-root-data, makeWrapper 4 4 , extraFeatures ? false /* catch-all if defaults aren't enough */ 5 5 , hiredis, libmemcached, luajitPackages 6 6 }: 7 + let # un-indented, over the whole file 8 + 9 + result = if extraFeatures then wrapped-full else unwrapped; 7 10 8 - let 9 - inherit (stdenv.lib) optional optionals optionalString; 10 - in 11 - stdenv.mkDerivation rec { 11 + inherit (stdenv.lib) optional optionals optionalString concatStringsSep; 12 + 13 + unwrapped = stdenv.mkDerivation rec { 12 14 name = "knot-resolver-${version}"; 13 - version = "1.5.3"; 15 + version = "2.0.0"; 14 16 15 17 src = fetchurl { 16 18 url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz"; 17 - sha256 = "03sb05zz6qn966apcprdqhmirkz7kjdbx8hswbvgamk1s2xd7v6f"; 19 + sha256 = "b40d9dbef05031464dfff57712f476e7cddc0fda26b41daf660c5a33ea203ce0"; 18 20 }; 19 21 20 22 outputs = [ "out" "dev" ]; 21 23 22 24 configurePhase = ":"; 23 25 24 - nativeBuildInputs = [ pkgconfig which makeWrapper hexdump ]; 26 + nativeBuildInputs = [ pkgconfig which hexdump ]; 25 27 26 28 # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements 27 29 buildInputs = [ knot-dns luajit libuv gnutls nettle lmdb ] 28 - ++ optional doInstallCheck cmocka 30 + ++ optional doCheck cmocka 29 31 ++ optional stdenv.isLinux systemd # sd_notify 30 - ++ optionals extraFeatures [ 31 - hiredis libmemcached # additional cache backends 32 - ]; 33 - ## optional dependencies; TODO: libedit, dnstap, http2 module? 32 + ## optional dependencies; TODO: libedit, dnstap 33 + ; 34 34 35 - makeFlags = [ "PREFIX=$(out)" "ROOTHINTS=${dns-root-data}/root.hints" ]; 35 + makeFlags = [ 36 + "PREFIX=$(out)" 37 + "ROOTHINTS=${dns-root-data}/root.hints" 38 + "KEYFILE_DEFAULT=${dns-root-data}/root.ds" 39 + ]; 36 40 CFLAGS = [ "-O2" "-DNDEBUG" ]; 37 41 38 42 enableParallelBuilding = true; 39 43 40 44 doCheck = true; 41 - doInstallCheck = true; 45 + doInstallCheck = false; # FIXME 42 46 preInstallCheck = '' 43 47 patchShebangs tests/config/runtest.sh 44 48 ''; 45 49 46 50 postInstall = '' 47 - rm "$out"/etc/kresd/root.hints # using system-wide instead 48 - '' 49 - # optional: to allow auto-bootstrapping root trust anchor via https 50 - + (with luajitPackages; '' 51 - wrapProgram "$out/sbin/kresd" \ 52 - --set LUA_PATH '${ 53 - stdenv.lib.concatStringsSep ";" 54 - (map getLuaPath [ luasec luasocket ]) 55 - }' \ 56 - --set LUA_CPATH '${ 57 - stdenv.lib.concatStringsSep ";" 58 - (map getLuaCPath [ luasec luasocket ]) 59 - }' 60 - ''); 51 + rm "$out"/etc/knot-resolver/root.hints # using system-wide instead 52 + ''; 61 53 62 54 meta = with stdenv.lib; { 63 55 description = "Caching validating DNS resolver, from .cz domain registry"; ··· 67 59 platforms = filter (p: p != "aarch64-linux") platforms.unix; 68 60 maintainers = [ maintainers.vcunat /* upstream developer */ ]; 69 61 }; 70 - } 62 + }; 63 + 64 + wrapped-full = with luajitPackages; let 65 + luaPkgs = [ luasec luasocket ]; # TODO: cqueues and others for http2 module 66 + in runCommand unwrapped.name 67 + { 68 + nativeBuildInputs = [ makeWrapper ]; 69 + preferLocalBuild = true; 70 + allowSubstitutes = false; 71 + } 72 + '' 73 + mkdir -p "$out/sbin" "$out/share" 74 + makeWrapper '${unwrapped}/sbin/kresd' "$out"/sbin/kresd \ 75 + --set LUA_PATH '${concatStringsSep ";" (map getLuaPath luaPkgs)}' \ 76 + --set LUA_CPATH '${concatStringsSep ";" (map getLuaCPath luaPkgs)}' 77 + ln -sr '${unwrapped}/share/man' "$out"/share/ 78 + ln -sr "$out"/{sbin,bin} 79 + ''; 80 + 81 + in result 71 82
+72
pkgs/servers/home-assistant/default.nix
··· 1 + { stdenv, fetchFromGitHub, python3 2 + , extraPackages ? ps: [] 3 + , skipPip ? true }: 4 + 5 + let 6 + 7 + py = python3.override { 8 + packageOverrides = self: super: { 9 + yarl = super.yarl.overridePythonAttrs (oldAttrs: rec { 10 + version = "0.18.0"; 11 + src = oldAttrs.src.override { 12 + inherit version; 13 + sha256 = "11j8symkxh0ngvpddqpj85qmk6p70p20jca3alxc181gk3vx785s"; 14 + }; 15 + }); 16 + aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec { 17 + version = "2.3.7"; 18 + src = oldAttrs.src.override { 19 + inherit version; 20 + sha256 = "0fzfpx5ny7559xrxaawnylq20dvrkjiag0ypcd13frwwivrlsagy"; 21 + }; 22 + }); 23 + hass-frontend = super.callPackage ./frontend.nix { }; 24 + }; 25 + }; 26 + 27 + # Ensure that we are using a consistent package set 28 + extraBuildInputs = extraPackages py.pkgs; 29 + 30 + in with py.pkgs; buildPythonApplication rec { 31 + pname = "homeassistant"; 32 + version = "0.62.1"; 33 + 34 + diabled = !isPy3k; 35 + 36 + # PyPI tarball is missing tests/ directory 37 + src = fetchFromGitHub { 38 + owner = "home-assistant"; 39 + repo = "home-assistant"; 40 + rev = version; 41 + sha256 = "0151prwk2ci6bih0mdmc3r328nrvazn9jwk0w26wmd4cpvnb5h26"; 42 + }; 43 + 44 + propagatedBuildInputs = [ 45 + # From setup.py 46 + requests pyyaml pytz pip jinja2 voluptuous typing aiohttp yarl async-timeout chardet astral certifi 47 + # From the components that are part of the default configuration.yaml 48 + sqlalchemy aiohttp-cors hass-frontend user-agents distro mutagen xmltodict netdisco 49 + ] ++ extraBuildInputs; 50 + 51 + checkInputs = [ 52 + pytest requests-mock pydispatcher pytest-aiohttp 53 + ]; 54 + 55 + checkPhase = '' 56 + # The components' dependencies are not included, so they cannot be tested 57 + py.test --ignore tests/components 58 + # Some basic components should be tested however 59 + py.test \ 60 + tests/components/{group,http} \ 61 + tests/components/test_{api,configurator,demo,discovery,frontend,init,introduction,logger,script,shell_command,system_log,websocket_api}.py 62 + ''; 63 + 64 + makeWrapperArgs = [] ++ stdenv.lib.optional skipPip [ "--add-flags --skip-pip" ]; 65 + 66 + meta = with stdenv.lib; { 67 + homepage = https://home-assistant.io/; 68 + description = "Open-source home automation platform running on Python 3"; 69 + license = licenses.asl20; 70 + maintainers = with maintainers; [ f-breidenstein dotlambda ]; 71 + }; 72 + }
+11
pkgs/servers/home-assistant/frontend.nix
··· 1 + { stdenv, fetchPypi, buildPythonPackage }: 2 + 3 + buildPythonPackage rec { 4 + pname = "home-assistant-frontend"; 5 + version = "20180130.0"; 6 + 7 + src = fetchPypi { 8 + inherit pname version; 9 + sha256 = "0b9klisl7hh30rml8qlrp9gpz33z9b825pd1vxbck48k0s98z1zi"; 10 + }; 11 + }
+11 -1
pkgs/servers/mail/dovecot/default.nix
··· 1 - { stdenv, lib, fetchurl, perl, pkgconfig, systemd, openssl 1 + { stdenv, lib, fetchurl, fetchpatch, perl, pkgconfig, systemd, openssl 2 2 , bzip2, zlib, lz4, inotify-tools, pam, libcap 3 3 , clucene_core_2, icu, openldap, libsodium, libstemmer 4 4 # Auth modules ··· 47 47 # so we can symlink plugins from several packages there. 48 48 # The symlinking needs to be done in NixOS. 49 49 ./2.2.x-module_dir.patch 50 + (fetchpatch { 51 + name = "CVE-2017-14132_part1.patch"; 52 + url = https://github.com/dovecot/core/commit/1a29ed2f96da1be22fa5a4d96c7583aa81b8b060.patch; 53 + sha256 = "1pcfzxr8xlwbpa7z19grp7mlvdnan6ln8zw74dj4pdmynmlk4aw9"; 54 + }) 55 + (fetchpatch { 56 + name = "CVE-2017-14132_part2.patch"; 57 + url = https://github.com/dovecot/core/commit/a9b135760aea6d1790d447d351c56b78889dac22.patch; 58 + sha256 = "0082iid5rvjmh003xi9s09jld2rb31hbvni0yai1h1ggbmd5zf8l"; 59 + }) 50 60 ]; 51 61 52 62 configureFlags = [
-34
pkgs/servers/mail/dovecot/plugins/antispam/default.nix
··· 1 - { stdenv, fetchhg, autoconf, automake, dovecot, openssl }: 2 - 3 - stdenv.mkDerivation { 4 - name = "dovecot-antispam-20130429"; 5 - 6 - src = fetchhg { 7 - url = "http://hg.dovecot.org/dovecot-antispam-plugin/"; 8 - rev = "5ebc6aae4d7c"; 9 - sha256 = "181i79c9sf3a80mgmycfq1f77z7fpn3j2s0qiddrj16h3yklf4gv"; 10 - }; 11 - 12 - buildInputs = [ dovecot openssl ]; 13 - nativeBuildInputs = [ autoconf automake ]; 14 - 15 - preConfigure = '' 16 - ./autogen.sh 17 - # Ugly hack; any ideas? 18 - sed "s,^dovecot_moduledir=.*,dovecot_moduledir=$out/lib/dovecot," ${dovecot}/lib/dovecot/dovecot-config > dovecot-config 19 - ''; 20 - 21 - configureFlags = [ 22 - "--with-dovecot=." 23 - ]; 24 - 25 - enableParallelBuilding = true; 26 - 27 - meta = with stdenv.lib; { 28 - homepage = http://wiki2.dovecot.org/Plugins/Antispam; 29 - description = "An antispam plugin for the Dovecot IMAP server"; 30 - license = licenses.gpl2; 31 - maintainers = with maintainers; [ abbradar ]; 32 - platforms = platforms.linux; 33 - }; 34 - }
+1 -1
pkgs/servers/mail/postfix/default.nix
··· 90 90 meta = { 91 91 homepage = http://www.postfix.org/; 92 92 description = "A fast, easy to administer, and secure mail server"; 93 - license = lib.licenses.bsdOriginal; 93 + license = with lib.licenses; [ ipl10 epl20 ]; 94 94 platforms = lib.platforms.linux; 95 95 maintainers = [ lib.maintainers.rickynils ]; 96 96 };
+3 -2
pkgs/servers/mpd/clientlib.nix
··· 1 - { stdenv, fetchFromGitHub, meson, ninja }: 1 + { stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 version = "2.13"; ··· 11 11 sha256 = "1g1n6rk8kn87mbjqxxj0vi7haj8xx21xmqlzbrx2fvyp5357zvsq"; 12 12 }; 13 13 14 - nativeBuildInputs = [ meson ninja ]; 14 + nativeBuildInputs = [ meson ninja ] 15 + ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; 15 16 16 17 meta = with stdenv.lib; { 17 18 description = "Client library for MPD (music player daemon)";
+41
pkgs/servers/teleport/default.nix
··· 1 + # This file was generated by https://github.com/kamilchm/go2nix v2.0-dev 2 + { stdenv, buildGoPackage, zip, fetchFromGitHub }: 3 + 4 + buildGoPackage rec { 5 + name = "teleport-${version}"; 6 + version = "2.4.0"; 7 + 8 + # This repo has a private submodule "e" which fetchgit cannot handle without failing. 9 + src = fetchFromGitHub { 10 + owner = "gravitational"; 11 + repo = "teleport"; 12 + rev = "v${version}"; 13 + sha256 = "1x4xnqjyb87pzmn2c59fwmzfx1f2k0xhqn2xgki3722qmj2ss846"; 14 + }; 15 + 16 + goPackagePath = "github.com/gravitational/teleport"; 17 + subPackages = [ "tool/tctl" "tool/teleport" "tool/tsh" ]; 18 + buildInputs = [ zip ]; 19 + postBuild = '' 20 + pushd . 21 + cd $NIX_BUILD_TOP/go/src/github.com/gravitational/teleport 22 + mkdir -p build 23 + echo "making webassets" 24 + make build/webassets.zip 25 + cat build/webassets.zip >> $NIX_BUILD_TOP/go/bin/teleport 26 + rm -fr build/webassets.zip 27 + cd $NIX_BUILD_TOP/go/bin 28 + zip -q -A teleport 29 + popd 30 + ''; 31 + 32 + dontStrip = true; 33 + 34 + meta = { 35 + description = "A SSH CA management suite"; 36 + homepage = "https://gravitational.com/teleport/"; 37 + license = stdenv.lib.licenses.asl20; 38 + maintainers = [ stdenv.lib.maintainers.tomberek ]; 39 + platforms = stdenv.lib.platforms.linux; 40 + }; 41 + }
+2 -2
pkgs/tools/misc/ethtool/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "ethtool-${version}"; 5 - version = "4.13"; 5 + version = "4.15"; 6 6 7 7 src = fetchurl { 8 8 url = "mirror://kernel/software/network/ethtool/${name}.tar.xz"; 9 - sha256 = "1flwz4x76ajxigadq9knxgwr778g03y3qfx6c7rflc3x020a7hdp"; 9 + sha256 = "06pr3s7wg2pbvfbf7js61bgh3caff4qf50nqqk3cgz9z90rgvxvi"; 10 10 }; 11 11 12 12 meta = with stdenv.lib; {
+2 -2
pkgs/tools/misc/ncdu/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "ncdu-${version}"; 5 - version = "1.12"; 5 + version = "1.13"; 6 6 7 7 src = fetchurl { 8 8 url = "http://dev.yorhel.nl/download/${name}.tar.gz"; 9 - sha256 = "16j9fyw73y1lk05a35i4q9i66laklgsx41lz5rxfr8m28x3lw3l2"; 9 + sha256 = "0ni56ymlii577src4dzfbrq1mznbf6i0nka4bvh2sb1971f2ingl"; 10 10 }; 11 11 12 12 buildInputs = [ ncurses ];
+2 -2
pkgs/tools/misc/tlp/default.nix
··· 14 14 15 15 in stdenv.mkDerivation rec { 16 16 name = "tlp-${version}"; 17 - version = "1.0"; 17 + version = "1.1"; 18 18 19 19 src = fetchFromGitHub { 20 20 owner = "linrunner"; 21 21 repo = "TLP"; 22 22 rev = "${version}"; 23 - sha256 = "0gq1y1qnzwyv7cw32g4ymlfssi2ayrbnd04y4l242k6n41d05bij"; 23 + sha256 = "01bhb9hdsck1g2s5jvafr3ywml9k2qz7x2cf42a3z8g5d23pdfpy"; 24 24 }; 25 25 26 26 makeFlags = [ "DESTDIR=$(out)"
+7 -4
pkgs/tools/misc/ttwatch/default.nix
··· 1 - { stdenv, fetchFromGitHub, cmake, perl, openssl, curl, libusb1 }: 1 + { stdenv, fetchFromGitHub, cmake, perl, openssl, curl, libusb1 2 + , enableUnsafe ? false }: 2 3 3 4 stdenv.mkDerivation rec { 4 5 name = "ttwatch-${version}"; 5 - version = "2017-12-31"; 6 + version = "2018-02-01"; 6 7 7 8 src = fetchFromGitHub { 8 9 owner = "ryanbinns"; 9 10 repo = "ttwatch"; 10 - rev = "a261851d91e3304a47a04995758f6940747bc54a"; 11 - sha256 = "0llcai1yxikh8nvzry71rr1zz365rg0k0lwp24np5w74kzza3kwx"; 11 + rev = "b5c54647ed9b640584e53c4c15ee12d210790021"; 12 + sha256 = "136sskz9hnbwp49gxp983mswzgpl8yfc25ni79csbsnwp0k4lb94"; 12 13 }; 13 14 14 15 nativeBuildInputs = [ cmake perl ]; 15 16 buildInputs = [ openssl curl libusb1 ]; 17 + 18 + cmakeFlags = stdenv.lib.optional enableUnsafe [ "-Dunsafe=on" ]; 16 19 17 20 preFixup = '' 18 21 chmod +x $out/bin/ttbin2mysports
+3
pkgs/tools/system/awstats/default.nix
··· 41 41 mv wwwroot "$out/wwwroot" 42 42 rm -r "$out/wwwroot/classes/src/" 43 43 44 + mkdir -p "$out/share/awstats" 45 + mv tools "$out/share/awstats/tools" 46 + 44 47 mkdir -p "$bin/bin" 45 48 ln -s "$out/wwwroot/cgi-bin/awstats.pl" "$bin/bin/awstats" 46 49
+2 -2
pkgs/tools/system/supervise/default.nix
··· 3 3 stdenv.mkDerivation rec { 4 4 5 5 name = "supervise-${version}"; 6 - version = "1.1.0"; 6 + version = "1.2.0"; 7 7 8 8 src = fetchzip { 9 9 url = "https://github.com/catern/supervise/releases/download/v${version}/supervise-${version}.tar.gz"; 10 - sha256 = "0i20znchvydk8ww31ka4b0wjkaizz38racwgvqj32idwhqgar5x2"; 10 + sha256 = "07v3197nf3jbx2w6jxzyk9b8p5qjj9irpr4jvv5lkfbi7s6rav3k"; 11 11 }; 12 12 13 13 meta = with stdenv.lib; {
+8 -2
pkgs/tools/typesetting/tex/texlive/default.nix
··· 37 37 /* # beware: the URL below changes contents continuously 38 38 curl http://mirror.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz \ 39 39 | xzcat | uniq -u | sed -rn -f ./tl2nix.sed > ./pkgs.nix */ 40 - orig = import ./pkgs.nix tl; # XXX XXX XXX FIXME: the file is probably too big now XXX XXX XXX XXX XXX XXX 41 - removeSelfDep = lib.mapAttrs (n: p: if p ? deps then p // { deps = lib.filterAttrs (dn: _: n != dn) p.deps; } else p); 40 + orig = import ./pkgs.nix tl; 41 + removeSelfDep = lib.mapAttrs 42 + (n: p: if p ? deps then p // { deps = lib.filterAttrs (dn: _: n != dn) p.deps; } 43 + else p); 42 44 clean = removeSelfDep (orig // { 43 45 # overrides of texlive.tlpdb 44 46 ··· 112 114 urls = args.urls or (if args ? url then [ args.url ] else 113 115 map (up: "${up}/${urlName}.tar.xz") urlPrefixes 114 116 ); 117 + 118 + # Upstream refuses to distribute stable tarballs, so we host snapshots on IPFS. 119 + # Common packages should get served from the binary cache anyway. 120 + # See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683 115 121 urlPrefixes = args.urlPrefixes or [ 116 122 http://146.185.144.154/texlive-2017 117 123 # IPFS GW is second, as it doesn't have a good time-outing behavior
+5 -1
pkgs/top-level/aliases.nix
··· 24 24 ### Deprecated aliases - for backward compatibility 25 25 26 26 mapAliases (rec { 27 - accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19 27 + _2048-in-terminal = "2048-in-terminal"; # added 2017-01-16 28 + _2bwm = "2bwm"; # added 2017-01-16 29 + _389-ds-base = "389-ds-base"; # added 2017-01-16 30 + _90secondportraits = "90secondsportraits"; # added 2017-01-16 31 + accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19 28 32 adobeReader = adobe-reader; # added 2013-11-04 29 33 aircrackng = aircrack-ng; # added 2016-01-14 30 34 ammonite-repl = ammonite; # added 2017-05-02
+14 -7
pkgs/top-level/all-packages.nix
··· 4831 4831 4832 4832 telegraf = callPackage ../servers/monitoring/telegraf { }; 4833 4833 4834 + teleport = callPackage ../servers/teleport {}; 4835 + 4834 4836 telepresence = callPackage ../tools/networking/telepresence { }; 4835 4837 4836 4838 tewisay = callPackage ../tools/misc/tewisay { }; ··· 7340 7342 7341 7343 cide = callPackage ../development/tools/continuous-integration/cide { }; 7342 7344 7343 - "cl-launch" = callPackage ../development/tools/misc/cl-launch {}; 7345 + cl-launch = callPackage ../development/tools/misc/cl-launch {}; 7344 7346 7345 7347 cloudfoundry-cli = callPackage ../development/tools/cloudfoundry-cli { }; 7346 7348 ··· 11780 11782 11781 11783 ### SERVERS 11782 11784 11783 - "389-ds-base" = callPackage ../servers/ldap/389 { 11785 + _389-ds-base = callPackage ../servers/ldap/389 { 11784 11786 kerberos = libkrb5; 11785 11787 }; 11786 11788 ··· 11901 11903 11902 11904 dovecot = callPackage ../servers/mail/dovecot { }; 11903 11905 dovecot_pigeonhole = callPackage ../servers/mail/dovecot/plugins/pigeonhole { }; 11904 - dovecot_antispam = callPackage ../servers/mail/dovecot/plugins/antispam { }; 11905 11906 11906 11907 dspam = callPackage ../servers/mail/dspam { 11907 11908 inherit (perlPackages) NetSMTP; ··· 11975 11976 hbase = callPackage ../servers/hbase {}; 11976 11977 11977 11978 hiawatha = callPackage ../servers/http/hiawatha {}; 11979 + 11980 + home-assistant = callPackage ../servers/home-assistant { }; 11978 11981 11979 11982 ircdHybrid = callPackage ../servers/irc/ircd-hybrid { }; 11980 11983 ··· 14104 14107 14105 14108 ### APPLICATIONS 14106 14109 14107 - "2bwm" = callPackage ../applications/window-managers/2bwm { 14110 + _2bwm = callPackage ../applications/window-managers/2bwm { 14108 14111 patches = config."2bwm".patches or []; 14109 14112 }; 14110 14113 ··· 15009 15012 inherit (gnome3) evince; 15010 15013 evolution_data_server = gnome3.evolution_data_server; 15011 15014 15012 - keepass = callPackage ../applications/misc/keepass { 15015 + keepass = callPackage ../applications/misc/keepass { 15013 15016 buildDotnetPackage = buildDotnetPackage.override { mono = mono54; }; 15014 15017 }; 15015 15018 ··· 16036 16039 lilyterm-git = lilyterm.override { 16037 16040 flavour = "git"; 16038 16041 }; 16042 + 16043 + looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { }; 16039 16044 16040 16045 lumail = callPackage ../applications/networking/mailreaders/lumail { }; 16041 16046 ··· 18136 18141 18137 18142 ### GAMES 18138 18143 18139 - "2048-in-terminal" = callPackage ../games/2048-in-terminal { }; 18144 + _2048-in-terminal = callPackage ../games/2048-in-terminal { }; 18140 18145 18141 - "90secondportraits" = callPackage ../games/90secondportraits { love = love_0_10; }; 18146 + _90secondportraits = callPackage ../games/90secondportraits { love = love_0_10; }; 18142 18147 18143 18148 adom = callPackage ../games/adom { }; 18144 18149 ··· 18873 18878 18874 18879 gnomeExtensions = { 18875 18880 caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { }; 18881 + clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { }; 18876 18882 dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { }; 18877 18883 dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { }; 18884 + icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { }; 18878 18885 mediaplayer = callPackage ../desktops/gnome-3/extensions/mediaplayer { }; 18879 18886 nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { }; 18880 18887 pixel-saver = callPackage ../desktops/gnome-3/extensions/pixel-saver { };
+1 -1
pkgs/top-level/default.nix
··· 49 49 # { /* the config */ } and 50 50 # { pkgs, ... } : { /* the config */ } 51 51 config = 52 - if builtins.isFunction configExpr 52 + if lib.isFunction configExpr 53 53 then configExpr { inherit pkgs; } 54 54 else configExpr; 55 55
+7 -39
pkgs/top-level/python-packages.nix
··· 40 40 makeOverridablePythonPackage = f: origArgs: 41 41 let 42 42 ff = f origArgs; 43 - overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs); 43 + overrideWith = newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs); 44 44 in 45 45 if builtins.isAttrs ff then (ff // { 46 46 overridePythonAttrs = newArgs: makeOverridablePythonPackage f (overrideWith newArgs); ··· 164 164 asana = callPackage ../development/python-modules/asana { }; 165 165 166 166 asn1crypto = callPackage ../development/python-modules/asn1crypto { }; 167 + 168 + astral = callPackage ../development/python-modules/astral { }; 167 169 168 170 astropy = callPackage ../development/python-modules/astropy { }; 169 171 ··· 3214 3216 pytest-httpbin = callPackage ../development/python-modules/pytest-httpbin { }; 3215 3217 3216 3218 pytest-asyncio = callPackage ../development/python-modules/pytest-asyncio { }; 3219 + 3220 + pytest-aiohttp = callPackage ../development/python-modules/pytest-aiohttp { }; 3217 3221 3218 3222 pytestcache = buildPythonPackage rec { 3219 3223 name = "pytest-cache-1.0"; ··· 14446 14450 }; 14447 14451 }; 14448 14452 14449 - ptyprocess = buildPythonPackage rec { 14450 - name = "ptyprocess-${version}"; 14451 - version = "0.5"; 14452 - 14453 - src = pkgs.fetchurl { 14454 - url = "mirror://pypi/p/ptyprocess/${name}.tar.gz"; 14455 - sha256= "dcb78fb2197b49ca1b7b2f37b047bc89c0da7a90f90bd5bc17c3ce388bb6ef59"; 14456 - }; 14457 - 14458 - meta = { 14459 - description = "Run a subprocess in a pseudo terminal"; 14460 - homepage = https://github.com/pexpect/ptyprocess; 14461 - license = licenses.isc; 14462 - }; 14463 - }; 14453 + ptyprocess = callPackage ../development/python-modules/ptyprocess { }; 14464 14454 14465 14455 pylibacl = callPackage ../development/python-modules/pylibacl { }; 14466 14456 ··· 21012 21002 21013 21003 pluggy = callPackage ../development/python-modules/pluggy {}; 21014 21004 21015 - xcffib = buildPythonPackage rec { 21016 - version = "0.3.2"; 21017 - name = "xcffib-${version}"; 21018 - 21019 - src = pkgs.fetchurl { 21020 - url = "mirror://pypi/x/xcffib/${name}.tar.gz"; 21021 - sha256 = "a84eecd5a1bb7570e26c83aca87a2016578ca4e353e1fa56189e95bdef063e6a"; 21022 - }; 21023 - 21024 - patchPhase = '' 21025 - # Hardcode cairo library path 21026 - sed -e 's,ffi\.dlopen(,&"${pkgs.xorg.libxcb.out}/lib/" + ,' -i xcffib/__init__.py 21027 - ''; 21028 - 21029 - propagatedBuildInputs = [ self.cffi self.six ]; 21030 - 21031 - meta = { 21032 - description = "A drop in replacement for xpyb, an XCB python binding"; 21033 - homepage = "https://github.com/tych0/xcffib"; 21034 - license = licenses.asl20; 21035 - maintainers = with maintainers; [ kamilchm ]; 21036 - }; 21037 - }; 21005 + xcffib = callPackage ../development/python-modules/xcffib {}; 21038 21006 21039 21007 pafy = callPackage ../development/python-modules/pafy { }; 21040 21008