1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-09-11 15:08:33 +01:00

Merge #18007: add llvmPackages_39

This commit is contained in:
Vladimír Čunát 2016-09-02 20:37:14 +02:00
commit faa26e561b
78 changed files with 1456 additions and 328 deletions

View file

@ -715,8 +715,8 @@ Python attribute sets are created for each interpreter version. We will therefor
In the following example we change the name of the package `pandas` to `foo`. In the following example we change the name of the package `pandas` to `foo`.
``` ```
newpkgs = pkgs.overridePackages(self: super: rec { newpkgs = pkgs.overridePackages(self: super: rec {
python35Packages = super.python35Packages.override { python35Packages = (super.python35Packages.override { self = python35Packages;})
self = python35Packages // { pandas = python35Packages.pandas.override{name="foo";};}; // { pandas = super.python35Packages.pandas.override {name = "foo";};
}; };
}); });
``` ```
@ -727,8 +727,8 @@ with import <nixpkgs> {};
(let (let
newpkgs = pkgs.overridePackages(self: super: rec { newpkgs = pkgs.overridePackages(self: super: rec {
python35Packages = super.python35Packages.override { python35Packages = (super.python35Packages.override { self = python35Packages;})
self = python35Packages // { pandas = python35Packages.pandas.override{name="foo";};}; // { pandas = super.python35Packages.pandas.override {name = "foo";};
}; };
}); });
in newpkgs.python35.withPackages (ps: [ps.blaze]) in newpkgs.python35.withPackages (ps: [ps.blaze])
@ -743,7 +743,7 @@ with import <nixpkgs> {};
newpkgs = pkgs.overridePackages(self: super: rec { newpkgs = pkgs.overridePackages(self: super: rec {
python35Packages = super.python35Packages.override { python35Packages = super.python35Packages.override {
self = python35Packages // { scipy = python35Packages.scipy_0_16;}; self = python35Packages // { scipy = python35Packages.scipy_0_17;};
}; };
}); });
in newpkgs.python35.withPackages (ps: [ps.blaze]) in newpkgs.python35.withPackages (ps: [ps.blaze])
@ -751,23 +751,41 @@ in newpkgs.python35.withPackages (ps: [ps.blaze])
``` ```
The requested package `blaze` depends upon `pandas` which itself depends on `scipy`. The requested package `blaze` depends upon `pandas` which itself depends on `scipy`.
A similar example but now using `django`
```
with import <nixpkgs> {};
(let
newpkgs = pkgs.overridePackages(self: super: rec {
python27Packages = (super.python27Packages.override {self = python27Packages;})
// { django = super.python27Packages.django_1_9; };
});
in newpkgs.python27.withPackages (ps: [ps.django_guardian ])
).env
```
### `python setup.py bdist_wheel` cannot create .whl ### `python setup.py bdist_wheel` cannot create .whl
Executing `python setup.py bdist_wheel` fails with Executing `python setup.py bdist_wheel` in a `nix-shell `fails with
``` ```
ValueError: ZIP does not support timestamps before 1980 ValueError: ZIP does not support timestamps before 1980
``` ```
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. 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.
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. 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.
Use 1980 as timestamp: Use 1980 as timestamp:
``` ```
SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel nix-shell --run "SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel"
``` ```
or the current time: or the current time:
``` ```
SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel nix-shell --run "SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel"
``` ```
or unset:
"""
nix-shell --run "unset SOURCE_DATE_EPOCH; python3 setup.py bdist_wheel"
"""
### `install_data` / `data_files` problems ### `install_data` / `data_files` problems

View file

@ -218,12 +218,12 @@ rec {
partition (x: x > 2) [ 5 1 2 3 4 ] partition (x: x > 2) [ 5 1 2 3 4 ]
=> { right = [ 5 3 4 ]; wrong = [ 1 2 ]; } => { right = [ 5 3 4 ]; wrong = [ 1 2 ]; }
*/ */
partition = pred: partition = builtins.partition or (pred:
fold (h: t: fold (h: t:
if pred h if pred h
then { right = [h] ++ t.right; wrong = t.wrong; } then { right = [h] ++ t.right; wrong = t.wrong; }
else { right = t.right; wrong = [h] ++ t.wrong; } else { right = t.right; wrong = [h] ++ t.wrong; }
) { right = []; wrong = []; }; ) { right = []; wrong = []; });
/* Merges two lists of the same size together. If the sizes aren't the same /* Merges two lists of the same size together. If the sizes aren't the same
the merging stops at the shortest. How both lists are merged is defined the merging stops at the shortest. How both lists are merged is defined

View file

@ -273,6 +273,7 @@
mudri = "James Wood <lamudri@gmail.com>"; mudri = "James Wood <lamudri@gmail.com>";
muflax = "Stefan Dorn <mail@muflax.com>"; muflax = "Stefan Dorn <mail@muflax.com>";
myrl = "Myrl Hex <myrl.0xf@gmail.com>"; myrl = "Myrl Hex <myrl.0xf@gmail.com>";
nand0p = "Fernando Jose Pando <nando@hex7.com>";
nathan-gs = "Nathan Bijnens <nathan@nathan.gs>"; nathan-gs = "Nathan Bijnens <nathan@nathan.gs>";
Nate-Devv = "Nathan Moore <natedevv@gmail.com>"; Nate-Devv = "Nathan Moore <natedevv@gmail.com>";
nckx = "Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>"; nckx = "Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>";
@ -352,6 +353,7 @@
rvlander = "Gaëtan André <rvlander@gaetanandre.eu>"; rvlander = "Gaëtan André <rvlander@gaetanandre.eu>";
ryanartecona = "Ryan Artecona <ryanartecona@gmail.com>"; ryanartecona = "Ryan Artecona <ryanartecona@gmail.com>";
ryantm = "Ryan Mulligan <ryan@ryantm.com>"; ryantm = "Ryan Mulligan <ryan@ryantm.com>";
ryansydnor = "Ryan Sydnor <ryan.t.sydnor@gmail.com>";
rycee = "Robert Helgesson <robert@rycee.net>"; rycee = "Robert Helgesson <robert@rycee.net>";
ryneeverett = "Ryne Everett <ryneeverett@gmail.com>"; ryneeverett = "Ryne Everett <ryneeverett@gmail.com>";
s1lvester = "Markus Silvester <s1lvester@bockhacker.me>"; s1lvester = "Markus Silvester <s1lvester@bockhacker.me>";

View file

@ -23,9 +23,7 @@ effect after you run <command>nixos-rebuild</command>.</para>
<xi:include href="x-windows.xml" /> <xi:include href="x-windows.xml" />
<xi:include href="networking.xml" /> <xi:include href="networking.xml" />
<xi:include href="linux-kernel.xml" /> <xi:include href="linux-kernel.xml" />
<xi:include href="grsecurity.xml" />
<xi:include href="emacs.xml" />
<xi:include href="modules.xml" xpointer="xpointer(//section[@id='modules']/*)" /> <xi:include href="modules.xml" xpointer="xpointer(//section[@id='modules']/*)" />
<!-- Apache; libvirtd virtualisation --> <!-- Apache; libvirtd virtualisation -->

View file

@ -63,12 +63,6 @@ let
'' ''
cp -prd $sources/* . # */ cp -prd $sources/* . # */
chmod -R u+w . chmod -R u+w .
cp ${../../modules/services/databases/postgresql.xml} configuration/postgresql.xml
cp ${../../modules/services/misc/gitlab.xml} configuration/gitlab.xml
cp ${../../modules/services/misc/taskserver/doc.xml} configuration/taskserver.xml
cp ${../../modules/security/acme.xml} configuration/acme.xml
cp ${../../modules/i18n/input-method/default.xml} configuration/input-methods.xml
cp ${../../modules/services/editors/emacs.xml} configuration/emacs.xml
ln -s ${modulesDoc} configuration/modules.xml ln -s ${modulesDoc} configuration/modules.xml
ln -s ${optionsDocBook} options-db.xml ln -s ${optionsDocBook} options-db.xml
echo "${version}" > version echo "${version}" > version

View file

@ -52,8 +52,8 @@ foreach my $g (@{$spec->{groups}}) {
$gidsUsed{$g->{gid}} = 1 if defined $g->{gid}; $gidsUsed{$g->{gid}} = 1 if defined $g->{gid};
} }
foreach my $u (@{$spec->{groups}}) { foreach my $u (@{$spec->{users}}) {
$uidsUsed{$u->{u}} = 1 if defined $u->{uid}; $uidsUsed{$u->{uid}} = 1 if defined $u->{uid};
} }
# Read the current /etc/group. # Read the current /etc/group.

View file

@ -20,6 +20,11 @@ let
in in
{ {
meta = {
maintainers = with maintainers; [ joachifm ];
doc = ./grsecurity.xml;
};
options.security.grsecurity = { options.security.grsecurity = {
enable = mkEnableOption "grsecurity/PaX"; enable = mkEnableOption "grsecurity/PaX";

View file

@ -20,23 +20,6 @@ with lib;
config = mkIf config.security.hideProcessInformation { config = mkIf config.security.hideProcessInformation {
users.groups.proc.gid = config.ids.gids.proc; users.groups.proc.gid = config.ids.gids.proc;
systemd.services.hidepid = { fileSystems."/proc".options = [ "hidepid=2" "gid=${toString config.ids.gids.proc}" ];
wantedBy = [ "local-fs.target" ];
after = [ "systemd-remount-fs.service" ];
before = [ "local-fs-pre.target" "local-fs.target" "shutdown.target" ];
wants = [ "local-fs-pre.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStart = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=2,gid=${toString config.ids.gids.proc} /proc'';
ExecStop = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=0,gid=0 /proc'';
};
unitConfig = {
DefaultDependencies = false;
Conflicts = "shutdown.target";
};
};
}; };
} }

View file

@ -83,4 +83,6 @@ in {
EDITOR = mkOverride 900 "${editorScript}/bin/emacseditor"; EDITOR = mkOverride 900 "${editorScript}/bin/emacseditor";
} else {}; } else {};
}; };
meta.doc = ./emacs.xml;
} }

View file

@ -109,12 +109,14 @@ in {
after = [ "network.target" ]; after = [ "network.target" ];
preStart = '' preStart = ''
mkdir -p /var/spool/smtpd mkdir -p /var/spool/smtpd
chmod 711 /var/spool/smtpd
mkdir -p /var/spool/smtpd/offline mkdir -p /var/spool/smtpd/offline
chown root.smtpq /var/spool/smtpd/offline chown root.smtpq /var/spool/smtpd/offline
chmod 770 /var/spool/smtpd/offline chmod 770 /var/spool/smtpd/offline
mkdir -p /var/spool/smtpd/purge mkdir -p /var/spool/smtpd/purge
chown smtpq.root /var/spool/smtpd/purge
chmod 700 /var/spool/smtpd/purge chmod 700 /var/spool/smtpd/purge
''; '';
serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}"; serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";

View file

@ -311,7 +311,7 @@ in
nixPath = mkOption { nixPath = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = default =
[ "/nix/var/nix/profiles/per-user/root/channels/nixos" [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs"
"nixos-config=/etc/nixos/configuration.nix" "nixos-config=/etc/nixos/configuration.nix"
"/nix/var/nix/profiles/per-user/root/channels" "/nix/var/nix/profiles/per-user/root/channels"
]; ];

View file

@ -28,31 +28,15 @@ let
in in
{ {
meta = {
maintainers = with maintainers; [ joachifm ];
doc = ./dnscrypt-proxy.xml;
};
options = { options = {
services.dnscrypt-proxy = { services.dnscrypt-proxy = {
enable = mkEnableOption "dnscrypt-proxy" // { description = '' enable = mkEnableOption "DNSCrypt client proxy";
Whether to enable the DNSCrypt client proxy. The proxy relays
DNS queries to a DNSCrypt enabled upstream resolver. The traffic
between the client and the upstream resolver is encrypted and
authenticated, mitigating the risk of MITM attacks and third-party
snooping (assuming the upstream is trustworthy).
Enabling this option does not alter the system nameserver; to relay
local queries, prepend <literal>127.0.0.1</literal> to
<option>networking.nameservers</option>.
The recommended configuration is to run DNSCrypt proxy as a forwarder
for a caching DNS client, as in
<programlisting>
{
services.dnscrypt-proxy.enable = true;
services.dnscrypt-proxy.localPort = 43;
services.dnsmasq.enable = true;
services.dnsmasq.servers = [ "127.0.0.1#43" ];
services.dnsmasq.resolveLocalQueries = true; # this is the default
}
</programlisting>
''; };
localAddress = mkOption { localAddress = mkOption {
default = "127.0.0.1"; default = "127.0.0.1";
type = types.str; type = types.str;
@ -62,6 +46,7 @@ in
of other machines (typically on the local network). of other machines (typically on the local network).
''; '';
}; };
localPort = mkOption { localPort = mkOption {
default = 53; default = 53;
type = types.int; type = types.int;
@ -72,6 +57,7 @@ in
to a different value; otherwise leave the default. to a different value; otherwise leave the default.
''; '';
}; };
resolverName = mkOption { resolverName = mkOption {
default = "dnscrypt.eu-nl"; default = "dnscrypt.eu-nl";
type = types.nullOr types.str; type = types.nullOr types.str;
@ -82,6 +68,7 @@ in
extensions, and claims to not keep logs. extensions, and claims to not keep logs.
''; '';
}; };
resolverList = mkOption { resolverList = mkOption {
description = '' description = ''
The list of upstream DNSCrypt resolvers. By default, we use the most The list of upstream DNSCrypt resolvers. By default, we use the most
@ -94,6 +81,7 @@ in
}; };
defaultText = "pkgs.fetchurl { url = ...; sha256 = ...; }"; defaultText = "pkgs.fetchurl { url = ...; sha256 = ...; }";
}; };
customResolver = mkOption { customResolver = mkOption {
default = null; default = null;
description = '' description = ''
@ -103,26 +91,30 @@ in
type = types.nullOr (types.submodule ({ ... }: { options = { type = types.nullOr (types.submodule ({ ... }: { options = {
address = mkOption { address = mkOption {
type = types.str; type = types.str;
description = "Resolver IP address"; description = "IP address";
example = "208.67.220.220"; example = "208.67.220.220";
}; };
port = mkOption { port = mkOption {
type = types.int; type = types.int;
description = "Resolver port"; description = "Port";
default = 443; default = 443;
}; };
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = "Provider fully qualified domain name"; description = "Fully qualified domain name";
example = "2.dnscrypt-cert.opendns.com"; example = "2.dnscrypt-cert.opendns.com";
}; };
key = mkOption { key = mkOption {
type = types.str; type = types.str;
description = "Provider public key"; description = "Public key";
example = "B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79"; example = "B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79";
}; };
}; })); }; }));
}; };
tcpOnly = mkOption { tcpOnly = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
@ -131,6 +123,7 @@ in
TCP instead of UDP (on port 443). Use only if the UDP port is blocked. TCP instead of UDP (on port 443). Use only if the UDP port is blocked.
''; '';
}; };
ephemeralKeys = mkOption { ephemeralKeys = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
@ -212,7 +205,6 @@ in
ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}"; ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
User = "dnscrypt-proxy"; User = "dnscrypt-proxy";
Group = "dnscrypt-proxy";
PrivateTmp = true; PrivateTmp = true;
PrivateDevices = true; PrivateDevices = true;

View file

@ -0,0 +1,76 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-dnscrypt-proxy">
<title>DNSCrypt client proxy</title>
<para>
The DNSCrypt client proxy relays DNS queries to a DNSCrypt enabled
upstream resolver. The traffic between the client and the upstream
resolver is encrypted and authenticated, mitigating the risk of MITM
attacks, DNS poisoning attacks, and third-party snooping (assuming the
upstream is trustworthy).
</para>
<sect1><title>Basic configuration</title>
<para>
To enable the client proxy, set
<programlisting>
services.dnscrypt-proxy.enable = true;
</programlisting>
</para>
<para>
Enabling the client proxy does not alter the system nameserver; to
relay local queries, prepend <literal>127.0.0.1</literal> to
<option>networking.nameservers</option>.
</para>
</sect1>
<sect1><title>As a forwarder for a caching DNS client</title>
<para>
By default, DNSCrypt proxy acts as a transparent proxy for the
system stub resolver. Because the client does not cache lookups, this
setup can significantly slow down e.g., web browsing. The recommended
configuration is to run DNSCrypt proxy as a forwarder for a caching DNS
client. To achieve this, change the default proxy listening port to
a non-standard value and point the caching client to it:
<programlisting>
services.dnscrypt-proxy.localPort = 43;
</programlisting>
</para>
<sect2><title>dnsmasq</title>
<para>
<programlisting>
{
services.dnsmasq.enable = true;
services.dnsmasq.servers = [ "127.0.0.1#43" ];
}
</programlisting>
</para>
</sect2>
<sect2><title>unbound</title>
<para>
<programlisting>
{
networking.nameservers = [ "127.0.0.1" ];
services.unbound.enable = true;
services.unbound.forwardAddresses = [ "127.0.0.1@43" ];
services.unbound.extraConfig = ''
do-not-query-localhost: no
'';
}
</programlisting>
</para>
</sect2>
</sect1>
</chapter>

View file

@ -154,9 +154,15 @@ in
system.activationScripts.tmpfs = system.activationScripts.tmpfs =
'' ''
${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.devSize}" none /dev specialMount() {
${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.devShmSize}" none /dev/shm local device="$1"
${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.runSize}" none /run local mountPoint="$2"
local options="$3"
local fsType="$4"
${pkgs.utillinux}/bin/mount -t "$fsType" -o "remount,$options" "$device" "$mountPoint"
}
source ${config.system.build.earlyMountScript}
''; '';
}; };

View file

@ -59,22 +59,24 @@ echo
echo "<<< NixOS Stage 1 >>>" echo "<<< NixOS Stage 1 >>>"
echo echo
# Make several required directories.
# Mount special file systems.
mkdir -p /etc/udev mkdir -p /etc/udev
touch /etc/fstab # to shut up mount touch /etc/fstab # to shut up mount
touch /etc/mtab # to shut up mke2fs ln -s /proc/mounts /etc/mtab # to shut up mke2fs
touch /etc/udev/hwdb.bin # to shut up udev touch /etc/udev/hwdb.bin # to shut up udev
touch /etc/initrd-release touch /etc/initrd-release
mkdir -p /proc
mount -t proc proc /proc # Mount special file systems.
mkdir -p /sys specialMount() {
mount -t sysfs sysfs /sys local device="$1"
mount -t devtmpfs -o "size=@devSize@" devtmpfs /dev local mountPoint="$2"
mkdir -p /run local options="$3"
mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run local fsType="$4"
mkdir /dev/pts
mount -t devpts devpts /dev/pts mkdir -m 0755 -p "$mountPoint"
mount -n -t "$fsType" -o "$options" "$device" "$mountPoint"
}
source @earlyMountScript@
# Log the script output to /dev/kmsg or /run/log/stage-1-init.log. # Log the script output to /dev/kmsg or /run/log/stage-1-init.log.
mkdir -p /tmp mkdir -p /tmp

View file

@ -190,7 +190,9 @@ let
inherit udevRules extraUtils modulesClosure; inherit udevRules extraUtils modulesClosure;
inherit (config.boot) resumeDevice devSize runSize; inherit (config.boot) resumeDevice;
inherit (config.system.build) earlyMountScript;
inherit (config.boot.initrd) checkJournalingFS inherit (config.boot.initrd) checkJournalingFS
preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules; preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;

View file

@ -37,12 +37,16 @@ fi
# Likewise, stage 1 mounts /proc, /dev and /sys, so if we don't have a # Likewise, stage 1 mounts /proc, /dev and /sys, so if we don't have a
# stage 1, we need to do that here. # stage 1, we need to do that here.
if [ ! -e /proc/1 ]; then if [ ! -e /proc/1 ]; then
mkdir -m 0755 -p /proc specialMount() {
mount -n -t proc proc /proc local device="$1"
mkdir -m 0755 -p /dev local mountPoint="$2"
mount -t devtmpfs devtmpfs /dev local options="$3"
mkdir -m 0755 -p /sys local fsType="$4"
mount -t sysfs sysfs /sys
mkdir -m 0755 -p "$mountPoint"
mount -n -t "$fsType" -o "$options" "$device" "$mountPoint"
}
source @earlyMountScript@
fi fi
@ -87,11 +91,6 @@ done
# More special file systems, initialise required directories. # More special file systems, initialise required directories.
if ! mountpoint -q /dev/shm; then
mkdir -m 0755 /dev/shm
mount -t tmpfs -o "rw,nosuid,nodev,size=@devShmSize@" tmpfs /dev/shm
fi
mkdir -m 0755 -p /dev/pts
[ -e /proc/bus/usb ] && mount -t usbfs usbfs /proc/bus/usb # UML doesn't have USB by default [ -e /proc/bus/usb ] && mount -t usbfs usbfs /proc/bus/usb # UML doesn't have USB by default
mkdir -m 01777 -p /tmp mkdir -m 01777 -p /tmp
mkdir -m 0755 -p /var /var/log /var/lib /var/db mkdir -m 0755 -p /var /var/log /var/lib /var/db
@ -112,14 +111,6 @@ rm -f /etc/{group,passwd,shadow}.lock
rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots
# Create a tmpfs on /run to hold runtime state for programs such as
# udev (if stage 1 hasn't already done so).
if ! mountpoint -q /run; then
rm -rf /run
mkdir -m 0755 -p /run
mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run
fi
# Create a ramfs on /run/keys to hold secrets that shouldn't be # Create a ramfs on /run/keys to hold secrets that shouldn't be
# written to disk (generally used for NixOps, harmless elsewhere). # written to disk (generally used for NixOps, harmless elsewhere).
if ! mountpoint -q /run/keys; then if ! mountpoint -q /run/keys; then

View file

@ -20,10 +20,9 @@ let
src = ./stage-2-init.sh; src = ./stage-2-init.sh;
shellDebug = "${pkgs.bashInteractive}/bin/bash"; shellDebug = "${pkgs.bashInteractive}/bin/bash";
isExecutable = true; isExecutable = true;
inherit (config.boot) devShmSize runSize;
inherit (config.nix) readOnlyStore; inherit (config.nix) readOnlyStore;
inherit (config.networking) useHostResolvConf; inherit (config.networking) useHostResolvConf;
ttyGid = config.ids.gids.tty; inherit (config.system.build) earlyMountScript;
path = path =
[ pkgs.coreutils [ pkgs.coreutils
pkgs.utillinux pkgs.utillinux

View file

@ -18,6 +18,8 @@ let
prioOption = prio: optionalString (prio != null) " pri=${toString prio}"; prioOption = prio: optionalString (prio != null) " pri=${toString prio}";
specialFSTypes = [ "proc" "sysfs" "tmpfs" "devtmpfs" "devpts" ];
fileSystemOpts = { name, config, ... }: { fileSystemOpts = { name, config, ... }: {
options = { options = {
@ -97,11 +99,22 @@ let
description = "Disable running fsck on this filesystem."; description = "Disable running fsck on this filesystem.";
}; };
early = mkOption {
default = false;
type = types.bool;
internal = true;
description = ''
Mount this filesystem very early during boot. At the moment of
mounting no disks are exposed, so this option is primarily for
special file systems.
'';
};
}; };
config = { config = {
mountPoint = mkDefault name; mountPoint = mkDefault name;
device = mkIf (config.fsType == "tmpfs") (mkDefault config.fsType); device = mkIf (elem config.fsType specialFSTypes) (mkDefault config.fsType);
options = mkIf config.autoResize [ "x-nixos.autoresize" ]; options = mkIf config.autoResize [ "x-nixos.autoresize" ];
# -F needed to allow bare block device without partitions # -F needed to allow bare block device without partitions
@ -110,6 +123,13 @@ let
}; };
# Makes sequence of `specialMount device mountPoint options fsType` commands.
# `systemMount` should be defined in the sourcing script.
makeSpecialMounts = mounts:
pkgs.writeText "mounts.sh" (concatMapStringsSep "\n" (mount: ''
specialMount "${mount.device}" "${mount.mountPoint}" "${concatStringsSep "," mount.options}" "${mount.fsType}"
'') mounts);
in in
{ {
@ -131,8 +151,7 @@ in
"/bigdisk".label = "bigdisk"; "/bigdisk".label = "bigdisk";
} }
''; '';
type = types.loaOf types.optionSet; type = types.loaOf (types.submodule fileSystemOpts);
options = [ fileSystemOpts ];
description = '' description = ''
The file systems to be mounted. It must include an entry for The file systems to be mounted. It must include an entry for
the root directory (<literal>mountPoint = "/"</literal>). Each the root directory (<literal>mountPoint = "/"</literal>). Each
@ -177,10 +196,14 @@ in
{ assertion = ! (fileSystems' ? "cycle"); { assertion = ! (fileSystems' ? "cycle");
message = "The fileSystems option can't be topologically sorted: mountpoint dependency path ${ls " -> " fileSystems'.cycle} loops to ${ls ", " fileSystems'.loops}"; message = "The fileSystems option can't be topologically sorted: mountpoint dependency path ${ls " -> " fileSystems'.cycle} loops to ${ls ", " fileSystems'.loops}";
} }
{ assertion = all (x: !x.early || (x.label == null && !x.autoFormat && !x.autoResize)) fileSystems;
message = "Early filesystems don't support mounting by label, auto formatting and resizing";
}
]; ];
# Export for use in other modules # Export for use in other modules
system.build.fileSystems = fileSystems; system.build.fileSystems = fileSystems;
system.build.earlyMountScript = makeSpecialMounts (filter (fs: fs.early) fileSystems);
boot.supportedFilesystems = map (fs: fs.fsType) fileSystems; boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
@ -211,7 +234,7 @@ in
+ " " + (if skipCheck fs then "0" else + " " + (if skipCheck fs then "0" else
if fs.mountPoint == "/" then "1" else "2") if fs.mountPoint == "/" then "1" else "2")
+ "\n" + "\n"
) fileSystems} ) (filter (fs: !fs.early) fileSystems)}
# Swap devices. # Swap devices.
${flip concatMapStrings config.swapDevices (sw: ${flip concatMapStrings config.swapDevices (sw:
@ -258,6 +281,16 @@ in
in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems)); in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems));
# Sync mount options with systemd's src/core/mount-setup.c: mount_table.
fileSystems = mapAttrs (n: fs: fs // { early = true; }) {
"/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; };
"/sys" = { fsType = "sysfs"; options = [ "nosuid" "noexec" "nodev" ]; };
"/run" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; };
"/dev" = { fsType = "devtmpfs"; options = [ "nosuid" "strictatime" "mode=755" "size=${config.boot.devSize}" ]; };
"/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; };
"/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "gid=${toString config.ids.gids.tty}" ]; };
};
}; };
} }

View file

@ -1,24 +0,0 @@
# This module automatically grows the root partition on Amazon EC2 HVM
# instances. This allows an instance to be created with a bigger root
# filesystem than provided by the AMI.
{ config, lib, pkgs, ... }:
{
config = lib.mkIf config.ec2.hvm {
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
copy_bin_and_libs ${pkgs.gnused}/bin/sed
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart
ln -s sed $out/bin/gnused
'';
boot.initrd.postDeviceCommands = ''
if [ -e /dev/xvda ] && [ -e /dev/xvda1 ]; then
TMPDIR=/run sh $(type -P growpart) /dev/xvda 1
udevadm settle
fi
'';
};
}

View file

@ -11,10 +11,12 @@ with lib;
let cfg = config.ec2; in let cfg = config.ec2; in
{ {
imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-grow-partition.nix ./amazon-init.nix ]; imports = [ ../profiles/headless.nix ./ec2-data.nix ./grow-partition.nix ./amazon-init.nix ];
config = { config = {
virtualisation.growPartition = cfg.hvm;
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-label/nixos"; device = "/dev/disk/by-label/nixos";
autoResize = true; autoResize = true;

View file

@ -340,6 +340,20 @@ in
A specification of the desired configuration of this A specification of the desired configuration of this
container, as a NixOS module. container, as a NixOS module.
''; '';
type = lib.mkOptionType {
name = "Toplevel NixOS config";
merge = loc: defs: (import ../../lib/eval-config.nix {
inherit system;
modules =
let extraConfig =
{ boot.isContainer = true;
networking.hostName = mkDefault name;
networking.useDHCP = false;
};
in [ extraConfig ] ++ (map (x: x.value) defs);
prefix = [ "containers" name ];
}).config;
};
}; };
path = mkOption { path = mkOption {
@ -410,18 +424,9 @@ in
} // networkOptions; } // networkOptions;
config = mkMerge config = mkMerge
[ (mkIf options.config.isDefined { [
path = (import ../../lib/eval-config.nix { (mkIf options.config.isDefined {
inherit system; path = config.config.system.build.toplevel;
modules =
let extraConfig =
{ boot.isContainer = true;
networking.hostName = mkDefault name;
networking.useDHCP = false;
};
in [ extraConfig config.config ];
prefix = [ "containers" name ];
}).config.system.build.toplevel;
}) })
]; ];
})); }));

View file

@ -0,0 +1,41 @@
# This module automatically grows the root partition on virtual machines.
# This allows an instance to be created with a bigger root filesystem
# than provided by the machine image.
{ config, lib, pkgs, ... }:
{
options = {
virtualisation.growPartition = mkOption {
type = types.bool;
default = true;
};
};
config = mkIf config.virtualisation.growPartition {
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
copy_bin_and_libs ${pkgs.gnused}/bin/sed
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk
cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart
ln -s sed $out/bin/gnused
'';
boot.initrd.postDeviceCommands = ''
rootDevice="${config.fileSystems."/".device}"
if [ -e "$rootDevice" ]; then
rootDevice="$(readlink -f "$rootDevice")"
parentDevice="$(lsblk -npo PKNAME "$rootDevice")"
TMPDIR=/run sh $(type -P growpart) "$parentDevice" "''${rootDevice#$parentDevice}"
udevadm settle
fi
'';
};
}

View file

@ -8,6 +8,8 @@ let
in { in {
imports = [ ./grow-partition.nix ];
options = { options = {
virtualbox = { virtualbox = {
baseImageSize = mkOption { baseImageSize = mkOption {
@ -64,7 +66,10 @@ in {
''; '';
}; };
fileSystems."/".device = "/dev/disk/by-label/nixos"; fileSystems."/" = {
device = "/dev/disk/by-label/nixos";
autoResize = true;
};
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";

View file

@ -44,6 +44,10 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el
# emacs runs then dumps itself. In the process, it keeps a copy of the
# PATH env var, holding all the build inputs in it's closure.
# Prevent that by running the self-dumping emacs with an empty PATH.
sed -i 's|^RUN_TEMACS = |&PATH= |' src/Makefile.in
''; '';
buildInputs = buildInputs =

View file

@ -17,11 +17,17 @@ python3Packages.buildPythonApplication rec {
zlib zlib
]; ];
patchPhase = ''
substituteInPlace manuskript/ui/welcome.py \
--replace sample-projects $out/share/${name}/sample-projects
'';
buildPhase = ''''; buildPhase = '''';
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out/share/${name}
cp -av * $out/ cp -av bin/ i18n/ libs/ manuskript/ resources/ icons/ $out
cp -r sample-projects/ $out/share/${name}
''; '';
doCheck = false; doCheck = false;
@ -29,6 +35,18 @@ python3Packages.buildPythonApplication rec {
meta = { meta = {
description = "A open-source tool for writers"; description = "A open-source tool for writers";
homepage = http://www.theologeek.ch/manuskript; homepage = http://www.theologeek.ch/manuskript;
longDescription = ''
Manuskript is a tool for those writer who like to organize and
plan everything before writing. The snowflake method can help you
grow your idea into a book, by leading you step by step and asking
you questions to go deeper. While writing, keep track of notes
about every characters, plot, event, place in your story.
Develop complex characters and keep track of all useful infos.
Create intricate plots, linked to your characters, and use them to
outline your story. Organize your ideas about the world your
characters live in.
'';
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.steveej ]; maintainers = [ stdenv.lib.maintainers.steveej ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;

View file

@ -5,7 +5,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qgis-2.16.1"; name = "qgis-2.16.2";
buildInputs = [ gdal qt4 flex bison proj geos xlibsWrapper sqlite gsl qwt qscintilla buildInputs = [ gdal qt4 flex bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2"; url = "http://qgis.org/downloads/${name}.tar.bz2";
sha256 = "4a526cd8ae76fc06bb2b6a158e86db5dc0c94545137a8233cd465ef867acdc8b"; sha256 = "0dll8klz0qfba4c1y7mp9k4y4azlay0sypvryicggllk1hna4w0n";
}; };
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";

View file

@ -0,0 +1,38 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "wavrsocvt-1.0.2.0";
src = fetchurl {
url = "http://bricxcc.sourceforge.net/wavrsocvt.tgz";
sha256 = "15qlvdfwbiclljj7075ycm78yzqahzrgl4ky8pymix5179acm05h";
};
phases = [ "unpackPhase" "installPhase" ];
unpackPhase = ''
tar -zxf $src
'';
installPhase = ''
mkdir -p $out/bin
cp wavrsocvt $out/bin
'';
meta = with stdenv.lib; {
description = "Convert .wav files into sound files for Lego NXT brick";
longDescription = ''
wavrsocvt is a command-line utility which can be used from a
terminal window or script to convert .wav files into sound
files for the NXT brick (.rso files). It can also convert the
other direction (i.e., .rso -> .wav). It can produce RSO files
with a sample rate between 2000 and 16000 (the min/max range of
supported sample rates in the standard NXT firmware).
You can then upload these with e.g. nxt-python.
'';
homepage = http://bricxcc.sourceforge.net/;
license = licenses.mpl11;
maintainers = with maintainers; [ leenaars ];
platforms = with platforms; linux;
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "timewarrior-${version}"; name = "timewarrior-${version}";
version = "1.0.0.beta1"; version = "1.0.0";
enableParallelBuilding = true; enableParallelBuilding = true;
src = fetchurl { src = fetchurl {
url = "https://taskwarrior.org/download/timew-${version}.tar.gz"; url = "https://taskwarrior.org/download/timew-${version}.tar.gz";
sha256 = "1gkh07mw8hiqslw8ps35r9lp5jbdy93s0sdrcbp34dd5h99qx587"; sha256 = "1d8b9sjdbdld81n535iwip9igl16kcw452wa47fmndp8w487j0mc";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -0,0 +1,23 @@
{ stdenv, fetchFromGitHub, cmake, gtk3, vala_0_26, pkgconfig, gnome3 }:
stdenv.mkDerivation rec {
version = "1.2";
name = "valauncher-${version}";
src = fetchFromGitHub {
owner = "Mic92";
repo = "valauncher";
rev = "v${version}";
sha256 = "1d1gfmzmr5ra2rnjc6rbz31mf3hk7q04lh4i1hljgk7fh90dacb6";
};
buildInputs = [ cmake gtk3 vala_0_26 pkgconfig gnome3.libgee ];
meta = with stdenv.lib; {
description = "A fast dmenu-like gtk3 application launcher";
homepage = https://github.com/Mic92/valauncher;
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
platforms = platforms.all;
};
}

View file

@ -2,12 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "communi-${version}"; name = "communi-${version}";
version = "2016-01-03"; version = "2016-08-19";
src = fetchgit { src = fetchgit {
url = "https://github.com/communi/communi-desktop.git"; url = "https://github.com/communi/communi-desktop.git";
rev = "ad1b9a30ed6c51940c0d2714b126a32b5d68c876"; rev = "d516b01b1382a805de65f21f3475e0a8e64a97b5";
sha256 = "0jx963pfvzk4dbk8mrmzfrhzybk5y6ib9yzaj662wliayrzj7vpg"; sha256 = "1pn7mr7ch1ck5qv9zdn3ril40c9kk6l04475564rpzf11jly76an";
fetchSubmodules = true;
}; };
nativeBuildInputs = [ makeQtWrapper qmakeHook ]; nativeBuildInputs = [ makeQtWrapper qmakeHook ];
@ -34,6 +35,10 @@ stdenv.mkDerivation rec {
--replace "/usr/bin" "$out/bin" --replace "/usr/bin" "$out/bin"
''; '';
postFixup = ''
patchelf --set-rpath "$out/lib:$(patchelf --print-rpath $out/bin/.communi-wrapped)" $out/bin/.communi-wrapped
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A simple and elegant cross-platform IRC client"; description = "A simple and elegant cross-platform IRC client";
homepage = https://github.com/communi/communi-desktop; homepage = https://github.com/communi/communi-desktop;

View file

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, python27Packages }:
python27Packages.buildPythonApplication rec {
version = "2016-07-29";
name = "qweechat-unstable-${version}";
namePrefix = "";
src = fetchFromGitHub {
owner = "weechat";
repo = "qweechat";
rev = "f5e54d01691adb3abef47e051a6412186c33313c";
sha256 = "0dhlriwvkrsn7jj01p2wqhf2p63n9qd173jsgccgxlacm2zzvhaz";
};
prePatch = ''
substituteInPlace setup.py \
--replace 'qweechat = qweechat.qweechat' 'qweechat = qweechat.qweechat:main'
'';
propagatedBuildInputs = with python27Packages; [
pyside
];
meta = with stdenv.lib; {
homepage = https://github.com/weechat/qweechat;
description = "Qt remote GUI for WeeChat";
license = licenses.gpl3;
maintainers = with maintainers; [ ramkromberg ];
platform = with platforms; linux;
};
}

View file

@ -1,14 +1,15 @@
{stdenv, fetchurl, openssl, libsamplerate}: { stdenv, fetchurl, openssl, libsamplerate, alsaLib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pjsip-2.1"; name = "pjsip-${version}";
version = "2.5.5";
src = fetchurl { src = fetchurl {
url = http://www.pjsip.org/release/2.1/pjproject-2.1.tar.bz2; url = "http://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2";
md5 = "310eb63638dac93095f6a1fc8ee1f578"; sha256 = "ab39207b761d3485199cd881410afeb2d171dff7c2bf75e8caae91c6dca508f3";
}; };
buildInputs = [ openssl libsamplerate ]; buildInputs = [ openssl libsamplerate alsaLib ];
postInstall = '' postInstall = ''
mkdir -p $out/bin mkdir -p $out/bin
@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
dontPatchELF = true; dontPatchELF = true;
meta = { meta = {
description = "SIP stack and media stack for presence, im, and multimedia communication"; description = "A multimedia communication library written in C, implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE";
homepage = http://pjsip.org/; homepage = http://pjsip.org/;
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with stdenv.lib.maintainers; [viric];

View file

@ -69,6 +69,16 @@ in stdenv.mkDerivation rec {
sha256 = "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x"; sha256 = "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x";
}; };
# we only have this problem on i686 ATM
patches = if stdenv.is64bit then null else [
(fetchurl {
name = "disable-flaky-tests.diff";
url = "https://anonscm.debian.org/git/pkg-openoffice/libreoffice.git/plain"
+ "/patches/disable-flaky-tests.diff?h=libreoffice_5.1.5_rc2-1";
sha256 = "1v1aiqdi64iijjraj6v4ljzclrd9lqan54hmy2h6m20x3ab005wb";
})
];
# Openoffice will open libcups dynamically, so we link it directly # Openoffice will open libcups dynamically, so we link it directly
# to make its dlopen work. # to make its dlopen work.
# It also seems not to mention libdl explicitly in some places. # It also seems not to mention libdl explicitly in some places.

View file

@ -10,13 +10,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mkvtoolnix-${version}"; name = "mkvtoolnix-${version}";
version = "9.3.1"; version = "9.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mbunkus"; owner = "mbunkus";
repo = "mkvtoolnix"; repo = "mkvtoolnix";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "1vipznja07nr7gmzdbv93dv2ggmw4x1bh6xxnn13k3fk6ysqh163"; sha256 = "0bmr0cnxp56flak6fjcn0ld5238h3ngrvy09yqp4790g8xwif35v";
}; };
nativeBuildInputs = [ pkgconfig autoconf automake gettext ruby ]; nativeBuildInputs = [ pkgconfig autoconf automake gettext ruby ];

View file

@ -1,25 +1,23 @@
{ stdenv, fetchbzr, pythonPackages, rtmpdump, makeWrapper }: { stdenv, fetchbzr, python3, rtmpdump, makeWrapper }:
let let
inherit (pythonPackages) python pyqt4 sip; pythonEnv = python3.withPackages (ps: with ps; [ pyqt5 sip ]);
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "qarte-2.4.0"; name = "qarte-3.2.0";
src = fetchbzr { src = fetchbzr {
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk; url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-3;
rev = "150"; rev = "146";
sha256 = "0fj11jx9l5qi968c906rrksdic7w4yj414m47k6axlb4v6ghdnar"; sha256 = "0dvl38dknmnj2p4yr25p88kw3mh502c6qdp2bd43bhd2sqc3b0v0";
}; };
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper pythonEnv ];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
mv qarte $out/bin/ mv qarte $out/bin/
substituteInPlace $out/bin/qarte \ substituteInPlace $out/bin/qarte \
--replace '/usr/bin/python' "${python.interpreter}" \
--replace '/usr/share' "$out/share" --replace '/usr/share' "$out/share"
wrapProgram $out/bin/qarte \ wrapProgram $out/bin/qarte \
--prefix PYTHONPATH : "${pyqt4}/lib/${python.libPrefix}/site-packages:${sip}/lib/${python.libPrefix}/site-packages" \
--prefix PATH : "${rtmpdump}/bin" --prefix PATH : "${rtmpdump}/bin"
mkdir -p $out/share/man/man1/ mkdir -p $out/share/man/man1/

View file

@ -0,0 +1,31 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "roboto-${version}";
version = "2.134";
src = fetchurl {
url = "https://github.com/google/roboto/releases/download/v${version}/roboto-unhinted.zip";
sha256 = "1l033xc2n4754gwakxshh5235cnrnzy7q6zsp5zghn8ib0gdp5rb";
};
nativeBuildInputs = [ unzip ];
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp -a * $out/share/fonts/truetype/
'';
meta = {
homepage = https://github.com/google/roboto;
description = "The Roboto family of fonts";
longDescription = ''
Googles signature family of fonts, the default font on Android and
Chrome OS, and the recommended font for Googles visual language,
Material Design.
'';
license = stdenv.lib.licenses.asl20;
maintainers = [ stdenv.lib.maintainers.romildo ];
platforms = stdenv.lib.platforms.all;
};
}

View file

@ -49,7 +49,7 @@ let
postPatch = '' postPatch = ''
rm -f rebar rebar3 rm -f rebar rebar3
''; '' + postPatch;
configurePhase = if configurePhase == null configurePhase = if configurePhase == null
then '' then ''

View file

@ -0,0 +1,57 @@
{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src, python }:
let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
self = stdenv.mkDerivation {
name = "clang-${version}";
unpackPhase = ''
unpackFile ${fetch "cfe" "0a1x32rxrq4ln079xf58irg56gjdxcfgwa00ws4hqv9pv73sg5km"}
mv cfe-${version}.src clang
sourceRoot=$PWD/clang
unpackFile ${clang-tools-extra_src}
mv clang-tools-extra-* $sourceRoot/tools/extra
'';
buildInputs = [ cmake libedit libxml2 llvm python ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_CXX_FLAGS=-std=c++11"
] ++
# Maybe with compiler-rt this won't be needed?
(stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++
(stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include");
patches = [ ./purity.patch ];
postPatch = ''
sed -i -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/Tools.cpp
sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
'';
# Clang expects to find LLVMgold in its own prefix
# Clang expects to find sanitizer libraries in its own prefix
postInstall = ''
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
ln -sv ${llvm}/lib/clang/3.9.0/lib $out/lib/clang/3.9.0/
ln -sv $out/bin/clang $out/bin/cpp
'';
enableParallelBuilding = true;
passthru = {
lib = self; # compatibility with gcc, so that `stdenv.cc.cc.lib` works on both
isClang = true;
} // stdenv.lib.optionalAttrs stdenv.isLinux {
inherit gcc;
};
meta = {
description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
};
};
in self

View file

@ -0,0 +1,16 @@
--- a/lib/Driver/Tools.cpp 2016-08-25 15:48:05.187553443 +0200
+++ b/lib/Driver/Tools.cpp 2016-08-25 15:48:47.534468882 +0200
@@ -9420,13 +9420,6 @@
if (!Args.hasArg(options::OPT_static)) {
if (Args.hasArg(options::OPT_rdynamic))
CmdArgs.push_back("-export-dynamic");
-
- if (!Args.hasArg(options::OPT_shared)) {
- const std::string Loader =
- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
- CmdArgs.push_back("-dynamic-linker");
- CmdArgs.push_back(Args.MakeArgString(Loader));
- }
}
CmdArgs.push_back("-o");

View file

@ -0,0 +1,35 @@
{ newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });
version = "3.9.0";
fetch = fetch_v version;
fetch_v = ver: name: sha256: fetchurl {
url = "http://llvm.org/releases/3.9.0/${name}-${ver}.src.tar.xz";
inherit sha256;
};
compiler-rt_src = fetch "compiler-rt" "16m5g0hf8yg9npnw25j2a86g34nsvk9rsm3c84gbch2prm7j5rg0";
clang-tools-extra_src = fetch "clang-tools-extra" "052zg0h5vbmxnh2ikc743rw3649f112dfyn8hg39x6cfxi3fqyjv";
self = {
llvm = callPackage ./llvm.nix {
inherit compiler-rt_src stdenv;
};
clang-unwrapped = callPackage ./clang {
inherit clang-tools-extra_src stdenv;
};
clang = wrapCC self.clang-unwrapped;
stdenv = overrideCC stdenv self.clang;
lldb = callPackage ./lldb.nix {};
libcxx = callPackage ./libc++ {};
libcxxabi = callPackage ./libc++abi.nix {};
};
in self

View file

@ -0,0 +1,39 @@
--- libcxx-3.8.0.src.org/lib/CMakeLists.txt 2015-12-16 15:41:05.000000000 -0800
+++ libcxx-3.8.0.src/lib/CMakeLists.txt 2016-06-17 19:40:00.293394500 -0700
@@ -94,30 +94,30 @@
add_definitions(-D__STRICT_ANSI__)
add_link_flags(
"-compatibility_version 1"
"-current_version 1"
- "-install_name /usr/lib/libc++.1.dylib"
- "-Wl,-reexport_library,/usr/lib/libc++abi.dylib"
+ "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib"
+ "-Wl,-reexport_library,${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib"
"-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
"/usr/lib/libSystem.B.dylib")
else()
if ( ${CMAKE_OSX_SYSROOT} )
list(FIND ${CMAKE_OSX_ARCHITECTURES} "armv7" OSX_HAS_ARMV7)
if (OSX_HAS_ARMV7)
set(OSX_RE_EXPORT_LINE
- "${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"
+ "${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib"
"-Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++sjlj-abi.exp")
else()
set(OSX_RE_EXPORT_LINE
- "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib")
+ "-Wl,-reexport_library,${CMAKE_OSX_SYSROOT}${LIBCXX_LIBCXXABI_LIB_PATH}/libc++abi.dylib")
endif()
else()
- set(OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib -Wl,-reexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++abi${LIBCXX_LIBCPPABI_VERSION}.exp")
+ 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")
endif()
add_link_flags(
"-compatibility_version 1"
- "-install_name /usr/lib/libc++.1.dylib"
+ "-install_name ${LIBCXX_LIBCXXABI_LIB_PATH}/libc++.1.dylib"
"-Wl,-unexported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/libc++unexp.exp"
"${OSX_RE_EXPORT_LINE}"
"-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/notweak.exp"
"-Wl,-force_symbols_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/weak.exp")

View file

@ -0,0 +1,40 @@
{ lib, stdenv, fetch, cmake, libcxxabi, fixDarwinDylibNames, version }:
stdenv.mkDerivation rec {
name = "libc++-${version}";
src = fetch "libcxx" "01jvgwi9zd46bb1f93c561212bjzg02q2akacvsj4qsw6r8qvcyh";
postUnpack = ''
unpackFile ${libcxxabi.src}
'';
preConfigure = ''
# Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include")
'';
patches = lib.optional stdenv.isDarwin ./darwin.patch;
buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
cmakeFlags =
[ "-DCMAKE_BUILD_TYPE=Release"
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
"-DLIBCXX_LIBCPPABI_VERSION=2"
"-DLIBCXX_CXX_ABI=libcxxabi"
];
enableParallelBuilding = true;
linkCxxAbi = stdenv.isLinux;
setupHook = ./setup-hook.sh;
meta = {
homepage = http://libcxx.llvm.org/;
description = "A new implementation of the C++ standard library, targeting C++11";
license = "BSD";
platforms = stdenv.lib.platforms.unix;
};
}

View file

@ -0,0 +1,3 @@
linkCxxAbi="@linkCxxAbi@"
export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"

View file

@ -0,0 +1,47 @@
{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
stdenv.mkDerivation {
name = "libc++abi-${version}";
src = fetch "libcxxabi" "06c05jlwfgm2q5xhy5wzmsi9bmfphzh22wpmbph84s452wksjdxh";
buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
postUnpack = ''
unpackFile ${libcxx.src}
unpackFile ${llvm.src}
export NIX_CFLAGS_COMPILE+=" -I$PWD/include"
export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_INCLUDES=$PWD/$(ls -d libcxx-*)/include"
'' + stdenv.lib.optionalString stdenv.isDarwin ''
export TRIPLE=x86_64-apple-darwin
'';
installPhase = if stdenv.isDarwin
then ''
for file in lib/*.dylib; do
# this should be done in CMake, but having trouble figuring out
# the magic combination of necessary CMake variables
# if you fancy a try, take a look at
# http://www.cmake.org/Wiki/CMake_RPATH_handling
install_name_tool -id $out/$file $file
done
make install
install -d 755 $out/include
install -m 644 ../include/*.h $out/include
''
else ''
install -d -m 755 $out/include $out/lib
install -m 644 lib/libc++abi.so.1.0 $out/lib
install -m 644 ../include/cxxabi.h $out/include
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
'';
meta = {
homepage = http://libcxxabi.llvm.org/;
description = "A new implementation of low level support for a standard C++ library";
license = "BSD";
maintainers = with stdenv.lib.maintainers; [ vlstill ];
platforms = stdenv.lib.platforms.unix;
};
}

View file

@ -0,0 +1,56 @@
{ stdenv
, fetch
, cmake
, zlib
, ncurses
, swig
, which
, libedit
, llvm
, clang-unwrapped
, python
, version
}:
stdenv.mkDerivation {
name = "lldb-${version}";
src = fetch "lldb" "1113s6crh94hzk9h9lqrvng0lsy174ml2rq0r962ngqy843hwa31";
postUnpack = ''
# Hack around broken standalone build as of 3.8
unpackFile ${llvm.src}
srcDir="$(ls -d lldb-*.src)"
mkdir -p "$srcDir/tools/lib/Support"
cp "$(ls -d llvm-*.src)/lib/Support/regex_impl.h" "$srcDir/tools/lib/Support/"
# Fix up various paths that assume llvm and clang are installed in the same place
substituteInPlace $srcDir/cmake/modules/LLDBStandalone.cmake \
--replace CheckAtomic $(readlink -f llvm-*.src)/cmake/modules/CheckAtomic.cmake
sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
$srcDir/cmake/modules/LLDBStandalone.cmake
sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \
$srcDir/cmake/modules/LLDBStandalone.cmake
sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
$srcDir/cmake/modules/LLDBStandalone.cmake
'';
buildInputs = [ cmake python which swig ncurses zlib libedit llvm ];
CXXFLAGS = "-fno-rtti";
hardeningDisable = [ "format" ];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DLLVM_MAIN_INCLUDE_DIR=${llvm}/include"
];
enableParallelBuilding = true;
meta = {
description = "A next-generation high-performance debugger";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.all;
};
}

View file

@ -0,0 +1,89 @@
{ stdenv
, fetch
, perl
, groff
, cmake
, python
, libffi
, binutils
, libxml2
, valgrind
, ncurses
, version
, zlib
, compiler-rt_src
, libcxxabi
, debugVersion ? false
, enableSharedLibraries ? true
}:
let
src = fetch "llvm" "0j49lkd5d7nnpdqzaybs2472bvcxyx0i4r3iccwf3kj2v9wk3iv6";
in stdenv.mkDerivation rec {
name = "llvm-${version}";
unpackPhase = ''
unpackFile ${src}
mv llvm-${version}.src llvm
sourceRoot=$PWD/llvm
unpackFile ${compiler-rt_src}
mv compiler-rt-* $sourceRoot/projects/compiler-rt
'';
buildInputs = [ perl groff cmake libxml2 python libffi ]
++ stdenv.lib.optional stdenv.isDarwin libcxxabi;
propagatedBuildInputs = [ ncurses zlib ];
# hacky fix: New LLVM releases require a newer OS X SDK than
# 10.9. This is a temporary measure until nixpkgs darwin support is
# updated.
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
'';
# hacky fix: created binaries need to be run before installation
preBuild = ''
mkdir -p $out/
ln -sv $PWD/lib $out
'';
cmakeFlags = with stdenv; [
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
"-DLLVM_BUILD_TESTS=ON"
"-DLLVM_ENABLE_FFI=ON"
"-DLLVM_ENABLE_RTTI=ON"
"-DCOMPILER_RT_INCLUDE_TESTS=OFF" # FIXME: requires clang source code
] ++ stdenv.lib.optional enableSharedLibraries [
"-DLLVM_LINK_LLVM_DYLIB=ON"
] ++ stdenv.lib.optional (!isDarwin)
"-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
++ stdenv.lib.optionals ( isDarwin) [
"-DLLVM_ENABLE_LIBCXX=ON"
"-DCAN_TARGET_i386=false"
];
postBuild = ''
rm -fR $out
paxmark m bin/{lli,llvm-rtdyld}
'';
postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) ''
install_name_tool -id $out/lib/libLLVM.dylib $out/lib/libLLVM.dylib
ln -s $out/lib/libLLVM.dylib $out/lib/libLLVM-${version}.dylib
'';
enableParallelBuilding = true;
passthru.src = src;
meta = {
description = "Collection of modular and reusable compiler and toolchain technologies";
homepage = http://llvm.org/;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin viric ];
platforms = stdenv.lib.platforms.all;
};
}

View file

@ -18,10 +18,6 @@ rec {
}; };
cargo = callPackage ./cargo.nix rec { cargo = callPackage ./cargo.nix rec {
# TODO: We're temporarily tracking master here as Darwin needs the
# `http.cainfo` option from .cargo/config which isn't released
# yet.
version = "beta-2016-07-25"; version = "beta-2016-07-25";
srcRev = "f09ef68cc47956ccc5f99212bdcdd15298c400a0"; srcRev = "f09ef68cc47956ccc5f99212bdcdd15298c400a0";
srcSha = "1r6q9jd0fl6mzhwkvrrcv358q2784hg51dfpy28xgh4n61m7c155"; srcSha = "1r6q9jd0fl6mzhwkvrrcv358q2784hg51dfpy28xgh4n61m7c155";

View file

@ -25,10 +25,6 @@ rec {
}; };
cargo = callPackage ./cargo.nix rec { cargo = callPackage ./cargo.nix rec {
# TODO: We're temporarily tracking master here as Darwin needs the
# `http.cainfo` option from .cargo/config which isn't released
# yet.
version = "0.12.0"; version = "0.12.0";
srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93"; srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93";
srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk"; srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk";

View file

@ -1,5 +1,5 @@
{stdenv, fetchurl, libX11, xproto, indent, readline, gsl, freeglut, mesa, SDL {stdenv, fetchurl, libX11, xproto, indent, readline, gsl, freeglut, mesa, SDL
, blas, binutils, intltool, gettext, zlib}: , blas, binutils, intltool, gettext, zlib, libSM}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
baseName = "lush"; baseName = "lush";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
libX11 xproto indent readline gsl freeglut mesa SDL blas binutils libX11 libSM xproto indent readline gsl freeglut mesa SDL blas binutils
intltool gettext zlib intltool gettext zlib
]; ];

View file

@ -0,0 +1,35 @@
{ stdenv, fetchFromGitHub, pythonPackages}:
stdenv.mkDerivation rec {
version = "4.4";
name = "cxxtest";
src = fetchFromGitHub {
owner = "CxxTest";
repo = name;
rev = version;
sha256 = "19w92kipfhp5wvs47l0qpibn3x49sbmvkk91yxw6nwk6fafcdl17";
};
buildInputs = with pythonPackages; [ python wrapPython ];
installPhase = ''
cd python
python setup.py install --prefix=$out
cd ..
mkdir -p $out/include
cp -R cxxtest $out/include/
wrapPythonProgramsIn $out/bin "$out $pythonPath"
'';
meta = with stdenv.lib; {
homepage = "http://cxxtest.com";
description = "Unit testing framework for C++";
platforms = platforms.unix ;
license = licenses.lgpl3;
maintainers = [ maintainers.juliendehos ];
};
}

View file

@ -5,8 +5,8 @@
}@args: }@args:
callPackage ./generic.nix (args // rec { callPackage ./generic.nix (args // rec {
version = "${branch}.2"; version = "${branch}.3";
branch = "3.1"; branch = "3.1";
sha256 = "1xvh1c8nlws0wx6b7yl1pvkybgzaj5585h1r6z1gzhck1f0qvsv2"; sha256 = "0f4ajs0c4088nkal4gqagx05wfyhd1izfxmzxxsdh56ibp38kg2q";
darwinFrameworks = [ Cocoa CoreMedia ]; darwinFrameworks = [ Cocoa CoreMedia ];
}) })

View file

@ -1,11 +1,11 @@
{ fetchurl, fetchpatch, stdenv }: { fetchurl, fetchpatch, stdenv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gsl-2.1"; name = "gsl-2.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gsl/${name}.tar.gz"; url = "mirror://gnu/gsl/${name}.tar.gz";
sha256 = "0rhcia9jhr3p1f1wybwyllwqfs9bggz99i3mi5lpyqcpff1hdbar"; sha256 = "1pyq2c0j91z955746myn29c89jwkd435s2cbj8ks2hpag6d0mr2d";
}; };
patches = [ patches = [

View file

@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
buildInputs = [ automake autoconf libtool which ]; buildInputs = [ automake autoconf libtool which ];
NIX_CFLAGS_LINK = [ "-pthread" ];
patches = [ ./bootstrap.patch ]; patches = [ ./bootstrap.patch ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -1,17 +1,18 @@
{ fetchgit, qtbase, qmakeHook, which, stdenv { stdenv, fetchFromGitHub, qtbase, qtdeclarative, qmakeHook, which
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libcommuni-${version}"; name = "libcommuni-${version}";
version = "2016-03-23"; version = "2016-08-17";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/communi/libcommuni.git"; owner = "communi";
rev = "6a5110b25e2838e7dc2c62d16b9fd06d12beee7e"; repo = "libcommuni";
sha256 = "184ah5xqg5pgy8h6fyyz2k0vak1fmhrcidwz828yl4lsvz1vjqh1"; rev = "dedba6faf57c31c8c70fd563ba12d75a9caee8a3";
sha256 = "0wvs53z34vfs5xlln4a6sbd4981svag89xm0f4k20mb1i052b20i";
}; };
buildInputs = [ qtbase ]; buildInputs = [ qtbase qtdeclarative ];
nativeBuildInputs = [ qmakeHook which ]; nativeBuildInputs = [ qmakeHook which ];
enableParallelBuild = true; enableParallelBuild = true;

View file

@ -0,0 +1,24 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, zlib }:
stdenv.mkDerivation rec {
name = "libtelnet-${version}";
version = "0.21+45f2d5c";
src = fetchFromGitHub {
owner = "seanmiddleditch";
repo = "libtelnet";
rev = "45f2d5cfcf383312280e61c85b107285fed260cf";
sha256 = "1lp6gdbndsp2w8mhy88c2jknxj2klvnggvq04ln7qjg8407ifpda";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ zlib ];
meta = {
description = "Simple RFC-complient TELNET implementation as a C library";
homepage = "https://github.com/seanmiddleditch/libtelnet";
license = stdenv.lib.licenses.publicDomain;
maintainers = [ stdenv.lib.maintainers.tomberek ];
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -2,10 +2,10 @@
ftgl, freetype}: ftgl, freetype}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "opencascade-oce-0.16"; name = "opencascade-oce-0.17.2";
src = fetchurl { src = fetchurl {
url = https://github.com/tpaviot/oce/archive/OCE-0.16.tar.gz; url = https://github.com/tpaviot/oce/archive/OCE-0.17.2.tar.gz;
sha256 = "05bmg1cjz827bpq8s0hp96byirm4c3zc9vx26qz76kjsg8ry87w4"; sha256 = "0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd";
}; };
buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ]; buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];

View file

@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
hardeningDisable = [ "format" ];
configureFlags = [ configureFlags = [
"--enable-gtk2" "--enable-gtk2"
(if compat24 then "--enable-compat24" else "--disable-compat24") (if compat24 then "--enable-compat24" else "--disable-compat24")

View file

@ -7,4 +7,8 @@ buildRubyGem rec {
version = "1.12.5"; version = "1.12.5";
sha256 = "1q84xiwm9j771lpmiply0ls9l2bpvl5axn3jblxjvrldh8di2pkc"; sha256 = "1q84xiwm9j771lpmiply0ls9l2bpvl5axn3jblxjvrldh8di2pkc";
dontPatchShebangs = true; dontPatchShebangs = true;
postFixup = ''
sed -i -e "s/activate_bin_path/bin_path/g" $out/bin/bundle
'';
} }

View file

@ -29,6 +29,21 @@ let
in in
{ {
bundler = attrs:
let
templates = "${attrs.ruby.gemPath}/gems/${attrs.gemName}-${attrs.version}/lib/bundler/templates/";
in {
# patching shebangs would fail on the templates/Executable file, so we
# temporarily remove the executable flag.
preFixup = "chmod -x $out/${templates}/Executable";
postFixup = ''
chmod +x $out/${templates}/Executable
# Allows to load another bundler version
sed -i -e "s/activate_bin_path/bin_path/g" $out/bin/bundle
'';
};
capybara-webkit = attrs: { capybara-webkit = attrs: {
buildInputs = [ qt48 ]; buildInputs = [ qt48 ];
}; };
@ -177,14 +192,5 @@ in
''; '';
}; };
# patching shebangs would fail on the templates/Executable file, so we
# temporarily remove the executable flag.
bundler = attrs:
let
templates = "${attrs.ruby.gemPath}/gems/${attrs.gemName}-${attrs.version}/lib/bundler/templates/";
in {
preFixup = "chmod -x $out/${templates}/Executable";
postFixup = "chmod +x $out/${templates}/Executable";
};
} }

View file

@ -8,8 +8,8 @@ let
inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices; inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
in import ./nodejs.nix (args // rec { in import ./nodejs.nix (args // rec {
version = "6.3.1"; version = "6.4.0";
sha256 = "06ran2ccfxkwyk6w4wikd7qws286952lbx93pqaygmbh9f0q9rbg"; sha256 = "1b3xpp38fd2y8zdkpvkyyvsddh5y4vly81hxkf9hi6wap0nqidj9";
extraBuildInputs = stdenv.lib.optionals stdenv.isDarwin extraBuildInputs = stdenv.lib.optionals stdenv.isDarwin
[ CoreServices ApplicationServices ]; [ CoreServices ApplicationServices ];
preBuild = stdenv.lib.optionalString stdenv.isDarwin '' preBuild = stdenv.lib.optionalString stdenv.isDarwin ''

View file

@ -4,32 +4,14 @@ stdenv.mkDerivation {
name = "fsg-4.4"; name = "fsg-4.4";
src = fetchurl { src = fetchurl {
#url = http://www.piettes.com/fallingsandgame/fsg-src-4.4.tar.gz;
url = http://www.sourcefiles.org/Games/Simulation/Other/fsg-src-4.4.tar.gz; url = http://www.sourcefiles.org/Games/Simulation/Other/fsg-src-4.4.tar.gz;
sha256 = "1756y01rkvd3f1pkj88jqh83fqcfl2fy0c48mcq53pjzln9ycv8c"; sha256 = "1756y01rkvd3f1pkj88jqh83fqcfl2fy0c48mcq53pjzln9ycv8c";
}; };
hardeningDisable = [ "format" ];
buildInputs = [ gtk glib pkgconfig mesa wxGTK libX11 xproto ]; buildInputs = [ gtk glib pkgconfig mesa wxGTK libX11 xproto ];
/*
# One day Unicode will overcome?
preBuild = "
sed -e '
s/\\(str\\.Printf(\\)\\(\".*\"\\)/\\1_(\\2)/;
s@\\<fopen(\\([^\"),]\\+\\)@fopen(wxConvertWX2MB(\\1)@
s@\\<wxString(\\([^)]\\+\\)@wxString(wxConvertMB2WX(\\1)@
s/\\(wxString str(\\)\\(\".*\"\\)/\\1_(\\2)/;
' -i MainFrame.cpp Canvas.cpp;
sed -e '
s@\\(^[^\"]*([^\"]*[^(]\\|^[^\"].*[^_](\\)\\(\"\\([^\"]\\|\\\"\\)*\"\\)@\\1_(\\2)@;
' -i DownloadFileDialog.cpp;
sed -e '
s@currentProbIndex != 100@0@;
' -i MainFrame.cpp;
cp -r . /tmp/fsg
";*/
preBuild = '' preBuild = ''
sed -e ' sed -e '
s@currentProbIndex != 100@0@; s@currentProbIndex != 100@0@;

View file

@ -1,5 +1,4 @@
{ stdenv, fetchurl { stdenv, fetchurl, libSM, libX11, SDL }:
, libX11, SDL }:
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec{ stdenv.mkDerivation rec{
@ -11,7 +10,8 @@ stdenv.mkDerivation rec{
sha256 = "1y5kwh08717jsa5agxrvxnggnwxq36irrid9rzfhca1nnvp9a45l"; sha256 = "1y5kwh08717jsa5agxrvxnggnwxq36irrid9rzfhca1nnvp9a45l";
}; };
buildInputs = [ libX11 SDL ]; buildInputs = [ libSM libX11 SDL ];
meta = { meta = {
homepage = http://www.xl-project.com/; homepage = http://www.xl-project.com/;
description = "An enhanced, cycle-accurated Atari emulator"; description = "An enhanced, cycle-accurated Atari emulator";

View file

@ -1,5 +1,9 @@
{ stdenv, fetchFromGitHub }: { stdenv, fetchFromGitHub }:
## Usage
# In NixOS, simply add this package to services.udev.packages:
# services.udev.packages = [ pkgs.android-udev-rules ];
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "android-udev-rules-${version}"; name = "android-udev-rules-${version}";
version = "20160805"; version = "20160805";

View file

@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "pic" ]; hardeningDisable = [ "pic" ];
# linux 3.12
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
configurePhase = configurePhase =
'' ''
cd kernel/linux/ena cd kernel/linux/ena

View file

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "06g691px0abndp5zvz2ba1g675rcqb64n055h5ahgnlck5cdpawg"; sha256 = "06g691px0abndp5zvz2ba1g675rcqb64n055h5ahgnlck5cdpawg";
}; };
dontStrip = true; # Stripping breaks some of the binaries
installPhase = '' installPhase = ''
mkdir -p $out/share/raspberrypi/boot mkdir -p $out/share/raspberrypi/boot
cp -R boot/* $out/share/raspberrypi/boot cp -R boot/* $out/share/raspberrypi/boot

View file

@ -346,7 +346,7 @@ with stdenv.lib;
LOGO n # not needed LOGO n # not needed
MEDIA_ATTACH y MEDIA_ATTACH y
MEGARAID_NEWGEN y MEGARAID_NEWGEN y
${optionalString (versionAtLeast version "3.15") '' ${optionalString (versionAtLeast version "3.15" && versionOlder version "4.8") ''
MLX4_EN_VXLAN y MLX4_EN_VXLAN y
''} ''}
MODVERSIONS y MODVERSIONS y
@ -433,7 +433,9 @@ with stdenv.lib;
PARAVIRT? y PARAVIRT? y
HYPERVISOR_GUEST y HYPERVISOR_GUEST y
PARAVIRT_SPINLOCKS? y PARAVIRT_SPINLOCKS? y
KVM_APIC_ARCHITECTURE y ${optionalString (versionOlder version "4.8") ''
KVM_APIC_ARCHITECTURE y
''}
KVM_ASYNC_PF y KVM_ASYNC_PF y
${optionalString (versionAtLeast version "4.0") '' ${optionalString (versionAtLeast version "4.0") ''
KVM_COMPAT? y KVM_COMPAT? y

View file

@ -1,13 +1,13 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args: { stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec { import ./generic.nix (args // rec {
version = "4.8-rc3"; version = "4.8-rc4";
modDirVersion = "4.8.0-rc3"; modDirVersion = "4.8.0-rc4";
extraMeta.branch = "4.7"; extraMeta.branch = "4.8";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
sha256 = "08ir3w034qkalyi8mc6czgk9mcglm7wfazr2md94a8x98j69v38r"; sha256 = "0is4pzmci1i59fxw9b645c8710zjnx19dfl20m4k06kxdbbs01wg";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View file

@ -0,0 +1,14 @@
diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
index 07650ee..934a7a8 100644
--- a/scripts/Makefile.modinst
+++ b/scripts/Makefile.modinst
@@ -9,7 +9,8 @@ include scripts/Kbuild.include
#
-__modules := $(sort $(shell grep -h '\.ko$$' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
+__modules := $(sort $(foreach f,$(wildcard $(MODVERDIR)/*.mod),$(shell \
+ grep -h '\.ko$$' '$f')))
modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
PHONY += $(modules)

View file

@ -74,6 +74,11 @@ rec {
patch = ./mips-ext3-n32.patch; patch = ./mips-ext3-n32.patch;
}; };
modinst_arg_list_too_long =
{ name = "modinst-arglist-too-long";
patch = ./modinst-arg-list-too-long.patch;
};
ubuntu_fan_4_4 = ubuntu_fan_4_4 =
{ name = "ubuntu-fan"; { name = "ubuntu-fan";
patch = ./ubuntu-fan-4.4.patch; patch = ./ubuntu-fan-4.4.patch;

View file

@ -8,7 +8,7 @@ stdenv.mkDerivation {
sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji"; sha256 = "00f2wy6f0qng7qzga4iicyzl9j8b7mp6mrpfky5jxj93ms2w2rji";
}; };
patches = [ ./systemd.patch ]; patches = [ ./systemd.patch ./union-wait.patch ];
NIX_CFLAGS_COMPILE = "-DSYSV"; NIX_CFLAGS_COMPILE = "-DSYSV";

View file

@ -0,0 +1,11 @@
--- sysklogd-1.5-old/syslogd.c 2016-08-30 22:50:59.812926945 +0100
+++ sysklogd-1.5/syslogd.c 2016-08-30 22:51:12.008842890 +0100
@@ -2094,7 +2094,7 @@
(void) signal(SIGCHLD, reapchild); /* reset signal handler -ASP */
wait ((int *)0);
#else
- union wait status;
+ int status;
while (wait3(&status, WNOHANG, (struct rusage *) NULL) > 0)
;

View file

@ -1,13 +1,15 @@
{ stdenv, fetchurl, buildPythonApplication, makeWrapper, ffmpeg, zip { stdenv, fetchurl, buildPythonApplication, makeWrapper, zip, ffmpeg, pandoc
, pandoc ? null , atomicparsley
# Pandoc is required to build the package's man page. Release tarballs contain a
# formatted man page already, though, it will still be installed. We keep the
# manpage argument in place in case someone wants to use this derivation to
# build a Git version of the tool that doesn't have the formatted man page
# included.
, generateManPage ? false
, ffmpegSupport ? true
}: }:
# Pandoc is required to build the package's man page. Release tarballs with stdenv.lib;
# contain a formatted man page already, though, so it's fine to pass
# "pandoc = null" to this derivation; the man page will still be
# installed. We keep the pandoc argument and build input in place in
# case someone wants to use this derivation to build a Git version of
# the tool that doesn't have the formatted man page included.
buildPythonApplication rec { buildPythonApplication rec {
@ -19,16 +21,20 @@ buildPythonApplication rec {
sha256 = "017x2hqc2bacypjmn9ac9f91y9y6afydl0z7dich5l627494hvfg"; sha256 = "017x2hqc2bacypjmn9ac9f91y9y6afydl0z7dich5l627494hvfg";
}; };
buildInputs = [ makeWrapper zip pandoc ]; buildInputs = [ makeWrapper zip ] ++ optional generateManPage pandoc;
# Ensure ffmpeg is available in $PATH for post-processing & transcoding support. # Ensure ffmpeg is available in $PATH for post-processing & transcoding support.
postInstall = stdenv.lib.optionalString (ffmpeg != null) # atomicparsley for embedding thumbnails
''wrapProgram $out/bin/youtube-dl --prefix PATH : "${ffmpeg.bin}/bin"''; postInstall = let
packagesthatwillbeusedbelow = [ atomicparsley ] ++ optional ffmpegSupport ffmpeg;
in ''
wrapProgram $out/bin/youtube-dl --prefix PATH : "${makeBinPath packagesthatwillbeusedbelow}"
'';
# Requires network # Requires network
doCheck = false; doCheck = false;
meta = with stdenv.lib; { meta = {
homepage = http://rg3.github.io/youtube-dl/; homepage = http://rg3.github.io/youtube-dl/;
repositories.git = https://github.com/rg3/youtube-dl.git; repositories.git = https://github.com/rg3/youtube-dl.git;
description = "Command-line tool to download videos from YouTube.com and other sites"; description = "Command-line tool to download videos from YouTube.com and other sites";

View file

@ -1,17 +1,17 @@
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, autoreconfHook { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
, openssl, c-ares, libxml2, sqlite, zlib, libssh2 , openssl, c-ares, libxml2, sqlite, zlib, libssh2
, Security , Security
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "aria2-${version}"; name = "aria2-${version}";
version = "1.24.0"; version = "1.26.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aria2"; owner = "aria2";
repo = "aria2"; repo = "aria2";
rev = "release-${version}"; rev = "release-${version}";
sha256 = "0sb8s2rf2l0x7m8fx8kys7vad0lfw3k9071iai03kxplkdvg96n9"; sha256 = "1nf7z55cc6ljpz7zzb8ppg8ybg531gfbhyggya7lnr5ka74h87b5";
}; };
nativeBuildInputs = [ pkgconfig autoreconfHook ]; nativeBuildInputs = [ pkgconfig autoreconfHook ];
@ -19,13 +19,6 @@ stdenv.mkDerivation rec {
buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++ buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++
stdenv.lib.optional stdenv.isDarwin Security; stdenv.lib.optional stdenv.isDarwin Security;
patches = stdenv.lib.optionals stdenv.isDarwin [
(fetchpatch {
url = https://github.com/aria2/aria2/commit/1e59e357af626edc870b7f53c1ae8083658d0d1a.patch;
sha256 = "1xjj4ll1v6adl6vdkl84v0mh7ma6p469ph1wpvksxrq6qp8345qj";
})
];
configureFlags = [ "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" ]; configureFlags = [ "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" ];
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -89,10 +89,10 @@ in rec {
nix = nixStable; nix = nixStable;
nixStable = common rec { nixStable = common rec {
name = "nix-1.11.2"; name = "nix-1.11.3";
src = fetchurl { src = fetchurl {
url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz"; url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
sha256 = "fc1233814ebb385a2a991c1fb88c97b344267281e173fea7d9acd3f9caf969d6"; sha256 = "054fya7q60nv4mcpnd5pxj4hxafrikdimjknpj46w4jd2fg61237";
}; };
}; };

View file

@ -2412,6 +2412,8 @@ in
libtermkey = callPackage ../development/libraries/libtermkey { }; libtermkey = callPackage ../development/libraries/libtermkey { };
libtelnet = callPackage ../development/libraries/libtelnet { };
libtirpc = callPackage ../development/libraries/ti-rpc { }; libtirpc = callPackage ../development/libraries/ti-rpc { };
libshout = callPackage ../development/libraries/libshout { }; libshout = callPackage ../development/libraries/libshout { };
@ -4922,6 +4924,10 @@ in
inherit (stdenvAdapters) overrideCC; inherit (stdenvAdapters) overrideCC;
}; };
llvmPackages_39 = callPackage ../development/compilers/llvm/3.9 {
inherit (stdenvAdapters) overrideCC;
};
manticore = callPackage ../development/compilers/manticore { }; manticore = callPackage ../development/compilers/manticore { };
mentorToolchains = recurseIntoAttrs ( mentorToolchains = recurseIntoAttrs (
@ -5486,10 +5492,10 @@ in
rust = rustStable; rust = rustStable;
rustStable = callPackage ../development/compilers/rust {}; rustStable = callPackage ../development/compilers/rust {};
rustBeta = lowPrio (callPackage ../development/compilers/rust/beta.nix {}); rustBeta = callPackage ../development/compilers/rust/beta.nix {};
rustUnstable = lowPrio (callPackage ../development/compilers/rust/head.nix { rustUnstable = callPackage ../development/compilers/rust/head.nix {
rustPlatform = recurseIntoAttrs (makeRustPlatform rustBeta); rustPlatform = recurseIntoAttrs (makeRustPlatform rustBeta);
}); };
cargo = rust.cargo; cargo = rust.cargo;
rustc = rust.rustc; rustc = rust.rustc;
@ -7073,6 +7079,8 @@ in
cxx-prettyprint = callPackage ../development/libraries/cxx-prettyprint { }; cxx-prettyprint = callPackage ../development/libraries/cxx-prettyprint { };
cxxtest = callPackage ../development/libraries/cxxtest { };
cyrus_sasl = callPackage ../development/libraries/cyrus-sasl { cyrus_sasl = callPackage ../development/libraries/cyrus-sasl {
kerberos = if stdenv.isFreeBSD then libheimdal else kerberos; kerberos = if stdenv.isFreeBSD then libheimdal else kerberos;
}; };
@ -8741,7 +8749,7 @@ in
# makes it slower, but during runtime we link against just mesa_drivers # makes it slower, but during runtime we link against just mesa_drivers
# through /run/opengl-driver*, which is overriden according to config.grsecurity # through /run/opengl-driver*, which is overriden according to config.grsecurity
grsecEnabled = true; grsecEnabled = true;
llvmPackages = llvmPackages_38; # various problems with 3.7; see #11367, #11467 llvmPackages = llvmPackages_39;
}); });
mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
mesa_drivers = mesaDarwinOr ( mesa_drivers = mesaDarwinOr (
@ -11185,12 +11193,14 @@ in
}; };
linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
kernelPatches = [ kernelPatches.bridge_stp_helper ] kernelPatches = [
++ lib.optionals ((platform.kernelArch or null) == "mips") kernelPatches.bridge_stp_helper
[ kernelPatches.mips_fpureg_emu kernelPatches.modinst_arg_list_too_long
kernelPatches.mips_fpu_sigill ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [
kernelPatches.mips_ext3_n32 kernelPatches.mips_fpureg_emu
]; kernelPatches.mips_fpu_sigill
kernelPatches.mips_ext3_n32
];
}; };
linux_chromiumos_3_14 = callPackage ../os-specific/linux/kernel/linux-chromiumos-3.14.nix { linux_chromiumos_3_14 = callPackage ../os-specific/linux/kernel/linux-chromiumos-3.14.nix {
@ -12100,6 +12110,8 @@ in
r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { }; r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { };
roboto = callPackage ../data/fonts/roboto { };
hasklig = callPackage ../data/fonts/hasklig {}; hasklig = callPackage ../data/fonts/hasklig {};
sound-theme-freedesktop = callPackage ../data/misc/sound-theme-freedesktop { }; sound-theme-freedesktop = callPackage ../data/misc/sound-theme-freedesktop { };
@ -13082,6 +13094,8 @@ in
wavesurfer = callPackage ../applications/misc/audio/wavesurfer { }; wavesurfer = callPackage ../applications/misc/audio/wavesurfer { };
wavrsocvt = callPackage ../applications/misc/audio/wavrsocvt { };
wireshark-cli = callPackage ../applications/networking/sniffers/wireshark { wireshark-cli = callPackage ../applications/networking/sniffers/wireshark {
withQt = false; withQt = false;
withGtk = false; withGtk = false;
@ -15851,6 +15865,8 @@ in
privateer = callPackage ../games/privateer { }; privateer = callPackage ../games/privateer { };
qweechat = callPackage ../applications/networking/irc/qweechat { };
qqwing = callPackage ../games/qqwing { }; qqwing = callPackage ../games/qqwing { };
quake3wrapper = callPackage ../games/quake3/wrapper { }; quake3wrapper = callPackage ../games/quake3/wrapper { };
@ -17398,6 +17414,8 @@ in
utf8proc = callPackage ../development/libraries/utf8proc { }; utf8proc = callPackage ../development/libraries/utf8proc { };
valauncher = callPackage ../applications/misc/valauncher { };
vault = callPackage ../tools/security/vault { }; vault = callPackage ../tools/security/vault { };
vbam = callPackage ../misc/emulators/vbam { vbam = callPackage ../misc/emulators/vbam {

View file

@ -3597,6 +3597,25 @@ in modules // {
}; };
}; };
cmdline = buildPythonPackage rec {
pname = "cmdline";
version = "0.1.6";
name = "${pname}-${version}";
src = pkgs.fetchurl {
url = "mirror://pypi/c/${pname}/${name}.tar.gz";
sha256 = "be2cb4711e9111bb7386a408e3c66a730c36dd6ac05851a9f03d0f4eae63536a";
};
# No tests, https://github.com/rca/cmdline/issues/1
doCheck = false;
propagatedBuildInputs = with self; [ pyyaml ];
meta = {
description = "Utilities for consistent command line tools";
homepage = http://github.com/rca/cmdline;
license = licenses.asl20;
};
};
cogapp = buildPythonPackage rec { cogapp = buildPythonPackage rec {
version = "2.3"; version = "2.3";
@ -3983,26 +4002,23 @@ in modules // {
cytoolz = buildPythonPackage rec { cytoolz = buildPythonPackage rec {
name = "cytoolz-${version}"; name = "cytoolz-${version}";
version = "0.7.4"; version = "0.8.0";
src = pkgs.fetchurl{ src = pkgs.fetchurl{
url = "mirror://pypi/c/cytoolz/cytoolz-${version}.tar.gz"; url = "mirror://pypi/c/cytoolz/cytoolz-${version}.tar.gz";
sha256 = "9c2e3dda8232b6cd5b84b8c8df6c8155c2adeb8734eb7ec38e189affc0f2eba5"; sha256 = "2239890c8fe2da3eba82947c6a68cfa406e5a5045911c9ab3de8113462372629";
}; };
# Extension types # Extension types
disabled = isPyPy; disabled = isPyPy;
buildInputs = with self; [ nose ]; buildInputs = with self; [ nose ];
propagatedBuildInputs = with self; [ toolz ];
checkPhase = '' checkPhase = ''
nosetests -v $out/${python.sitePackages} nosetests -v $out/${python.sitePackages}
''; '';
# Several tests fail with Python 3.5
# https://github.com/pytoolz/cytoolz/issues/73
doCheck = !isPy35;
meta = { meta = {
homepage = "http://github.com/pytoolz/cytoolz/"; homepage = "http://github.com/pytoolz/cytoolz/";
description = "Cython implementation of Toolz: High performance functional utilities"; description = "Cython implementation of Toolz: High performance functional utilities";
@ -4033,17 +4049,17 @@ in modules // {
cryptography = buildPythonPackage rec { cryptography = buildPythonPackage rec {
# also bump cryptography_vectors # also bump cryptography_vectors
name = "cryptography-${version}"; name = "cryptography-${version}";
version = "1.4"; version = "1.5";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/c/cryptography/${name}.tar.gz"; url = "mirror://pypi/c/cryptography/${name}.tar.gz";
sha256 = "0a6i4914ychryj7kqqmf970incynj5lzx57n3cbv5i4hxm09a55v"; sha256 = "52f47ec9a57676043f88e3ca133638790b6b71e56e8890d9d7f3ae4fcd75fa24";
}; };
buildInputs = [ pkgs.openssl self.pretend self.cryptography_vectors buildInputs = [ pkgs.openssl self.pretend self.cryptography_vectors
self.iso8601 self.pyasn1 self.pytest self.py self.hypothesis1 ] self.iso8601 self.pyasn1 self.pytest self.py self.hypothesis1 ]
++ optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Security; ++ optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Security;
propagatedBuildInputs = with self; [ six idna ipaddress pyasn1 cffi pyasn1-modules modules.sqlite3 ] propagatedBuildInputs = with self; [ six idna ipaddress pyasn1 cffi pyasn1-modules modules.sqlite3 pytz ]
++ optional (pythonOlder "3.4") self.enum34; ++ optional (pythonOlder "3.4") self.enum34;
# IOKit's dependencies are inconsistent between OSX versions, so this is the best we # IOKit's dependencies are inconsistent between OSX versions, so this is the best we
@ -4054,11 +4070,11 @@ in modules // {
cryptography_vectors = buildPythonPackage rec { cryptography_vectors = buildPythonPackage rec {
# also bump cryptography # also bump cryptography
name = "cryptography_vectors-${version}"; name = "cryptography_vectors-${version}";
version = "1.4"; version = "1.5";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/c/cryptography-vectors/${name}.tar.gz"; url = "mirror://pypi/c/cryptography-vectors/${name}.tar.gz";
sha256 = "1sk6yhphk2k2vzshi0djxi0jsxd9a02259bs8gynfgf5y1g82a07"; sha256 = "ad19a2b98a475785c3b2ec8a8c9c974e0c48d00db0c23e79d776a2c489ad812d";
}; };
}; };
@ -4421,12 +4437,11 @@ in modules // {
bcrypt = buildPythonPackage rec { bcrypt = buildPythonPackage rec {
name = "bcrypt-${version}"; name = "bcrypt-${version}";
version = "2.0.0"; version = "3.1.0";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://api.github.com/repos/pyca/bcrypt/tarball/${version}"; url = "mirror://pypi/b/bcrypt/${name}.tar.gz";
name = "bcrypt-${version}.tar.gz"; sha256 = "e54820d8b9eff357d1003f5b8d4b949a632b76b89610d8a933783fd476033ebe";
sha256 = "14i1yp4qkjklx82jl61cjjcw367lc0pkvnix3gaz451ijdcmz3x8";
}; };
buildInputs = with self; [ pycparser mock pytest py ]; buildInputs = with self; [ pycparser mock pytest py ];
propagatedBuildInputs = with self; optional (!isPyPy) cffi; propagatedBuildInputs = with self; optional (!isPyPy) cffi;
@ -4612,6 +4627,31 @@ in modules // {
}; };
}; };
pytest-fixture-config = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "pytest-fixture-config";
version = "1.0.1";
src = pkgs.fetchurl {
url = "mirror://pypi/p/${pname}/${name}.tar.gz";
sha256 = "7d7cc1cb25f88a707f083b1dc2e3c2fdfc6f37709567a2587dd0cd0bcd70edb6";
};
propagatedBuildInputs = with self; [ pytest coverage virtualenv pytestcov six ];
checkPhase = ''
py.test -k "not test_yield_requires_config_doesnt_skip and not test_yield_requires_config_skips"
'';
meta = {
description = "Simple configuration objects for Py.test fixtures. Allows you to skip tests when their required config variables arent set.";
homepage = https://github.com/manahl/pytest-plugins;
license = licenses.mit;
maintainers = with maintainers; [ ryansydnor ];
platforms = platforms.all;
};
};
pytestflakes = buildPythonPackage rec { pytestflakes = buildPythonPackage rec {
name = "pytest-flakes-${version}"; name = "pytest-flakes-${version}";
version = "1.0.0"; version = "1.0.0";
@ -4630,6 +4670,27 @@ in modules // {
}; };
}; };
pytest-mock = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "pytest-mock";
version = "1.2";
propagatedBuildInputs = with self; [ mock pytest ];
meta = {
description = "Thin-wrapper around the mock package for easier use with py.test.";
homepage = "https://github.com/pytest-dev/pytest-mock";
license = licenses.mit;
maintainers = with maintainers; [ nand0p ];
platforms = platforms.all;
};
src = pkgs.fetchurl {
url = "mirror://pypi/p/${pname}/${name}.zip";
sha256 = "03zxar5drzm7ksqyrwypjaza3cri6wqvpr6iam92djvg6znp32gp";
};
};
pytestpep8 = buildPythonPackage rec { pytestpep8 = buildPythonPackage rec {
name = "pytest-pep8"; name = "pytest-pep8";
src = pkgs.fetchurl { src = pkgs.fetchurl {
@ -4726,15 +4787,69 @@ in modules // {
}; };
}; };
pytest-server-fixtures = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "pytest-server-fixtures";
version = "1.1.0";
propagatedBuildInputs = with self; [ setuptools-git pytest-shutil pytest-fixture-config psutil requests2 ];
meta = {
description = "Extensible server fixures for py.test";
homepage = "https://github.com/manahl/pytest-plugins";
license = licenses.mit;
maintainers = with maintainers; [ nand0p ];
platforms = platforms.all;
};
doCheck = false;
# RuntimeError: Unable to find a free server number to start Xvfb
src = pkgs.fetchurl {
url = "mirror://pypi/p/${pname}/${name}.tar.gz";
sha256 = "1gs9qimcn8q6xi9d6i5624l0dziwvn6nj2rda07fg15g1cq66s8l";
};
};
pytest-shutil = buildPythonPackage rec {
name = "pytest-shutil-${version}";
version = "1.1.1";
src = pkgs.fetchurl {
url = "mirror://pypi/p/pytest-shutil/${name}.tar.gz";
sha256 = "bb3c4fc2dddaf70b38bd9bb7a710d07728fa14f88fbc89c2a07979b383ade5d4";
};
buildInputs = with self; [ cmdline ];
propagatedBuildInputs = with self; [ pytest pytestcov coverage setuptools-git mock pathpy execnet contextlib2 ];
meta = {
description = "A goodie-bag of unix shell and environment tools for py.test";
homepage = https://github.com/manahl/pytest-plugins;
maintainers = with maintainers; [ ryansydnor ];
platforms = platforms.all;
license = licenses.mit;
};
checkPhase = ''
py.test
'';
# Bunch of pickle errors
doCheck = false;
};
pytestcov = buildPythonPackage (rec { pytestcov = buildPythonPackage (rec {
name = "pytest-cov-2.2.0"; name = "pytest-cov-2.3.1";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/p/pytest-cov/${name}.tar.gz"; url = "mirror://pypi/p/pytest-cov/${name}.tar.gz";
sha256 = "1lf9jsmhqk5nc4w3kzwglmdzjvmi7ajvrsnwv826j3bn0wzx8c92"; sha256 = "fa0a212283cdf52e2eecc24dd6459bb7687cc29adb60cb84258fab73be8dda0f";
}; };
buildInputs = with self; [ covCore pytest ]; buildInputs = with self; [ covCore pytest virtualenv process-tests helper ];
doCheck = false;
checkPhase = ''
py.test tests
'';
meta = { meta = {
description = "Plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing"; description = "Plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing";
@ -4895,11 +5010,11 @@ in modules // {
dask = buildPythonPackage rec { dask = buildPythonPackage rec {
name = "dask-${version}"; name = "dask-${version}";
version = "0.9.0"; version = "0.11.0";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/d/dask/${name}.tar.gz"; url = "mirror://pypi/d/dask/${name}.tar.gz";
sha256 = "1jm6riz6fbbd554i0dg0w1xfcmx3f9ryp4jrlavsy4zambilm6b3"; sha256 = "ef32490c0b156584a71576dccec4dfe550a0cd81a9c131a4ee2e43c241b601c3";
}; };
buildInputs = with self; [ pytest ]; buildInputs = with self; [ pytest ];
@ -6331,8 +6446,8 @@ in modules // {
${python.interpreter} -m unittest discover ${python.interpreter} -m unittest discover
''; '';
# Judging from SyntaxError in tests. # Tests are Python 2.x only judging from SyntaxError
disabled = isPy3k; doCheck = !(isPy3k);
meta = { meta = {
description = "Recursive descent parsing library based on functional combinators"; description = "Recursive descent parsing library based on functional combinators";
@ -6737,6 +6852,31 @@ in modules // {
}; };
}; };
helper = buildPythonPackage rec {
pname = "helper";
version = "2.4.1";
name = "${pname}-${version}";
src = pkgs.fetchurl {
url = "mirror://pypi/h/${pname}/${name}.tar.gz";
sha256 = "4e33dde42ad4df30fb7790689f93d77252cff26a565610d03ff2e434865a53a2";
};
buildInputs = with self; [ mock ];
propagatedBuildInputs = with self; [ pyyaml ];
# No tests
doCheck = false;
meta = {
description = "Development library for quickly writing configurable applications and daemons";
homepage = https://helper.readthedocs.org/;
license = licenses.bsd3;
};
};
hglib = buildPythonPackage rec { hglib = buildPythonPackage rec {
version = "1.7"; version = "1.7";
name = "hglib-${version}"; name = "hglib-${version}";
@ -7166,6 +7306,9 @@ in modules // {
ipywidgets ipywidgets
]; ];
# Meta-package, no tests
doCheck = false;
meta = { meta = {
description = "Installs all the Jupyter components in one go"; description = "Installs all the Jupyter components in one go";
homepage = "http://jupyter.org/"; homepage = "http://jupyter.org/";
@ -12151,12 +12294,12 @@ in modules // {
}; };
jupyter_client = buildPythonPackage rec { jupyter_client = buildPythonPackage rec {
version = "4.2.2"; version = "4.3.0";
name = "jupyter_client-${version}"; name = "jupyter_client-${version}";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/j/jupyter_client/${name}.tar.gz"; url = "mirror://pypi/j/jupyter_client/${name}.tar.gz";
sha256 = "052a02p38byp3n95k8cwidid05gc5cx44qinzsdzs605zw757z1z"; sha256 = "70b2e88403835a1d54b83858783d9e5e5771fa4bb6f6904e0b5bb8cfde4b99dd";
}; };
buildInputs = with self; [ nose ]; buildInputs = with self; [ nose ];
@ -12178,12 +12321,12 @@ in modules // {
}; };
jupyter_core = buildPythonPackage rec { jupyter_core = buildPythonPackage rec {
version = "4.1.0"; version = "4.1.1";
name = "jupyter_core-${version}"; name = "jupyter_core-${version}";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/j/jupyter_core/${name}.tar.gz"; url = "mirror://pypi/j/jupyter_core/${name}.tar.gz";
sha256 = "04xxqa2m8yjpzxb2szbym6ngycyrmhymyy2vp2s6vi9kkikz0shl"; sha256 = "ae0e69435258126466c86cd989e465a9c334c50107ef4f257decc8693650bf4c";
}; };
buildInputs = with self; [ pytest mock ]; buildInputs = with self; [ pytest mock ];
@ -12645,19 +12788,19 @@ in modules // {
}; };
}; };
llvmlite = buildPythonPackage rec { llvmlite = let
llvm = pkgs.llvm_38;
in buildPythonPackage rec {
name = "llvmlite-${version}"; name = "llvmlite-${version}";
version = "0.12.1"; version = "0.13.0";
disabled = isPyPy; disabled = isPyPy;
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/l/llvmlite/${name}.tar.gz"; url = "mirror://pypi/l/llvmlite/${name}.tar.gz";
sha256 = "3ce71beebd4cbc7a49abe4eadfc99725477fd43caeb7405650ebb746c7a1d0df"; sha256 = "f852be3391acb2e77ef484c5d0ff90e7cf2821dcf9575e358a1f08c274c582eb";
}; };
llvm = pkgs.llvm_37;
propagatedBuildInputs = with self; [ llvm ] ++ optional (pythonOlder "3.4") enum34; propagatedBuildInputs = with self; [ llvm ] ++ optional (pythonOlder "3.4") enum34;
# Disable static linking # Disable static linking
@ -17538,11 +17681,11 @@ in modules // {
}; };
pillow = buildPythonPackage rec { pillow = buildPythonPackage rec {
name = "Pillow-3.3.0"; name = "Pillow-3.3.1";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/P/Pillow/${name}.tar.gz"; url = "mirror://pypi/P/Pillow/${name}.tar.gz";
sha256 = "1lfc197rj4b4inib9b0q0g3rsi204gywfrnk38yk8kssi2f7q7h3"; sha256 = "3491ca65d9fdba4db094ab3f8e17170425e7dd670e507921a665a1975d1b3df1";
}; };
# Check is disabled because of assertion errors, see # Check is disabled because of assertion errors, see
@ -19527,6 +19670,26 @@ in modules // {
}; };
}); });
process-tests = buildPythonPackage rec {
pname = "process-tests";
name = "${pname}-${version}";
version = "1.2.1";
src = pkgs.fetchurl {
url = "mirror://pypi/p/${pname}/${name}.tar.gz";
sha256 = "65c9d7a0260f31c15b4a22a851757e61f7072d0557db5f8a976112fbe81ff7e9";
};
# No tests
doCheck = false;
meta = {
description = "Tools for testing processes";
license = licenses.bsd2;
homepage = https://github.com/ionelmc/python-process-tests;
};
};
progressbar = buildPythonPackage (rec { progressbar = buildPythonPackage (rec {
name = "progressbar-2.2"; name = "progressbar-2.2";
@ -20080,13 +20243,17 @@ in modules // {
pytz = buildPythonPackage rec { pytz = buildPythonPackage rec {
name = "pytz-${version}"; name = "pytz-${version}";
version = "2016.3"; version = "2016.6.1";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/p/pytz/${name}.tar.gz"; url = "mirror://pypi/p/pytz/${name}.tar.gz";
sha256 = "1a3hjclyylc4m1v1dn04b38wm2vl649ijdswpg0d8m8n0lcxlj9l"; sha256 = "6f57732f0f8849817e9853eb9d50d85d1ebb1404f702dbc44ee627c642a486ca";
}; };
checkPhase = ''
${python.interpreter} -m unittest discover -s pytz/tests
'';
meta = { meta = {
description = "World timezone definitions, modern and historical"; description = "World timezone definitions, modern and historical";
homepage = "http://pythonhosted.org/pytz"; homepage = "http://pythonhosted.org/pytz";
@ -20391,11 +20558,11 @@ in modules // {
requests2 = buildPythonPackage rec { requests2 = buildPythonPackage rec {
name = "requests-${version}"; name = "requests-${version}";
version = "2.11.0"; version = "2.11.1";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/r/requests/${name}.tar.gz"; url = "mirror://pypi/r/requests/${name}.tar.gz";
sha256 = "11d3vrbiqrz30qbplv80y72y9i47hihs35p5n04fl4ggjcz0bzxj"; sha256 = "5acf980358283faba0b897c73959cecf8b841205bb4b2ad3ef545f46eae1a133";
}; };
nativeBuildInputs = [ self.pytest ]; nativeBuildInputs = [ self.pytest ];
@ -21982,11 +22149,11 @@ in modules // {
sounddevice = buildPythonPackage rec { sounddevice = buildPythonPackage rec {
name = "sounddevice-${version}"; name = "sounddevice-${version}";
version = "0.3.1"; version = "0.3.4";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/s/sounddevice/${name}.tar.gz"; url = "mirror://pypi/s/sounddevice/${name}.tar.gz";
sha256 = "8e5a6816b369c7aea77e06092b2fee99c8b6efbeef4851f53ea3cb208a7607f5"; sha256 = "f6c4120357c1458b23bd0d466c66808efdefad397bf97b1162600d079d4665ae";
}; };
propagatedBuildInputs = with self; [ cffi numpy pkgs.portaudio ]; propagatedBuildInputs = with self; [ cffi numpy pkgs.portaudio ];
@ -22706,6 +22873,55 @@ in modules // {
}; };
}); });
sphinx-testing = buildPythonPackage rec {
name = "sphinx-testing-${version}";
version = "0.7.1";
src = pkgs.fetchurl {
url = "mirror://pypi/s/sphinx-testing/${name}.tar.gz";
sha256 = "0cd235ce939770ae5128eda01d8611fb1e36d8129399e98565f99fcbff3a8062";
};
buildInputs = with self; [ mock ];
propagatedBuildInputs = with self; [ sphinx six ];
checkPhase = ''
${python.interpreter} -m unittest discover -s tests
'';
meta = {
homepage = https://github.com/sphinx-doc/sphinx-testing;
license = licenses.bsd2;
description = "Testing utility classes and functions for Sphinx extensions";
};
};
sphinxcontrib-blockdiag = buildPythonPackage (rec {
name = "${pname}-${version}";
pname = "sphinxcontrib-blockdiag";
version = "1.5.5";
src = pkgs.fetchurl {
url = "mirror://pypi/s/${pname}/${name}.tar.gz";
sha256 = "1w7q2hhpzk159wd35hlbwkh80hnglqa475blcd9vjwpkv1kgkpvw";
};
buildInputs = with self; [ mock sphinx-testing ];
propagatedBuildInputs = with self; [ sphinx blockdiag ];
# Seems to look for files in the wrong dir
doCheck = false;
checkPhase = ''
${python.interpreter} -m unittest discover -s tests
'';
meta = {
description = "Sphinx blockdiag extension";
homepage = "https://github.com/blockdiag/sphinxcontrib-blockdiag";
maintainers = with maintainers; [ nand0p ];
license = licenses.bsd2;
};
});
sphinxcontrib_httpdomain = buildPythonPackage (rec { sphinxcontrib_httpdomain = buildPythonPackage (rec {
name = "sphinxcontrib-httpdomain-1.3.0"; name = "sphinxcontrib-httpdomain-1.3.0";
@ -22751,6 +22967,45 @@ in modules // {
}; };
}); });
sphinxcontrib-spelling = buildPythonPackage (rec {
name = "${pname}-${version}";
pname = "sphinxcontrib-spelling";
version = "2.2.0";
src = pkgs.fetchurl {
url = "mirror://pypi/s/${pname}/${name}.tar.gz";
sha256 = "1f0fymrk4kvhqs0vj9gay4lhacxkfrlrpj4gvg0p4wjdczplxd3z";
};
propagatedBuildInputs = with self; [ sphinx pyenchant];
# No tests included
doCheck = false;
meta = {
description = "Sphinx spelling extension";
homepage = "http://bitbucket.org/dhellmann/sphinxcontrib-spelling";
maintainers = with maintainers; [ nand0p ];
license = licenses.bsd2;
};
});
sphinx-jinja = buildPythonPackage (rec {
name = "${pname}-${version}";
pname = "sphinx-jinja";
version = "0.2.1";
src = pkgs.fetchurl {
url = "mirror://pypi/s/${pname}/${name}.tar.gz";
sha256 = "1zsnhc573rvaww9qqyzs4f5h4hhvxklvppv14450vi5dk8rij81z";
};
buildInputs = with self; [ sphinx-testing pytest];
propagatedBuildInputs = with self; [ sphinx blockdiag ];
checkPhase = ''
py.test -k "not test_build_epub"
'';
disabled = isPy3k;
meta = {
description = "includes jinja templates in a documentation";
maintainers = with maintainers; [ nand0p ];
license = licenses.mit;
};
});
sphinx_pypi_upload = buildPythonPackage (rec { sphinx_pypi_upload = buildPythonPackage (rec {
name = "Sphinx-PyPI-upload-0.2.1"; name = "Sphinx-PyPI-upload-0.2.1";
@ -23555,12 +23810,12 @@ in modules // {
}; };
traitlets = buildPythonPackage rec { traitlets = buildPythonPackage rec {
version = "4.2.1"; version = "4.2.2";
name = "traitlets-${version}"; name = "traitlets-${version}";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/t/traitlets/${name}.tar.gz"; url = "mirror://pypi/t/traitlets/${name}.tar.gz";
sha256 = "1h0aryjiqz2f3ykcjb34k5wz6bmzyp5cll7r4k08yfvji4ya7svn"; sha256 = "7d7e3070484b2fe490fa55e0acf7023afc5ed9ddabec57405f25c355158e152a";
}; };
buildInputs = with self; [ nose mock ]; buildInputs = with self; [ nose mock ];
@ -23688,11 +23943,11 @@ in modules // {
toolz = buildPythonPackage rec{ toolz = buildPythonPackage rec{
name = "toolz-${version}"; name = "toolz-${version}";
version = "0.7.4"; version = "0.8.0";
src = pkgs.fetchurl{ src = pkgs.fetchurl{
url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz"; url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479";
}; };
buildInputs = with self; [ nose ]; buildInputs = with self; [ nose ];
@ -23725,11 +23980,11 @@ in modules // {
tqdm = buildPythonPackage rec { tqdm = buildPythonPackage rec {
name = "tqdm-${version}"; name = "tqdm-${version}";
version = "3.7.1"; version = "3.8.4";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/t/tqdm/${name}.tar.gz"; url = "mirror://pypi/t/tqdm/${name}.tar.gz";
sha256 = "f12d792685f779e8754e623aff1a25a93b98a90457e3a2b7eb89b4401c2c239e"; sha256 = "bab05f8bb6efd2702ab6c532e5e6a758a66c0d2f443e09784b73e4066e6b3a37";
}; };
buildInputs = with self; [ nose coverage pkgs.glibcLocales flake8 ]; buildInputs = with self; [ nose coverage pkgs.glibcLocales flake8 ];
@ -24914,11 +25169,11 @@ in modules // {
xarray = buildPythonPackage rec { xarray = buildPythonPackage rec {
name = "xarray-${version}"; name = "xarray-${version}";
version = "0.7.2"; version = "0.8.2";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "mirror://pypi/x/xarray/${name}.tar.gz"; url = "mirror://pypi/x/xarray/${name}.tar.gz";
sha256 = "0gnhznv18iz478r8wg6a686dqgs1v4i3yra8y91x3vsfl23mgv34"; sha256 = "4da06e38baea65c51347ba0770db416ebf003dbad5637215d2b25b191f2be1fb";
}; };
buildInputs = with self; [ pytest ]; buildInputs = with self; [ pytest ];
@ -24957,17 +25212,10 @@ in modules // {
}; };
}; };
youtube-dl = callPackage ../tools/misc/youtube-dl { youtube-dl = callPackage ../tools/misc/youtube-dl {};
# Release versions don't need pandoc because the formatted man page
# is included in the tarball.
pandoc = null;
};
youtube-dl-light = callPackage ../tools/misc/youtube-dl { youtube-dl-light = callPackage ../tools/misc/youtube-dl {
# Release versions don't need pandoc because the formatted man page ffmpegSupport = false;
# is included in the tarball.
ffmpeg = null;
pandoc = null;
}; };
zbase32 = buildPythonPackage (rec { zbase32 = buildPythonPackage (rec {
@ -29421,6 +29669,58 @@ in modules // {
''; '';
}; };
txaio = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "txaio";
version = "2.5.1";
meta = {
description = "Utilities to support code that runs unmodified on Twisted and asyncio.";
homepage = "https://github.com/crossbario/txaio";
license = licenses.mit;
maintainers = with maintainers; [ nand0p ];
platforms = platforms.all;
};
buildInputs = with self; [ pytest mock ];
propagatedBuildInputs = with self; [ six twisted ];
checkPhase = ''
py.test -k "not test_sdist"
'';
src = pkgs.fetchurl {
url = "mirror://pypi/t/${pname}/${name}.tar.gz";
sha256 = "1pni1m66mlmbybmaf3py4h7cpkmkssqb5l3rigkxvql2f53pcl32";
};
};
ramlfications = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "ramlfications";
version = "0.1.9";
meta = {
description = "A Python RAML parser.";
homepage = "https://ramlfications.readthedocs.org";
license = licenses.asl20;
maintainers = with maintainers; [ nand0p ];
platforms = platforms.all;
};
doCheck = false;
# [darwin] AssertionError: Expected 'update_mime_types' to have been called once. Called 0 times.
buildInputs = with self; [ mock pytest pytest-mock pytest-server-fixtures pytest-localserver ];
propagatedBuildInputs = with self; [ termcolor click markdown2 six jsonref pyyaml xmltodict attrs ];
src = pkgs.fetchurl {
url = "mirror://pypi/r/${pname}/${name}.tar.gz";
sha256 = "0xvnna7kaq4nm5nfnwcwbr5bcm2s532hgyp7kq4v9iivn48rrf3v";
};
};
yapf = buildPythonPackage rec { yapf = buildPythonPackage rec {
name = "yapf-${version}"; name = "yapf-${version}";
version = "0.11.0"; version = "0.11.0";
@ -29437,4 +29737,51 @@ in modules // {
sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij"; sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij";
}; };
}; };
autobahn = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "autobahn";
version = "0.16.0";
src = pkgs.fetchurl {
url = "mirror://pypi/a/${pname}/${name}.tar.gz";
sha256 = "1158ml8h3g0vlsgw2jmy579glbg7dn0mjij8xibdl509b8qv9p51";
};
buildInputs = with self; [ unittest2 mock pytest txaio trollius ];
propagatedBuildInputs = with self; [ six twisted ];
checkPhase = ''
py.test $out
'';
meta = {
description = "WebSocket and WAMP in Python for Twisted and asyncio.";
homepage = "http://crossbar.io/autobahn";
license = licenses.mit;
maintainers = with maintainers; [ nand0p ];
platforms = platforms.all;
};
};
jsonref = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "jsonref";
version = "0.1";
meta = {
description = "An implementation of JSON Reference for Python.";
homepage = "http://github.com/gazpachoking/jsonref";
license = licenses.mit;
maintainers = with maintainers; [ nand0p ];
platforms = platforms.all;
};
buildInputs = with self; [ pytest mock ];
checkPhase = ''
py.test tests.py
'';
src = pkgs.fetchurl {
url = "mirror://pypi/j/${pname}/${name}.tar.gz";
sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n";
};
};
} }