Merge #18007: add llvmPackages_39

+1456 -328
+27 -9
doc/languages-frameworks/python.md
··· 715 715 In the following example we change the name of the package `pandas` to `foo`. 716 716 ``` 717 717 newpkgs = pkgs.overridePackages(self: super: rec { 718 - python35Packages = super.python35Packages.override { 719 - self = python35Packages // { pandas = python35Packages.pandas.override{name="foo";};}; 718 + python35Packages = (super.python35Packages.override { self = python35Packages;}) 719 + // { pandas = super.python35Packages.pandas.override {name = "foo";}; 720 720 }; 721 721 }); 722 722 ``` ··· 727 727 (let 728 728 729 729 newpkgs = pkgs.overridePackages(self: super: rec { 730 - python35Packages = super.python35Packages.override { 731 - self = python35Packages // { pandas = python35Packages.pandas.override{name="foo";};}; 730 + python35Packages = (super.python35Packages.override { self = python35Packages;}) 731 + // { pandas = super.python35Packages.pandas.override {name = "foo";}; 732 732 }; 733 733 }); 734 734 in newpkgs.python35.withPackages (ps: [ps.blaze]) ··· 743 743 744 744 newpkgs = pkgs.overridePackages(self: super: rec { 745 745 python35Packages = super.python35Packages.override { 746 - self = python35Packages // { scipy = python35Packages.scipy_0_16;}; 746 + self = python35Packages // { scipy = python35Packages.scipy_0_17;}; 747 747 }; 748 748 }); 749 749 in newpkgs.python35.withPackages (ps: [ps.blaze]) ··· 751 751 ``` 752 752 The requested package `blaze` depends upon `pandas` which itself depends on `scipy`. 753 753 754 + A similar example but now using `django` 755 + ``` 756 + with import <nixpkgs> {}; 757 + 758 + (let 759 + 760 + newpkgs = pkgs.overridePackages(self: super: rec { 761 + python27Packages = (super.python27Packages.override {self = python27Packages;}) 762 + // { django = super.python27Packages.django_1_9; }; 763 + }); 764 + in newpkgs.python27.withPackages (ps: [ps.django_guardian ]) 765 + ).env 766 + ``` 767 + 754 768 ### `python setup.py bdist_wheel` cannot create .whl 755 769 756 - Executing `python setup.py bdist_wheel` fails with 770 + Executing `python setup.py bdist_wheel` in a `nix-shell `fails with 757 771 ``` 758 772 ValueError: ZIP does not support timestamps before 1980 759 773 ``` 760 774 This is because files are included that depend on items in the Nix store which have a timestamp of, that is, it corresponds to January the 1st, 1970 at 00:00:00. And as the error informs you, ZIP does not support that. 761 - Fortunately `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`. On Nix this value is set to 1. By setting it to a value correspond to 1980 or later it is possible to build wheels. 775 + The command `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`, and `nix-shell` sets this to 1. By setting it to a value corresponding to 1980 or later, or by unsetting it, it is possible to build wheels. 762 776 763 777 Use 1980 as timestamp: 764 778 ``` 765 - SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel 779 + nix-shell --run "SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel" 766 780 ``` 767 781 or the current time: 768 782 ``` 769 - SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel 783 + nix-shell --run "SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel" 770 784 ``` 785 + or unset: 786 + """ 787 + nix-shell --run "unset SOURCE_DATE_EPOCH; python3 setup.py bdist_wheel" 788 + """ 771 789 772 790 ### `install_data` / `data_files` problems 773 791
+2 -2
lib/lists.nix
··· 218 218 partition (x: x > 2) [ 5 1 2 3 4 ] 219 219 => { right = [ 5 3 4 ]; wrong = [ 1 2 ]; } 220 220 */ 221 - partition = pred: 221 + partition = builtins.partition or (pred: 222 222 fold (h: t: 223 223 if pred h 224 224 then { right = [h] ++ t.right; wrong = t.wrong; } 225 225 else { right = t.right; wrong = [h] ++ t.wrong; } 226 - ) { right = []; wrong = []; }; 226 + ) { right = []; wrong = []; }); 227 227 228 228 /* Merges two lists of the same size together. If the sizes aren't the same 229 229 the merging stops at the shortest. How both lists are merged is defined
+2
lib/maintainers.nix
··· 273 273 mudri = "James Wood <lamudri@gmail.com>"; 274 274 muflax = "Stefan Dorn <mail@muflax.com>"; 275 275 myrl = "Myrl Hex <myrl.0xf@gmail.com>"; 276 + nand0p = "Fernando Jose Pando <nando@hex7.com>"; 276 277 nathan-gs = "Nathan Bijnens <nathan@nathan.gs>"; 277 278 Nate-Devv = "Nathan Moore <natedevv@gmail.com>"; 278 279 nckx = "Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>"; ··· 352 353 rvlander = "Gaëtan André <rvlander@gaetanandre.eu>"; 353 354 ryanartecona = "Ryan Artecona <ryanartecona@gmail.com>"; 354 355 ryantm = "Ryan Mulligan <ryan@ryantm.com>"; 356 + ryansydnor = "Ryan Sydnor <ryan.t.sydnor@gmail.com>"; 355 357 rycee = "Robert Helgesson <robert@rycee.net>"; 356 358 ryneeverett = "Ryne Everett <ryneeverett@gmail.com>"; 357 359 s1lvester = "Markus Silvester <s1lvester@bockhacker.me>";
-2
nixos/doc/manual/configuration/configuration.xml
··· 23 23 <xi:include href="x-windows.xml" /> 24 24 <xi:include href="networking.xml" /> 25 25 <xi:include href="linux-kernel.xml" /> 26 - <xi:include href="grsecurity.xml" /> 27 26 28 - <xi:include href="emacs.xml" /> 29 27 <xi:include href="modules.xml" xpointer="xpointer(//section[@id='modules']/*)" /> 30 28 31 29 <!-- Apache; libvirtd virtualisation -->
nixos/doc/manual/configuration/grsecurity.xml nixos/modules/security/grsecurity.xml
-6
nixos/doc/manual/default.nix
··· 63 63 '' 64 64 cp -prd $sources/* . # */ 65 65 chmod -R u+w . 66 - cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml 67 - cp ${../../modules/services/misc/gitlab.xml} configuration/gitlab.xml 68 - cp ${../../modules/services/misc/taskserver/doc.xml} configuration/taskserver.xml 69 - cp ${../../modules/security/acme.xml} configuration/acme.xml 70 - cp ${../../modules/i18n/input-method/default.xml} configuration/input-methods.xml 71 - cp ${../../modules/services/editors/emacs.xml} configuration/emacs.xml 72 66 ln -s ${modulesDoc} configuration/modules.xml 73 67 ln -s ${optionsDocBook} options-db.xml 74 68 echo "${version}" > version
+2 -2
nixos/modules/config/update-users-groups.pl
··· 52 52 $gidsUsed{$g->{gid}} = 1 if defined $g->{gid}; 53 53 } 54 54 55 - foreach my $u (@{$spec->{groups}}) { 56 - $uidsUsed{$u->{u}} = 1 if defined $u->{uid}; 55 + foreach my $u (@{$spec->{users}}) { 56 + $uidsUsed{$u->{uid}} = 1 if defined $u->{uid}; 57 57 } 58 58 59 59 # Read the current /etc/group.
+5
nixos/modules/security/grsecurity.nix
··· 20 20 in 21 21 22 22 { 23 + meta = { 24 + maintainers = with maintainers; [ joachifm ]; 25 + doc = ./grsecurity.xml; 26 + }; 27 + 23 28 options.security.grsecurity = { 24 29 25 30 enable = mkEnableOption "grsecurity/PaX";
+1 -18
nixos/modules/security/hidepid.nix
··· 20 20 config = mkIf config.security.hideProcessInformation { 21 21 users.groups.proc.gid = config.ids.gids.proc; 22 22 23 - systemd.services.hidepid = { 24 - wantedBy = [ "local-fs.target" ]; 25 - after = [ "systemd-remount-fs.service" ]; 26 - before = [ "local-fs-pre.target" "local-fs.target" "shutdown.target" ]; 27 - wants = [ "local-fs-pre.target" ]; 28 - 29 - serviceConfig = { 30 - Type = "oneshot"; 31 - RemainAfterExit = true; 32 - ExecStart = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=2,gid=${toString config.ids.gids.proc} /proc''; 33 - ExecStop = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=0,gid=0 /proc''; 34 - }; 35 - 36 - unitConfig = { 37 - DefaultDependencies = false; 38 - Conflicts = "shutdown.target"; 39 - }; 40 - }; 23 + fileSystems."/proc".options = [ "hidepid=2" "gid=${toString config.ids.gids.proc}" ]; 41 24 }; 42 25 }
+2
nixos/modules/services/editors/emacs.nix
··· 83 83 EDITOR = mkOverride 900 "${editorScript}/bin/emacseditor"; 84 84 } else {}; 85 85 }; 86 + 87 + meta.doc = ./emacs.xml; 86 88 }
+2
nixos/modules/services/mail/opensmtpd.nix
··· 109 109 after = [ "network.target" ]; 110 110 preStart = '' 111 111 mkdir -p /var/spool/smtpd 112 + chmod 711 /var/spool/smtpd 112 113 113 114 mkdir -p /var/spool/smtpd/offline 114 115 chown root.smtpq /var/spool/smtpd/offline 115 116 chmod 770 /var/spool/smtpd/offline 116 117 117 118 mkdir -p /var/spool/smtpd/purge 119 + chown smtpq.root /var/spool/smtpd/purge 118 120 chmod 700 /var/spool/smtpd/purge 119 121 ''; 120 122 serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
+1 -1
nixos/modules/services/misc/nix-daemon.nix
··· 311 311 nixPath = mkOption { 312 312 type = types.listOf types.str; 313 313 default = 314 - [ "/nix/var/nix/profiles/per-user/root/channels/nixos" 314 + [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs" 315 315 "nixos-config=/etc/nixos/configuration.nix" 316 316 "/nix/var/nix/profiles/per-user/root/channels" 317 317 ];
+19 -27
nixos/modules/services/networking/dnscrypt-proxy.nix
··· 28 28 in 29 29 30 30 { 31 + meta = { 32 + maintainers = with maintainers; [ joachifm ]; 33 + doc = ./dnscrypt-proxy.xml; 34 + }; 35 + 31 36 options = { 32 37 services.dnscrypt-proxy = { 33 - enable = mkEnableOption "dnscrypt-proxy" // { description = '' 34 - Whether to enable the DNSCrypt client proxy. The proxy relays 35 - DNS queries to a DNSCrypt enabled upstream resolver. The traffic 36 - between the client and the upstream resolver is encrypted and 37 - authenticated, mitigating the risk of MITM attacks and third-party 38 - snooping (assuming the upstream is trustworthy). 38 + enable = mkEnableOption "DNSCrypt client proxy"; 39 39 40 - Enabling this option does not alter the system nameserver; to relay 41 - local queries, prepend <literal>127.0.0.1</literal> to 42 - <option>networking.nameservers</option>. 43 - 44 - The recommended configuration is to run DNSCrypt proxy as a forwarder 45 - for a caching DNS client, as in 46 - <programlisting> 47 - { 48 - services.dnscrypt-proxy.enable = true; 49 - services.dnscrypt-proxy.localPort = 43; 50 - services.dnsmasq.enable = true; 51 - services.dnsmasq.servers = [ "127.0.0.1#43" ]; 52 - services.dnsmasq.resolveLocalQueries = true; # this is the default 53 - } 54 - </programlisting> 55 - ''; }; 56 40 localAddress = mkOption { 57 41 default = "127.0.0.1"; 58 42 type = types.str; ··· 62 46 of other machines (typically on the local network). 63 47 ''; 64 48 }; 49 + 65 50 localPort = mkOption { 66 51 default = 53; 67 52 type = types.int; ··· 72 57 to a different value; otherwise leave the default. 73 58 ''; 74 59 }; 60 + 75 61 resolverName = mkOption { 76 62 default = "dnscrypt.eu-nl"; 77 63 type = types.nullOr types.str; ··· 82 68 extensions, and claims to not keep logs. 83 69 ''; 84 70 }; 71 + 85 72 resolverList = mkOption { 86 73 description = '' 87 74 The list of upstream DNSCrypt resolvers. By default, we use the most ··· 94 81 }; 95 82 defaultText = "pkgs.fetchurl { url = ...; sha256 = ...; }"; 96 83 }; 84 + 97 85 customResolver = mkOption { 98 86 default = null; 99 87 description = '' ··· 103 91 type = types.nullOr (types.submodule ({ ... }: { options = { 104 92 address = mkOption { 105 93 type = types.str; 106 - description = "Resolver IP address"; 94 + description = "IP address"; 107 95 example = "208.67.220.220"; 108 96 }; 97 + 109 98 port = mkOption { 110 99 type = types.int; 111 - description = "Resolver port"; 100 + description = "Port"; 112 101 default = 443; 113 102 }; 103 + 114 104 name = mkOption { 115 105 type = types.str; 116 - description = "Provider fully qualified domain name"; 106 + description = "Fully qualified domain name"; 117 107 example = "2.dnscrypt-cert.opendns.com"; 118 108 }; 109 + 119 110 key = mkOption { 120 111 type = types.str; 121 - description = "Provider public key"; 112 + description = "Public key"; 122 113 example = "B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79"; 123 114 }; 124 115 }; })); 125 116 }; 117 + 126 118 tcpOnly = mkOption { 127 119 default = false; 128 120 type = types.bool; ··· 131 123 TCP instead of UDP (on port 443). Use only if the UDP port is blocked. 132 124 ''; 133 125 }; 126 + 134 127 ephemeralKeys = mkOption { 135 128 default = false; 136 129 type = types.bool; ··· 212 205 ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}"; 213 206 214 207 User = "dnscrypt-proxy"; 215 - Group = "dnscrypt-proxy"; 216 208 217 209 PrivateTmp = true; 218 210 PrivateDevices = true;
+76
nixos/modules/services/networking/dnscrypt-proxy.xml
··· 1 + <chapter xmlns="http://docbook.org/ns/docbook" 2 + xmlns:xlink="http://www.w3.org/1999/xlink" 3 + xmlns:xi="http://www.w3.org/2001/XInclude" 4 + version="5.0" 5 + xml:id="sec-dnscrypt-proxy"> 6 + 7 + <title>DNSCrypt client proxy</title> 8 + 9 + <para> 10 + The DNSCrypt client proxy relays DNS queries to a DNSCrypt enabled 11 + upstream resolver. The traffic between the client and the upstream 12 + resolver is encrypted and authenticated, mitigating the risk of MITM 13 + attacks, DNS poisoning attacks, and third-party snooping (assuming the 14 + upstream is trustworthy). 15 + </para> 16 + 17 + <sect1><title>Basic configuration</title> 18 + 19 + <para> 20 + To enable the client proxy, set 21 + <programlisting> 22 + services.dnscrypt-proxy.enable = true; 23 + </programlisting> 24 + </para> 25 + 26 + <para> 27 + Enabling the client proxy does not alter the system nameserver; to 28 + relay local queries, prepend <literal>127.0.0.1</literal> to 29 + <option>networking.nameservers</option>. 30 + </para> 31 + 32 + </sect1> 33 + 34 + <sect1><title>As a forwarder for a caching DNS client</title> 35 + 36 + <para> 37 + By default, DNSCrypt proxy acts as a transparent proxy for the 38 + system stub resolver. Because the client does not cache lookups, this 39 + setup can significantly slow down e.g., web browsing. The recommended 40 + configuration is to run DNSCrypt proxy as a forwarder for a caching DNS 41 + client. To achieve this, change the default proxy listening port to 42 + a non-standard value and point the caching client to it: 43 + <programlisting> 44 + services.dnscrypt-proxy.localPort = 43; 45 + </programlisting> 46 + </para> 47 + 48 + <sect2><title>dnsmasq</title> 49 + <para> 50 + <programlisting> 51 + { 52 + services.dnsmasq.enable = true; 53 + services.dnsmasq.servers = [ "127.0.0.1#43" ]; 54 + } 55 + </programlisting> 56 + </para> 57 + </sect2> 58 + 59 + <sect2><title>unbound</title> 60 + <para> 61 + <programlisting> 62 + { 63 + networking.nameservers = [ "127.0.0.1" ]; 64 + services.unbound.enable = true; 65 + services.unbound.forwardAddresses = [ "127.0.0.1@43" ]; 66 + services.unbound.extraConfig = '' 67 + do-not-query-localhost: no 68 + ''; 69 + } 70 + </programlisting> 71 + </para> 72 + </sect2> 73 + 74 + </sect1> 75 + 76 + </chapter>
+9 -3
nixos/modules/system/activation/activation-script.nix
··· 154 154 155 155 system.activationScripts.tmpfs = 156 156 '' 157 - ${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.devSize}" none /dev 158 - ${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.devShmSize}" none /dev/shm 159 - ${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.runSize}" none /run 157 + specialMount() { 158 + local device="$1" 159 + local mountPoint="$2" 160 + local options="$3" 161 + local fsType="$4" 162 + 163 + ${pkgs.utillinux}/bin/mount -t "$fsType" -o "remount,$options" "$device" "$mountPoint" 164 + } 165 + source ${config.system.build.earlyMountScript} 160 166 ''; 161 167 162 168 };
+14 -12
nixos/modules/system/boot/stage-1-init.sh
··· 59 59 echo "<<< NixOS Stage 1 >>>" 60 60 echo 61 61 62 - 63 - # Mount special file systems. 62 + # Make several required directories. 64 63 mkdir -p /etc/udev 65 64 touch /etc/fstab # to shut up mount 66 - touch /etc/mtab # to shut up mke2fs 65 + ln -s /proc/mounts /etc/mtab # to shut up mke2fs 67 66 touch /etc/udev/hwdb.bin # to shut up udev 68 67 touch /etc/initrd-release 69 - mkdir -p /proc 70 - mount -t proc proc /proc 71 - mkdir -p /sys 72 - mount -t sysfs sysfs /sys 73 - mount -t devtmpfs -o "size=@devSize@" devtmpfs /dev 74 - mkdir -p /run 75 - mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run 76 - mkdir /dev/pts 77 - mount -t devpts devpts /dev/pts 68 + 69 + # Mount special file systems. 70 + specialMount() { 71 + local device="$1" 72 + local mountPoint="$2" 73 + local options="$3" 74 + local fsType="$4" 75 + 76 + mkdir -m 0755 -p "$mountPoint" 77 + mount -n -t "$fsType" -o "$options" "$device" "$mountPoint" 78 + } 79 + source @earlyMountScript@ 78 80 79 81 # Log the script output to /dev/kmsg or /run/log/stage-1-init.log. 80 82 mkdir -p /tmp
+3 -1
nixos/modules/system/boot/stage-1.nix
··· 190 190 191 191 inherit udevRules extraUtils modulesClosure; 192 192 193 - inherit (config.boot) resumeDevice devSize runSize; 193 + inherit (config.boot) resumeDevice; 194 + 195 + inherit (config.system.build) earlyMountScript; 194 196 195 197 inherit (config.boot.initrd) checkJournalingFS 196 198 preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;
+10 -19
nixos/modules/system/boot/stage-2-init.sh
··· 37 37 # Likewise, stage 1 mounts /proc, /dev and /sys, so if we don't have a 38 38 # stage 1, we need to do that here. 39 39 if [ ! -e /proc/1 ]; then 40 - mkdir -m 0755 -p /proc 41 - mount -n -t proc proc /proc 42 - mkdir -m 0755 -p /dev 43 - mount -t devtmpfs devtmpfs /dev 44 - mkdir -m 0755 -p /sys 45 - mount -t sysfs sysfs /sys 40 + specialMount() { 41 + local device="$1" 42 + local mountPoint="$2" 43 + local options="$3" 44 + local fsType="$4" 45 + 46 + mkdir -m 0755 -p "$mountPoint" 47 + mount -n -t "$fsType" -o "$options" "$device" "$mountPoint" 48 + } 49 + source @earlyMountScript@ 46 50 fi 47 51 48 52 ··· 87 91 88 92 89 93 # More special file systems, initialise required directories. 90 - if ! mountpoint -q /dev/shm; then 91 - mkdir -m 0755 /dev/shm 92 - mount -t tmpfs -o "rw,nosuid,nodev,size=@devShmSize@" tmpfs /dev/shm 93 - fi 94 - mkdir -m 0755 -p /dev/pts 95 94 [ -e /proc/bus/usb ] && mount -t usbfs usbfs /proc/bus/usb # UML doesn't have USB by default 96 95 mkdir -m 01777 -p /tmp 97 96 mkdir -m 0755 -p /var /var/log /var/lib /var/db ··· 111 110 # Also get rid of temporary GC roots. 112 111 rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots 113 112 114 - 115 - # Create a tmpfs on /run to hold runtime state for programs such as 116 - # udev (if stage 1 hasn't already done so). 117 - if ! mountpoint -q /run; then 118 - rm -rf /run 119 - mkdir -m 0755 -p /run 120 - mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run 121 - fi 122 113 123 114 # Create a ramfs on /run/keys to hold secrets that shouldn't be 124 115 # written to disk (generally used for NixOps, harmless elsewhere).
+1 -2
nixos/modules/system/boot/stage-2.nix
··· 20 20 src = ./stage-2-init.sh; 21 21 shellDebug = "${pkgs.bashInteractive}/bin/bash"; 22 22 isExecutable = true; 23 - inherit (config.boot) devShmSize runSize; 24 23 inherit (config.nix) readOnlyStore; 25 24 inherit (config.networking) useHostResolvConf; 26 - ttyGid = config.ids.gids.tty; 25 + inherit (config.system.build) earlyMountScript; 27 26 path = 28 27 [ pkgs.coreutils 29 28 pkgs.utillinux
+37 -4
nixos/modules/tasks/filesystems.nix
··· 18 18 19 19 prioOption = prio: optionalString (prio != null) " pri=${toString prio}"; 20 20 21 + specialFSTypes = [ "proc" "sysfs" "tmpfs" "devtmpfs" "devpts" ]; 22 + 21 23 fileSystemOpts = { name, config, ... }: { 22 24 23 25 options = { ··· 97 99 description = "Disable running fsck on this filesystem."; 98 100 }; 99 101 102 + early = mkOption { 103 + default = false; 104 + type = types.bool; 105 + internal = true; 106 + description = '' 107 + Mount this filesystem very early during boot. At the moment of 108 + mounting no disks are exposed, so this option is primarily for 109 + special file systems. 110 + ''; 111 + }; 112 + 100 113 }; 101 114 102 115 config = { 103 116 mountPoint = mkDefault name; 104 - device = mkIf (config.fsType == "tmpfs") (mkDefault config.fsType); 117 + device = mkIf (elem config.fsType specialFSTypes) (mkDefault config.fsType); 105 118 options = mkIf config.autoResize [ "x-nixos.autoresize" ]; 106 119 107 120 # -F needed to allow bare block device without partitions ··· 110 123 111 124 }; 112 125 126 + # Makes sequence of `specialMount device mountPoint options fsType` commands. 127 + # `systemMount` should be defined in the sourcing script. 128 + makeSpecialMounts = mounts: 129 + pkgs.writeText "mounts.sh" (concatMapStringsSep "\n" (mount: '' 130 + specialMount "${mount.device}" "${mount.mountPoint}" "${concatStringsSep "," mount.options}" "${mount.fsType}" 131 + '') mounts); 132 + 113 133 in 114 134 115 135 { ··· 131 151 "/bigdisk".label = "bigdisk"; 132 152 } 133 153 ''; 134 - type = types.loaOf types.optionSet; 135 - options = [ fileSystemOpts ]; 154 + type = types.loaOf (types.submodule fileSystemOpts); 136 155 description = '' 137 156 The file systems to be mounted. It must include an entry for 138 157 the root directory (<literal>mountPoint = "/"</literal>). Each ··· 177 196 { assertion = ! (fileSystems' ? "cycle"); 178 197 message = "The ‘fileSystems’ option can't be topologically sorted: mountpoint dependency path ${ls " -> " fileSystems'.cycle} loops to ${ls ", " fileSystems'.loops}"; 179 198 } 199 + { assertion = all (x: !x.early || (x.label == null && !x.autoFormat && !x.autoResize)) fileSystems; 200 + message = "Early filesystems don't support mounting by label, auto formatting and resizing"; 201 + } 180 202 ]; 181 203 182 204 # Export for use in other modules 183 205 system.build.fileSystems = fileSystems; 206 + system.build.earlyMountScript = makeSpecialMounts (filter (fs: fs.early) fileSystems); 184 207 185 208 boot.supportedFilesystems = map (fs: fs.fsType) fileSystems; 186 209 ··· 211 234 + " " + (if skipCheck fs then "0" else 212 235 if fs.mountPoint == "/" then "1" else "2") 213 236 + "\n" 214 - ) fileSystems} 237 + ) (filter (fs: !fs.early) fileSystems)} 215 238 216 239 # Swap devices. 217 240 ${flip concatMapStrings config.swapDevices (sw: ··· 257 280 }; 258 281 259 282 in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems)); 283 + 284 + # Sync mount options with systemd's src/core/mount-setup.c: mount_table. 285 + fileSystems = mapAttrs (n: fs: fs // { early = true; }) { 286 + "/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; }; 287 + "/sys" = { fsType = "sysfs"; options = [ "nosuid" "noexec" "nodev" ]; }; 288 + "/run" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; }; 289 + "/dev" = { fsType = "devtmpfs"; options = [ "nosuid" "strictatime" "mode=755" "size=${config.boot.devSize}" ]; }; 290 + "/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; }; 291 + "/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "gid=${toString config.ids.gids.tty}" ]; }; 292 + }; 260 293 261 294 }; 262 295
-24
nixos/modules/virtualisation/amazon-grow-partition.nix
··· 1 - # This module automatically grows the root partition on Amazon EC2 HVM 2 - # instances. This allows an instance to be created with a bigger root 3 - # filesystem than provided by the AMI. 4 - 5 - { config, lib, pkgs, ... }: 6 - 7 - { 8 - config = lib.mkIf config.ec2.hvm { 9 - boot.initrd.extraUtilsCommands = '' 10 - copy_bin_and_libs ${pkgs.gawk}/bin/gawk 11 - copy_bin_and_libs ${pkgs.gnused}/bin/sed 12 - copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk 13 - cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart 14 - ln -s sed $out/bin/gnused 15 - ''; 16 - 17 - boot.initrd.postDeviceCommands = '' 18 - if [ -e /dev/xvda ] && [ -e /dev/xvda1 ]; then 19 - TMPDIR=/run sh $(type -P growpart) /dev/xvda 1 20 - udevadm settle 21 - fi 22 - ''; 23 - }; 24 - }
+3 -1
nixos/modules/virtualisation/amazon-image.nix
··· 11 11 let cfg = config.ec2; in 12 12 13 13 { 14 - imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-grow-partition.nix ./amazon-init.nix ]; 14 + imports = [ ../profiles/headless.nix ./ec2-data.nix ./grow-partition.nix ./amazon-init.nix ]; 15 15 16 16 config = { 17 + 18 + virtualisation.growPartition = cfg.hvm; 17 19 18 20 fileSystems."/" = { 19 21 device = "/dev/disk/by-label/nixos";
+17 -12
nixos/modules/virtualisation/containers.nix
··· 340 340 A specification of the desired configuration of this 341 341 container, as a NixOS module. 342 342 ''; 343 + type = lib.mkOptionType { 344 + name = "Toplevel NixOS config"; 345 + merge = loc: defs: (import ../../lib/eval-config.nix { 346 + inherit system; 347 + modules = 348 + let extraConfig = 349 + { boot.isContainer = true; 350 + networking.hostName = mkDefault name; 351 + networking.useDHCP = false; 352 + }; 353 + in [ extraConfig ] ++ (map (x: x.value) defs); 354 + prefix = [ "containers" name ]; 355 + }).config; 356 + }; 343 357 }; 344 358 345 359 path = mkOption { ··· 410 424 } // networkOptions; 411 425 412 426 config = mkMerge 413 - [ (mkIf options.config.isDefined { 414 - path = (import ../../lib/eval-config.nix { 415 - inherit system; 416 - modules = 417 - let extraConfig = 418 - { boot.isContainer = true; 419 - networking.hostName = mkDefault name; 420 - networking.useDHCP = false; 421 - }; 422 - in [ extraConfig config.config ]; 423 - prefix = [ "containers" name ]; 424 - }).config.system.build.toplevel; 427 + [ 428 + (mkIf options.config.isDefined { 429 + path = config.config.system.build.toplevel; 425 430 }) 426 431 ]; 427 432 }));
+41
nixos/modules/virtualisation/grow-partition.nix
··· 1 + # This module automatically grows the root partition on virtual machines. 2 + # This allows an instance to be created with a bigger root filesystem 3 + # than provided by the machine image. 4 + 5 + { config, lib, pkgs, ... }: 6 + 7 + { 8 + 9 + options = { 10 + 11 + virtualisation.growPartition = mkOption { 12 + type = types.bool; 13 + default = true; 14 + }; 15 + 16 + }; 17 + 18 + config = mkIf config.virtualisation.growPartition { 19 + 20 + boot.initrd.extraUtilsCommands = '' 21 + copy_bin_and_libs ${pkgs.gawk}/bin/gawk 22 + copy_bin_and_libs ${pkgs.gnused}/bin/sed 23 + copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk 24 + copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk 25 + cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart 26 + ln -s sed $out/bin/gnused 27 + ''; 28 + 29 + boot.initrd.postDeviceCommands = '' 30 + rootDevice="${config.fileSystems."/".device}" 31 + if [ -e "$rootDevice" ]; then 32 + rootDevice="$(readlink -f "$rootDevice")" 33 + parentDevice="$(lsblk -npo PKNAME "$rootDevice")" 34 + TMPDIR=/run sh $(type -P growpart) "$parentDevice" "''${rootDevice#$parentDevice}" 35 + udevadm settle 36 + fi 37 + ''; 38 + 39 + }; 40 + 41 + }
+6 -1
nixos/modules/virtualisation/virtualbox-image.nix
··· 8 8 9 9 in { 10 10 11 + imports = [ ./grow-partition.nix ]; 12 + 11 13 options = { 12 14 virtualbox = { 13 15 baseImageSize = mkOption { ··· 64 66 ''; 65 67 }; 66 68 67 - fileSystems."/".device = "/dev/disk/by-label/nixos"; 69 + fileSystems."/" = { 70 + device = "/dev/disk/by-label/nixos"; 71 + autoResize = true; 72 + }; 68 73 69 74 boot.loader.grub.device = "/dev/sda"; 70 75
+4
pkgs/applications/editors/emacs-24/default.nix
··· 44 44 45 45 postPatch = '' 46 46 sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el 47 + # emacs runs then dumps itself. In the process, it keeps a copy of the 48 + # PATH env var, holding all the build inputs in it's closure. 49 + # Prevent that by running the self-dumping emacs with an empty PATH. 50 + sed -i 's|^RUN_TEMACS = |&PATH= |' src/Makefile.in 47 51 ''; 48 52 49 53 buildInputs =
+20 -2
pkgs/applications/editors/manuskript/default.nix
··· 17 17 zlib 18 18 ]; 19 19 20 + patchPhase = '' 21 + substituteInPlace manuskript/ui/welcome.py \ 22 + --replace sample-projects $out/share/${name}/sample-projects 23 + ''; 24 + 20 25 buildPhase = ''''; 21 26 22 27 installPhase = '' 23 - mkdir -p $out 24 - cp -av * $out/ 28 + mkdir -p $out/share/${name} 29 + cp -av bin/ i18n/ libs/ manuskript/ resources/ icons/ $out 30 + cp -r sample-projects/ $out/share/${name} 25 31 ''; 26 32 27 33 doCheck = false; ··· 29 35 meta = { 30 36 description = "A open-source tool for writers"; 31 37 homepage = http://www.theologeek.ch/manuskript; 38 + longDescription = '' 39 + Manuskript is a tool for those writer who like to organize and 40 + plan everything before writing. The snowflake method can help you 41 + grow your idea into a book, by leading you step by step and asking 42 + you questions to go deeper. While writing, keep track of notes 43 + about every characters, plot, event, place in your story. 44 + 45 + Develop complex characters and keep track of all useful infos. 46 + Create intricate plots, linked to your characters, and use them to 47 + outline your story. Organize your ideas about the world your 48 + characters live in. 49 + ''; 32 50 license = stdenv.lib.licenses.gpl3; 33 51 maintainers = [ stdenv.lib.maintainers.steveej ]; 34 52 platforms = stdenv.lib.platforms.linux;
+2 -2
pkgs/applications/gis/qgis/default.nix
··· 5 5 }: 6 6 7 7 stdenv.mkDerivation rec { 8 - name = "qgis-2.16.1"; 8 + name = "qgis-2.16.2"; 9 9 10 10 buildInputs = [ gdal qt4 flex bison proj geos xlibsWrapper sqlite gsl qwt qscintilla 11 11 fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ ··· 25 25 26 26 src = fetchurl { 27 27 url = "http://qgis.org/downloads/${name}.tar.bz2"; 28 - sha256 = "4a526cd8ae76fc06bb2b6a158e86db5dc0c94545137a8233cd465ef867acdc8b"; 28 + sha256 = "0dll8klz0qfba4c1y7mp9k4y4azlay0sypvryicggllk1hna4w0n"; 29 29 }; 30 30 31 31 cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
+38
pkgs/applications/misc/audio/wavrsocvt/default.nix
··· 1 + { stdenv, fetchurl }: 2 + 3 + stdenv.mkDerivation { 4 + name = "wavrsocvt-1.0.2.0"; 5 + 6 + src = fetchurl { 7 + url = "http://bricxcc.sourceforge.net/wavrsocvt.tgz"; 8 + sha256 = "15qlvdfwbiclljj7075ycm78yzqahzrgl4ky8pymix5179acm05h"; 9 + }; 10 + 11 + phases = [ "unpackPhase" "installPhase" ]; 12 + 13 + unpackPhase = '' 14 + tar -zxf $src 15 + ''; 16 + 17 + installPhase = '' 18 + mkdir -p $out/bin 19 + cp wavrsocvt $out/bin 20 + ''; 21 + 22 + meta = with stdenv.lib; { 23 + description = "Convert .wav files into sound files for Lego NXT brick"; 24 + longDescription = '' 25 + wavrsocvt is a command-line utility which can be used from a 26 + terminal window or script to convert .wav files into sound 27 + files for the NXT brick (.rso files). It can also convert the 28 + other direction (i.e., .rso -> .wav). It can produce RSO files 29 + with a sample rate between 2000 and 16000 (the min/max range of 30 + supported sample rates in the standard NXT firmware). 31 + You can then upload these with e.g. nxt-python. 32 + ''; 33 + homepage = http://bricxcc.sourceforge.net/; 34 + license = licenses.mpl11; 35 + maintainers = with maintainers; [ leenaars ]; 36 + platforms = with platforms; linux; 37 + }; 38 + }
+2 -2
pkgs/applications/misc/timewarrior/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "timewarrior-${version}"; 5 - version = "1.0.0.beta1"; 5 + version = "1.0.0"; 6 6 7 7 enableParallelBuilding = true; 8 8 9 9 src = fetchurl { 10 10 url = "https://taskwarrior.org/download/timew-${version}.tar.gz"; 11 - sha256 = "1gkh07mw8hiqslw8ps35r9lp5jbdy93s0sdrcbp34dd5h99qx587"; 11 + sha256 = "1d8b9sjdbdld81n535iwip9igl16kcw452wa47fmndp8w487j0mc"; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ];
+23
pkgs/applications/misc/valauncher/default.nix
··· 1 + { stdenv, fetchFromGitHub, cmake, gtk3, vala_0_26, pkgconfig, gnome3 }: 2 + 3 + stdenv.mkDerivation rec { 4 + version = "1.2"; 5 + name = "valauncher-${version}"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "Mic92"; 9 + repo = "valauncher"; 10 + rev = "v${version}"; 11 + sha256 = "1d1gfmzmr5ra2rnjc6rbz31mf3hk7q04lh4i1hljgk7fh90dacb6"; 12 + }; 13 + 14 + buildInputs = [ cmake gtk3 vala_0_26 pkgconfig gnome3.libgee ]; 15 + 16 + meta = with stdenv.lib; { 17 + description = "A fast dmenu-like gtk3 application launcher"; 18 + homepage = https://github.com/Mic92/valauncher; 19 + license = licenses.mit; 20 + maintainers = with maintainers; [ mic92 ]; 21 + platforms = platforms.all; 22 + }; 23 + }
+8 -3
pkgs/applications/networking/irc/communi/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "communi-${version}"; 5 - version = "2016-01-03"; 5 + version = "2016-08-19"; 6 6 7 7 src = fetchgit { 8 8 url = "https://github.com/communi/communi-desktop.git"; 9 - rev = "ad1b9a30ed6c51940c0d2714b126a32b5d68c876"; 10 - sha256 = "0jx963pfvzk4dbk8mrmzfrhzybk5y6ib9yzaj662wliayrzj7vpg"; 9 + rev = "d516b01b1382a805de65f21f3475e0a8e64a97b5"; 10 + sha256 = "1pn7mr7ch1ck5qv9zdn3ril40c9kk6l04475564rpzf11jly76an"; 11 + fetchSubmodules = true; 11 12 }; 12 13 13 14 nativeBuildInputs = [ makeQtWrapper qmakeHook ]; ··· 32 33 wrapQtProgram "$out/bin/communi" 33 34 substituteInPlace "$out/share/applications/communi.desktop" \ 34 35 --replace "/usr/bin" "$out/bin" 36 + ''; 37 + 38 + postFixup = '' 39 + patchelf --set-rpath "$out/lib:$(patchelf --print-rpath $out/bin/.communi-wrapped)" $out/bin/.communi-wrapped 35 40 ''; 36 41 37 42 meta = with stdenv.lib; {
+31
pkgs/applications/networking/irc/qweechat/default.nix
··· 1 + { stdenv, fetchFromGitHub, python27Packages }: 2 + 3 + python27Packages.buildPythonApplication rec { 4 + version = "2016-07-29"; 5 + name = "qweechat-unstable-${version}"; 6 + namePrefix = ""; 7 + 8 + src = fetchFromGitHub { 9 + owner = "weechat"; 10 + repo = "qweechat"; 11 + rev = "f5e54d01691adb3abef47e051a6412186c33313c"; 12 + sha256 = "0dhlriwvkrsn7jj01p2wqhf2p63n9qd173jsgccgxlacm2zzvhaz"; 13 + }; 14 + 15 + prePatch = '' 16 + substituteInPlace setup.py \ 17 + --replace 'qweechat = qweechat.qweechat' 'qweechat = qweechat.qweechat:main' 18 + ''; 19 + 20 + propagatedBuildInputs = with python27Packages; [ 21 + pyside 22 + ]; 23 + 24 + meta = with stdenv.lib; { 25 + homepage = https://github.com/weechat/qweechat; 26 + description = "Qt remote GUI for WeeChat"; 27 + license = licenses.gpl3; 28 + maintainers = with maintainers; [ ramkromberg ]; 29 + platform = with platforms; linux; 30 + }; 31 + }
+7 -6
pkgs/applications/networking/pjsip/default.nix
··· 1 - {stdenv, fetchurl, openssl, libsamplerate}: 1 + { stdenv, fetchurl, openssl, libsamplerate, alsaLib }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "pjsip-2.1"; 4 + name = "pjsip-${version}"; 5 + version = "2.5.5"; 5 6 6 7 src = fetchurl { 7 - url = http://www.pjsip.org/release/2.1/pjproject-2.1.tar.bz2; 8 - md5 = "310eb63638dac93095f6a1fc8ee1f578"; 8 + url = "http://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2"; 9 + sha256 = "ab39207b761d3485199cd881410afeb2d171dff7c2bf75e8caae91c6dca508f3"; 9 10 }; 10 11 11 - buildInputs = [ openssl libsamplerate ]; 12 + buildInputs = [ openssl libsamplerate alsaLib ]; 12 13 13 14 postInstall = '' 14 15 mkdir -p $out/bin ··· 21 22 dontPatchELF = true; 22 23 23 24 meta = { 24 - description = "SIP stack and media stack for presence, im, and multimedia communication"; 25 + description = "A multimedia communication library written in C, implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE"; 25 26 homepage = http://pjsip.org/; 26 27 license = stdenv.lib.licenses.gpl2Plus; 27 28 maintainers = with stdenv.lib.maintainers; [viric];
+10
pkgs/applications/office/libreoffice/still.nix
··· 69 69 sha256 = "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x"; 70 70 }; 71 71 72 + # we only have this problem on i686 ATM 73 + patches = if stdenv.is64bit then null else [ 74 + (fetchurl { 75 + name = "disable-flaky-tests.diff"; 76 + url = "https://anonscm.debian.org/git/pkg-openoffice/libreoffice.git/plain" 77 + + "/patches/disable-flaky-tests.diff?h=libreoffice_5.1.5_rc2-1"; 78 + sha256 = "1v1aiqdi64iijjraj6v4ljzclrd9lqan54hmy2h6m20x3ab005wb"; 79 + }) 80 + ]; 81 + 72 82 # Openoffice will open libcups dynamically, so we link it directly 73 83 # to make its dlopen work. 74 84 # It also seems not to mention libdl explicitly in some places.
+2 -2
pkgs/applications/video/mkvtoolnix/default.nix
··· 10 10 11 11 stdenv.mkDerivation rec { 12 12 name = "mkvtoolnix-${version}"; 13 - version = "9.3.1"; 13 + version = "9.4.0"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "mbunkus"; 17 17 repo = "mkvtoolnix"; 18 18 rev = "release-${version}"; 19 - sha256 = "1vipznja07nr7gmzdbv93dv2ggmw4x1bh6xxnn13k3fk6ysqh163"; 19 + sha256 = "0bmr0cnxp56flak6fjcn0ld5238h3ngrvy09yqp4790g8xwif35v"; 20 20 }; 21 21 22 22 nativeBuildInputs = [ pkgconfig autoconf automake gettext ruby ];
+7 -9
pkgs/applications/video/qarte/default.nix
··· 1 - { stdenv, fetchbzr, pythonPackages, rtmpdump, makeWrapper }: 1 + { stdenv, fetchbzr, python3, rtmpdump, makeWrapper }: 2 2 3 3 let 4 - inherit (pythonPackages) python pyqt4 sip; 4 + pythonEnv = python3.withPackages (ps: with ps; [ pyqt5 sip ]); 5 5 in stdenv.mkDerivation { 6 - name = "qarte-2.4.0"; 6 + name = "qarte-3.2.0"; 7 7 src = fetchbzr { 8 - url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk; 9 - rev = "150"; 10 - sha256 = "0fj11jx9l5qi968c906rrksdic7w4yj414m47k6axlb4v6ghdnar"; 8 + url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-3; 9 + rev = "146"; 10 + sha256 = "0dvl38dknmnj2p4yr25p88kw3mh502c6qdp2bd43bhd2sqc3b0v0"; 11 11 }; 12 12 13 - buildInputs = [ makeWrapper ]; 13 + buildInputs = [ makeWrapper pythonEnv ]; 14 14 15 15 installPhase = '' 16 16 mkdir -p $out/bin 17 17 mv qarte $out/bin/ 18 18 substituteInPlace $out/bin/qarte \ 19 - --replace '/usr/bin/python' "${python.interpreter}" \ 20 19 --replace '/usr/share' "$out/share" 21 20 wrapProgram $out/bin/qarte \ 22 - --prefix PYTHONPATH : "${pyqt4}/lib/${python.libPrefix}/site-packages:${sip}/lib/${python.libPrefix}/site-packages" \ 23 21 --prefix PATH : "${rtmpdump}/bin" 24 22 25 23 mkdir -p $out/share/man/man1/
+31
pkgs/data/fonts/roboto/default.nix
··· 1 + { stdenv, fetchurl, unzip }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "roboto-${version}"; 5 + version = "2.134"; 6 + 7 + src = fetchurl { 8 + url = "https://github.com/google/roboto/releases/download/v${version}/roboto-unhinted.zip"; 9 + sha256 = "1l033xc2n4754gwakxshh5235cnrnzy7q6zsp5zghn8ib0gdp5rb"; 10 + }; 11 + 12 + nativeBuildInputs = [ unzip ]; 13 + 14 + installPhase = '' 15 + mkdir -p $out/share/fonts/truetype 16 + cp -a * $out/share/fonts/truetype/ 17 + ''; 18 + 19 + meta = { 20 + homepage = https://github.com/google/roboto; 21 + description = "The Roboto family of fonts"; 22 + longDescription = '' 23 + Google’s signature family of fonts, the default font on Android and 24 + Chrome OS, and the recommended font for Google’s visual language, 25 + Material Design. 26 + ''; 27 + license = stdenv.lib.licenses.asl20; 28 + maintainers = [ stdenv.lib.maintainers.romildo ]; 29 + platforms = stdenv.lib.platforms.all; 30 + }; 31 + }
+1 -1
pkgs/development/beam-modules/build-rebar3.nix
··· 49 49 50 50 postPatch = '' 51 51 rm -f rebar rebar3 52 - ''; 52 + '' + postPatch; 53 53 54 54 configurePhase = if configurePhase == null 55 55 then ''
+57
pkgs/development/compilers/llvm/3.9/clang/default.nix
··· 1 + { stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src, python }: 2 + 3 + let 4 + gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc; 5 + self = stdenv.mkDerivation { 6 + name = "clang-${version}"; 7 + 8 + unpackPhase = '' 9 + unpackFile ${fetch "cfe" "0a1x32rxrq4ln079xf58irg56gjdxcfgwa00ws4hqv9pv73sg5km"} 10 + mv cfe-${version}.src clang 11 + sourceRoot=$PWD/clang 12 + unpackFile ${clang-tools-extra_src} 13 + mv clang-tools-extra-* $sourceRoot/tools/extra 14 + ''; 15 + 16 + buildInputs = [ cmake libedit libxml2 llvm python ]; 17 + 18 + cmakeFlags = [ 19 + "-DCMAKE_BUILD_TYPE=Release" 20 + "-DCMAKE_CXX_FLAGS=-std=c++11" 21 + ] ++ 22 + # Maybe with compiler-rt this won't be needed? 23 + (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++ 24 + (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include"); 25 + 26 + patches = [ ./purity.patch ]; 27 + 28 + postPatch = '' 29 + sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp 30 + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp 31 + ''; 32 + 33 + # Clang expects to find LLVMgold in its own prefix 34 + # Clang expects to find sanitizer libraries in its own prefix 35 + postInstall = '' 36 + ln -sv ${llvm}/lib/LLVMgold.so $out/lib 37 + ln -sv ${llvm}/lib/clang/3.9.0/lib $out/lib/clang/3.9.0/ 38 + ln -sv $out/bin/clang $out/bin/cpp 39 + ''; 40 + 41 + enableParallelBuilding = true; 42 + 43 + passthru = { 44 + lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both 45 + isClang = true; 46 + } // stdenv.lib.optionalAttrs stdenv.isLinux { 47 + inherit gcc; 48 + }; 49 + 50 + meta = { 51 + description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler"; 52 + homepage = http://llvm.org/; 53 + license = stdenv.lib.licenses.bsd3; 54 + platforms = stdenv.lib.platforms.all; 55 + }; 56 + }; 57 + in self
+16
pkgs/development/compilers/llvm/3.9/clang/purity.patch
··· 1 + --- a/lib/Driver/Tools.cpp 2016-08-25 15:48:05.187553443 +0200 2 + +++ b/lib/Driver/Tools.cpp 2016-08-25 15:48:47.534468882 +0200 3 + @@ -9420,13 +9420,6 @@ 4 + if (!Args.hasArg(options::OPT_static)) { 5 + if (Args.hasArg(options::OPT_rdynamic)) 6 + CmdArgs.push_back("-export-dynamic"); 7 + - 8 + - if (!Args.hasArg(options::OPT_shared)) { 9 + - const std::string Loader = 10 + - D.DyldPrefix + ToolChain.getDynamicLinker(Args); 11 + - CmdArgs.push_back("-dynamic-linker"); 12 + - CmdArgs.push_back(Args.MakeArgString(Loader)); 13 + - } 14 + } 15 + 16 + CmdArgs.push_back("-o");
+35
pkgs/development/compilers/llvm/3.9/default.nix
··· 1 + { newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }: 2 + let 3 + callPackage = newScope (self // { inherit stdenv isl version fetch; }); 4 + 5 + version = "3.9.0"; 6 + 7 + fetch = fetch_v version; 8 + fetch_v = ver: name: sha256: fetchurl { 9 + url = "http://llvm.org/releases/3.9.0/${name}-${ver}.src.tar.xz"; 10 + inherit sha256; 11 + }; 12 + 13 + compiler-rt_src = fetch "compiler-rt" "16m5g0hf8yg9npnw25j2a86g34nsvk9rsm3c84gbch2prm7j5rg0"; 14 + clang-tools-extra_src = fetch "clang-tools-extra" "052zg0h5vbmxnh2ikc743rw3649f112dfyn8hg39x6cfxi3fqyjv"; 15 + 16 + self = { 17 + llvm = callPackage ./llvm.nix { 18 + inherit compiler-rt_src stdenv; 19 + }; 20 + 21 + clang-unwrapped = callPackage ./clang { 22 + inherit clang-tools-extra_src stdenv; 23 + }; 24 + 25 + clang = wrapCC self.clang-unwrapped; 26 + 27 + stdenv = overrideCC stdenv self.clang; 28 + 29 + lldb = callPackage ./lldb.nix {}; 30 + 31 + libcxx = callPackage ./libc++ {}; 32 + 33 + libcxxabi = callPackage ./libc++abi.nix {}; 34 + }; 35 + in self
+39
pkgs/development/compilers/llvm/3.9/libc++/darwin.patch
··· 1 + --- libcxx-3.8.0.src.org/lib/CMakeLists.txt 2015-12-16 15:41:05.000000000 -0800 2 + +++ libcxx-3.8.0.src/lib/CMakeLists.txt 2016-06-17 19:40:00.293394500 -0700 3 + @@ -94,30 +94,30 @@ 4 + add_definitions(-D__STRICT_ANSI__) 5 + add_link_flags( 6 + "-compatibility_version 1" 7 + "-current_version 1" 8 + - "-install_name /usr/lib/libc++.1.dylib" 9 + - "-Wl,-reexport_library,/usr/lib/libc++abi.dylib" 10 + + "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib" 11 + + "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" 12 + "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp" 13 + "/usr/lib/libSystem.B.dylib") 14 + else() 15 + if ( ${CMAKE_OSX_SYSROOT} ) 16 + list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7) 17 + if (OSX_HAS_ARMV7) 18 + set(OSX_RE_EXPORT_LINE 19 + - "${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib" 20 + + "${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib" 21 + "-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++sjlj-abi.exp") 22 + else() 23 + set(OSX_RE_EXPORT_LINE 24 + - "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib") 25 + + "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib") 26 + endif() 27 + else() 28 + - set(OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") 29 + + set(OSX_RE_EXPORT_LINE "${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp") 30 + endif() 31 + 32 + add_link_flags( 33 + "-compatibility_version 1" 34 + - "-install_name /usr/lib/libc++.1.dylib" 35 + + "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib" 36 + "-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp" 37 + "${OSX_RE_EXPORT_LINE}" 38 + "-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/notweak.exp" 39 + "-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/weak.exp")
+40
pkgs/development/compilers/llvm/3.9/libc++/default.nix
··· 1 + { lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "libc++-${version}"; 5 + 6 + src = fetch "libcxx" "01jvgwi9zd46bb1f93c561212bjzg02q2akacvsj4qsw6r8qvcyh"; 7 + 8 + postUnpack = '' 9 + unpackFile ${libcxxabi.src} 10 + ''; 11 + 12 + preConfigure = '' 13 + # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package 14 + cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include") 15 + ''; 16 + 17 + patches = lib.optional stdenv.isDarwin ./darwin.patch; 18 + 19 + buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; 20 + 21 + cmakeFlags = 22 + [ "-DCMAKE_BUILD_TYPE=Release" 23 + "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib" 24 + "-DLIBCXX_LIBCPPABI_VERSION=2" 25 + "-DLIBCXX_CXX_ABI=libcxxabi" 26 + ]; 27 + 28 + enableParallelBuilding = true; 29 + 30 + linkCxxAbi = stdenv.isLinux; 31 + 32 + setupHook = ./setup-hook.sh; 33 + 34 + meta = { 35 + homepage = http://libcxx.llvm.org/; 36 + description = "A new implementation of the C++ standard library, targeting C++11"; 37 + license = "BSD"; 38 + platforms = stdenv.lib.platforms.unix; 39 + }; 40 + }
+3
pkgs/development/compilers/llvm/3.9/libc++/setup-hook.sh
··· 1 + linkCxxAbi="@linkCxxAbi@" 2 + export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1" 3 + export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
+47
pkgs/development/compilers/llvm/3.9/libc++abi.nix
··· 1 + { stdenv, cmake, fetch, libcxx, libunwind, llvm, version }: 2 + 3 + stdenv.mkDerivation { 4 + name = "libc++abi-${version}"; 5 + 6 + src = fetch "libcxxabi" "06c05jlwfgm2q5xhy5wzmsi9bmfphzh22wpmbph84s452wksjdxh"; 7 + 8 + buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; 9 + 10 + postUnpack = '' 11 + unpackFile ${libcxx.src} 12 + unpackFile ${llvm.src} 13 + export NIX_CFLAGS_COMPILE+=" -I$PWD/include" 14 + export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include" 15 + '' + stdenv.lib.optionalString stdenv.isDarwin '' 16 + export TRIPLE=x86_64-apple-darwin 17 + ''; 18 + 19 + installPhase = if stdenv.isDarwin 20 + then '' 21 + for file in lib/*.dylib; do 22 + # this should be done in CMake, but having trouble figuring out 23 + # the magic combination of necessary CMake variables 24 + # if you fancy a try, take a look at 25 + # http://www.cmake.org/Wiki/CMake_RPATH_handling 26 + install_name_tool -id $out/$file $file 27 + done 28 + make install 29 + install -d 755 $out/include 30 + install -m 644 ../include/*.h $out/include 31 + '' 32 + else '' 33 + install -d -m 755 $out/include $out/lib 34 + install -m 644 lib/libc++abi.so.1.0 $out/lib 35 + install -m 644 ../include/cxxabi.h $out/include 36 + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so 37 + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 38 + ''; 39 + 40 + meta = { 41 + homepage = http://libcxxabi.llvm.org/; 42 + description = "A new implementation of low level support for a standard C++ library"; 43 + license = "BSD"; 44 + maintainers = with stdenv.lib.maintainers; [ vlstill ]; 45 + platforms = stdenv.lib.platforms.unix; 46 + }; 47 + }
+56
pkgs/development/compilers/llvm/3.9/lldb.nix
··· 1 + { stdenv 2 + , fetch 3 + , cmake 4 + , zlib 5 + , ncurses 6 + , swig 7 + , which 8 + , libedit 9 + , llvm 10 + , clang-unwrapped 11 + , python 12 + , version 13 + }: 14 + 15 + stdenv.mkDerivation { 16 + name = "lldb-${version}"; 17 + 18 + src = fetch "lldb" "1113s6crh94hzk9h9lqrvng0lsy174ml2rq0r962ngqy843hwa31"; 19 + 20 + postUnpack = '' 21 + # Hack around broken standalone build as of 3.8 22 + unpackFile ${llvm.src} 23 + srcDir="$(ls -d lldb-*.src)" 24 + mkdir -p "$srcDir/tools/lib/Support" 25 + cp "$(ls -d llvm-*.src)/lib/Support/regex_impl.h" "$srcDir/tools/lib/Support/" 26 + 27 + # Fix up various paths that assume llvm and clang are installed in the same place 28 + substituteInPlace $srcDir/cmake/modules/LLDBStandalone.cmake \ 29 + --replace CheckAtomic $(readlink -f llvm-*.src)/cmake/modules/CheckAtomic.cmake 30 + sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \ 31 + $srcDir/cmake/modules/LLDBStandalone.cmake 32 + sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \ 33 + $srcDir/cmake/modules/LLDBStandalone.cmake 34 + sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \ 35 + $srcDir/cmake/modules/LLDBStandalone.cmake 36 + ''; 37 + 38 + buildInputs = [ cmake python which swig ncurses zlib libedit llvm ]; 39 + 40 + CXXFLAGS = "-fno-rtti"; 41 + hardeningDisable = [ "format" ]; 42 + 43 + cmakeFlags = [ 44 + "-DCMAKE_BUILD_TYPE=Release" 45 + "-DLLVM_MAIN_INCLUDE_DIR=${llvm}/include" 46 + ]; 47 + 48 + enableParallelBuilding = true; 49 + 50 + meta = { 51 + description = "A next-generation high-performance debugger"; 52 + homepage = http://llvm.org/; 53 + license = stdenv.lib.licenses.bsd3; 54 + platforms = stdenv.lib.platforms.all; 55 + }; 56 + }
+89
pkgs/development/compilers/llvm/3.9/llvm.nix
··· 1 + { stdenv 2 + , fetch 3 + , perl 4 + , groff 5 + , cmake 6 + , python 7 + , libffi 8 + , binutils 9 + , libxml2 10 + , valgrind 11 + , ncurses 12 + , version 13 + , zlib 14 + , compiler-rt_src 15 + , libcxxabi 16 + , debugVersion ? false 17 + , enableSharedLibraries ? true 18 + }: 19 + 20 + let 21 + src = fetch "llvm" "0j49lkd5d7nnpdqzaybs2472bvcxyx0i4r3iccwf3kj2v9wk3iv6"; 22 + in stdenv.mkDerivation rec { 23 + name = "llvm-${version}"; 24 + 25 + unpackPhase = '' 26 + unpackFile ${src} 27 + mv llvm-${version}.src llvm 28 + sourceRoot=$PWD/llvm 29 + unpackFile ${compiler-rt_src} 30 + mv compiler-rt-* $sourceRoot/projects/compiler-rt 31 + ''; 32 + 33 + buildInputs = [ perl groff cmake libxml2 python libffi ] 34 + ++ stdenv.lib.optional stdenv.isDarwin libcxxabi; 35 + 36 + propagatedBuildInputs = [ ncurses zlib ]; 37 + 38 + # hacky fix: New LLVM releases require a newer OS X SDK than 39 + # 10.9. This is a temporary measure until nixpkgs darwin support is 40 + # updated. 41 + patchPhase = stdenv.lib.optionalString stdenv.isDarwin '' 42 + sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc 43 + ''; 44 + 45 + # hacky fix: created binaries need to be run before installation 46 + preBuild = '' 47 + mkdir -p $out/ 48 + ln -sv $PWD/lib $out 49 + ''; 50 + 51 + cmakeFlags = with stdenv; [ 52 + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" 53 + "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc 54 + "-DLLVM_BUILD_TESTS=ON" 55 + "-DLLVM_ENABLE_FFI=ON" 56 + "-DLLVM_ENABLE_RTTI=ON" 57 + "-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code 58 + ] ++ stdenv.lib.optional enableSharedLibraries [ 59 + "-DLLVM_LINK_LLVM_DYLIB=ON" 60 + ] ++ stdenv.lib.optional (!isDarwin) 61 + "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include" 62 + ++ stdenv.lib.optionals ( isDarwin) [ 63 + "-DLLVM_ENABLE_LIBCXX=ON" 64 + "-DCAN_TARGET_i386=false" 65 + ]; 66 + 67 + postBuild = '' 68 + rm -fR $out 69 + 70 + paxmark m bin/{lli,llvm-rtdyld} 71 + ''; 72 + 73 + postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' 74 + install_name_tool -id $out/lib/libLLVM.dylib $out/lib/libLLVM.dylib 75 + ln -s $out/lib/libLLVM.dylib $out/lib/libLLVM-${version}.dylib 76 + ''; 77 + 78 + enableParallelBuilding = true; 79 + 80 + passthru.src = src; 81 + 82 + meta = { 83 + description = "Collection of modular and reusable compiler and toolchain technologies"; 84 + homepage = http://llvm.org/; 85 + license = stdenv.lib.licenses.bsd3; 86 + maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ]; 87 + platforms = stdenv.lib.platforms.all; 88 + }; 89 + }
-4
pkgs/development/compilers/rust/beta.nix
··· 18 18 }; 19 19 20 20 cargo = callPackage ./cargo.nix rec { 21 - # TODO: We're temporarily tracking master here as Darwin needs the 22 - # `http.cainfo` option from .cargo/config which isn't released 23 - # yet. 24 - 25 21 version = "beta-2016-07-25"; 26 22 srcRev = "f09ef68cc47956ccc5f99212bdcdd15298c400a0"; 27 23 srcSha = "1r6q9jd0fl6mzhwkvrrcv358q2784hg51dfpy28xgh4n61m7c155";
-4
pkgs/development/compilers/rust/default.nix
··· 25 25 }; 26 26 27 27 cargo = callPackage ./cargo.nix rec { 28 - # TODO: We're temporarily tracking master here as Darwin needs the 29 - # `http.cainfo` option from .cargo/config which isn't released 30 - # yet. 31 - 32 28 version = "0.12.0"; 33 29 srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93"; 34 30 srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk";
+2 -2
pkgs/development/interpreters/lush/default.nix
··· 1 1 {stdenv, fetchurl, libX11, xproto, indent, readline, gsl, freeglut, mesa, SDL 2 - , blas, binutils, intltool, gettext, zlib}: 2 + , blas, binutils, intltool, gettext, zlib, libSM}: 3 3 4 4 stdenv.mkDerivation rec { 5 5 baseName = "lush"; ··· 12 12 }; 13 13 14 14 buildInputs = [ 15 - libX11 xproto indent readline gsl freeglut mesa SDL blas binutils 15 + libX11 libSM xproto indent readline gsl freeglut mesa SDL blas binutils 16 16 intltool gettext zlib 17 17 ]; 18 18
+35
pkgs/development/libraries/cxxtest/default.nix
··· 1 + { stdenv, fetchFromGitHub, pythonPackages}: 2 + 3 + stdenv.mkDerivation rec { 4 + version = "4.4"; 5 + name = "cxxtest"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "CxxTest"; 9 + repo = name; 10 + rev = version; 11 + sha256 = "19w92kipfhp5wvs47l0qpibn3x49sbmvkk91yxw6nwk6fafcdl17"; 12 + }; 13 + 14 + buildInputs = with pythonPackages; [ python wrapPython ]; 15 + 16 + installPhase = '' 17 + cd python 18 + python setup.py install --prefix=$out 19 + cd .. 20 + 21 + mkdir -p $out/include 22 + cp -R cxxtest $out/include/ 23 + 24 + wrapPythonProgramsIn $out/bin "$out $pythonPath" 25 + ''; 26 + 27 + meta = with stdenv.lib; { 28 + homepage = "http://cxxtest.com"; 29 + description = "Unit testing framework for C++"; 30 + platforms = platforms.unix ; 31 + license = licenses.lgpl3; 32 + maintainers = [ maintainers.juliendehos ]; 33 + }; 34 + } 35 +
+2 -2
pkgs/development/libraries/ffmpeg/3.1.nix
··· 5 5 }@args: 6 6 7 7 callPackage ./generic.nix (args // rec { 8 - version = "${branch}.2"; 8 + version = "${branch}.3"; 9 9 branch = "3.1"; 10 - sha256 = "1xvh1c8nlws0wx6b7yl1pvkybgzaj5585h1r6z1gzhck1f0qvsv2"; 10 + sha256 = "0f4ajs0c4088nkal4gqagx05wfyhd1izfxmzxxsdh56ibp38kg2q"; 11 11 darwinFrameworks = [ Cocoa CoreMedia ]; 12 12 })
+2 -2
pkgs/development/libraries/gsl/default.nix
··· 1 1 { fetchurl, fetchpatch, stdenv }: 2 2 3 3 stdenv.mkDerivation rec { 4 - name = "gsl-2.1"; 4 + name = "gsl-2.2"; 5 5 6 6 src = fetchurl { 7 7 url = "mirror://gnu/gsl/${name}.tar.gz"; 8 - sha256 = "0rhcia9jhr3p1f1wybwyllwqfs9bggz99i3mi5lpyqcpff1hdbar"; 8 + sha256 = "1pyq2c0j91z955746myn29c89jwkd435s2cbj8ks2hpag6d0mr2d"; 9 9 }; 10 10 11 11 patches = [
+2
pkgs/development/libraries/ilmbase/default.nix
··· 14 14 15 15 buildInputs = [ automake autoconf libtool which ]; 16 16 17 + NIX_CFLAGS_LINK = [ "-pthread" ]; 18 + 17 19 patches = [ ./bootstrap.patch ]; 18 20 19 21 meta = with stdenv.lib; {
+8 -7
pkgs/development/libraries/libcommuni/default.nix
··· 1 - { fetchgit, qtbase, qmakeHook, which, stdenv 1 + { stdenv, fetchFromGitHub, qtbase, qtdeclarative, qmakeHook, which 2 2 }: 3 3 4 4 stdenv.mkDerivation rec { 5 5 name = "libcommuni-${version}"; 6 - version = "2016-03-23"; 6 + version = "2016-08-17"; 7 7 8 - src = fetchgit { 9 - url = "https://github.com/communi/libcommuni.git"; 10 - rev = "6a5110b25e2838e7dc2c62d16b9fd06d12beee7e"; 11 - sha256 = "184ah5xqg5pgy8h6fyyz2k0vak1fmhrcidwz828yl4lsvz1vjqh1"; 8 + src = fetchFromGitHub { 9 + owner = "communi"; 10 + repo = "libcommuni"; 11 + rev = "dedba6faf57c31c8c70fd563ba12d75a9caee8a3"; 12 + sha256 = "0wvs53z34vfs5xlln4a6sbd4981svag89xm0f4k20mb1i052b20i"; 12 13 }; 13 14 14 - buildInputs = [ qtbase ]; 15 + buildInputs = [ qtbase qtdeclarative ]; 15 16 nativeBuildInputs = [ qmakeHook which ]; 16 17 17 18 enableParallelBuild = true;
+24
pkgs/development/libraries/libtelnet/default.nix
··· 1 + { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, zlib }: 2 + 3 + stdenv.mkDerivation rec { 4 + name = "libtelnet-${version}"; 5 + version = "0.21+45f2d5c"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "seanmiddleditch"; 9 + repo = "libtelnet"; 10 + rev = "45f2d5cfcf383312280e61c85b107285fed260cf"; 11 + sha256 = "1lp6gdbndsp2w8mhy88c2jknxj2klvnggvq04ln7qjg8407ifpda"; 12 + }; 13 + 14 + nativeBuildInputs = [ pkgconfig autoreconfHook ]; 15 + buildInputs = [ zlib ]; 16 + 17 + meta = { 18 + description = "Simple RFC-complient TELNET implementation as a C library"; 19 + homepage = "https://github.com/seanmiddleditch/libtelnet"; 20 + license = stdenv.lib.licenses.publicDomain; 21 + maintainers = [ stdenv.lib.maintainers.tomberek ]; 22 + platforms = stdenv.lib.platforms.linux; 23 + }; 24 + }
+3 -3
pkgs/development/libraries/opencascade/oce.nix
··· 2 2 ftgl, freetype}: 3 3 4 4 stdenv.mkDerivation rec { 5 - name = "opencascade-oce-0.16"; 5 + name = "opencascade-oce-0.17.2"; 6 6 src = fetchurl { 7 - url = https://github.com/tpaviot/oce/archive/OCE-0.16.tar.gz; 8 - sha256 = "05bmg1cjz827bpq8s0hp96byirm4c3zc9vx26qz76kjsg8ry87w4"; 7 + url = https://github.com/tpaviot/oce/archive/OCE-0.17.2.tar.gz; 8 + sha256 = "0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd"; 9 9 }; 10 10 11 11 buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
+2
pkgs/development/libraries/wxGTK-2.8/default.nix
··· 21 21 22 22 nativeBuildInputs = [ pkgconfig ]; 23 23 24 + hardeningDisable = [ "format" ]; 25 + 24 26 configureFlags = [ 25 27 "--enable-gtk2" 26 28 (if compat24 then "--enable-compat24" else "--disable-compat24")
+4
pkgs/development/ruby-modules/bundler/default.nix
··· 7 7 version = "1.12.5"; 8 8 sha256 = "1q84xiwm9j771lpmiply0ls9l2bpvl5axn3jblxjvrldh8di2pkc"; 9 9 dontPatchShebangs = true; 10 + 11 + postFixup = '' 12 + sed -i -e "s/activate_bin_path/bin_path/g" $out/bin/bundle 13 + ''; 10 14 }
+15 -9
pkgs/development/ruby-modules/gem-config/default.nix
··· 29 29 in 30 30 31 31 { 32 + bundler = attrs: 33 + let 34 + templates = "${attrs.ruby.gemPath}/gems/${attrs.gemName}-${attrs.version}/lib/bundler/templates/"; 35 + in { 36 + # patching shebangs would fail on the templates/Executable file, so we 37 + # temporarily remove the executable flag. 38 + preFixup = "chmod -x $out/${templates}/Executable"; 39 + postFixup = '' 40 + chmod +x $out/${templates}/Executable 41 + 42 + # Allows to load another bundler version 43 + sed -i -e "s/activate_bin_path/bin_path/g" $out/bin/bundle 44 + ''; 45 + }; 46 + 32 47 capybara-webkit = attrs: { 33 48 buildInputs = [ qt48 ]; 34 49 }; ··· 177 192 ''; 178 193 }; 179 194 180 - # patching shebangs would fail on the templates/Executable file, so we 181 - # temporarily remove the executable flag. 182 - bundler = attrs: 183 - let 184 - templates = "${attrs.ruby.gemPath}/gems/${attrs.gemName}-${attrs.version}/lib/bundler/templates/"; 185 - in { 186 - preFixup = "chmod -x $out/${templates}/Executable"; 187 - postFixup = "chmod +x $out/${templates}/Executable"; 188 - }; 189 195 } 190 196
+2 -2
pkgs/development/web/nodejs/v6.nix
··· 8 8 inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices; 9 9 10 10 in import ./nodejs.nix (args // rec { 11 - version = "6.3.1"; 12 - sha256 = "06ran2ccfxkwyk6w4wikd7qws286952lbx93pqaygmbh9f0q9rbg"; 11 + version = "6.4.0"; 12 + sha256 = "1b3xpp38fd2y8zdkpvkyyvsddh5y4vly81hxkf9hi6wap0nqidj9"; 13 13 extraBuildInputs = stdenv.lib.optionals stdenv.isDarwin 14 14 [ CoreServices ApplicationServices ]; 15 15 preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
+2 -20
pkgs/games/fsg/default.nix
··· 4 4 name = "fsg-4.4"; 5 5 6 6 src = fetchurl { 7 - #url = http://www.piettes.com/fallingsandgame/fsg-src-4.4.tar.gz; 8 7 url = http://www.sourcefiles.org/Games/Simulation/Other/fsg-src-4.4.tar.gz; 9 8 sha256 = "1756y01rkvd3f1pkj88jqh83fqcfl2fy0c48mcq53pjzln9ycv8c"; 10 9 }; 11 10 12 - buildInputs = [ gtk glib pkgconfig mesa wxGTK libX11 xproto ]; 13 - 14 - /* 15 - # One day Unicode will overcome? 11 + hardeningDisable = [ "format" ]; 16 12 17 - preBuild = " 18 - sed -e ' 19 - s/\\(str\\.Printf(\\)\\(\".*\"\\)/\\1_(\\2)/; 20 - s@\\<fopen(\\([^\"),]\\+\\)@fopen(wxConvertWX2MB(\\1)@ 21 - s@\\<wxString(\\([^)]\\+\\)@wxString(wxConvertMB2WX(\\1)@ 22 - s/\\(wxString str(\\)\\(\".*\"\\)/\\1_(\\2)/; 23 - ' -i MainFrame.cpp Canvas.cpp; 24 - sed -e ' 25 - s@\\(^[^\"]*([^\"]*[^(]\\|^[^\"].*[^_](\\)\\(\"\\([^\"]\\|\\\"\\)*\"\\)@\\1_(\\2)@; 26 - ' -i DownloadFileDialog.cpp; 27 - sed -e ' 28 - s@currentProbIndex != 100@0@; 29 - ' -i MainFrame.cpp; 30 - cp -r . /tmp/fsg 31 - ";*/ 13 + buildInputs = [ gtk glib pkgconfig mesa wxGTK libX11 xproto ]; 32 14 33 15 preBuild = '' 34 16 sed -e '
+3 -3
pkgs/misc/emulators/atari++/default.nix
··· 1 - { stdenv, fetchurl 2 - , libX11, SDL }: 1 + { stdenv, fetchurl, libSM, libX11, SDL }: 3 2 4 3 with stdenv.lib; 5 4 stdenv.mkDerivation rec{ ··· 11 10 sha256 = "1y5kwh08717jsa5agxrvxnggnwxq36irrid9rzfhca1nnvp9a45l"; 12 11 }; 13 12 14 - buildInputs = [ libX11 SDL ]; 13 + buildInputs = [ libSM libX11 SDL ]; 14 + 15 15 meta = { 16 16 homepage = http://www.xl-project.com/; 17 17 description = "An enhanced, cycle-accurated Atari emulator";
+4
pkgs/os-specific/linux/android-udev-rules/default.nix
··· 1 1 { stdenv, fetchFromGitHub }: 2 2 3 + ## Usage 4 + # In NixOS, simply add this package to services.udev.packages: 5 + # services.udev.packages = [ pkgs.android-udev-rules ]; 6 + 3 7 stdenv.mkDerivation rec { 4 8 name = "android-udev-rules-${version}"; 5 9 version = "20160805";
+3
pkgs/os-specific/linux/ena/default.nix
··· 12 12 13 13 hardeningDisable = [ "pic" ]; 14 14 15 + # linux 3.12 16 + NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; 17 + 15 18 configurePhase = 16 19 '' 17 20 cd kernel/linux/ena
+2
pkgs/os-specific/linux/firmware/raspberrypi/default.nix
··· 11 11 sha256 = "06g691px0abndp5zvz2ba1g675rcqb64n055h5ahgnlck5cdpawg"; 12 12 }; 13 13 14 + dontStrip = true; # Stripping breaks some of the binaries 15 + 14 16 installPhase = '' 15 17 mkdir -p $out/share/raspberrypi/boot 16 18 cp -R boot/* $out/share/raspberrypi/boot
+4 -2
pkgs/os-specific/linux/kernel/common-config.nix
··· 346 346 LOGO n # not needed 347 347 MEDIA_ATTACH y 348 348 MEGARAID_NEWGEN y 349 - ${optionalString (versionAtLeast version "3.15") '' 349 + ${optionalString (versionAtLeast version "3.15" && versionOlder version "4.8") '' 350 350 MLX4_EN_VXLAN y 351 351 ''} 352 352 MODVERSIONS y ··· 433 433 PARAVIRT? y 434 434 HYPERVISOR_GUEST y 435 435 PARAVIRT_SPINLOCKS? y 436 - KVM_APIC_ARCHITECTURE y 436 + ${optionalString (versionOlder version "4.8") '' 437 + KVM_APIC_ARCHITECTURE y 438 + ''} 437 439 KVM_ASYNC_PF y 438 440 ${optionalString (versionAtLeast version "4.0") '' 439 441 KVM_COMPAT? y
+4 -4
pkgs/os-specific/linux/kernel/linux-testing.nix
··· 1 1 { stdenv, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.8-rc3"; 5 - modDirVersion = "4.8.0-rc3"; 6 - extraMeta.branch = "4.7"; 4 + version = "4.8-rc4"; 5 + modDirVersion = "4.8.0-rc4"; 6 + extraMeta.branch = "4.8"; 7 7 8 8 src = fetchurl { 9 9 url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz"; 10 - sha256 = "08ir3w034qkalyi8mc6czgk9mcglm7wfazr2md94a8x98j69v38r"; 10 + sha256 = "0is4pzmci1i59fxw9b645c8710zjnx19dfl20m4k06kxdbbs01wg"; 11 11 }; 12 12 13 13 features.iwlwifi = true;
+14
pkgs/os-specific/linux/kernel/modinst-arg-list-too-long.patch
··· 1 + diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst 2 + index 07650ee..934a7a8 100644 3 + --- a/scripts/Makefile.modinst 4 + +++ b/scripts/Makefile.modinst 5 + @@ -9,7 +9,8 @@ include scripts/Kbuild.include 6 + 7 + # 8 + 9 + -__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod))) 10 + +__modules := $(sort $(foreach f,$(wildcard $(MODVERDIR)/*.mod),$(shell \ 11 + + grep -h '\.ko$$' '$f'))) 12 + modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) 13 + 14 + PHONY += $(modules)
+5
pkgs/os-specific/linux/kernel/patches.nix
··· 74 74 patch = ./mips-ext3-n32.patch; 75 75 }; 76 76 77 + modinst_arg_list_too_long = 78 + { name = "modinst-arglist-too-long"; 79 + patch = ./modinst-arg-list-too-long.patch; 80 + }; 81 + 77 82 ubuntu_fan_4_4 = 78 83 { name = "ubuntu-fan"; 79 84 patch = ./ubuntu-fan-4.4.patch;
+1 -1
pkgs/os-specific/linux/sysklogd/default.nix
··· 8 8 sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji"; 9 9 }; 10 10 11 - patches = [ ./systemd.patch ]; 11 + patches = [ ./systemd.patch ./union-wait.patch ]; 12 12 13 13 NIX_CFLAGS_COMPILE = "-DSYSV"; 14 14
+11
pkgs/os-specific/linux/sysklogd/union-wait.patch
··· 1 + --- sysklogd-1.5-old/syslogd.c 2016-08-30 22:50:59.812926945 +0100 2 + +++ sysklogd-1.5/syslogd.c 2016-08-30 22:51:12.008842890 +0100 3 + @@ -2094,7 +2094,7 @@ 4 + (void) signal(SIGCHLD, reapchild); /* reset signal handler -ASP */ 5 + wait ((int *)0); 6 + #else 7 + - union wait status; 8 + + int status; 9 + 10 + while (wait3(&status, WNOHANG, (struct rusage *) NULL) > 0) 11 + ;
+18 -12
pkgs/tools/misc/youtube-dl/default.nix
··· 1 - { stdenv, fetchurl, buildPythonApplication, makeWrapper, ffmpeg, zip 2 - , pandoc ? null 1 + { stdenv, fetchurl, buildPythonApplication, makeWrapper, zip, ffmpeg, pandoc 2 + , atomicparsley 3 + # Pandoc is required to build the package's man page. Release tarballs contain a 4 + # formatted man page already, though, it will still be installed. We keep the 5 + # manpage argument in place in case someone wants to use this derivation to 6 + # build a Git version of the tool that doesn't have the formatted man page 7 + # included. 8 + , generateManPage ? false 9 + , ffmpegSupport ? true 3 10 }: 4 11 5 - # Pandoc is required to build the package's man page. Release tarballs 6 - # contain a formatted man page already, though, so it's fine to pass 7 - # "pandoc = null" to this derivation; the man page will still be 8 - # installed. We keep the pandoc argument and build input in place in 9 - # case someone wants to use this derivation to build a Git version of 10 - # the tool that doesn't have the formatted man page included. 12 + with stdenv.lib; 11 13 12 14 buildPythonApplication rec { 13 15 ··· 19 21 sha256 = "017x2hqc2bacypjmn9ac9f91y9y6afydl0z7dich5l627494hvfg"; 20 22 }; 21 23 22 - buildInputs = [ makeWrapper zip pandoc ]; 24 + buildInputs = [ makeWrapper zip ] ++ optional generateManPage pandoc; 23 25 24 26 # Ensure ffmpeg is available in $PATH for post-processing & transcoding support. 25 - postInstall = stdenv.lib.optionalString (ffmpeg != null) 26 - ''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg.bin}/bin"''; 27 + # atomicparsley for embedding thumbnails 28 + postInstall = let 29 + packagesthatwillbeusedbelow = [ atomicparsley ] ++ optional ffmpegSupport ffmpeg; 30 + in '' 31 + wrapProgram $out/bin/youtube-dl --prefix PATH : "${makeBinPath packagesthatwillbeusedbelow}" 32 + ''; 27 33 28 34 # Requires network 29 35 doCheck = false; 30 36 31 - meta = with stdenv.lib; { 37 + meta = { 32 38 homepage = http://rg3.github.io/youtube-dl/; 33 39 repositories.git = https://github.com/rg3/youtube-dl.git; 34 40 description = "Command-line tool to download videos from YouTube.com and other sites";
+3 -10
pkgs/tools/networking/aria2/default.nix
··· 1 - { stdenv, fetchFromGitHub, fetchpatch, pkgconfig, autoreconfHook 1 + { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook 2 2 , openssl, c-ares, libxml2, sqlite, zlib, libssh2 3 3 , Security 4 4 }: 5 5 6 6 stdenv.mkDerivation rec { 7 7 name = "aria2-${version}"; 8 - version = "1.24.0"; 8 + version = "1.26.1"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "aria2"; 12 12 repo = "aria2"; 13 13 rev = "release-${version}"; 14 - sha256 = "0sb8s2rf2l0x7m8fx8kys7vad0lfw3k9071iai03kxplkdvg96n9"; 14 + sha256 = "1nf7z55cc6ljpz7zzb8ppg8ybg531gfbhyggya7lnr5ka74h87b5"; 15 15 }; 16 16 17 17 nativeBuildInputs = [ pkgconfig autoreconfHook ]; 18 18 19 19 buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++ 20 20 stdenv.lib.optional stdenv.isDarwin Security; 21 - 22 - patches = stdenv.lib.optionals stdenv.isDarwin [ 23 - (fetchpatch { 24 - url = https://github.com/aria2/aria2/commit/1e59e357af626edc870b7f53c1ae8083658d0d1a.patch; 25 - sha256 = "1xjj4ll1v6adl6vdkl84v0mh7ma6p469ph1wpvksxrq6qp8345qj"; 26 - }) 27 - ]; 28 21 29 22 configureFlags = [ "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" ]; 30 23
+2 -2
pkgs/tools/package-management/nix/default.nix
··· 89 89 nix = nixStable; 90 90 91 91 nixStable = common rec { 92 - name = "nix-1.11.2"; 92 + name = "nix-1.11.3"; 93 93 src = fetchurl { 94 94 url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz"; 95 - sha256 = "fc1233814ebb385a2a991c1fb88c97b344267281e173fea7d9acd3f9caf969d6"; 95 + sha256 = "054fya7q60nv4mcpnd5pxj4hxafrikdimjknpj46w4jd2fg61237"; 96 96 }; 97 97 }; 98 98
+28 -10
pkgs/top-level/all-packages.nix
··· 2412 2412 2413 2413 libtermkey = callPackage ../development/libraries/libtermkey { }; 2414 2414 2415 + libtelnet = callPackage ../development/libraries/libtelnet { }; 2416 + 2415 2417 libtirpc = callPackage ../development/libraries/ti-rpc { }; 2416 2418 2417 2419 libshout = callPackage ../development/libraries/libshout { }; ··· 4922 4924 inherit (stdenvAdapters) overrideCC; 4923 4925 }; 4924 4926 4927 + llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 { 4928 + inherit (stdenvAdapters) overrideCC; 4929 + }; 4930 + 4925 4931 manticore = callPackage ../development/compilers/manticore { }; 4926 4932 4927 4933 mentorToolchains = recurseIntoAttrs ( ··· 5486 5492 5487 5493 rust = rustStable; 5488 5494 rustStable = callPackage ../development/compilers/rust {}; 5489 - rustBeta = lowPrio (callPackage ../development/compilers/rust/beta.nix {}); 5490 - rustUnstable = lowPrio (callPackage ../development/compilers/rust/head.nix { 5495 + rustBeta = callPackage ../development/compilers/rust/beta.nix {}; 5496 + rustUnstable = callPackage ../development/compilers/rust/head.nix { 5491 5497 rustPlatform = recurseIntoAttrs (makeRustPlatform rustBeta); 5492 - }); 5498 + }; 5493 5499 5494 5500 cargo = rust.cargo; 5495 5501 rustc = rust.rustc; ··· 7072 7078 cwiid = callPackage ../development/libraries/cwiid { }; 7073 7079 7074 7080 cxx-prettyprint = callPackage ../development/libraries/cxx-prettyprint { }; 7081 + 7082 + cxxtest = callPackage ../development/libraries/cxxtest { }; 7075 7083 7076 7084 cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { 7077 7085 kerberos = if stdenv.isFreeBSD then libheimdal else kerberos; ··· 8741 8749 # makes it slower, but during runtime we link against just mesa_drivers 8742 8750 # through /run/opengl-driver*, which is overriden according to config.grsecurity 8743 8751 grsecEnabled = true; 8744 - llvmPackages = llvmPackages_38; # various problems with 3.7; see #11367, #11467 8752 + llvmPackages = llvmPackages_39; 8745 8753 }); 8746 8754 mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); 8747 8755 mesa_drivers = mesaDarwinOr ( ··· 11185 11193 }; 11186 11194 11187 11195 linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { 11188 - kernelPatches = [ kernelPatches.bridge_stp_helper ] 11189 - ++ lib.optionals ((platform.kernelArch or null) == "mips") 11190 - [ kernelPatches.mips_fpureg_emu 11191 - kernelPatches.mips_fpu_sigill 11192 - kernelPatches.mips_ext3_n32 11193 - ]; 11196 + kernelPatches = [ 11197 + kernelPatches.bridge_stp_helper 11198 + kernelPatches.modinst_arg_list_too_long 11199 + ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ 11200 + kernelPatches.mips_fpureg_emu 11201 + kernelPatches.mips_fpu_sigill 11202 + kernelPatches.mips_ext3_n32 11203 + ]; 11194 11204 }; 11195 11205 11196 11206 linux_chromiumos_3_14 = callPackage ../os-specific/linux/kernel/linux-chromiumos-3.14.nix { ··· 12099 12109 r4rs = callPackage ../data/documentation/rnrs/r4rs.nix { }; 12100 12110 12101 12111 r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { }; 12112 + 12113 + roboto = callPackage ../data/fonts/roboto { }; 12102 12114 12103 12115 hasklig = callPackage ../data/fonts/hasklig {}; 12104 12116 ··· 13081 13093 puddletag = callPackage ../applications/audio/puddletag { }; 13082 13094 13083 13095 wavesurfer = callPackage ../applications/misc/audio/wavesurfer { }; 13096 + 13097 + wavrsocvt = callPackage ../applications/misc/audio/wavrsocvt { }; 13084 13098 13085 13099 wireshark-cli = callPackage ../applications/networking/sniffers/wireshark { 13086 13100 withQt = false; ··· 15851 15865 15852 15866 privateer = callPackage ../games/privateer { }; 15853 15867 15868 + qweechat = callPackage ../applications/networking/irc/qweechat { }; 15869 + 15854 15870 qqwing = callPackage ../games/qqwing { }; 15855 15871 15856 15872 quake3wrapper = callPackage ../games/quake3/wrapper { }; ··· 17397 17413 urbit = callPackage ../misc/urbit { }; 17398 17414 17399 17415 utf8proc = callPackage ../development/libraries/utf8proc { }; 17416 + 17417 + valauncher = callPackage ../applications/misc/valauncher { }; 17400 17418 17401 17419 vault = callPackage ../tools/security/vault { }; 17402 17420
+403 -56
pkgs/top-level/python-packages.nix
··· 3597 3597 }; 3598 3598 }; 3599 3599 3600 + cmdline = buildPythonPackage rec { 3601 + pname = "cmdline"; 3602 + version = "0.1.6"; 3603 + name = "${pname}-${version}"; 3604 + 3605 + src = pkgs.fetchurl { 3606 + url = "mirror://pypi/c/${pname}/${name}.tar.gz"; 3607 + sha256 = "be2cb4711e9111bb7386a408e3c66a730c36dd6ac05851a9f03d0f4eae63536a"; 3608 + }; 3609 + 3610 + # No tests, https://github.com/rca/cmdline/issues/1 3611 + doCheck = false; 3612 + propagatedBuildInputs = with self; [ pyyaml ]; 3613 + meta = { 3614 + description = "Utilities for consistent command line tools"; 3615 + homepage = http://github.com/rca/cmdline; 3616 + license = licenses.asl20; 3617 + }; 3618 + }; 3600 3619 3601 3620 cogapp = buildPythonPackage rec { 3602 3621 version = "2.3"; ··· 3983 4002 3984 4003 cytoolz = buildPythonPackage rec { 3985 4004 name = "cytoolz-${version}"; 3986 - version = "0.7.4"; 4005 + version = "0.8.0"; 3987 4006 3988 4007 src = pkgs.fetchurl{ 3989 4008 url = "mirror://pypi/c/cytoolz/cytoolz-${version}.tar.gz"; 3990 - sha256 = "9c2e3dda8232b6cd5b84b8c8df6c8155c2adeb8734eb7ec38e189affc0f2eba5"; 4009 + sha256 = "2239890c8fe2da3eba82947c6a68cfa406e5a5045911c9ab3de8113462372629"; 3991 4010 }; 3992 4011 3993 4012 # Extension types 3994 4013 disabled = isPyPy; 3995 4014 3996 4015 buildInputs = with self; [ nose ]; 4016 + propagatedBuildInputs = with self; [ toolz ]; 3997 4017 3998 4018 checkPhase = '' 3999 4019 nosetests -v $out/${python.sitePackages} 4000 4020 ''; 4001 - 4002 - # Several tests fail with Python 3.5 4003 - # https://github.com/pytoolz/cytoolz/issues/73 4004 - doCheck = !isPy35; 4005 4021 4006 4022 meta = { 4007 4023 homepage = "http://github.com/pytoolz/cytoolz/"; ··· 4033 4049 cryptography = buildPythonPackage rec { 4034 4050 # also bump cryptography_vectors 4035 4051 name = "cryptography-${version}"; 4036 - version = "1.4"; 4052 + version = "1.5"; 4037 4053 4038 4054 src = pkgs.fetchurl { 4039 4055 url = "mirror://pypi/c/cryptography/${name}.tar.gz"; 4040 - sha256 = "0a6i4914ychryj7kqqmf970incynj5lzx57n3cbv5i4hxm09a55v"; 4056 + sha256 = "52f47ec9a57676043f88e3ca133638790b6b71e56e8890d9d7f3ae4fcd75fa24"; 4041 4057 }; 4042 4058 4043 4059 buildInputs = [ pkgs.openssl self.pretend self.cryptography_vectors 4044 4060 self.iso8601 self.pyasn1 self.pytest self.py self.hypothesis1 ] 4045 4061 ++ optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Security; 4046 - propagatedBuildInputs = with self; [ six idna ipaddress pyasn1 cffi pyasn1-modules modules.sqlite3 ] 4062 + propagatedBuildInputs = with self; [ six idna ipaddress pyasn1 cffi pyasn1-modules modules.sqlite3 pytz ] 4047 4063 ++ optional (pythonOlder "3.4") self.enum34; 4048 4064 4049 4065 # IOKit's dependencies are inconsistent between OSX versions, so this is the best we ··· 4054 4070 cryptography_vectors = buildPythonPackage rec { 4055 4071 # also bump cryptography 4056 4072 name = "cryptography_vectors-${version}"; 4057 - version = "1.4"; 4073 + version = "1.5"; 4058 4074 4059 4075 src = pkgs.fetchurl { 4060 4076 url = "mirror://pypi/c/cryptography-vectors/${name}.tar.gz"; 4061 - sha256 = "1sk6yhphk2k2vzshi0djxi0jsxd9a02259bs8gynfgf5y1g82a07"; 4077 + sha256 = "ad19a2b98a475785c3b2ec8a8c9c974e0c48d00db0c23e79d776a2c489ad812d"; 4062 4078 }; 4063 4079 }; 4064 4080 ··· 4421 4437 4422 4438 bcrypt = buildPythonPackage rec { 4423 4439 name = "bcrypt-${version}"; 4424 - version = "2.0.0"; 4440 + version = "3.1.0"; 4425 4441 4426 4442 src = pkgs.fetchurl { 4427 - url = "https://api.github.com/repos/pyca/bcrypt/tarball/${version}"; 4428 - name = "bcrypt-${version}.tar.gz"; 4429 - sha256 = "14i1yp4qkjklx82jl61cjjcw367lc0pkvnix3gaz451ijdcmz3x8"; 4443 + url = "mirror://pypi/b/bcrypt/${name}.tar.gz"; 4444 + sha256 = "e54820d8b9eff357d1003f5b8d4b949a632b76b89610d8a933783fd476033ebe"; 4430 4445 }; 4431 4446 buildInputs = with self; [ pycparser mock pytest py ]; 4432 4447 propagatedBuildInputs = with self; optional (!isPyPy) cffi; ··· 4612 4627 }; 4613 4628 }; 4614 4629 4630 + pytest-fixture-config = buildPythonPackage rec { 4631 + name = "${pname}-${version}"; 4632 + pname = "pytest-fixture-config"; 4633 + version = "1.0.1"; 4634 + 4635 + src = pkgs.fetchurl { 4636 + url = "mirror://pypi/p/${pname}/${name}.tar.gz"; 4637 + sha256 = "7d7cc1cb25f88a707f083b1dc2e3c2fdfc6f37709567a2587dd0cd0bcd70edb6"; 4638 + }; 4639 + 4640 + propagatedBuildInputs = with self; [ pytest coverage virtualenv pytestcov six ]; 4641 + 4642 + checkPhase = '' 4643 + py.test -k "not test_yield_requires_config_doesnt_skip and not test_yield_requires_config_skips" 4644 + ''; 4645 + 4646 + meta = { 4647 + description = "Simple configuration objects for Py.test fixtures. Allows you to skip tests when their required config variables aren’t set."; 4648 + homepage = https://github.com/manahl/pytest-plugins; 4649 + license = licenses.mit; 4650 + maintainers = with maintainers; [ ryansydnor ]; 4651 + platforms = platforms.all; 4652 + }; 4653 + }; 4654 + 4615 4655 pytestflakes = buildPythonPackage rec { 4616 4656 name = "pytest-flakes-${version}"; 4617 4657 version = "1.0.0"; ··· 4627 4667 license = licenses.mit; 4628 4668 website = "https://pypi.python.org/pypi/pytest-flakes"; 4629 4669 description = "pytest plugin to check source code with pyflakes"; 4670 + }; 4671 + }; 4672 + 4673 + pytest-mock = buildPythonPackage rec { 4674 + name = "${pname}-${version}"; 4675 + pname = "pytest-mock"; 4676 + version = "1.2"; 4677 + 4678 + propagatedBuildInputs = with self; [ mock pytest ]; 4679 + 4680 + meta = { 4681 + description = "Thin-wrapper around the mock package for easier use with py.test."; 4682 + homepage = "https://github.com/pytest-dev/pytest-mock"; 4683 + license = licenses.mit; 4684 + maintainers = with maintainers; [ nand0p ]; 4685 + platforms = platforms.all; 4686 + }; 4687 + 4688 + src = pkgs.fetchurl { 4689 + url = "mirror://pypi/p/${pname}/${name}.zip"; 4690 + sha256 = "03zxar5drzm7ksqyrwypjaza3cri6wqvpr6iam92djvg6znp32gp"; 4630 4691 }; 4631 4692 }; 4632 4693 ··· 4726 4787 }; 4727 4788 }; 4728 4789 4790 + pytest-server-fixtures = buildPythonPackage rec { 4791 + name = "${pname}-${version}"; 4792 + pname = "pytest-server-fixtures"; 4793 + version = "1.1.0"; 4794 + 4795 + propagatedBuildInputs = with self; [ setuptools-git pytest-shutil pytest-fixture-config psutil requests2 ]; 4796 + 4797 + meta = { 4798 + description = "Extensible server fixures for py.test"; 4799 + homepage = "https://github.com/manahl/pytest-plugins"; 4800 + license = licenses.mit; 4801 + maintainers = with maintainers; [ nand0p ]; 4802 + platforms = platforms.all; 4803 + }; 4804 + 4805 + doCheck = false; 4806 + # RuntimeError: Unable to find a free server number to start Xvfb 4807 + 4808 + src = pkgs.fetchurl { 4809 + url = "mirror://pypi/p/${pname}/${name}.tar.gz"; 4810 + sha256 = "1gs9qimcn8q6xi9d6i5624l0dziwvn6nj2rda07fg15g1cq66s8l"; 4811 + }; 4812 + }; 4813 + 4814 + pytest-shutil = buildPythonPackage rec { 4815 + name = "pytest-shutil-${version}"; 4816 + version = "1.1.1"; 4817 + src = pkgs.fetchurl { 4818 + url = "mirror://pypi/p/pytest-shutil/${name}.tar.gz"; 4819 + sha256 = "bb3c4fc2dddaf70b38bd9bb7a710d07728fa14f88fbc89c2a07979b383ade5d4"; 4820 + }; 4821 + buildInputs = with self; [ cmdline ]; 4822 + propagatedBuildInputs = with self; [ pytest pytestcov coverage setuptools-git mock pathpy execnet contextlib2 ]; 4823 + meta = { 4824 + description = "A goodie-bag of unix shell and environment tools for py.test"; 4825 + homepage = https://github.com/manahl/pytest-plugins; 4826 + maintainers = with maintainers; [ ryansydnor ]; 4827 + platforms = platforms.all; 4828 + license = licenses.mit; 4829 + }; 4830 + 4831 + 4832 + checkPhase = '' 4833 + py.test 4834 + ''; 4835 + # Bunch of pickle errors 4836 + doCheck = false; 4837 + }; 4838 + 4729 4839 pytestcov = buildPythonPackage (rec { 4730 - name = "pytest-cov-2.2.0"; 4840 + name = "pytest-cov-2.3.1"; 4731 4841 4732 4842 src = pkgs.fetchurl { 4733 4843 url = "mirror://pypi/p/pytest-cov/${name}.tar.gz"; 4734 - sha256 = "1lf9jsmhqk5nc4w3kzwglmdzjvmi7ajvrsnwv826j3bn0wzx8c92"; 4844 + sha256 = "fa0a212283cdf52e2eecc24dd6459bb7687cc29adb60cb84258fab73be8dda0f"; 4735 4845 }; 4736 4846 4737 - buildInputs = with self; [ covCore pytest ]; 4847 + buildInputs = with self; [ covCore pytest virtualenv process-tests helper ]; 4848 + 4849 + doCheck = false; 4850 + checkPhase = '' 4851 + py.test tests 4852 + ''; 4738 4853 4739 4854 meta = { 4740 4855 description = "Plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing"; ··· 4895 5010 4896 5011 dask = buildPythonPackage rec { 4897 5012 name = "dask-${version}"; 4898 - version = "0.9.0"; 5013 + version = "0.11.0"; 4899 5014 4900 5015 src = pkgs.fetchurl { 4901 5016 url = "mirror://pypi/d/dask/${name}.tar.gz"; 4902 - sha256 = "1jm6riz6fbbd554i0dg0w1xfcmx3f9ryp4jrlavsy4zambilm6b3"; 5017 + sha256 = "ef32490c0b156584a71576dccec4dfe550a0cd81a9c131a4ee2e43c241b601c3"; 4903 5018 }; 4904 5019 4905 5020 buildInputs = with self; [ pytest ]; ··· 6331 6446 ${python.interpreter} -m unittest discover 6332 6447 ''; 6333 6448 6334 - # Judging from SyntaxError in tests. 6335 - disabled = isPy3k; 6449 + # Tests are Python 2.x only judging from SyntaxError 6450 + doCheck = !(isPy3k); 6336 6451 6337 6452 meta = { 6338 6453 description = "Recursive descent parsing library based on functional combinators"; ··· 6737 6852 }; 6738 6853 }; 6739 6854 6855 + helper = buildPythonPackage rec { 6856 + pname = "helper"; 6857 + version = "2.4.1"; 6858 + name = "${pname}-${version}"; 6859 + 6860 + src = pkgs.fetchurl { 6861 + url = "mirror://pypi/h/${pname}/${name}.tar.gz"; 6862 + sha256 = "4e33dde42ad4df30fb7790689f93d77252cff26a565610d03ff2e434865a53a2"; 6863 + }; 6864 + 6865 + buildInputs = with self; [ mock ]; 6866 + propagatedBuildInputs = with self; [ pyyaml ]; 6867 + 6868 + # No tests 6869 + doCheck = false; 6870 + 6871 + meta = { 6872 + description = "Development library for quickly writing configurable applications and daemons"; 6873 + homepage = https://helper.readthedocs.org/; 6874 + license = licenses.bsd3; 6875 + }; 6876 + 6877 + 6878 + }; 6879 + 6740 6880 hglib = buildPythonPackage rec { 6741 6881 version = "1.7"; 6742 6882 name = "hglib-${version}"; ··· 7165 7305 ipykernel 7166 7306 ipywidgets 7167 7307 ]; 7308 + 7309 + # Meta-package, no tests 7310 + doCheck = false; 7168 7311 7169 7312 meta = { 7170 7313 description = "Installs all the Jupyter components in one go"; ··· 12151 12294 }; 12152 12295 12153 12296 jupyter_client = buildPythonPackage rec { 12154 - version = "4.2.2"; 12297 + version = "4.3.0"; 12155 12298 name = "jupyter_client-${version}"; 12156 12299 12157 12300 src = pkgs.fetchurl { 12158 12301 url = "mirror://pypi/j/jupyter_client/${name}.tar.gz"; 12159 - sha256 = "052a02p38byp3n95k8cwidid05gc5cx44qinzsdzs605zw757z1z"; 12302 + sha256 = "70b2e88403835a1d54b83858783d9e5e5771fa4bb6f6904e0b5bb8cfde4b99dd"; 12160 12303 }; 12161 12304 12162 12305 buildInputs = with self; [ nose ]; ··· 12178 12321 }; 12179 12322 12180 12323 jupyter_core = buildPythonPackage rec { 12181 - version = "4.1.0"; 12324 + version = "4.1.1"; 12182 12325 name = "jupyter_core-${version}"; 12183 12326 12184 12327 src = pkgs.fetchurl { 12185 12328 url = "mirror://pypi/j/jupyter_core/${name}.tar.gz"; 12186 - sha256 = "04xxqa2m8yjpzxb2szbym6ngycyrmhymyy2vp2s6vi9kkikz0shl"; 12329 + sha256 = "ae0e69435258126466c86cd989e465a9c334c50107ef4f257decc8693650bf4c"; 12187 12330 }; 12188 12331 12189 12332 buildInputs = with self; [ pytest mock ]; ··· 12645 12788 }; 12646 12789 }; 12647 12790 12648 - llvmlite = buildPythonPackage rec { 12791 + llvmlite = let 12792 + llvm = pkgs.llvm_38; 12793 + in buildPythonPackage rec { 12649 12794 name = "llvmlite-${version}"; 12650 - version = "0.12.1"; 12795 + version = "0.13.0"; 12651 12796 12652 12797 disabled = isPyPy; 12653 12798 12654 12799 src = pkgs.fetchurl { 12655 12800 url = "mirror://pypi/l/llvmlite/${name}.tar.gz"; 12656 - sha256 = "3ce71beebd4cbc7a49abe4eadfc99725477fd43caeb7405650ebb746c7a1d0df"; 12801 + sha256 = "f852be3391acb2e77ef484c5d0ff90e7cf2821dcf9575e358a1f08c274c582eb"; 12657 12802 }; 12658 - 12659 - llvm = pkgs.llvm_37; 12660 12803 12661 12804 propagatedBuildInputs = with self; [ llvm ] ++ optional (pythonOlder "3.4") enum34; 12662 12805 ··· 17538 17681 }; 17539 17682 17540 17683 pillow = buildPythonPackage rec { 17541 - name = "Pillow-3.3.0"; 17684 + name = "Pillow-3.3.1"; 17542 17685 17543 17686 src = pkgs.fetchurl { 17544 17687 url = "mirror://pypi/P/Pillow/${name}.tar.gz"; 17545 - sha256 = "1lfc197rj4b4inib9b0q0g3rsi204gywfrnk38yk8kssi2f7q7h3"; 17688 + sha256 = "3491ca65d9fdba4db094ab3f8e17170425e7dd670e507921a665a1975d1b3df1"; 17546 17689 }; 17547 17690 17548 17691 # Check is disabled because of assertion errors, see ··· 19527 19670 }; 19528 19671 }); 19529 19672 19673 + process-tests = buildPythonPackage rec { 19674 + pname = "process-tests"; 19675 + name = "${pname}-${version}"; 19676 + version = "1.2.1"; 19677 + 19678 + src = pkgs.fetchurl { 19679 + url = "mirror://pypi/p/${pname}/${name}.tar.gz"; 19680 + sha256 = "65c9d7a0260f31c15b4a22a851757e61f7072d0557db5f8a976112fbe81ff7e9"; 19681 + }; 19682 + 19683 + # No tests 19684 + doCheck = false; 19685 + 19686 + meta = { 19687 + description = "Tools for testing processes"; 19688 + license = licenses.bsd2; 19689 + homepage = https://github.com/ionelmc/python-process-tests; 19690 + }; 19691 + }; 19692 + 19530 19693 progressbar = buildPythonPackage (rec { 19531 19694 name = "progressbar-2.2"; 19532 19695 ··· 20080 20243 20081 20244 pytz = buildPythonPackage rec { 20082 20245 name = "pytz-${version}"; 20083 - version = "2016.3"; 20246 + version = "2016.6.1"; 20084 20247 20085 20248 src = pkgs.fetchurl { 20086 20249 url = "mirror://pypi/p/pytz/${name}.tar.gz"; 20087 - sha256 = "1a3hjclyylc4m1v1dn04b38wm2vl649ijdswpg0d8m8n0lcxlj9l"; 20250 + sha256 = "6f57732f0f8849817e9853eb9d50d85d1ebb1404f702dbc44ee627c642a486ca"; 20088 20251 }; 20252 + 20253 + checkPhase = '' 20254 + ${python.interpreter} -m unittest discover -s pytz/tests 20255 + ''; 20089 20256 20090 20257 meta = { 20091 20258 description = "World timezone definitions, modern and historical"; ··· 20391 20558 20392 20559 requests2 = buildPythonPackage rec { 20393 20560 name = "requests-${version}"; 20394 - version = "2.11.0"; 20561 + version = "2.11.1"; 20395 20562 20396 20563 src = pkgs.fetchurl { 20397 20564 url = "mirror://pypi/r/requests/${name}.tar.gz"; 20398 - sha256 = "11d3vrbiqrz30qbplv80y72y9i47hihs35p5n04fl4ggjcz0bzxj"; 20565 + sha256 = "5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133"; 20399 20566 }; 20400 20567 20401 20568 nativeBuildInputs = [ self.pytest ]; ··· 21982 22149 21983 22150 sounddevice = buildPythonPackage rec { 21984 22151 name = "sounddevice-${version}"; 21985 - version = "0.3.1"; 22152 + version = "0.3.4"; 21986 22153 21987 22154 src = pkgs.fetchurl { 21988 22155 url = "mirror://pypi/s/sounddevice/${name}.tar.gz"; 21989 - sha256 = "8e5a6816b369c7aea77e06092b2fee99c8b6efbeef4851f53ea3cb208a7607f5"; 22156 + sha256 = "f6c4120357c1458b23bd0d466c66808efdefad397bf97b1162600d079d4665ae"; 21990 22157 }; 21991 22158 21992 22159 propagatedBuildInputs = with self; [ cffi numpy pkgs.portaudio ]; ··· 22706 22873 }; 22707 22874 }); 22708 22875 22876 + sphinx-testing = buildPythonPackage rec { 22877 + name = "sphinx-testing-${version}"; 22878 + version = "0.7.1"; 22879 + 22880 + src = pkgs.fetchurl { 22881 + url = "mirror://pypi/s/sphinx-testing/${name}.tar.gz"; 22882 + sha256 = "0cd235ce939770ae5128eda01d8611fb1e36d8129399e98565f99fcbff3a8062"; 22883 + }; 22884 + 22885 + buildInputs = with self; [ mock ]; 22886 + propagatedBuildInputs = with self; [ sphinx six ]; 22887 + 22888 + checkPhase = '' 22889 + ${python.interpreter} -m unittest discover -s tests 22890 + ''; 22891 + 22892 + meta = { 22893 + homepage = https://github.com/sphinx-doc/sphinx-testing; 22894 + license = licenses.bsd2; 22895 + description = "Testing utility classes and functions for Sphinx extensions"; 22896 + }; 22897 + 22898 + }; 22899 + 22900 + sphinxcontrib-blockdiag = buildPythonPackage (rec { 22901 + name = "${pname}-${version}"; 22902 + pname = "sphinxcontrib-blockdiag"; 22903 + version = "1.5.5"; 22904 + src = pkgs.fetchurl { 22905 + url = "mirror://pypi/s/${pname}/${name}.tar.gz"; 22906 + sha256 = "1w7q2hhpzk159wd35hlbwkh80hnglqa475blcd9vjwpkv1kgkpvw"; 22907 + }; 22908 + 22909 + buildInputs = with self; [ mock sphinx-testing ]; 22910 + propagatedBuildInputs = with self; [ sphinx blockdiag ]; 22911 + 22912 + # Seems to look for files in the wrong dir 22913 + doCheck = false; 22914 + checkPhase = '' 22915 + ${python.interpreter} -m unittest discover -s tests 22916 + ''; 22917 + 22918 + meta = { 22919 + description = "Sphinx blockdiag extension"; 22920 + homepage = "https://github.com/blockdiag/sphinxcontrib-blockdiag"; 22921 + maintainers = with maintainers; [ nand0p ]; 22922 + license = licenses.bsd2; 22923 + }; 22924 + }); 22709 22925 22710 22926 sphinxcontrib_httpdomain = buildPythonPackage (rec { 22711 22927 name = "sphinxcontrib-httpdomain-1.3.0"; ··· 22751 22967 }; 22752 22968 }); 22753 22969 22970 + sphinxcontrib-spelling = buildPythonPackage (rec { 22971 + name = "${pname}-${version}"; 22972 + pname = "sphinxcontrib-spelling"; 22973 + version = "2.2.0"; 22974 + src = pkgs.fetchurl { 22975 + url = "mirror://pypi/s/${pname}/${name}.tar.gz"; 22976 + sha256 = "1f0fymrk4kvhqs0vj9gay4lhacxkfrlrpj4gvg0p4wjdczplxd3z"; 22977 + }; 22978 + propagatedBuildInputs = with self; [ sphinx pyenchant]; 22979 + # No tests included 22980 + doCheck = false; 22981 + meta = { 22982 + description = "Sphinx spelling extension"; 22983 + homepage = "http://bitbucket.org/dhellmann/sphinxcontrib-spelling"; 22984 + maintainers = with maintainers; [ nand0p ]; 22985 + license = licenses.bsd2; 22986 + }; 22987 + }); 22988 + 22989 + sphinx-jinja = buildPythonPackage (rec { 22990 + name = "${pname}-${version}"; 22991 + pname = "sphinx-jinja"; 22992 + version = "0.2.1"; 22993 + src = pkgs.fetchurl { 22994 + url = "mirror://pypi/s/${pname}/${name}.tar.gz"; 22995 + sha256 = "1zsnhc573rvaww9qqyzs4f5h4hhvxklvppv14450vi5dk8rij81z"; 22996 + }; 22997 + buildInputs = with self; [ sphinx-testing pytest]; 22998 + propagatedBuildInputs = with self; [ sphinx blockdiag ]; 22999 + checkPhase = '' 23000 + py.test -k "not test_build_epub" 23001 + ''; 23002 + disabled = isPy3k; 23003 + meta = { 23004 + description = "includes jinja templates in a documentation"; 23005 + maintainers = with maintainers; [ nand0p ]; 23006 + license = licenses.mit; 23007 + }; 23008 + }); 22754 23009 22755 23010 sphinx_pypi_upload = buildPythonPackage (rec { 22756 23011 name = "Sphinx-PyPI-upload-0.2.1"; ··· 23555 23810 }; 23556 23811 23557 23812 traitlets = buildPythonPackage rec { 23558 - version = "4.2.1"; 23813 + version = "4.2.2"; 23559 23814 name = "traitlets-${version}"; 23560 23815 23561 23816 src = pkgs.fetchurl { 23562 23817 url = "mirror://pypi/t/traitlets/${name}.tar.gz"; 23563 - sha256 = "1h0aryjiqz2f3ykcjb34k5wz6bmzyp5cll7r4k08yfvji4ya7svn"; 23818 + sha256 = "7d7e3070484b2fe490fa55e0acf7023afc5ed9ddabec57405f25c355158e152a"; 23564 23819 }; 23565 23820 23566 23821 buildInputs = with self; [ nose mock ]; ··· 23688 23943 23689 23944 toolz = buildPythonPackage rec{ 23690 23945 name = "toolz-${version}"; 23691 - version = "0.7.4"; 23946 + version = "0.8.0"; 23692 23947 23693 23948 src = pkgs.fetchurl{ 23694 23949 url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz"; 23695 - sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; 23950 + sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479"; 23696 23951 }; 23697 23952 23698 23953 buildInputs = with self; [ nose ]; ··· 23725 23980 23726 23981 tqdm = buildPythonPackage rec { 23727 23982 name = "tqdm-${version}"; 23728 - version = "3.7.1"; 23983 + version = "3.8.4"; 23729 23984 23730 23985 src = pkgs.fetchurl { 23731 23986 url = "mirror://pypi/t/tqdm/${name}.tar.gz"; 23732 - sha256 = "f12d792685f779e8754e623aff1a25a93b98a90457e3a2b7eb89b4401c2c239e"; 23987 + sha256 = "bab05f8bb6efd2702ab6c532e5e6a758a66c0d2f443e09784b73e4066e6b3a37"; 23733 23988 }; 23734 23989 23735 23990 buildInputs = with self; [ nose coverage pkgs.glibcLocales flake8 ]; ··· 24914 25169 24915 25170 xarray = buildPythonPackage rec { 24916 25171 name = "xarray-${version}"; 24917 - version = "0.7.2"; 25172 + version = "0.8.2"; 24918 25173 24919 25174 src = pkgs.fetchurl { 24920 25175 url = "mirror://pypi/x/xarray/${name}.tar.gz"; 24921 - sha256 = "0gnhznv18iz478r8wg6a686dqgs1v4i3yra8y91x3vsfl23mgv34"; 25176 + sha256 = "4da06e38baea65c51347ba0770db416ebf003dbad5637215d2b25b191f2be1fb"; 24922 25177 }; 24923 25178 24924 25179 buildInputs = with self; [ pytest ]; ··· 24957 25212 }; 24958 25213 }; 24959 25214 24960 - youtube-dl = callPackage ../tools/misc/youtube-dl { 24961 - # Release versions don't need pandoc because the formatted man page 24962 - # is included in the tarball. 24963 - pandoc = null; 24964 - }; 25215 + youtube-dl = callPackage ../tools/misc/youtube-dl {}; 24965 25216 24966 25217 youtube-dl-light = callPackage ../tools/misc/youtube-dl { 24967 - # Release versions don't need pandoc because the formatted man page 24968 - # is included in the tarball. 24969 - ffmpeg = null; 24970 - pandoc = null; 25218 + ffmpegSupport = false; 24971 25219 }; 24972 25220 24973 25221 zbase32 = buildPythonPackage (rec { ··· 29421 29669 ''; 29422 29670 }; 29423 29671 29672 + txaio = buildPythonPackage rec { 29673 + name = "${pname}-${version}"; 29674 + pname = "txaio"; 29675 + version = "2.5.1"; 29676 + 29677 + meta = { 29678 + description = "Utilities to support code that runs unmodified on Twisted and asyncio."; 29679 + homepage = "https://github.com/crossbario/txaio"; 29680 + license = licenses.mit; 29681 + maintainers = with maintainers; [ nand0p ]; 29682 + platforms = platforms.all; 29683 + }; 29684 + 29685 + buildInputs = with self; [ pytest mock ]; 29686 + propagatedBuildInputs = with self; [ six twisted ]; 29687 + 29688 + checkPhase = '' 29689 + py.test -k "not test_sdist" 29690 + ''; 29691 + 29692 + src = pkgs.fetchurl { 29693 + url = "mirror://pypi/t/${pname}/${name}.tar.gz"; 29694 + sha256 = "1pni1m66mlmbybmaf3py4h7cpkmkssqb5l3rigkxvql2f53pcl32"; 29695 + }; 29696 + }; 29697 + 29698 + ramlfications = buildPythonPackage rec { 29699 + name = "${pname}-${version}"; 29700 + pname = "ramlfications"; 29701 + version = "0.1.9"; 29702 + 29703 + meta = { 29704 + description = "A Python RAML parser."; 29705 + homepage = "https://ramlfications.readthedocs.org"; 29706 + license = licenses.asl20; 29707 + maintainers = with maintainers; [ nand0p ]; 29708 + platforms = platforms.all; 29709 + }; 29710 + 29711 + doCheck = false; 29712 + # [darwin] AssertionError: Expected 'update_mime_types' to have been called once. Called 0 times. 29713 + 29714 + buildInputs = with self; [ mock pytest pytest-mock pytest-server-fixtures pytest-localserver ]; 29715 + 29716 + propagatedBuildInputs = with self; [ termcolor click markdown2 six jsonref pyyaml xmltodict attrs ]; 29717 + 29718 + src = pkgs.fetchurl { 29719 + url = "mirror://pypi/r/${pname}/${name}.tar.gz"; 29720 + sha256 = "0xvnna7kaq4nm5nfnwcwbr5bcm2s532hgyp7kq4v9iivn48rrf3v"; 29721 + }; 29722 + }; 29723 + 29424 29724 yapf = buildPythonPackage rec { 29425 29725 name = "yapf-${version}"; 29426 29726 version = "0.11.0"; ··· 29435 29735 src = pkgs.fetchurl { 29436 29736 url = "mirror://pypi/y/yapf/${name}.tar.gz"; 29437 29737 sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij"; 29738 + }; 29739 + }; 29740 + 29741 + autobahn = buildPythonPackage rec { 29742 + name = "${pname}-${version}"; 29743 + pname = "autobahn"; 29744 + version = "0.16.0"; 29745 + src = pkgs.fetchurl { 29746 + url = "mirror://pypi/a/${pname}/${name}.tar.gz"; 29747 + sha256 = "1158ml8h3g0vlsgw2jmy579glbg7dn0mjij8xibdl509b8qv9p51"; 29748 + }; 29749 + buildInputs = with self; [ unittest2 mock pytest txaio trollius ]; 29750 + propagatedBuildInputs = with self; [ six twisted ]; 29751 + checkPhase = '' 29752 + py.test $out 29753 + ''; 29754 + 29755 + meta = { 29756 + description = "WebSocket and WAMP in Python for Twisted and asyncio."; 29757 + homepage = "http://crossbar.io/autobahn"; 29758 + license = licenses.mit; 29759 + maintainers = with maintainers; [ nand0p ]; 29760 + platforms = platforms.all; 29761 + }; 29762 + }; 29763 + 29764 + jsonref = buildPythonPackage rec { 29765 + name = "${pname}-${version}"; 29766 + pname = "jsonref"; 29767 + version = "0.1"; 29768 + 29769 + meta = { 29770 + description = "An implementation of JSON Reference for Python."; 29771 + homepage = "http://github.com/gazpachoking/jsonref"; 29772 + license = licenses.mit; 29773 + maintainers = with maintainers; [ nand0p ]; 29774 + platforms = platforms.all; 29775 + }; 29776 + 29777 + buildInputs = with self; [ pytest mock ]; 29778 + checkPhase = '' 29779 + py.test tests.py 29780 + ''; 29781 + 29782 + src = pkgs.fetchurl { 29783 + url = "mirror://pypi/j/${pname}/${name}.tar.gz"; 29784 + sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n"; 29438 29785 }; 29439 29786 }; 29440 29787 }