Merge branch 'master' into staging

... to fix an evaluation problem in dogecoin.
This commit is contained in:
Vladimír Čunát 2017-03-09 23:13:36 +01:00
commit ed4a79c65e
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
115 changed files with 2233 additions and 940 deletions

View File

@ -86,9 +86,9 @@
carlsverre = "Carl Sverre <accounts@carlsverre.com>"; carlsverre = "Carl Sverre <accounts@carlsverre.com>";
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>"; cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>"; cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
changlinli = "Changlin Li <mail@changlinli.com>";
chaoflow = "Florian Friesdorf <flo@chaoflow.net>"; chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
chattered = "Phil Scott <me@philscotted.com>"; chattered = "Phil Scott <me@philscotted.com>";
changlinli = "Changlin Li <mail@changlinli.com>";
choochootrain = "Hurshal Patel <hurshal@imap.cc>"; choochootrain = "Hurshal Patel <hurshal@imap.cc>";
chris-martin = "Chris Martin <ch.martin@gmail.com>"; chris-martin = "Chris Martin <ch.martin@gmail.com>";
chrisjefferson = "Christopher Jefferson <chris@bubblescope.net>"; chrisjefferson = "Christopher Jefferson <chris@bubblescope.net>";
@ -383,6 +383,7 @@
Phlogistique = "Noé Rubinstein <noe.rubinstein@gmail.com>"; Phlogistique = "Noé Rubinstein <noe.rubinstein@gmail.com>";
phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>"; phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>";
phunehehe = "Hoang Xuan Phu <phunehehe@gmail.com>"; phunehehe = "Hoang Xuan Phu <phunehehe@gmail.com>";
pierrer = "Pierre Radermecker <pierrer@pi3r.be>";
pierron = "Nicolas B. Pierron <nixos@nbp.name>"; pierron = "Nicolas B. Pierron <nixos@nbp.name>";
piotr = "Piotr Pietraszkiewicz <ppietrasa@gmail.com>"; piotr = "Piotr Pietraszkiewicz <ppietrasa@gmail.com>";
pjbarnoy = "Perry Barnoy <pjbarnoy@gmail.com>"; pjbarnoy = "Perry Barnoy <pjbarnoy@gmail.com>";
@ -534,6 +535,7 @@
womfoo = "Kranium Gikos Mendoza <kranium@gikos.net>"; womfoo = "Kranium Gikos Mendoza <kranium@gikos.net>";
wscott = "Wayne Scott <wsc9tt@gmail.com>"; wscott = "Wayne Scott <wsc9tt@gmail.com>";
wyvie = "Elijah Rum <elijahrum@gmail.com>"; wyvie = "Elijah Rum <elijahrum@gmail.com>";
xnwdd = "Guillermo NWDD <nwdd+nixos@no.team>";
xwvvvvwx = "David Terry <davidterry@posteo.de>"; xwvvvvwx = "David Terry <davidterry@posteo.de>";
yarr = "Dmitry V. <savraz@gmail.com>"; yarr = "Dmitry V. <savraz@gmail.com>";
yochai = "Yochai <yochai@titat.info>"; yochai = "Yochai <yochai@titat.info>";

View File

@ -280,7 +280,7 @@ in
options = [ "allow_other" "cow" "nonempty" "chroot=/mnt-root" "max_files=32768" "hide_meta_files" "dirs=/nix/.rw-store=rw:/nix/.ro-store=ro" ]; options = [ "allow_other" "cow" "nonempty" "chroot=/mnt-root" "max_files=32768" "hide_meta_files" "dirs=/nix/.rw-store=rw:/nix/.ro-store=ro" ];
}; };
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" ]; boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" "uas" ];
boot.blacklistedKernelModules = [ "nouveau" ]; boot.blacklistedKernelModules = [ "nouveau" ];

View File

@ -118,7 +118,7 @@ in {
extraGroups = mkOption { extraGroups = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ "nixbld" ]; default = [];
description = "List of extra groups that the buildbot user should be a part of."; description = "List of extra groups that the buildbot user should be a part of.";
}; };

View File

@ -31,7 +31,7 @@ in {
extraGroups = mkOption { extraGroups = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ "nixbld" ]; default = [];
description = "List of extra groups that the Buildbot Worker user should be a part of."; description = "List of extra groups that the Buildbot Worker user should be a part of.";
}; };

View File

@ -25,7 +25,7 @@ in {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
User = "root"; User = "root";
Type = "oneshot"; Type = "simple";
ExecStart = "${das_watchdog}/bin/das_watchdog"; ExecStart = "${das_watchdog}/bin/das_watchdog";
RemainAfterExit = true; RemainAfterExit = true;
}; };

View File

@ -7,7 +7,7 @@ let
stateDir = "/var/spool/ddclient"; stateDir = "/var/spool/ddclient";
ddclientUser = "ddclient"; ddclientUser = "ddclient";
ddclientFlags = "-foreground -verbose -noquiet -file ${config.services.ddclient.configFile}"; ddclientFlags = "-foreground -file ${config.services.ddclient.configFile}";
ddclientPIDFile = "${stateDir}/ddclient.pid"; ddclientPIDFile = "${stateDir}/ddclient.pid";
in in
@ -102,6 +102,22 @@ in
Method to determine the IP address to send to the dynamic DNS provider. Method to determine the IP address to send to the dynamic DNS provider.
''; '';
}; };
verbose = mkOption {
default = true;
type = bool;
description = ''
Print verbose information.
'';
};
quiet = mkOption {
default = false;
type = bool;
description = ''
Print no messages for unnecessary updates.
'';
};
}; };
}; };
@ -136,6 +152,8 @@ in
lib.optionalString (server != "") "server=${server}"} lib.optionalString (server != "") "server=${server}"}
ssl=${if config.services.ddclient.ssl then "yes" else "no"} ssl=${if config.services.ddclient.ssl then "yes" else "no"}
wildcard=YES wildcard=YES
quiet=${if config.services.ddclient.quiet then "yes" else "no"}
verbose=${if config.services.ddclient.verbose then "yes" else "no"}
${config.services.ddclient.domain} ${config.services.ddclient.domain}
${config.services.ddclient.extraConfig} ${config.services.ddclient.extraConfig}
''; '';

View File

@ -155,15 +155,59 @@ in
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable (mkMerge [{
assertions = [ assertions = [
{ assertion = (cfg.customResolver != null) || (cfg.resolverName != null); { assertion = (cfg.customResolver != null) || (cfg.resolverName != null);
message = "please configure upstream DNSCrypt resolver"; message = "please configure upstream DNSCrypt resolver";
} }
]; ];
security.apparmor.profiles = optional apparmorEnabled (pkgs.writeText "apparmor-dnscrypt-proxy" '' users.users.dnscrypt-proxy = {
description = "dnscrypt-proxy daemon user";
isSystemUser = true;
group = "dnscrypt-proxy";
};
users.groups.dnscrypt-proxy = {};
systemd.sockets.dnscrypt-proxy = {
description = "dnscrypt-proxy listening socket";
documentation = [ "man:dnscrypt-proxy(8)" ];
wantedBy = [ "sockets.target" ];
socketConfig = {
ListenStream = localAddress;
ListenDatagram = localAddress;
};
};
systemd.services.dnscrypt-proxy = {
description = "dnscrypt-proxy daemon";
documentation = [ "man:dnscrypt-proxy(8)" ];
before = [ "nss-lookup.target" ];
after = [ "network.target" ]
++ optional apparmorEnabled "apparmor.service";
requires = [ "dnscrypt-proxy.socket "]
++ optional apparmorEnabled "apparmor.service";
serviceConfig = {
NonBlocking = "true";
ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
User = "dnscrypt-proxy";
PrivateTmp = true;
PrivateDevices = true;
ProtectHome = true;
};
};
}
(mkIf apparmorEnabled {
security.apparmor.profiles = singleton (pkgs.writeText "apparmor-dnscrypt-proxy" ''
${dnscrypt-proxy}/bin/dnscrypt-proxy { ${dnscrypt-proxy}/bin/dnscrypt-proxy {
/dev/null rw, /dev/null rw,
/dev/urandom r, /dev/urandom r,
@ -188,102 +232,78 @@ in
${getLib pkgs.libgpgerror}/lib/libgpg-error.so.* mr, ${getLib pkgs.libgpgerror}/lib/libgpg-error.so.* mr,
${getLib pkgs.libcap}/lib/libcap.so.* mr, ${getLib pkgs.libcap}/lib/libcap.so.* mr,
${getLib pkgs.lz4}/lib/liblz4.so.* mr, ${getLib pkgs.lz4}/lib/liblz4.so.* mr,
${getLib pkgs.attr}/lib/libattr.so.* mr, ${getLib pkgs.attr}/lib/libattr.so.* mr, # */
${resolverList} r, ${resolverList} r,
} }
''); '');
})
users.users.dnscrypt-proxy = { (mkIf useUpstreamResolverList {
description = "dnscrypt-proxy daemon user"; systemd.services.init-dnscrypt-proxy-statedir = {
isSystemUser = true;
group = "dnscrypt-proxy";
};
users.groups.dnscrypt-proxy = {};
systemd.services.init-dnscrypt-proxy-statedir = optionalAttrs useUpstreamResolverList {
description = "Initialize dnscrypt-proxy state directory"; description = "Initialize dnscrypt-proxy state directory";
wantedBy = [ "dnscrypt-proxy.service" ];
before = [ "dnscrypt-proxy.service" ];
script = '' script = ''
mkdir -pv ${stateDirectory} mkdir -pv ${stateDirectory}
chown -c dnscrypt-proxy:dnscrypt-proxy ${stateDirectory} chown -c dnscrypt-proxy:dnscrypt-proxy ${stateDirectory}
cp --preserve=timestamps -uv \ cp -uv \
${pkgs.dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv \ ${pkgs.dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv \
${stateDirectory} ${stateDirectory}
''; '';
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
}; };
}; };
systemd.services.update-dnscrypt-resolvers = optionalAttrs useUpstreamResolverList { systemd.services.update-dnscrypt-resolvers = {
description = "Update list of DNSCrypt resolvers"; description = "Update list of DNSCrypt resolvers";
requires = [ "init-dnscrypt-proxy-statedir.service" ]; requires = [ "init-dnscrypt-proxy-statedir.service" ];
after = [ "init-dnscrypt-proxy-statedir.service" ]; after = [ "init-dnscrypt-proxy-statedir.service" ];
path = with pkgs; [ curl minisign ]; path = with pkgs; [ curl diffutils dnscrypt-proxy minisign ];
script = '' script = ''
cd ${stateDirectory} cd ${stateDirectory}
curl -fSsL -o dnscrypt-resolvers.csv.tmp \ domain=download.dnscrypt.org
https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv get="curl -fSs --resolve $domain:443:$(hostip -r 8.8.8.8 $domain | head -1)"
curl -fSsL -o dnscrypt-resolvers.csv.minisig.tmp \ $get -o dnscrypt-resolvers.csv.tmp \
https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv.minisig https://$domain/dnscrypt-proxy/dnscrypt-resolvers.csv
$get -o dnscrypt-resolvers.csv.minisig.tmp \
https://$domain/dnscrypt-proxy/dnscrypt-resolvers.csv.minisig
mv dnscrypt-resolvers.csv.minisig{.tmp,} mv dnscrypt-resolvers.csv.minisig{.tmp,}
minisign -q -V -p ${upstreamResolverListPubKey} \ minisign -q -V -p ${upstreamResolverListPubKey} \
-m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig -m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig
[[ -f dnscrypt-resolvers.csv ]] && mv dnscrypt-resolvers.csv{,.old}
mv dnscrypt-resolvers.csv{.tmp,} mv dnscrypt-resolvers.csv{.tmp,}
if cmp dnscrypt-resolvers.csv{,.old} ; then
echo "no change"
else
echo "resolver list updated"
fi
''; '';
serviceConfig = { serviceConfig = {
PrivateTmp = true; PrivateTmp = true;
PrivateDevices = true; PrivateDevices = true;
ProtectHome = true; ProtectHome = true;
ProtectSystem = true; ProtectSystem = "strict";
ReadWritePaths = "${dirOf stateDirectory} ${stateDirectory}";
SystemCallFilter = "~@mount";
}; };
}; };
systemd.timers.update-dnscrypt-resolvers = optionalAttrs useUpstreamResolverList { systemd.timers.update-dnscrypt-resolvers = {
wantedBy = [ "timers.target" ];
timerConfig = { timerConfig = {
OnBootSec = "5min"; OnBootSec = "5min";
OnUnitActiveSec = "6h"; OnUnitActiveSec = "6h";
}; };
wantedBy = [ "timers.target" ];
}; };
})
systemd.sockets.dnscrypt-proxy = { ]);
description = "dnscrypt-proxy listening socket";
socketConfig = {
ListenStream = localAddress;
ListenDatagram = localAddress;
};
wantedBy = [ "sockets.target" ];
};
systemd.services.dnscrypt-proxy = {
description = "dnscrypt-proxy daemon";
before = [ "nss-lookup.target" ];
after = [ "network.target" ]
++ optional apparmorEnabled "apparmor.service"
++ optional useUpstreamResolverList "init-dnscrypt-proxy-statedir.service";
requires = [ "dnscrypt-proxy.socket "]
++ optional apparmorEnabled "apparmor.service"
++ optional useUpstreamResolverList "init-dnscrypt-proxy-statedir.service";
serviceConfig = {
Type = "simple";
NonBlocking = "true";
ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
User = "dnscrypt-proxy";
PrivateTmp = true;
PrivateDevices = true;
ProtectHome = true;
};
};
};
} }

View File

@ -560,101 +560,102 @@ in
}; };
networking.bonds = mkOption { networking.bonds =
default = { }; let
example = literalExample { driverOptionsExample = {
bond0 = { miimon = "100";
interfaces = [ "eth0" "wlan0" ];
miimon = 100;
mode = "active-backup"; mode = "active-backup";
}; };
fatpipe.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ]; in mkOption {
}; default = { };
description = '' example = literalExample {
This option allows you to define bond devices that aggregate multiple, bond0 = {
underlying networking interfaces together. The value of this option is interfaces = [ "eth0" "wlan0" ];
an attribute set. Each attribute specifies a bond, with the attribute driverOptions = driverOptionsExample;
name specifying the name of the bond's network interface
'';
type = with types; attrsOf (submodule {
options = {
interfaces = mkOption {
example = [ "enp4s0f0" "enp4s0f1" "wlan0" ];
type = types.listOf types.str;
description = "The interfaces to bond together";
}; };
anotherBond.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
driverOptions = mkOption {
type = types.attrsOf types.str;
default = {};
example = literalExample {
interfaces = [ "eth0" "wlan0" ];
miimon = 100;
mode = "active-backup";
};
description = ''
Options for the bonding driver.
Documentation can be found in
<link xlink:href="https://www.kernel.org/doc/Documentation/networking/bonding.txt" />
'';
};
lacp_rate = mkOption {
default = null;
example = "fast";
type = types.nullOr types.str;
description = ''
DEPRECATED, use `driverOptions`.
Option specifying the rate in which we'll ask our link partner
to transmit LACPDU packets in 802.3ad mode.
'';
};
miimon = mkOption {
default = null;
example = 100;
type = types.nullOr types.int;
description = ''
DEPRECATED, use `driverOptions`.
Miimon is the number of millisecond in between each round of polling
by the device driver for failed links. By default polling is not
enabled and the driver is trusted to properly detect and handle
failure scenarios.
'';
};
mode = mkOption {
default = null;
example = "active-backup";
type = types.nullOr types.str;
description = ''
DEPRECATED, use `driverOptions`.
The mode which the bond will be running. The default mode for
the bonding driver is balance-rr, optimizing for throughput.
More information about valid modes can be found at
https://www.kernel.org/doc/Documentation/networking/bonding.txt
'';
};
xmit_hash_policy = mkOption {
default = null;
example = "layer2+3";
type = types.nullOr types.str;
description = ''
DEPRECATED, use `driverOptions`.
Selects the transmit hash policy to use for slave selection in
balance-xor, 802.3ad, and tlb modes.
'';
};
}; };
description = ''
This option allows you to define bond devices that aggregate multiple,
underlying networking interfaces together. The value of this option is
an attribute set. Each attribute specifies a bond, with the attribute
name specifying the name of the bond's network interface
'';
}); type = with types; attrsOf (submodule {
};
options = {
interfaces = mkOption {
example = [ "enp4s0f0" "enp4s0f1" "wlan0" ];
type = types.listOf types.str;
description = "The interfaces to bond together";
};
driverOptions = mkOption {
type = types.attrsOf types.str;
default = {};
example = literalExample driverOptionsExample;
description = ''
Options for the bonding driver.
Documentation can be found in
<link xlink:href="https://www.kernel.org/doc/Documentation/networking/bonding.txt" />
'';
};
lacp_rate = mkOption {
default = null;
example = "fast";
type = types.nullOr types.str;
description = ''
DEPRECATED, use `driverOptions`.
Option specifying the rate in which we'll ask our link partner
to transmit LACPDU packets in 802.3ad mode.
'';
};
miimon = mkOption {
default = null;
example = 100;
type = types.nullOr types.int;
description = ''
DEPRECATED, use `driverOptions`.
Miimon is the number of millisecond in between each round of polling
by the device driver for failed links. By default polling is not
enabled and the driver is trusted to properly detect and handle
failure scenarios.
'';
};
mode = mkOption {
default = null;
example = "active-backup";
type = types.nullOr types.str;
description = ''
DEPRECATED, use `driverOptions`.
The mode which the bond will be running. The default mode for
the bonding driver is balance-rr, optimizing for throughput.
More information about valid modes can be found at
https://www.kernel.org/doc/Documentation/networking/bonding.txt
'';
};
xmit_hash_policy = mkOption {
default = null;
example = "layer2+3";
type = types.nullOr types.str;
description = ''
DEPRECATED, use `driverOptions`.
Selects the transmit hash policy to use for slave selection in
balance-xor, 802.3ad, and tlb modes.
'';
};
};
});
};
networking.macvlans = mkOption { networking.macvlans = mkOption {
default = { }; default = { };

View File

@ -27,6 +27,36 @@ in
''; '';
}; };
virtualisation.xen.package = mkOption {
type = types.package;
default = pkgs.xen;
defaultText = "pkgs.xen";
example = literalExample "pkgs.xen-light";
description = ''
The package used for Xen binary.
'';
};
virtualisation.xen.qemu = mkOption {
type = types.path;
default = "${pkgs.xen}/lib/xen/bin/qemu-system-i386";
defaultText = "''${pkgs.xen}/lib/xen/bin/qemu-system-i386";
example = literalExample "''${pkgs.qemu_xen-light}/bin/qemu-system-i386";
description = ''
The qemu binary to use for Dom-0 backend.
'';
};
virtualisation.xen.qemu-package = mkOption {
type = types.package;
default = pkgs.xen;
defaultText = "pkgs.xen";
example = literalExample "pkgs.qemu_xen-light";
description = ''
The package with qemu binaries for xendomains.
'';
};
virtualisation.xen.bootParams = virtualisation.xen.bootParams =
mkOption { mkOption {
default = ""; default = "";
@ -106,9 +136,9 @@ in
message = "Xen currently does not support EFI boot"; message = "Xen currently does not support EFI boot";
} ]; } ];
virtualisation.xen.stored = mkDefault "${pkgs.xen}/bin/oxenstored"; virtualisation.xen.stored = mkDefault "${cfg.package}/bin/oxenstored";
environment.systemPackages = [ pkgs.xen ]; environment.systemPackages = [ cfg.package ];
# Make sure Domain 0 gets the required configuration # Make sure Domain 0 gets the required configuration
#boot.kernelPackages = pkgs.boot.kernelPackages.override { features={xen_dom0=true;}; }; #boot.kernelPackages = pkgs.boot.kernelPackages.override { features={xen_dom0=true;}; };
@ -144,7 +174,7 @@ in
system.extraSystemBuilderCmds = system.extraSystemBuilderCmds =
'' ''
ln -s ${pkgs.xen}/boot/xen.gz $out/xen.gz ln -s ${cfg.package}/boot/xen.gz $out/xen.gz
echo "${toString cfg.bootParams}" > $out/xen-params echo "${toString cfg.bootParams}" > $out/xen-params
''; '';
@ -180,19 +210,19 @@ in
environment.etc = environment.etc =
[ { source = "${pkgs.xen}/etc/xen/xl.conf"; [ { source = "${cfg.package}/etc/xen/xl.conf";
target = "xen/xl.conf"; target = "xen/xl.conf";
} }
{ source = "${pkgs.xen}/etc/xen/scripts"; { source = "${cfg.package}/etc/xen/scripts";
target = "xen/scripts"; target = "xen/scripts";
} }
{ source = "${pkgs.xen}/etc/default/xendomains"; { source = "${cfg.package}/etc/default/xendomains";
target = "default/xendomains"; target = "default/xendomains";
} }
]; ];
# Xen provides udev rules. # Xen provides udev rules.
services.udev.packages = [ pkgs.xen ]; services.udev.packages = [ cfg.package ];
services.udev.path = [ pkgs.bridge-utils pkgs.iproute ]; services.udev.path = [ pkgs.bridge-utils pkgs.iproute ];
@ -217,7 +247,7 @@ in
time=0 time=0
timeout=30 timeout=30
# Wait for xenstored to actually come up, timing out after 30 seconds # Wait for xenstored to actually come up, timing out after 30 seconds
while [ $time -lt $timeout ] && ! `${pkgs.xen}/bin/xenstore-read -s / >/dev/null 2>&1` ; do while [ $time -lt $timeout ] && ! `${cfg.package}/bin/xenstore-read -s / >/dev/null 2>&1` ; do
time=$(($time+1)) time=$(($time+1))
sleep 1 sleep 1
done done
@ -228,8 +258,8 @@ in
exit 1 exit 1
fi fi
${pkgs.xen}/bin/xenstore-write "/local/domain/0/name" "Domain-0" ${cfg.package}/bin/xenstore-write "/local/domain/0/name" "Domain-0"
${pkgs.xen}/bin/xenstore-write "/local/domain/0/domid" 0 ${cfg.package}/bin/xenstore-write "/local/domain/0/domid" 0
''; '';
}; };
@ -256,7 +286,7 @@ in
''; '';
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${pkgs.xen}/bin/xenconsoled${optionalString cfg.trace " --log=all --log-dir=/var/log/xen"} ${cfg.package}/bin/xenconsoled${optionalString cfg.trace " --log=all --log-dir=/var/log/xen"}
''; '';
}; };
}; };
@ -267,8 +297,8 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "xen-console.service" ]; after = [ "xen-console.service" ];
serviceConfig.ExecStart = '' serviceConfig.ExecStart = ''
${pkgs.xen}/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv \ ${cfg.qemu} -xen-attach -xen-domid 0 -name dom0 -M xenpv \
-monitor /dev/null -serial /dev/null -parallel /dev/null -nographic -monitor /dev/null -serial /dev/null -parallel /dev/null
''; '';
}; };
@ -277,7 +307,7 @@ in
description = "Xen Watchdog Daemon"; description = "Xen Watchdog Daemon";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "xen-qemu.service" ]; after = [ "xen-qemu.service" ];
serviceConfig.ExecStart = "${pkgs.xen}/bin/xenwatchdogd 30 15"; serviceConfig.ExecStart = "${cfg.package}/bin/xenwatchdogd 30 15";
serviceConfig.Type = "forking"; serviceConfig.Type = "forking";
serviceConfig.RestartSec = "1"; serviceConfig.RestartSec = "1";
serviceConfig.Restart = "on-failure"; serviceConfig.Restart = "on-failure";
@ -366,11 +396,11 @@ in
before = [ "dhcpd.service" ]; before = [ "dhcpd.service" ];
restartIfChanged = false; restartIfChanged = false;
serviceConfig.RemainAfterExit = "yes"; serviceConfig.RemainAfterExit = "yes";
path = [ pkgs.xen ]; path = [ cfg.package cfg.qemu-package ];
environment.XENDOM_CONFIG = "${pkgs.xen}/etc/sysconfig/xendomains"; environment.XENDOM_CONFIG = "${cfg.package}/etc/sysconfig/xendomains";
preStart = "mkdir -p /var/lock/subsys -m 755"; preStart = "mkdir -p /var/lock/subsys -m 755";
serviceConfig.ExecStart = "${pkgs.xen}/etc/init.d/xendomains start"; serviceConfig.ExecStart = "${cfg.package}/etc/init.d/xendomains start";
serviceConfig.ExecStop = "${pkgs.xen}/etc/init.d/xendomains stop"; serviceConfig.ExecStop = "${cfg.package}/etc/init.d/xendomains stop";
}; };
}; };

View File

@ -1,4 +1,6 @@
{ system ? builtins.currentSystem, networkd }: { system ? builtins.currentSystem
# bool: whether to use networkd in the tests
, networkd }:
with import ../lib/testing.nix { inherit system; }; with import ../lib/testing.nix { inherit system; };
with pkgs.lib; with pkgs.lib;

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
owner = "dogecoin"; owner = "dogecoin";
repo = "dogecoin"; repo = "dogecoin";
rev = "v${version}"; rev = "v${version}";
sha256 = "16q3rldj04hkzzjd23h0knszqr5dgixizy4iyc129mz8wa8pbnvyt chec"; sha256 = "16q3rldj04hkzzjd23h0knszqr5dgixizy4iyc129mz8wa8pbnvy";
}; };
nativeBuildInputs = [ pkgconfig autoreconfHook ]; nativeBuildInputs = [ pkgconfig autoreconfHook ];

View File

@ -1,15 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, doxygen { stdenv, fetchFromGitHub, cmake, doxygen
, libmsgpack, makeWrapper, neovim, pythonPackages, qtbase }: , libmsgpack, makeQtWrapper, neovim, pythonPackages, qtbase }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "neovim-qt-${version}"; name = "neovim-qt-${version}";
version = "0.2.4"; version = "0.2.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "equalsraf"; owner = "equalsraf";
repo = "neovim-qt"; repo = "neovim-qt";
rev = "v${version}"; rev = "v${version}";
sha256 = "0yf9wwkl0lbbj3vyf8hxnlsk7jhk5ggivszyqxply69dbar9ww59"; sha256 = "1wsxhy8fdayy4dsr2dxgh5k4jysybjlyzj134vk325v6cqz9bsgm";
}; };
cmakeFlags = [ cmakeFlags = [
@ -17,23 +17,28 @@ stdenv.mkDerivation rec {
"-DMSGPACK_LIBRARIES=${libmsgpack}/lib/libmsgpackc.so" "-DMSGPACK_LIBRARIES=${libmsgpack}/lib/libmsgpackc.so"
]; ];
doCheck = false; # 5 out of 7 fail doCheck = true;
buildInputs = with pythonPackages; [ buildInputs = with pythonPackages; [
qtbase libmsgpack neovim qtbase libmsgpack
] ++ (with pythonPackages; [ ] ++ (with pythonPackages; [
jinja2 msgpack python jinja2 msgpack python
]); ]);
nativeBuildInputs = [ cmake doxygen makeWrapper ]; nativeBuildInputs = [ cmake doxygen makeQtWrapper ];
enableParallelBuilding = true; enableParallelBuilding = true;
# avoid cmake trying to download libmsgpack preConfigure = ''
preConfigure = "echo \"\" > third-party/CMakeLists.txt"; # avoid cmake trying to download libmsgpack
echo "" > third-party/CMakeLists.txt
# we rip out the gui test as spawning a GUI fails in our build environment
sed -i '/^add_xtest_gui/d' test/CMakeLists.txt
'';
postInstall = '' postInstall = ''
wrapProgram "$out/bin/nvim-qt" --prefix PATH : "${neovim}/bin" wrapQtProgram "$out/bin/nvim-qt" \
--prefix PATH : "${neovim}/bin"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -5,7 +5,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qgis-2.18.3"; name = "qgis-2.18.4";
buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla buildInputs = [ gdal qt4 flex openssl 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 = "155kz7fizhkmgc4lsmk1cph1zar03pdd8pjpmv81yyx1z0i4ygvl"; sha256 = "1s264pahxpn0215xmzm8q2khr5xspipd7bbvxah5kj339kyjfy3k";
}; };
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";

View File

@ -10,13 +10,19 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "inkscape-0.92.0"; name = "inkscape-0.92.1";
src = fetchurl { src = fetchurl {
url = "https://inkscape.org/gallery/item/10552/${name}.tar.bz2"; url = "https://media.inkscape.org/dl/resources/file/${name}.tar_XlpI7qT.bz2";
sha256 = "0mmssxnxsvb3bpm7ck5pqvwyacrz1nkyacs571jx8j04l1cw3d5q"; sha256 = "01chr3vh728dkg7l7lilwgmh5nrp784khdhjgpqjbq9dh2zhax15";
}; };
unpackPhase = ''
cp $src ${name}.tar.bz2
tar xvjf ${name}.tar.bz2 > /dev/null
cd ${name}
'';
postPatch = '' postPatch = ''
patchShebangs share/extensions patchShebangs share/extensions
patchShebangs fix-roff-punct patchShebangs fix-roff-punct

View File

@ -1,14 +1,14 @@
{ python3Packages, fetchurl, lib }: { python3Packages, fetchurl, lib }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
version = "2.1.28"; version = "2.2.0";
name = "cheat-${version}"; name = "cheat-${version}";
propagatedBuildInputs = with python3Packages; [ docopt pygments ]; propagatedBuildInputs = with python3Packages; [ docopt pygments ];
src = fetchurl { src = fetchurl {
url = "mirror://pypi/c/cheat/${name}.tar.gz"; url = "mirror://pypi/c/cheat/${name}.tar.gz";
sha256 = "1a5c5f3dx3dmmvv75q2w6v2xb1i6733c0f8knr6spapvlim5i0c5"; sha256 = "16pg1bgyfjvzpm2rbi411ckf3gljg9v1vzd5qhp23g69ch6yr138";
}; };
# no tests available # no tests available
doCheck = false; doCheck = false;

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emem"; pname = "emem";
version = "0.2.31"; version = "0.2.32";
name = "${pname}-${version}"; name = "${pname}-${version}";
inherit jdk; inherit jdk;
src = fetchurl { src = fetchurl {
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar"; url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
sha256 = "11kciq73y76c78rpd87bmlnvv4llrf81g3d28y02llnngrbczp7v"; sha256 = "1ril6ljbm7mczcfgbjnswcxpxpnp0kv949bhv1f6q42pxxj1wj75";
}; };
buildInputs = [ ]; buildInputs = [ ];

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ automake autoconf libtool pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ automake autoconf libtool pkgconfig wrapGAppsHook ];
buildInputs = [ buildInputs = [
gtk3 json_glib sqlite libsoup gettext vala_0_32 gnome3.rest glib_networking gtk3 json_glib sqlite libsoup gettext vala_0_32 gnome3.rest gnome3.dconf glib_networking
] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav ]); ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav ]);
meta = { meta = {

View File

@ -4,11 +4,11 @@
, gsm, speex, portaudio, spandsp, libuuid, ccache , gsm, speex, portaudio, spandsp, libuuid, ccache
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.5.0"; version = "0.5.1";
name = "baresip-${version}"; name = "baresip-${version}";
src=fetchurl { src=fetchurl {
url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz"; url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
sha256 = "0dhlgjkqn7jkd1pmdyid41c829clzmi5kczjdwxzh5ygn95lydjc"; sha256 = "0yi80gi2vb600n7wi6mk81zfdi1n5pg1dsz7458sb3z5cv5gj8yg";
}; };
buildInputs = [zlib openssl libre librem pkgconfig buildInputs = [zlib openssl libre librem pkgconfig
cairo mpg123 gstreamer gst-ffmpeg gst-plugins-base gst-plugins-bad gst-plugins-good cairo mpg123 gstreamer gst-ffmpeg gst-plugins-base gst-plugins-bad gst-plugins-good

View File

@ -25,30 +25,22 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gajim-${version}"; name = "gajim-${version}";
version = "0.16.6"; version = "0.16.7";
src = fetchurl { src = fetchurl {
name = "${name}.tar.bz2"; name = "${name}.tar.bz2";
url = "https://dev.gajim.org/gajim/gajim/repository/archive.tar.bz2?" url = "https://dev.gajim.org/gajim/gajim/repository/archive.tar.bz2?"
+ "ref=${name}"; + "ref=${name}";
sha256 = "1s0h4xll9490vh7ygmi4zsd1fa107f3s9ykhpq0snb04fllwhjq7"; sha256 = "18srrsswq09i54gcqqy0ylmrix1rrq43f0b8sz1lijr39h3ayw3j";
}; };
patches = let patches = let
# An attribute set of revisions to apply from the upstream repository. # An attribute set of revisions to apply from the upstream repository.
cherries = { cherries = {
misc-test-fixes = { #example-fix = {
rev = "1f0d7387fd020df5dfc9a6349005ec7dedb7c008"; # rev = "<replace-with-git-revsion>";
sha256 = "0nazpzyg50kl0k8z4dkn033933iz60g1i6nzhib1nmzhwwbnacc5"; # sha256 = "<replace-with-sha256>";
}; #};
jingle-fix = {
rev = "491d32a2ec13ed3a482e151e0b403eda7b4151b8";
sha256 = "1pfg1ysr0p6rcwmd8ikjs38av3c4gcxn8pxr6cnnj27n85gvi30g";
};
fix-connection-mock = {
rev = "46a19733d208fbd2404cbaeedd8c203d0b6557a4";
sha256 = "0l3s577pksnz16r4mqa1zmz4y165amsx2mclrm4vzlszy35rmy2b";
};
}; };
in mapAttrsToList (name: { rev, sha256 }: fetchurl { in mapAttrsToList (name: { rev, sha256 }: fetchurl {
name = "gajim-${name}.patch"; name = "gajim-${name}.patch";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, dpkg { stdenv, fetchurl, dpkg
, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, glib, gnome2 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib, gnome2
, libnotify, nspr, nss, systemd, xorg }: , libnotify, nspr, nss, systemd, xorg }:
let let
@ -11,6 +11,7 @@ let
atk atk
cairo cairo
cups cups
curl
dbus dbus
expat expat
fontconfig fontconfig

View File

@ -1,5 +1,6 @@
{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig { stdenv, lib, fetchurl, autoreconfHook, pkgconfig
, openssl, netcat, gnutls, gsasl, libidn, Security, systemd }: , openssl, netcat-gnu, gnutls, gsasl, libidn, Security
, systemd ? null }:
let let
tester = "n"; # {x| |p|P|n|s} tester = "n"; # {x| |p|P|n|s}
@ -28,7 +29,7 @@ in stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
substitute scripts/msmtpq/msmtpq $out/bin/msmtpq \ substitute scripts/msmtpq/msmtpq $out/bin/msmtpq \
--replace @msmtp@ $out/bin/msmtp \ --replace @msmtp@ $out/bin/msmtp \
--replace @nc@ ${netcat}/bin/nc \ --replace @nc@ ${netcat-gnu}/bin/nc \
--replace @journal@ ${journal} \ --replace @journal@ ${journal} \
${lib.optionalString (journal == "y") "--replace @systemdcat@ ${systemd}/bin/systemd-cat" } \ ${lib.optionalString (journal == "y") "--replace @systemdcat@ ${systemd}/bin/systemd-cat" } \
--replace @test@ ${tester} --replace @test@ ${tester}

View File

@ -1,17 +1,19 @@
{ stdenv, fetchgit, fetchurl, writeText { stdenv, fetchFromGitHub, fetchurl, qmake4Hook, makeDesktopItem
, qt4, qmake4Hook, protobuf, libpcap , qt4, protobuf, libpcap, wireshark, gzip, diffutils, gawk
, wireshark, gzip, diffutils, gawk
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ostinato-2015-12-24"; name = "ostinato-${version}";
src = fetchgit { version = "0.8";
url = "https://github.com/pstavirs/ostinato.git";
rev = "414d89860de0987843295d149bcabeac7c6fd9e5"; src = fetchFromGitHub {
sha256 = "1yif8z8ih027jdsgnxd82z9914wrqpkpi4xgxqv9lygnb2jjjrdx"; owner = "pstavirs";
repo = "ostinato";
rev = "v${version}";
sha256 = "1b5a5gypcy9i03mj6md3lkrq05rqmdyhfykrr1z0sv8n3q48xca3";
}; };
ostinato_png = fetchurl { ostinatoIcon = fetchurl {
url = "http://ostinato.org/images/site-logo.png"; url = "http://ostinato.org/images/site-logo.png";
sha256 = "f5c067823f2934e4d358d76f65a343efd69ad783a7aeabd7ab4ce3cd03490d70"; sha256 = "f5c067823f2934e4d358d76f65a343efd69ad783a7aeabd7ab4ce3cd03490d70";
}; };
@ -22,7 +24,27 @@ stdenv.mkDerivation rec {
patches = [ ./drone_ini.patch ]; patches = [ ./drone_ini.patch ];
desktopItem = makeDesktopItem {
type = "application";
name = "ostinato";
desktopName = "Ostinato";
genericName = "Packet/Traffic Generator and Analyzer";
comment = "Network packet and traffic generator and analyzer with a friendly GUI";
categories = "Network";
terminal = "false";
startupNotify = "true";
exec = "$out/bin/ostinato";
icon = ostinatoIcon;
extraEntries = ''
GenericName[it]=Generatore ed Analizzatore di pacchetti di rete
Comment[it]=Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole
'';
};
postInstall = '' postInstall = ''
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications/
cat > $out/bin/ostinato.ini <<EOF cat > $out/bin/ostinato.ini <<EOF
WiresharkPath=${wireshark}/bin/wireshark WiresharkPath=${wireshark}/bin/wireshark
TsharkPath=${wireshark}/bin/tshark TsharkPath=${wireshark}/bin/tshark
@ -30,34 +52,13 @@ stdenv.mkDerivation rec {
DiffPath=${diffutils}/bin/diff DiffPath=${diffutils}/bin/diff
AwkPath=${gawk}/bin/awk AwkPath=${gawk}/bin/awk
EOF EOF
mkdir -p $out/share/pixmaps
cp ${ostinato_png} $out/share/pixmaps/ostinato.png
# Create a desktop item.
mkdir -p $out/share/applications
cat > $out/share/applications/ostinato.desktop <<EOF
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Ostinato
GenericName=Packet/Traffic Generator and Analyzer
GenericName[it]=Generatore ed Analizzatore di pacchetti di rete
Comment=Network packet and traffic generator and analyzer with a friendly GUI
Comment[it]=Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole
Icon=$out/share/pixmaps/ostinato.png
Exec=$out/bin/ostinato
Terminal=false
Categories=Network;
StartupNotify=true
EOF
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A packet traffic generator and analyzer"; description = "A packet traffic generator and analyzer";
homepage = http://ostinato.org; homepage = http://ostinato.org;
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ rick68 ]; maintainers = with maintainers; [ rick68 ];
platforms = platforms.linux; # also OS X and cygwin platforms = with platforms; linux ++ darwin ++ cygwin;
}; };
} }

View File

@ -6,14 +6,14 @@ let
''; '';
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "0.14.23"; version = "0.14.24";
name = "syncthing-${version}"; name = "syncthing-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "1himf8yhfpjsv5m068y2f6f696d7ip0jq7jmg69kn7035zlxicis"; sha256 = "15jjk49ibry7crc3sw5zg09zsm5ir0ph5c0f3acas66wd02rnvl1";
}; };
buildInputs = [ go ]; buildInputs = [ go ];

View File

@ -112,11 +112,11 @@
md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
} }
{ {
name = "curl-7.51.0.tar.gz"; name = "curl-7.52.1.tar.gz";
url = "http://dev-www.libreoffice.org/src/curl-7.51.0.tar.gz"; url = "http://dev-www.libreoffice.org/src/curl-7.52.1.tar.gz";
sha256 = "65b5216a6fbfa72f547eb7706ca5902d7400db9868269017a8888aa91d87977c"; sha256 = "a8984e8b20880b621f61a62d95ff3c0763a3152093a9f9ce4287cfd614add6ae";
md5 = "490e19a8ccd1f4a244b50338a0eb9456"; md5 = "4e1ef056e117b4d25f4ec42ac609c0d4";
md5name = "490e19a8ccd1f4a244b50338a0eb9456-curl-7.51.0.tar.gz"; md5name = "4e1ef056e117b4d25f4ec42ac609c0d4-curl-7.52.1.tar.gz";
} }
{ {
name = "libe-book-0.1.2.tar.bz2"; name = "libe-book-0.1.2.tar.bz2";

View File

@ -3,8 +3,8 @@
rec { rec {
major = "5"; major = "5";
minor = "2"; minor = "2";
patch = "5"; patch = "6";
tweak = "1"; tweak = "2";
subdir = "${major}.${minor}.${patch}"; subdir = "${major}.${minor}.${patch}";
@ -12,6 +12,6 @@ rec {
src = fetchurl { src = fetchurl {
url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
sha256 = "006kn1m5d6c1skgc1scc0gssin922raca2psjv887alplhia6mlp"; sha256 = "0w1myl4l1qhdkwqb3b52xld1sq45xyg8b45q40l6a50iccwy6j9x";
}; };
} }

View File

@ -42,14 +42,14 @@ let
translations = fetchSrc { translations = fetchSrc {
name = "translations"; name = "translations";
sha256 = "0lv3jbnzzkr7nbivsl9jm9b4m9mxvngbmhz6yasblhi0m9ifkxmb"; sha256 = "0w77mkxmhxx4qjwdwb8bipcdb4pkvkg202mxbbjrv0aj09k6dhvk";
}; };
# TODO: dictionaries # TODO: dictionaries
help = fetchSrc { help = fetchSrc {
name = "help"; name = "help";
sha256 = "1d29ppdkhhy5x8cric0l872x607ng02bnp2gvv5ck3blb759q68i"; sha256 = "12xqzp005dhbh618g3zb30vj7rdmccdqj6ix10jlk0clk66n9kf0";
}; };
}; };

View File

@ -0,0 +1,25 @@
{stdenv, fetchFromGitHub, zlib, python}:
stdenv.mkDerivation rec {
name = "bedtools-${version}";
version = "2.26.0";
src = fetchFromGitHub {
owner = "arq5x";
repo = "bedtools2";
rev = "v${version}";
sha256 = "1j2ia68rmcw3qksjm5gvv1cb84bh76vmln59mvncr2an23f5a3ss";
};
buildInputs = [ zlib python ];
buildPhase = "make prefix=$out SHELL=${stdenv.shell} -j $NIX_BUILD_CORES";
installPhase = "make prefix=$out SHELL=${stdenv.shell} install";
meta = with stdenv.lib; {
description = "A powerful toolset for genome arithmetic.";
license = licenses.gpl2;
homepage = https://bedtools.readthedocs.io/en/latest/;
maintainers = with maintainers; [ jbedo ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,30 @@
{stdenv, fetchurl, jre, makeWrapper}:
stdenv.mkDerivation rec {
name = "picard-tools-${version}";
version = "2.7.1";
src = fetchurl {
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
sha256 = "0rcfcvy9zacqmh7nyqlm93hzsx6gfygmcf8d2p02h5l69gvygnb9";
};
buildInputs = [ jre makeWrapper ];
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/libexec/picard
cp $src $out/libexec/picard/picard.jar
mkdir -p $out/bin
makeWrapper ${jre}/bin/java $out/bin/picard --add-flags "-jar $out/libexec/picard/picard.jar"
'';
meta = with stdenv.lib; {
description = "Tools for high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.";
license = licenses.mit;
homepage = https://broadinstitute.github.io/picard/;
maintainers = with maintainers; [ jbedo ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,38 @@
{stdenv, fetchFromGitHub, python27, htslib, zlib, makeWrapper}:
let python = python27.withPackages (ps: with ps; [ cython ]);
in stdenv.mkDerivation rec {
name = "platypus-unstable-${version}";
version = "2017-03-07";
src = fetchFromGitHub {
owner = "andyrimmer";
repo = "Platypus";
rev = "cbbd914";
sha256 = "0xgj3pl7n4c12j5pp5qyjfk4rsvb5inwzrpcbhdf3br5f3mmdsb9";
};
buildInputs = [ htslib python zlib makeWrapper ];
buildPhase = ''
patchShebangs .
make
'';
installPhase = ''
mkdir -p $out/libexec/platypus
cp -r ./* $out/libexec/platypus
mkdir -p $out/bin
makeWrapper ${python}/bin/python $out/bin/platypus --add-flags "$out/libexec/platypus/bin/Platypus.py"
'';
meta = with stdenv.lib; {
description = "The Platypus variant caller";
license = licenses.gpl3;
homepage = https://github.com/andyrimmer/Platypus;
maintainers = with maintainers; [ jbedo ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,31 @@
{stdenv, fetchurl, jre, unzip, makeWrapper}:
stdenv.mkDerivation rec {
name = "snpeff-${version}";
version = "4.3i";
src = fetchurl {
url = "mirror://sourceforge/project/snpeff/snpEff_latest_core.zip";
sha256 = "0i1slg201c8yjfr4wrg4xcgzwi0c8b9l3fb1i73fphq6q6zdblzb";
};
buildInputs = [ unzip jre makeWrapper ];
installPhase = ''
mkdir -p $out/libexec/snpeff
cp *.jar *.config $out/libexec/snpeff
mkdir -p $out/bin
makeWrapper ${jre}/bin/java $out/bin/snpeff --add-flags "-jar $out/libexec/snpeff/snpEff.jar"
makeWrapper ${jre}/bin/java $out/bin/snpsift --add-flags "-jar $out/libexec/snpeff/SnpSift.jar"
'';
meta = with stdenv.lib; {
description = "Genetic variant annotation and effect prediction toolbox.";
license = licenses.lgpl3;
homepage = http://snpeff.sourceforge.net/;
maintainers = with maintainers; [ jbedo ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,36 @@
{stdenv, fetchurl, jre, makeWrapper}:
stdenv.mkDerivation rec {
name = "varscan-${version}";
version = "2.4.2";
src = fetchurl {
url = "https://github.com/dkoboldt/varscan/releases/download/${version}/VarScan.v${version}.jar";
sha256 = "0cfhshinyqgwc6i7zf8lhbfybyly2x5anrz824zyvdhzz5i69zrl";
};
buildInputs = [ jre makeWrapper ];
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/libexec/varscan
cp $src $out/libexec/varscan/varscan.jar
mkdir -p $out/bin
makeWrapper ${jre}/bin/java $out/bin/varscan --add-flags "-jar $out/libexec/varscan/varscan.jar"
'';
meta = with stdenv.lib; {
description = "Variant calling and somatic mutation/CNV detection for next-generation sequencing data";
# VarScan 2 is free for non-commercial use by academic,
# government, and non-profit/not-for-profit institutions. A
# commercial version of the software is available, and licensed
# through the Office of Technology Management at Washington
# University School of Medicine.
license = licenses.unfree;
homepage = https://github.com/dkoboldt/varscan;
maintainers = with maintainers; [ jbedo ];
platforms = platforms.all;
};
}

View File

@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
buildInputs = [ perl flex_2_6_1 bison ]; buildInputs = [ perl flex_2_6_1 bison ];
postInstall = ''
sed -i -e '3a\#!/usr/bin/env perl' -e '1,3d' $out/bin/{verilator,verilator_coverage,verilator_profcfunc}
'';
meta = { meta = {
description = "Fast and robust (System)Verilog simulator/compiler"; description = "Fast and robust (System)Verilog simulator/compiler";
homepage = "http://www.veripool.org/wiki/verilator"; homepage = "http://www.veripool.org/wiki/verilator";

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, qt4, qwt6_qt4, mesa, glew, gdal_1_11, cgal { stdenv, fetchurl, qt4, qwt6_qt4, mesa, glew, gdal_1_11, cgal
, proj, boost159, cmake, python2, doxygen, graphviz, gmp }: , proj, boost, cmake, python2, doxygen, graphviz, gmp }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gplates-${version}"; name = "gplates-${version}";
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
qt4 qwt6_qt4 mesa glew gdal_1_11 cgal proj boost159 cmake python2 qt4 qwt6_qt4 mesa glew gdal_1_11 cgal proj boost cmake python2
doxygen graphviz gmp doxygen graphviz gmp
]; ];

View File

@ -0,0 +1,74 @@
{stdenv, lib, libXcomposite, libgnome_keyring, makeWrapper, udev, curl, alsaLib
,libXfixes, atk, gtk2, libXrender, pango, gnome2, cairo, freetype, fontconfig
,libX11, libXi, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
,nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus
}:
stdenv.mkDerivation rec {
name = "gitkraken-${version}";
version = "2.1.0";
src = fetchurl {
url = "https://release.gitkraken.com/linux/v${version}.tar.gz";
sha256 = "56b5657f5c13fa1d8f6b7b9331194cbc8c48c0b913e5f0fb561d0e9af82f7999";
};
libPath = stdenv.lib.makeLibraryPath [
stdenv.cc.cc.lib
curl
udev
libX11
libXext
libXcursor
libXi
glib
libXScrnSaver
libxkbfile
libXtst
nss
nspr
cups
alsaLib
expat
gdk_pixbuf
dbus
libXdamage
libXrandr
atk
pango
cairo
freetype
fontconfig
libXcomposite
libXfixes
libXrender
gtk2
gnome2.GConf
libgnome_keyring
];
phases = [ "unpackPhase" "installPhase" ];
buildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p "$out/opt/gitkraken"
cp -r ./* "$out/opt/gitkraken"
fixupPhase
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath "$libPath:$out/opt/gitkraken" "$out/opt/gitkraken/gitkraken"
wrapProgram $out/opt/gitkraken/gitkraken \
--prefix LD_PRELOAD : "${stdenv.lib.makeLibraryPath [ curl ]}/libcurl.so.4" \
--prefix LD_PRELOAD : "${stdenv.lib.makeLibraryPath [ libgnome_keyring ]}/libgnome-keyring.so.0"
mkdir "$out/bin"
ln -s "$out/opt/gitkraken/gitkraken" "$out/bin/gitkraken"
'';
meta = with stdenv.lib; {
homepage = https://www.gitkraken.com/;
description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
license = licenses.unfree;
platforms = platforms.linux;
maintainers = [ ];
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, qmakeHook, qtscript }: { stdenv, fetchurl, qmakeHook, qtscript }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "smplayer-17.2.0"; name = "smplayer-17.3.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2"; url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "05nqwpyh3zlyzip7chs711sz97cgijb92h44cd5aqbwbx06hihdd"; sha256 = "0yv7725kr3dq02mcanc07sapirx6s73l4b6d13nzvq5rkwr8crmj";
}; };
buildInputs = [ qtscript ]; buildInputs = [ qtscript ];

View File

@ -9,7 +9,9 @@
, pulseSupport ? !stdenv.isDarwin, libpulseaudio , pulseSupport ? !stdenv.isDarwin, libpulseaudio
, sdlSupport ? !stdenv.isDarwin, SDL , sdlSupport ? !stdenv.isDarwin, SDL
, vncSupport ? true, libjpeg, libpng , vncSupport ? true, libjpeg, libpng
, spiceSupport ? !stdenv.isDarwin, spice, spice_protocol, usbredir , spiceSupport ? !stdenv.isDarwin, spice, spice_protocol
, usbredirSupport ? spiceSupport, usbredir
, xenSupport ? false, xen
, x86Only ? false , x86Only ? false
, nixosTestRunner ? false , nixosTestRunner ? false
}: }:
@ -24,6 +26,7 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qemu-" name = "qemu-"
+ stdenv.lib.optionalString xenSupport "xen-"
+ stdenv.lib.optionalString x86Only "x86-only-" + stdenv.lib.optionalString x86Only "x86-only-"
+ stdenv.lib.optionalString nixosTestRunner "for-vm-tests-" + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
+ version; + version;
@ -44,8 +47,10 @@ stdenv.mkDerivation rec {
++ optionals pulseSupport [ libpulseaudio ] ++ optionals pulseSupport [ libpulseaudio ]
++ optionals sdlSupport [ SDL ] ++ optionals sdlSupport [ SDL ]
++ optionals vncSupport [ libjpeg libpng ] ++ optionals vncSupport [ libjpeg libpng ]
++ optionals spiceSupport [ spice_protocol spice usbredir ] ++ optionals spiceSupport [ spice_protocol spice ]
++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ]; ++ optionals usbredirSupport [ usbredir ]
++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ]
++ optionals xenSupport [ xen ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -95,9 +100,11 @@ stdenv.mkDerivation rec {
++ optional numaSupport "--enable-numa" ++ optional numaSupport "--enable-numa"
++ optional seccompSupport "--enable-seccomp" ++ optional seccompSupport "--enable-seccomp"
++ optional spiceSupport "--enable-spice" ++ optional spiceSupport "--enable-spice"
++ optional usbredirSupport "--enable-usb-redir"
++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu" ++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
++ optional stdenv.isDarwin "--enable-cocoa" ++ optional stdenv.isDarwin "--enable-cocoa"
++ optional stdenv.isLinux "--enable-linux-aio"; ++ optional stdenv.isLinux "--enable-linux-aio"
++ optional xenSupport "--enable-xen";
postFixup = postFixup =
'' ''

View File

@ -0,0 +1,16 @@
tools/python/install-wrap script brakes shebangs patching, disable
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 87a56dc..a7da869 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -90,8 +90,7 @@ CFLAGS += $(CFLAGS-y)
CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS)
-INSTALL_PYTHON_PROG = \
- $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
+INSTALL_PYTHON_PROG = $(INSTALL_PROG)
%.opic: %.c
$(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS)

View File

@ -0,0 +1,27 @@
hack to make etherboot use prefetched ipxe
diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile
index a0578d2..64428a0 100644
--- a/tools/firmware/etherboot/Makefile
+++ b/tools/firmware/etherboot/Makefile
@@ -16,6 +16,7 @@ IPXE_TARBALL_URL ?= $(XEN_EXTFILES_URL)/ipxe-git-$(IPXE_GIT_TAG).tar.gz
D=ipxe
T=ipxe.tar.gz
+G=ipxe.git
ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS)))
@@ -36,9 +37,9 @@ $T:
fi
mv _$T $T
-$D/src/arch/i386/Makefile: $T Config
- rm -rf $D
- gzip -dc $T | tar xf -
+$D/src/arch/i386/Makefile: $G Config
+ mkdir $D
+ cp -a $G/* $D
for i in $$(cat patches/series) ; do \
patch -d $D -p1 --quiet <patches/$$i || exit 1 ; \
done

View File

@ -1,152 +1,237 @@
{ callPackage, fetchurl, fetchpatch, fetchgit, ... } @ args: { stdenv, callPackage, fetchurl, fetchpatch, fetchgit
, withInternalQemu ? true
, withInternalTraditionalQemu ? true
, withInternalSeabios ? true
, withSeabios ? !withInternalSeabios, seabios ? null
, withInternalOVMF ? false # FIXME: tricky to build
, withOVMF ? false, OVMF
, withLibHVM ? true
# qemu
, udev, pciutils, xorg, SDL, pixman, acl, glusterfs, spice_protocol, usbredir
, alsaLib
, ... } @ args:
assert withInternalSeabios -> !withSeabios;
assert withInternalOVMF -> !withOVMF;
with stdenv.lib;
# Patching XEN? Check the XSAs at
# https://xenbits.xen.org/xsa/
# and try applying all the ones we don't have yet.
let let
# Xen 4.5.5 xsaPatch = { name , sha256 }: (fetchpatch {
# url = "https://xenbits.xen.org/xsa/xsa${name}.patch";
# Patching XEN? Check the XSAs and try applying all the ones we inherit sha256;
# don't have yet. });
#
# XSAs at: https://xenbits.xen.org/xsa/
xenConfig = rec {
version = "4.5.5";
xsaPatch = { name , sha256 }: (fetchpatch { qemuDeps = [
url = "https://xenbits.xen.org/xsa/xsa${name}.patch"; udev pciutils xorg.libX11 SDL pixman acl glusterfs spice_protocol usbredir
inherit sha256; alsaLib
}); ];
in
name = "xen-${version}"; callPackage (import ./generic.nix (rec {
version = "4.5.5";
src = fetchurl { src = fetchurl {
url = "http://bits.xensource.com/oss-xen/release/${version}/${name}.tar.gz"; url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
sha256 = "1y74ms4yc3znf8jc3fgyq94va2y0pf7jh8m9pfqnpgklywqnw8g2"; sha256 = "1y74ms4yc3znf8jc3fgyq94va2y0pf7jh8m9pfqnpgklywqnw8g2";
};
# Sources needed to build the xen tools and tools/firmware.
firmwareGits =
[
{ git = { name = "seabios";
url = https://xenbits.xen.org/git-http/seabios.git;
rev = "rel-1.7.5";
sha256 = "0jk54ybhmw97pzyhpm6jr2x99f702kbn0ipxv5qxcbynflgdazyb";
};
patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
}
];
toolsGits =
[
{ git = { name = "qemu-xen";
url = https://xenbits.xen.org/git-http/qemu-xen.git;
rev = "refs/tags/qemu-xen-${version}";
sha256 = "014s755slmsc7xzy7qhk9i3kbjr2grxb5yznjp71dl6xxfvnday2";
};
patches = [
(xsaPatch {
name = "197-4.5-qemuu";
sha256 = "09gp980qdlfpfmxy0nk7ncyaa024jnrpzx9gpq2kah21xygy5myx";
})
(xsaPatch {
name = "208-qemuu-4.7";
sha256 = "0z9b1whr8rp2riwq7wndzcnd7vw1ckwx0vbk098k2pcflrzppgrb";
})
(xsaPatch {
name = "209-qemuu";
sha256 = "05df4165by6pzxrnizkw86n2f77k9i1g4fqqpws81ycb9ng4jzin";
})
];
}
{ git = { name = "qemu-xen-traditional";
url = https://xenbits.xen.org/git-http/qemu-xen-traditional.git;
# rev = "28c21388c2a32259cff37fc578684f994dca8c9f";
rev = "refs/tags/xen-${version}";
sha256 = "0n0ycxlf1wgdjkdl8l2w1i0zzssk55dfv67x8i6b2ima01r0k93r";
};
patches = [
(xsaPatch {
name = "197-4.5-qemut";
sha256 = "17l7npw00gyhqzzaqamwm9cawfvzm90zh6jjyy95dmqbh7smvy79";
})
(xsaPatch {
name = "199-trad";
sha256 = "0dfw6ciycw9a9s97sbnilnzhipnzmdm9f7xcfngdjfic8cqdcv42";
})
(xsaPatch {
name = "208-qemut";
sha256 = "0960vhchixp60j9h2lawgbgzf6mpcdk440kblk25a37bd6172l54";
})
(xsaPatch {
name = "209-qemut";
sha256 = "1hq8ghfzw6c47pb5vf9ngxwgs8slhbbw6cq7gk0nam44rwvz743r";
})
];
}
{ git = { name = "xen-libhvm";
url = https://github.com/ts468/xen-libhvm;
rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63";
sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8";
};
description = ''
Helper library for reading ACPI and SMBIOS firmware values
from the host system for use with the HVM guest firmware
pass-through feature in Xen.
'';
#license = licenses.bsd2;
}
];
xenPatches = [ ./0001-libxl-Spice-image-compression-setting-support-for-up.patch
./0002-libxl-Spice-streaming-video-setting-support-for-upst.patch
./0003-Add-qxl-vga-interface-support-for-upstream-qem.patch
(xsaPatch {
name = "190-4.5";
sha256 = "0f8pw38kkxky89ny3ic5h26v9zsjj9id89lygx896zc3w1klafqm";
})
(xsaPatch {
name = "191-4.6";
sha256 = "1wl1ndli8rflmc44pkp8cw4642gi8z7j7gipac8mmlavmn3wdqhg";
})
(xsaPatch {
name = "192-4.5";
sha256 = "0m8cv0xqvx5pdk7fcmaw2vv43xhl62plyx33xqj48y66x5z9lxpm";
})
(xsaPatch {
name = "193-4.5";
sha256 = "0k9mykhrpm4rbjkhv067f6s05lqmgnldcyb3vi8cl0ndlyh66lvr";
})
(xsaPatch {
name = "195";
sha256 = "0m0g953qnjy2knd9qnkdagpvkkgjbk3ydgajia6kzs499dyqpdl7";
})
(xsaPatch {
name = "196-0001-x86-emul-Correct-the-IDT-entry-calculation-in-inject";
sha256 = "0z53nzrjvc745y26z1qc8jlg3blxp7brawvji1hx3s74n346ssl6";
})
(xsaPatch {
name = "196-0002-x86-svm-Fix-injection-of-software-interrupts";
sha256 = "11cqvr5jn2s92wsshpilx9qnfczrd9hnyb5aim6qwmz3fq3hrrkz";
})
(xsaPatch {
name = "198";
sha256 = "0d1nndn4p520c9xa87ixnyks3mrvzcri7c702d6mm22m8ansx6d9";
})
(xsaPatch {
name = "200-4.6";
sha256 = "0k918ja83470iz5k4vqi15293zjvz2dipdhgc9sy9rrhg4mqncl7";
})
(xsaPatch {
name = "202-4.6";
sha256 = "0nnznkrvfbbc8z64dr9wvbdijd4qbpc0wz2j5vpmx6b32sm7932f";
})
(xsaPatch {
name = "204-4.5";
sha256 = "083z9pbdz3f532fnzg7n2d5wzv6rmqc0f4mvc3mnmkd0rzqw8vcp";
})
(xsaPatch {
name = "207";
sha256 = "0wdlhijmw9mdj6a82pyw1rwwiz605dwzjc392zr3fpb2jklrvibc";
})
];
}; };
in callPackage ./generic.nix (args // { xenConfig=xenConfig; }) # Sources needed to build tools and firmwares.
xenfiles = optionalAttrs withInternalQemu {
"qemu-xen" = {
src = fetchgit {
url = https://xenbits.xen.org/git-http/qemu-xen.git;
rev = "refs/tags/qemu-xen-${version}";
sha256 = "014s755slmsc7xzy7qhk9i3kbjr2grxb5yznjp71dl6xxfvnday2";
};
buildInputs = qemuDeps;
patches = [
(xsaPatch {
name = "197-4.5-qemuu";
sha256 = "09gp980qdlfpfmxy0nk7ncyaa024jnrpzx9gpq2kah21xygy5myx";
})
(xsaPatch {
name = "208-qemuu-4.7";
sha256 = "0z9b1whr8rp2riwq7wndzcnd7vw1ckwx0vbk098k2pcflrzppgrb";
})
(xsaPatch {
name = "209-qemuu/0001-display-cirrus-ignore-source-pitch-value-as-needed-i";
sha256 = "1xvxzsrsq05fj6szjlpbgg4ia3cw54dn5g7xzq1n1dymbhv606m0";
})
(xsaPatch {
name = "209-qemuu/0002-cirrus-add-blit_is_unsafe-call-to-cirrus_bitblt_cput";
sha256 = "0avxqs9922qjfsxxlk7bh10432a526j2yyykhags8dk1bzxkpxwv";
})
];
meta.description = "Xen's fork of upstream Qemu";
};
} // optionalAttrs withInternalTraditionalQemu {
"qemu-xen-traditional" = {
src = fetchgit {
url = https://xenbits.xen.org/git-http/qemu-xen-traditional.git;
rev = "refs/tags/xen-${version}";
sha256 = "0n0ycxlf1wgdjkdl8l2w1i0zzssk55dfv67x8i6b2ima01r0k93r";
};
buildInputs = qemuDeps;
patches = [
(xsaPatch {
name = "197-4.5-qemut";
sha256 = "17l7npw00gyhqzzaqamwm9cawfvzm90zh6jjyy95dmqbh7smvy79";
})
(xsaPatch {
name = "199-trad";
sha256 = "0dfw6ciycw9a9s97sbnilnzhipnzmdm9f7xcfngdjfic8cqdcv42";
})
(xsaPatch {
name = "208-qemut";
sha256 = "0960vhchixp60j9h2lawgbgzf6mpcdk440kblk25a37bd6172l54";
})
(xsaPatch {
name = "209-qemut";
sha256 = "1hq8ghfzw6c47pb5vf9ngxwgs8slhbbw6cq7gk0nam44rwvz743r";
})
];
postPatch = ''
substituteInPlace xen-hooks.mak \
--replace /usr/include/pci ${pciutils}/include/pci
'';
meta.description = "Xen's fork of upstream Qemu that uses old device model";
};
} // optionalAttrs withInternalSeabios {
"firmware/seabios-dir-remote" = {
src = fetchgit {
url = https://xenbits.xen.org/git-http/seabios.git;
rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2";
#rev = "rel-1.7.5";
sha256 = "0jk54ybhmw97pzyhpm6jr2x99f702kbn0ipxv5qxcbynflgdazyb";
};
patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
meta.description = "Xen's fork of Seabios";
};
} // optionalAttrs withInternalOVMF {
"firmware/ovmf-dir-remote" = {
src = fetchgit {
url = https://xenbits.xen.org/git-http/ovmf.git;
rev = "cb9a7ebabcd6b8a49dc0854b2f9592d732b5afbd";
sha256 = "07zmdj90zjrzip74fvd4ss8n8njk6cim85s58mc6snxmqqv7gmcq";
};
meta.description = "Xen's fork of OVMF";
};
} // {
# TODO: patch Xen to make this optional?
"firmware/etherboot/ipxe.git" = {
src = fetchgit {
url = https://git.ipxe.org/ipxe.git;
rev = "9a93db3f0947484e30e753bbd61a10b17336e20e";
sha256 = "1ga3h1b34q0cl9azj7j9nswn7mfcs3cgfjdihrm5zkp2xw2hpvr6";
};
meta.description = "Xen's fork of iPXE";
};
} // optionalAttrs withLibHVM {
"xen-libhvm-dir-remote" = {
src = fetchgit {
name = "xen-libhvm";
url = https://github.com/ts468/xen-libhvm;
rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63";
sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8";
};
buildPhase = ''
make
cd biospt
cc -Wall -g -D_LINUX -Wstrict-prototypes biospt.c -o biospt -I../libhvm -L../libhvm -lxenhvm
'';
installPhase = ''
make install
cp biospt/biospt $out/bin/
'';
meta = {
description = ''
Helper library for reading ACPI and SMBIOS firmware values
from the host system for use with the HVM guest firmware
pass-through feature in Xen'';
license = licenses.bsd2;
};
};
};
configureFlags = []
++ optional (!withInternalQemu) "--with-system-qemu" # use qemu from PATH
++ optional (withInternalTraditionalQemu) "--enable-qemu-traditional"
++ optional (!withInternalTraditionalQemu) "--disable-qemu-traditional"
++ optional (withSeabios) "--with-system-seabios=${seabios}"
++ optional (!withInternalSeabios && !withSeabios) "--disable-seabios"
++ optional (withOVMF) "--with-system-ovmf=${OVMF}"
++ optional (withInternalOVMF) "--enable-ovmf";
patches =
[ ./0001-libxl-Spice-image-compression-setting-support-for-up.patch
./0002-libxl-Spice-streaming-video-setting-support-for-upst.patch
./0003-Add-qxl-vga-interface-support-for-upstream-qem.patch
(xsaPatch {
name = "190-4.5";
sha256 = "0f8pw38kkxky89ny3ic5h26v9zsjj9id89lygx896zc3w1klafqm";
})
(xsaPatch {
name = "191-4.6";
sha256 = "1wl1ndli8rflmc44pkp8cw4642gi8z7j7gipac8mmlavmn3wdqhg";
})
(xsaPatch {
name = "192-4.5";
sha256 = "0m8cv0xqvx5pdk7fcmaw2vv43xhl62plyx33xqj48y66x5z9lxpm";
})
(xsaPatch {
name = "193-4.5";
sha256 = "0k9mykhrpm4rbjkhv067f6s05lqmgnldcyb3vi8cl0ndlyh66lvr";
})
(xsaPatch {
name = "195";
sha256 = "0m0g953qnjy2knd9qnkdagpvkkgjbk3ydgajia6kzs499dyqpdl7";
})
(xsaPatch {
name = "196-0001-x86-emul-Correct-the-IDT-entry-calculation-in-inject";
sha256 = "0z53nzrjvc745y26z1qc8jlg3blxp7brawvji1hx3s74n346ssl6";
})
(xsaPatch {
name = "196-0002-x86-svm-Fix-injection-of-software-interrupts";
sha256 = "11cqvr5jn2s92wsshpilx9qnfczrd9hnyb5aim6qwmz3fq3hrrkz";
})
(xsaPatch {
name = "198";
sha256 = "0d1nndn4p520c9xa87ixnyks3mrvzcri7c702d6mm22m8ansx6d9";
})
(xsaPatch {
name = "200-4.6";
sha256 = "0k918ja83470iz5k4vqi15293zjvz2dipdhgc9sy9rrhg4mqncl7";
})
(xsaPatch {
name = "202-4.6";
sha256 = "0nnznkrvfbbc8z64dr9wvbdijd4qbpc0wz2j5vpmx6b32sm7932f";
})
(xsaPatch {
name = "204-4.5";
sha256 = "083z9pbdz3f532fnzg7n2d5wzv6rmqc0f4mvc3mnmkd0rzqw8vcp";
})
(xsaPatch {
name = "207";
sha256 = "0wdlhijmw9mdj6a82pyw1rwwiz605dwzjc392zr3fpb2jklrvibc";
})
];
# Fix build on Glibc 2.24.
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
postPatch = ''
# Avoid a glibc >= 2.25 deprecation warnings that get fatal via -Werror.
sed 1i'#include <sys/sysmacros.h>' \
-i tools/blktap2/control/tap-ctl-allocate.c \
-i tools/libxl/libxl_device.c
'';
})) args

View File

@ -1,188 +1,219 @@
{ stdenv, fetchurl, which, zlib, pkgconfig, SDL, openssl config:
, libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2 { stdenv, cmake, pkgconfig, which
, lvm2, utillinux, procps, texinfo, perl, python2Packages
, glib, bridge-utils, xorg, pixman, iproute, udev, bison # Xen
, flex, cmake, ocamlPackages, figlet, libaio, yajl , bison, bzip2, checkpolicy, dev86, figlet, flex, gettext, glib
, checkpolicy, transfig, glusterfs, acl, fetchgit, xz, spice , iasl, libaio, libiconv, libuuid, ncurses, openssl, perl
, spice_protocol, usbredir, alsaLib, quilt , python2Packages
# python2Packages.python
, xz, yajl, zlib
# Xen Optional
, ocamlPackages
# Scripts
, coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools , coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools
, inetutils, iptables, openvswitch, nbd, drbd, xenConfig , iproute, inetutils, iptables, bridge-utils, openvswitch, nbd, drbd
, xenserverPatched ? false, ... }: , lvm2, utillinux, procps
# Documentation
# python2Packages.markdown
, transfig, ghostscript, texinfo, pandoc
, ...} @ args:
with stdenv.lib; with stdenv.lib;
let let
#TODO: fix paths instead
scriptEnvPath = concatMapStringsSep ":" (x: "${x}/bin") [
which perl
coreutils gawk gnused gnugrep diffutils utillinux multipath-tools
iproute inetutils iptables bridge-utils openvswitch nbd drbd
];
libDir = if stdenv.is64bit then "lib64" else "lib"; withXenfiles = f: concatStringsSep "\n" (mapAttrsToList f config.xenfiles);
# Sources needed to build the tools withTools = a: f: withXenfiles (name: x: optionalString (hasAttr a x) ''
# These sources are already rather old and probably do not change frequently echo "processing ${name}"
xenExtfiles = [ __do() {
{ url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz; cd "tools/${name}"
sha256 = "0p206zaxlhda60ci33h9gipi5gm46fvvsm6k5c0w7b6cjg0yhb33"; ${f name x}
} }
]; ( __do )
'');
scriptEnvPath = stdenv.lib.concatStrings (stdenv.lib.intersperse ":" (map (x: "${x}/bin")
[ coreutils gawk gnused gnugrep which perl diffutils utillinux multipath-tools
iproute inetutils iptables bridge-utils openvswitch nbd drbd ]));
in in
stdenv.mkDerivation (rec {
inherit (config) version;
name = "xen-${version}";
stdenv.mkDerivation {
inherit (xenConfig) name version src;
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
buildInputs =
[ which zlib pkgconfig SDL openssl libuuid gettext ncurses
dev86 iasl pciutils bzip2 xz texinfo perl yajl
python2Packages.python python2Packages.wrapPython
glib bridge-utils pixman iproute udev bison xorg.libX11
flex ocamlPackages.ocaml ocamlPackages.findlib figlet libaio
checkpolicy python2Packages.markdown transfig
glusterfs acl cmake spice spice_protocol usbredir
alsaLib quilt
];
hardeningDisable = [ "stackprotector" "fortify" "pic" ]; hardeningDisable = [ "stackprotector" "fortify" "pic" ];
patches = stdenv.lib.optionals ((xenserverPatched == false) && (builtins.hasAttr "xenPatches" xenConfig)) xenConfig.xenPatches; buildInputs = [
cmake pkgconfig which
# Xen
bison bzip2 checkpolicy dev86 figlet flex gettext glib iasl libaio
libiconv libuuid ncurses openssl perl python2Packages.python xz yajl zlib
# oxenstored
ocamlPackages.findlib ocamlPackages.ocaml
# Python fixes
python2Packages.wrapPython
# Documentation
python2Packages.markdown transfig ghostscript texinfo pandoc
# Others
] ++ (concatMap (x: x.buildInputs or []) (attrValues config.xenfiles))
++ (config.buildInputs or []);
prePatch = ''
### Generic fixes
# Xen's stubdoms, tools and firmwares need various sources that
# are usually fetched at build time using wget and git. We can't
# have that, so we prefetch them in nix-expression and setup
# fake wget and git for debugging purposes.
mkdir fake-bin
# Fake git: just print what it wants and die
cat > fake-bin/wget << EOF
#!/bin/sh -e
echo ===== FAKE WGET: Not fetching \$*
[ -e \$3 ]
EOF
# Fake git: just print what it wants and die
cat > fake-bin/git << EOF
#!/bin/sh
echo ===== FAKE GIT: Not cloning \$*
[ -e \$3 ]
EOF
chmod +x fake-bin/*
export PATH=$PATH:$PWD/fake-bin
# Remove in-tree qemu stuff in case we build from a tar-ball
rm -rf tools/qemu-xen tools/qemu-xen-traditional
# Fix shebangs, mainly for build-scipts
# We want to do this before getting prefetched stuff to speed things up
# (prefetched stuff has lots of files)
find . -type f | xargs sed -i 's@/usr/bin/\(python\|perl\)@/usr/bin/env \1@g'
find . -type f | xargs sed -i 's@/bin/bash@/bin/sh@g'
# Get prefetched stuff
${withXenfiles (name: x: ''
echo "${x.src} -> tools/${name}"
cp -r ${x.src} tools/${name}
chmod -R +w tools/${name}
'')}
'';
patches = [ ./0000-fix-ipxe-src.patch
./0000-fix-install-python.patch ]
++ (config.patches or []);
postPatch = '' postPatch = ''
${stdenv.lib.optionalString ((xenserverPatched == true) && (builtins.hasAttr "xenserverPatches" xenConfig)) xenConfig.xenserverPatches} ### Hacks
# Xen's tools and firmares need various git repositories that it # Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
# usually checks out at time using git. We can't have that. # print the GCC version number properly.
${flip concatMapStrings xenConfig.toolsGits (x: let src = fetchgit x.git; in '' substituteInPlace xen/Makefile \
cp -r ${src} tools/${src.name}-dir-remote --replace '$(CC) $(CFLAGS) -v' '$(CC) -v'
chmod -R +w tools/${src.name}-dir-remote
'' + stdenv.lib.optionalString (builtins.hasAttr "patches" x) ''
( cd tools/${src.name}-dir-remote; ${concatStringsSep "; " (map (p: "patch -p1 < ${p}") x.patches)} )
'')}
${flip concatMapStrings xenConfig.firmwareGits (x: let src = fetchgit x.git; in ''
cp -r ${src} tools/firmware/${src.name}-dir-remote
chmod -R +w tools/firmware/${src.name}-dir-remote
'' + stdenv.lib.optionalString (builtins.hasAttr "patches" x) ''
( cd tools/firmware/${src.name}-dir-remote; ${concatStringsSep "; " (map (p: "patch -p1 < ${p}") x.patches)} )
'')}
# Xen's stubdoms and firmwares need various sources that are usually fetched # Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
# at build time using wget. We can't have that, so we prefetch Xen's ext_files. mkdir -p tools/include/gnu
mkdir xen_ext_files touch tools/include/gnu/stubs-32.h
${flip concatMapStrings xenExtfiles (x: let src = fetchurl x; in ''
cp ${src} xen_ext_files/${src.name}
'')}
# Avoid a glibc >= 2.25 deprecation warnings that get fatal via -Werror. ### Fixing everything else
sed 1i'#include <sys/sysmacros.h>' \
-i tools/blktap2/control/tap-ctl-allocate.c \ substituteInPlace tools/libfsimage/common/fsimage_plugin.c \
-i tools/libxl/libxl_device.c --replace /usr $out
substituteInPlace tools/blktap2/lvm/lvm-util.c \
--replace /usr/sbin/vgs ${lvm2}/bin/vgs \
--replace /usr/sbin/lvs ${lvm2}/bin/lvs
substituteInPlace tools/misc/xenpvnetboot \
--replace /usr/sbin/mount ${utillinux}/bin/mount \
--replace /usr/sbin/umount ${utillinux}/bin/umount
substituteInPlace tools/xenmon/xenmon.py \
--replace /usr/bin/pkill ${procps}/bin/pkill
substituteInPlace tools/xenstat/Makefile \
--replace /usr/include/curses.h ${ncurses.dev}/include/curses.h
# TODO: use this as a template and support our own if-up scripts instead?
substituteInPlace tools/hotplug/Linux/xen-backend.rules.in \
--replace "@XEN_SCRIPT_DIR@" $out/etc/xen/scripts
# blktap is not provided by xen, but by xapi
sed -i '/blktap/d' tools/hotplug/Linux/xen-backend.rules.in
${withTools "patches" (name: x: ''
${concatMapStringsSep "\n" (p: ''
echo "# Patching with ${p}"
patch -p1 < ${p}
'') x.patches}
'')}
${withTools "postPatch" (name: x: x.postPatch)}
${config.postPatch or ""}
''; '';
preConfigure = ''
# Fake wget: copy prefetched downloads instead
mkdir wget
echo "#!/bin/sh" > wget/wget
echo "echo ===== Not fetching \$*, copy pre-fetched file instead" >> wget/wget
echo "cp \$4 \$3" >> wget/wget
chmod +x wget/wget
export PATH=$PATH:$PWD/wget
export EXTRA_QEMUU_CONFIGURE_ARGS="--enable-spice --enable-usb-redir --enable-linux-aio"
'';
# https://github.com/NixOS/nixpkgs/issues/13590
configureFlags = ["--disable-stubdom"];
postConfigure =
''
substituteInPlace tools/libfsimage/common/fsimage_plugin.c \
--replace /usr $out
substituteInPlace tools/blktap2/lvm/lvm-util.c \
--replace /usr/sbin/vgs ${lvm2}/sbin/vgs \
--replace /usr/sbin/lvs ${lvm2}/sbin/lvs
substituteInPlace tools/xenmon/xenmon.py \
--replace /usr/bin/pkill ${procps}/bin/pkill
substituteInPlace tools/xenstat/Makefile \
--replace /usr/include/curses.h ${ncurses.dev}/include/curses.h
substituteInPlace tools/qemu-xen-traditional/xen-hooks.mak \
--replace /usr/include/pci ${pciutils}/include/pci
substituteInPlace tools/qemu-xen-traditional-dir-remote/xen-hooks.mak \
--replace /usr/include/pci ${pciutils}/include/pci
substituteInPlace tools/hotplug/Linux/xen-backend.rules \
--replace /etc/xen/scripts $out/etc/xen/scripts
# blktap is not provided by xen, but by xapi
sed -i '/blktap/d' tools/hotplug/Linux/xen-backend.rules
# Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
# print the GCC version number properly.
substituteInPlace xen/Makefile \
--replace '$(CC) $(CFLAGS) -v' '$(CC) -v'
# Allow the location of the xendomains config file to be
# overriden at runtime.
substituteInPlace tools/hotplug/Linux/init.d/xendomains \
--replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
--replace 'XENDOM_CONFIG=/etc/default/xendomains' "" \
--replace /etc/xen/scripts/hotplugpath.sh $out/etc/xen/scripts/hotplugpath.sh \
--replace /bin/ls ls
substituteInPlace tools/hotplug/Linux/xendomains \
--replace /bin/ls ls
# Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
mkdir -p tools/include/gnu
touch tools/include/gnu/stubs-32.h
'';
# Fix build on Glibc 2.24.
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
# TODO: Flask needs more testing before enabling it by default. # TODO: Flask needs more testing before enabling it by default.
#makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files "; #makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files "; makeFlags = [ "PREFIX=$(out) CONFIG_DIR=/etc" "XEN_SCRIPT_DIR=/etc/xen/scripts" ]
++ (config.makeFlags or []);
buildFlags = "xen tools"; buildFlags = "xen tools";
postBuild = postBuild = ''
'' make -C docs man-pages
make -C docs man-pages
(cd tools/xen-libhvm-dir-remote; make) ${withTools "buildPhase" (name: x: x.buildPhase)}
(cd tools/xen-libhvm-dir-remote/biospt; cc -Wall -g -D_LINUX -Wstrict-prototypes biospt.c -o biospt -I../libhvm -L../libhvm -lxenhvm) '';
'';
installPhase = installPhase = ''
'' mkdir -p $out $out/share
mkdir -p $out $out/share cp -prvd dist/install/nix/store/*/* $out/
cp -prvd dist/install/nix/store/*/* $out/ cp -prvd dist/install/boot $out/boot
cp -prvd dist/install/boot $out/boot cp -prvd dist/install/etc $out
cp -prvd dist/install/etc $out cp -dR docs/man1 docs/man5 $out/share/man/
cp -dR docs/man1 docs/man5 $out/share/man/
wrapPythonPrograms
substituteInPlace $out/etc/xen/scripts/hotplugpath.sh --replace SBINDIR=\"$out/sbin\" SBINDIR=\"$out/bin\"
shopt -s extglob ${withTools "installPhase" (name: x: x.installPhase)}
for i in $out/etc/xen/scripts/!(*.sh); do
sed -i "2s@^@export PATH=$out/bin:${scriptEnvPath}\n@" $i
done
(cd tools/xen-libhvm-dir-remote; make install) # Hack
cp tools/xen-libhvm-dir-remote/biospt/biospt $out/bin/. substituteInPlace $out/etc/xen/scripts/hotplugpath.sh \
''; --replace SBINDIR=\"$out/sbin\" SBINDIR=\"$out/bin\"
wrapPythonPrograms
shopt -s extglob
for i in $out/etc/xen/scripts/!(*.sh); do
sed -i "2s@^@export PATH=$out/bin:${scriptEnvPath}\n@" $i
done
'';
meta = { meta = {
homepage = http://www.xen.org/; homepage = http://www.xen.org/;
description = "Xen hypervisor and management tools for Dom0"; description = "Xen hypervisor and related components"
+ optionalString (args ? meta && args.meta ? description)
" (${args.meta.description})";
longDescription = (args.meta.longDescription or "")
+ "\nIncludes:\n"
+ withXenfiles (name: x: ''* ${name}: ${x.meta.description or "(No description)"}.'');
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
maintainers = with stdenv.lib.maintainers; [ eelco tstrobel ]; maintainers = with stdenv.lib.maintainers; [ eelco tstrobel oxij ];
}; };
} } // removeAttrs config [ "xenfiles" "buildInputs" "patches" "postPatch" "meta" ])

View File

@ -0,0 +1,64 @@
{ callPackage
, stdenv, overrideCC, gcc49
}:
# TODO on new Xen version: generalize this to generate [vanilla slim
# light] for each ./<version>.nix.
rec {
xen_4_5-vanilla = callPackage ./4.5.nix {
# At the very least included seabios and etherboot need gcc49,
# so we have to build all of it with gcc49.
stdenv = overrideCC stdenv gcc49;
meta = {
description = "vanilla";
longDescription = ''
Vanilla version of Xen. Uses forks of Qemu and Seabios bundled
with Xen. This gives vanilla experince, but wastes space and
build time: typical NixOS setup that runs lots of VMs will
build three different versions of Qemu when using this (two
forks and upstream).
'';
};
};
xen_4_5-slim = xen_4_5-vanilla.override {
withInternalQemu = false;
withInternalTraditionalQemu = true;
withInternalSeabios = false;
withSeabios = true;
meta = {
description = "slim";
longDescription = ''
Slimmed-down version of Xen that reuses nixpkgs packages as
much as possible. Different parts may get out of sync, but
this builds faster and uses less space than vanilla. Use with
`qemu_xen` from nixpkgs.
'';
};
};
xen_4_5-light = xen_4_5-vanilla.override {
withInternalQemu = false;
withInternalTraditionalQemu = false;
withInternalSeabios = false;
withSeabios = true;
meta = {
description = "light";
longDescription = ''
Slimmed-down version of Xen without `qemu-traditional` (you
don't need it if you don't know what it is). Use with
`qemu_xen-light` from nixpkgs.
'';
};
};
xen-vanilla = xen_4_5-vanilla;
xen-slim = xen_4_5-slim;
xen-light = xen_4_5-light;
}

View File

@ -28,9 +28,8 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "C++ wrappers for GtkGLExt"; description = "C++ wrappers for GtkGLExt";
license = stdenv.lib.licenses.lgpl2Plus; license = stdenv.lib.licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
broken = true;
}; };
} }

View File

@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
homepage = "http://fsharp.org/"; homepage = "http://fsharp.org/";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ]; maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ];
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; unix;
}; };
} }

View File

@ -6,7 +6,7 @@ let
name = "clang-${version}"; name = "clang-${version}";
unpackPhase = '' unpackPhase = ''
unpackFile ${fetch "cfe" "1lsdyrz82vyrsc7k0ah1zmzzan61s5kakxrkxgfbmklp3pclfkwp"} unpackFile ${fetch "cfe" "062n17mfsn85dx3qy1qvq8rfxi7hcbr2nj70v2dah3xmy28i3yaq"}
mv cfe-${version}* clang mv cfe-${version}* clang
sourceRoot=$PWD/clang sourceRoot=$PWD/clang
unpackFile ${clang-tools-extra_src} unpackFile ${clang-tools-extra_src}

View File

@ -3,7 +3,7 @@ let
callPackage = newScope (self // { inherit stdenv isl release_version version fetch; }); callPackage = newScope (self // { inherit stdenv isl release_version version fetch; });
release_version = "4.0.0"; release_version = "4.0.0";
rc = "rc3"; rc = "rc4";
version = "${release_version}${rc}"; version = "${release_version}${rc}";
fetch = name: sha256: fetchurl { fetch = name: sha256: fetchurl {
@ -13,8 +13,8 @@ let
inherit sha256; inherit sha256;
}; };
compiler-rt_src = fetch "compiler-rt" "0jfqhz95cp15c5688c6l9mr12s0qp86milpcrjlc93dc2jy08ba5"; compiler-rt_src = fetch "compiler-rt" "1bxz2z9mxbx7211xfgsn5inwvpz53d1cqg76h8166dsli27xwkjm";
clang-tools-extra_src = fetch "clang-tools-extra" "1c9c507w3f5vm153rdd0kmzvv2ski6z439izk01zf5snfwkqxkq8"; clang-tools-extra_src = fetch "clang-tools-extra" "0zkgnnv3srqxf44q4a5n3wpizf71mlq8w5rnwfwhdx777k94s5nx";
self = { self = {
llvm = callPackage ./llvm.nix { llvm = callPackage ./llvm.nix {

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libc++-${version}"; name = "libc++-${version}";
src = fetch "libcxx" "15l6bcmwczspbqcq4m2lmzb23g11axr9m8dayn25iys26nn00q43"; src = fetch "libcxx" "052fc91y8084830ajfm8nkc0vghafhnfl7l89b68qsyz3ra93i3l";
postUnpack = '' postUnpack = ''
unpackFile ${libcxxabi.src} unpackFile ${libcxxabi.src}

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "libc++abi-${version}"; name = "libc++abi-${version}";
src = fetch "libcxxabi" "1frj1wz780xcwq77icfclnw6q4c8bkkdzkqsrmfjv9963kjylsy5"; src = fetch "libcxxabi" "02z8d0q42wfmnnd0rd1yg2x4y50rfrv1k9rq00a86b6803dc7p45";
buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind; buildInputs = [ cmake ] ++ stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;

View File

@ -10,7 +10,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "lld-${version}"; name = "lld-${version}";
src = fetch "lld" "0kmyp7iyf4f76wgy87jczkyhvzhlwfydvxgggl74z0x89xgry745"; src = fetch "lld" "00wy4qczh4s6g49sbfmyk21845zx5qc2qpm39bznqz8ynpnh4phc";
buildInputs = [ cmake llvm ]; buildInputs = [ cmake llvm ];

View File

@ -17,7 +17,7 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "lldb-${version}"; name = "lldb-${version}";
src = fetch "lldb" "1qr0ky7llwgjgx1pzkp3pnz32nb6f7lvg8qg6rp5axhgpkx54hz7"; src = fetch "lldb" "14dy1j48nw10w8brkpmla2vjjwfr1mrsl9wfabjfx1j85ywp3h69";
patchPhase = '' patchPhase = ''
# Fix up various paths that assume llvm and clang are installed in the same place # Fix up various paths that assume llvm and clang are installed in the same place

View File

@ -21,7 +21,7 @@
}: }:
let let
src = fetch "llvm" "0ic3y9gaissi6ixyj9x1c0pq69wfbl2svhprp33av0b58f7wj9v7"; src = fetch "llvm" "1ljb5y5wgypk3sy8zcd5qdgsm5hw8vl7cy6874mbf4gnk9k809b1";
shlib = if stdenv.isDarwin then "dylib" else "so"; shlib = if stdenv.isDarwin then "dylib" else "so";
# Used when creating a version-suffixed symlink of libLLVM.dylib # Used when creating a version-suffixed symlink of libLLVM.dylib
@ -50,12 +50,19 @@ in stdenv.mkDerivation rec {
# 10.9. This is a temporary measure until nixpkgs darwin support is # 10.9. This is a temporary measure until nixpkgs darwin support is
# updated. # updated.
postPatch = stdenv.lib.optionalString stdenv.isDarwin '' postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
'' ''
# Patch llvm-config to return correct library path based on --link-{shared,static}. # Patch llvm-config to return correct library path based on --link-{shared,static}.
+ stdenv.lib.optionalString (enableSharedLibraries) '' + stdenv.lib.optionalString (enableSharedLibraries) ''
substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
patch -p1 < ./llvm-outputs.patch patch -p1 < ./llvm-outputs.patch
''
# Remove broken tests: (https://bugs.llvm.org//show_bug.cgi?id=31610)
+ ''
rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata1.ll
rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata2.ll
rm test/CodeGen/AMDGPU/invalid-opencl-version-metadata3.ll
rm test/CodeGen/AMDGPU/runtime-metadata.ll
''; '';
# hacky fix: created binaries need to be run before installation # hacky fix: created binaries need to be run before installation
@ -85,6 +92,14 @@ in stdenv.mkDerivation rec {
rm -fR $out rm -fR $out
paxmark m bin/{lli,llvm-rtdyld} paxmark m bin/{lli,llvm-rtdyld}
paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
paxmark m unittests/ExecutionEngine/Orc/OrcJITTests
paxmark m unittests/Support/SupportTests
paxmark m bin/lli-child-target
'';
preCheck = ''
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
''; '';
postInstall = "" postInstall = ""
@ -103,6 +118,10 @@ in stdenv.mkDerivation rec {
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
''; '';
doCheck = stdenv.isLinux;
checkTarget = "check-all";
enableParallelBuilding = true; enableParallelBuilding = true;
passthru.src = src; passthru.src = src;

View File

@ -12,7 +12,7 @@ let
then "i686-apple-darwin" then "i686-apple-darwin"
else if stdenv.system == "x86_64-darwin" else if stdenv.system == "x86_64-darwin"
then "x86_64-apple-darwin" then "x86_64-apple-darwin"
else abort "missing boostrap url for platform ${stdenv.system}"; else throw "missing bootstrap url for platform ${stdenv.system}";
# fetch hashes by running `print-hashes.sh 1.14.0` # fetch hashes by running `print-hashes.sh 1.14.0`
bootstrapHash = bootstrapHash =
@ -24,7 +24,7 @@ let
then "fe1b3d67329a22d67e3b8db8858a43022e2e746dde60ef4a2db3f2cac16ea9bd" then "fe1b3d67329a22d67e3b8db8858a43022e2e746dde60ef4a2db3f2cac16ea9bd"
else if stdenv.system == "x86_64-darwin" else if stdenv.system == "x86_64-darwin"
then "3381341524b0184da5ed2cdcddc2a25e2e335e87f1cf676f64d98ee5e6479f20" then "3381341524b0184da5ed2cdcddc2a25e2e335e87f1cf676f64d98ee5e6479f20"
else throw "missing boostrap hash for platform ${stdenv.system}"; else throw "missing bootstrap hash for platform ${stdenv.system}";
needsPatchelf = stdenv.isLinux; needsPatchelf = stdenv.isLinux;

View File

@ -5,12 +5,12 @@ let
platform = if stdenv.system == "x86_64-linux" platform = if stdenv.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu" then "x86_64-unknown-linux-gnu"
else abort "missing boostrap url for platform ${stdenv.system}"; else throw "missing bootstrap url for platform ${stdenv.system}";
bootstrapHash = bootstrapHash =
if stdenv.system == "x86_64-linux" if stdenv.system == "x86_64-linux"
then "1v7jvwigb29m15wilzcrk5jmlpaccpzbkhlzf7z5qw08320gvc91" then "1v7jvwigb29m15wilzcrk5jmlpaccpzbkhlzf7z5qw08320gvc91"
else throw "missing boostrap hash for platform ${stdenv.system}"; else throw "missing bootstrap hash for platform ${stdenv.system}";
needsPatchelf = stdenv.isLinux; needsPatchelf = stdenv.isLinux;

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sbcl-${version}"; name = "sbcl-${version}";
version = "1.3.14"; version = "1.3.15";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2"; url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
sha256 = "1jnwsv8bdkrrg1w0gkjx9nb8sw3if38sna40davrx0rxadc3v5mz"; sha256 = "11db8pkv3i8ajyb295dh9nl0niyrkh9gjqv4vlaa1dl1vzck5ddi";
}; };
patchPhase = '' patchPhase = ''

View File

@ -875,4 +875,6 @@ self: super: {
# https://github.com/cartazio/arithmoi/issues/49 # https://github.com/cartazio/arithmoi/issues/49
arithmoi = overrideCabal super.arithmoi (drv: { doCheck = !pkgs.stdenv.isi686; }); arithmoi = overrideCabal super.arithmoi (drv: { doCheck = !pkgs.stdenv.isi686; });
# https://github.com/danidiaz/streaming-eversion/issues/1
streaming-eversion = dontCheck super.streaming-eversion;
} }

View File

@ -202,7 +202,7 @@ self: super: {
hoauth2 = overrideCabal super.hoauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.wai self.warp ]; }); hoauth2 = overrideCabal super.hoauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.wai self.warp ]; });
hslogger = addBuildDepend super.hslogger self.HUnit; hslogger = addBuildDepend super.hslogger self.HUnit;
intervals = addBuildDepends super.intervals (with self; [doctest QuickCheck]); intervals = addBuildDepends super.intervals (with self; [doctest QuickCheck]);
lens = addBuildDepends super.lens (with self; [doctest generic-deriving nats simple-reflect]); lens = addBuildDepend super.lens self.generic-deriving;
optparse-applicative = addBuildDepend super.optparse-applicative self.semigroups; optparse-applicative = addBuildDepend super.optparse-applicative self.semigroups;
QuickCheck = addBuildDepend super.QuickCheck self.semigroups; QuickCheck = addBuildDepend super.QuickCheck self.semigroups;
semigroups = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]); semigroups = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]);

View File

@ -38,7 +38,7 @@ core-packages:
default-package-overrides: default-package-overrides:
- store < 0.4.1 # https://github.com/fpco/store/issues/104 - store < 0.4.1 # https://github.com/fpco/store/issues/104
# LTS Haskell 8.3 # LTS Haskell 8.4
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
- AC-Vector ==2.3.2 - AC-Vector ==2.3.2
@ -171,7 +171,7 @@ default-package-overrides:
- arrow-list ==0.7 - arrow-list ==0.7
- ascii-progress ==0.3.3.0 - ascii-progress ==0.3.3.0
- asciidiagram ==1.3.3 - asciidiagram ==1.3.3
- asn1-encoding ==0.9.4 - asn1-encoding ==0.9.5
- asn1-parse ==0.9.4 - asn1-parse ==0.9.4
- asn1-types ==0.3.2 - asn1-types ==0.3.2
- async ==2.1.1 - async ==2.1.1
@ -207,7 +207,7 @@ default-package-overrides:
- base58string ==0.10.0 - base58string ==0.10.0
- base64-bytestring ==1.0.0.1 - base64-bytestring ==1.0.0.1
- base64-string ==0.2 - base64-string ==0.2
- basic-prelude ==0.6.1 - basic-prelude ==0.6.1.1
- bcrypt ==0.0.10 - bcrypt ==0.0.10
- benchpress ==0.2.2.9 - benchpress ==0.2.2.9
- bencode ==0.6.0.0 - bencode ==0.6.0.0
@ -326,7 +326,7 @@ default-package-overrides:
- cheapskate ==0.1.0.5 - cheapskate ==0.1.0.5
- cheapskate-highlight ==0.1.0.0 - cheapskate-highlight ==0.1.0.0
- cheapskate-lucid ==0.1.0.0 - cheapskate-lucid ==0.1.0.0
- check-email ==1.0 - check-email ==1.0.2
- checkers ==0.4.6 - checkers ==0.4.6
- chell ==0.4.0.1 - chell ==0.4.0.1
- choice ==0.2.0 - choice ==0.2.0
@ -345,7 +345,7 @@ default-package-overrides:
- clash-systemverilog ==0.7 - clash-systemverilog ==0.7
- clash-verilog ==0.7 - clash-verilog ==0.7
- clash-vhdl ==0.7 - clash-vhdl ==0.7
- classy-prelude ==1.2.0 - classy-prelude ==1.2.0.1
- classy-prelude-conduit ==1.2.0 - classy-prelude-conduit ==1.2.0
- classy-prelude-yesod ==1.2.0 - classy-prelude-yesod ==1.2.0
- clay ==0.12.1 - clay ==0.12.1
@ -407,7 +407,7 @@ default-package-overrides:
- cookie ==0.4.2.1 - cookie ==0.4.2.1
- countable ==1.0 - countable ==1.0
- courier ==0.1.1.4 - courier ==0.1.1.4
- cpphs ==1.20.3 - cpphs ==1.20.4
- cprng-aes ==0.6.1 - cprng-aes ==0.6.1
- cpu ==0.1.2 - cpu ==0.1.2
- cpuinfo ==0.1.0.1 - cpuinfo ==0.1.0.1
@ -612,8 +612,8 @@ default-package-overrides:
- feed ==0.3.12.0 - feed ==0.3.12.0
- FenwickTree ==0.1.2.1 - FenwickTree ==0.1.2.1
- fft ==0.1.8.4 - fft ==0.1.8.4
- fgl ==5.5.3.0 - fgl ==5.5.3.1
- fgl-arbitrary ==0.2.0.2 - fgl-arbitrary ==0.2.0.3
- file-embed ==0.0.10 - file-embed ==0.0.10
- file-modules ==0.1.2.4 - file-modules ==0.1.2.4
- filecache ==0.2.9 - filecache ==0.2.9
@ -860,6 +860,7 @@ default-package-overrides:
- happstack-server-tls ==7.1.6.2 - happstack-server-tls ==7.1.6.2
- happy ==1.19.5 - happy ==1.19.5
- harp ==0.4.2 - harp ==0.4.2
- hasbolt ==0.1.1.1
- hashable ==1.2.5.0 - hashable ==1.2.5.0
- hashable-time ==0.2 - hashable-time ==0.2
- hashmap ==1.3.2 - hashmap ==1.3.2
@ -1089,7 +1090,7 @@ default-package-overrides:
- interpolatedstring-perl6 ==1.0.0 - interpolatedstring-perl6 ==1.0.0
- IntervalMap ==0.5.2.0 - IntervalMap ==0.5.2.0
- intervals ==0.7.2 - intervals ==0.7.2
- intro ==0.1.0.8 - intro ==0.1.0.10
- invariant ==0.4 - invariant ==0.4
- invertible ==0.2.0.2 - invertible ==0.2.0.2
- io-choice ==0.0.6 - io-choice ==0.0.6
@ -1105,7 +1106,7 @@ default-package-overrides:
- IPv6Addr ==0.6.3 - IPv6Addr ==0.6.3
- irc ==0.6.1.0 - irc ==0.6.1.0
- irc-client ==0.4.4.1 - irc-client ==0.4.4.1
- irc-conduit ==0.2.2.0 - irc-conduit ==0.2.2.1
- irc-ctcp ==0.1.3.0 - irc-ctcp ==0.1.3.0
- irc-dcc ==2.0.0 - irc-dcc ==2.0.0
- islink ==0.1.0.0 - islink ==0.1.0.0
@ -1164,7 +1165,7 @@ default-package-overrides:
- language-javascript ==0.6.0.9 - language-javascript ==0.6.0.9
- language-lua2 ==0.1.0.5 - language-lua2 ==0.1.0.5
- language-nix ==2.1.0.1 - language-nix ==2.1.0.1
- language-puppet ==1.3.5.1 - language-puppet ==1.3.6
- language-python ==0.5.4 - language-python ==0.5.4
- language-thrift ==0.10.0.0 - language-thrift ==0.10.0.0
- large-hashable ==0.1.0.3 - large-hashable ==0.1.0.3
@ -1223,7 +1224,7 @@ default-package-overrides:
- loop ==0.3.0 - loop ==0.3.0
- lrucache ==1.2.0.0 - lrucache ==1.2.0.0
- lrucaching ==0.3.1 - lrucaching ==0.3.1
- lucid ==2.9.7 - lucid ==2.9.8.1
- lucid-svg ==0.7.0.0 - lucid-svg ==0.7.0.0
- lzma-conduit ==1.1.3.1 - lzma-conduit ==1.1.3.1
- machines ==0.6.1 - machines ==0.6.1
@ -1259,6 +1260,7 @@ default-package-overrides:
- metrics ==0.4.0.1 - metrics ==0.4.0.1
- MFlow ==0.4.6.0 - MFlow ==0.4.6.0
- mfsolve ==0.3.2.0 - mfsolve ==0.3.2.0
- microbench ==0.1
- microformats2-parser ==1.0.1.6 - microformats2-parser ==1.0.1.6
- microlens ==0.4.7.0 - microlens ==0.4.7.0
- microlens-aeson ==2.2.0 - microlens-aeson ==2.2.0
@ -1293,10 +1295,10 @@ default-package-overrides:
- monad-par ==0.3.4.8 - monad-par ==0.3.4.8
- monad-par-extras ==0.3.3 - monad-par-extras ==0.3.3
- monad-parallel ==0.7.2.2 - monad-parallel ==0.7.2.2
- monad-peel ==0.2.1.1 - monad-peel ==0.2.1.2
- monad-primitive ==0.1 - monad-primitive ==0.1
- monad-products ==4.0.1 - monad-products ==4.0.1
- monad-skeleton ==0.1.2.2 - monad-skeleton ==0.1.3
- monad-time ==0.2 - monad-time ==0.2
- monad-unlift ==0.2.0 - monad-unlift ==0.2.0
- monad-unlift-ref ==0.2.0 - monad-unlift-ref ==0.2.0
@ -1309,7 +1311,7 @@ default-package-overrides:
- MonadRandom ==0.5.1 - MonadRandom ==0.5.1
- monads-tf ==0.1.0.3 - monads-tf ==0.1.0.3
- mongoDB ==2.1.1.1 - mongoDB ==2.1.1.1
- mono-traversable ==1.0.1.3 - mono-traversable ==1.0.2
- mono-traversable-instances ==0.1.0.0 - mono-traversable-instances ==0.1.0.0
- monoid-extras ==0.4.2 - monoid-extras ==0.4.2
- monoid-subclasses ==0.4.3.1 - monoid-subclasses ==0.4.3.1
@ -1646,7 +1648,7 @@ default-package-overrides:
- rest-types ==1.14.1.1 - rest-types ==1.14.1.1
- rest-wai ==0.2.0.1 - rest-wai ==0.2.0.1
- result ==0.2.6.0 - result ==0.2.6.0
- rethinkdb ==2.2.0.8 - rethinkdb ==2.2.0.9
- rethinkdb-client-driver ==0.0.23 - rethinkdb-client-driver ==0.0.23
- retry ==0.7.4.2 - retry ==0.7.4.2
- rev-state ==0.1.2 - rev-state ==0.1.2
@ -1703,7 +1705,7 @@ default-package-overrides:
- servant-docs ==0.9.1.1 - servant-docs ==0.9.1.1
- servant-elm ==0.4.0.1 - servant-elm ==0.4.0.1
- servant-foreign ==0.9.1.1 - servant-foreign ==0.9.1.1
- servant-js ==0.9.2 - servant-js ==0.9.3
- servant-JuicyPixels ==0.3.0.2 - servant-JuicyPixels ==0.3.0.2
- servant-lucid ==0.7.1 - servant-lucid ==0.7.1
- servant-mock ==0.8.1.1 - servant-mock ==0.8.1.1
@ -1813,7 +1815,7 @@ default-package-overrides:
- storable-endian ==0.2.6 - storable-endian ==0.2.6
- storable-record ==0.0.3.1 - storable-record ==0.0.3.1
- Strafunski-StrategyLib ==5.0.0.10 - Strafunski-StrategyLib ==5.0.0.10
- stratosphere ==0.4.0 - stratosphere ==0.4.1
- streaming ==0.1.4.5 - streaming ==0.1.4.5
- streaming-bytestring ==0.1.4.6 - streaming-bytestring ==0.1.4.6
- streaming-commons ==0.1.17 - streaming-commons ==0.1.17
@ -1831,6 +1833,10 @@ default-package-overrides:
- stringable ==0.1.3 - stringable ==0.1.3
- stringbuilder ==0.5.0 - stringbuilder ==0.5.0
- stringsearch ==0.3.6.6 - stringsearch ==0.3.6.6
- stripe-core ==2.2.1
- stripe-haskell ==2.2.1
- stripe-http-streams ==2.2.1
- stripe-tests ==2.2.1
- strive ==3.0.2 - strive ==3.0.2
- stylish-haskell ==0.7.1.0 - stylish-haskell ==0.7.1.0
- success ==0.2.6 - success ==0.2.6
@ -1863,7 +1869,7 @@ default-package-overrides:
- tar-conduit ==0.1.0 - tar-conduit ==0.1.0
- tardis ==0.4.1.0 - tardis ==0.4.1.0
- tasty ==0.11.2 - tasty ==0.11.2
- tasty-ant-xml ==1.0.4 - tasty-ant-xml ==1.0.5
- tasty-auto ==0.1.0.2 - tasty-auto ==0.1.0.2
- tasty-dejafu ==0.3.0.2 - tasty-dejafu ==0.3.0.2
- tasty-discover ==1.1.0 - tasty-discover ==1.1.0
@ -2017,7 +2023,7 @@ default-package-overrides:
- Unixutils ==1.54.1 - Unixutils ==1.54.1
- unlit ==0.4.0.0 - unlit ==0.4.0.0
- unordered-containers ==0.2.7.2 - unordered-containers ==0.2.7.2
- uri-bytestring ==0.2.3.0 - uri-bytestring ==0.2.3.1
- uri-encode ==1.5.0.5 - uri-encode ==1.5.0.5
- uri-templater ==0.2.1.0 - uri-templater ==0.2.1.0
- url ==2.1.3 - url ==2.1.3
@ -2172,27 +2178,27 @@ default-package-overrides:
- Yampa ==0.10.5 - Yampa ==0.10.5
- YampaSynth ==0.2 - YampaSynth ==0.2
- yes-precure5-command ==5.5.3 - yes-precure5-command ==5.5.3
- yesod ==1.4.4 - yesod ==1.4.5
- yesod-auth ==1.4.16 - yesod-auth ==1.4.17
- yesod-auth-account ==1.4.3 - yesod-auth-account ==1.4.3
- yesod-auth-basic ==0.1.0.2 - yesod-auth-basic ==0.1.0.2
- yesod-auth-hashdb ==1.6.0.1 - yesod-auth-hashdb ==1.6.0.1
- yesod-bin ==1.5.1 - yesod-bin ==1.5.2
- yesod-core ==1.4.31 - yesod-core ==1.4.32
- yesod-eventsource ==1.4.0.1 - yesod-eventsource ==1.4.1
- yesod-fay ==0.8.0 - yesod-fay ==0.8.0
- yesod-form ==1.4.10 - yesod-form ==1.4.11
- yesod-form-richtext ==0.1.0.0 - yesod-form-richtext ==0.1.0.0
- yesod-gitrepo ==0.2.1.0 - yesod-gitrepo ==0.2.1.0
- yesod-gitrev ==0.1.0.0 - yesod-gitrev ==0.1.0.0
- yesod-newsfeed ==1.6 - yesod-newsfeed ==1.6
- yesod-persistent ==1.4.1.1 - yesod-persistent ==1.4.2
- yesod-sitemap ==1.4.0.1 - yesod-sitemap ==1.4.0.1
- yesod-static ==1.5.1.1 - yesod-static ==1.5.2
- yesod-static-angular ==0.1.8 - yesod-static-angular ==0.1.8
- yesod-table ==2.0.3 - yesod-table ==2.0.3
- yesod-test ==1.5.4.1 - yesod-test ==1.5.5
- yesod-websockets ==0.2.5 - yesod-websockets ==0.2.6
- yi-core ==0.13.5 - yi-core ==0.13.5
- yi-frontend-vty ==0.13.5 - yi-frontend-vty ==0.13.5
- yi-fuzzy-open ==0.13.5 - yi-fuzzy-open ==0.13.5
@ -2209,7 +2215,7 @@ default-package-overrides:
- yjtools ==0.9.18 - yjtools ==0.9.18
- zero ==0.1.4 - zero ==0.1.4
- zeromq4-haskell ==0.6.5 - zeromq4-haskell ==0.6.5
- zip ==0.1.8 - zip ==0.1.9
- zip-archive ==0.3.0.5 - zip-archive ==0.3.0.5
- zippers ==0.2.2 - zippers ==0.2.2
- zlib ==0.6.1.2 - zlib ==0.6.1.2

View File

@ -420,10 +420,16 @@ self: super: builtins.intersectAttrs super {
# tests require git # tests require git
hapistrano = addBuildTool super.hapistrano pkgs.git; hapistrano = addBuildTool super.hapistrano pkgs.git;
# This propagates this to everything depending on haskell-gi-base
haskell-gi-base = addBuildDepend super.haskell-gi-base pkgs.gobjectIntrospection;
# requires webkitgtk API version 3 (webkitgtk 2.4 is the latest webkit supporting that version) # requires webkitgtk API version 3 (webkitgtk 2.4 is the latest webkit supporting that version)
gi-javascriptcore = super.gi-javascriptcore.override { webkitgtk = pkgs.webkitgtk24x; }; gi-javascriptcore = super.gi-javascriptcore.override { webkitgtk = pkgs.webkitgtk24x; };
gi-webkit = super.gi-webkit.override { webkit = pkgs.webkitgtk24x; }; gi-webkit = super.gi-webkit.override { webkit = pkgs.webkitgtk24x; };
# Requires gi-javascriptcore API version 4
gi-webkit2 = super.gi-webkit2.override { gi-javascriptcore = self.gi-javascriptcore_4_0_11; };
# requires valid, writeable $HOME # requires valid, writeable $HOME
hatex-guide = overrideCabal super.hatex-guide (drv: { hatex-guide = overrideCabal super.hatex-guide (drv: {
preConfigure = '' preConfigure = ''

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, ghc, pkgconfig, glibcLocales, coreutils, gnugrep, gnused { stdenv, fetchurl, ghc, pkgconfig, glibcLocales, coreutils, gnugrep, gnused
, jailbreak-cabal, hscolour, cpphs, nodePackages , jailbreak-cabal, hscolour, cpphs
}: let isCross = (ghc.cross or null) != null; in }: let isCross = (ghc.cross or null) != null; in
{ pname { pname

View File

@ -2873,6 +2873,17 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {}; }) {};
"Compactable" = callPackage
({ mkDerivation, base, containers, transformers, vector }:
mkDerivation {
pname = "Compactable";
version = "0.1.0.2";
sha256 = "402a4d9c2fd28c9d780f094d112858f38600cf73bbdddf9baaac580912cd3f3e";
libraryHaskellDepends = [ base containers transformers vector ];
description = "A generalization for containers that can be stripped of Nothing";
license = stdenv.lib.licenses.bsd3;
}) {};
"Concurrent-Cache" = callPackage "Concurrent-Cache" = callPackage
({ mkDerivation, base }: ({ mkDerivation, base }:
mkDerivation { mkDerivation {
@ -20896,8 +20907,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "affection"; pname = "affection";
version = "0.0.0.4"; version = "0.0.0.5";
sha256 = "31d82e66df577e34b0b96a70111d61918db70db93b3b0a66ce4e27c661688a58"; sha256 = "4d5f2d6257d6dcb6fe7b1658bead8e0c48451414d434d44e5492709b81ac43e7";
isLibrary = true; isLibrary = true;
isExecutable = true; isExecutable = true;
libraryHaskellDepends = [ libraryHaskellDepends = [
@ -33658,6 +33669,26 @@ self: {
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
"boltzmann-samplers" = callPackage
({ mkDerivation, ad, base, containers, hashable, hmatrix, ieee754
, MonadRandom, mtl, QuickCheck, transformers, unordered-containers
, vector
}:
mkDerivation {
pname = "boltzmann-samplers";
version = "0.1.0.0";
sha256 = "5707065a83cb30223ffedbd740ac07d3d879bb0895ba7666d23d659e3b69883f";
revision = "1";
editedCabalFile = "203beaed2fdb6bbbd42cfa264f9fe1ef2ba4a69f4c92a85864317ffdd43a6a03";
libraryHaskellDepends = [
ad base containers hashable hmatrix ieee754 MonadRandom mtl
QuickCheck transformers unordered-containers vector
];
homepage = "https://github.com/Lysxia/boltzmann-samplers#readme";
description = "Uniform random generators";
license = stdenv.lib.licenses.mit;
}) {};
"bond" = callPackage "bond" = callPackage
({ mkDerivation, aeson, aeson-pretty, async, base, bytestring ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
, cmdargs, derive, Diff, directory, filepath, HUnit, monad-loops , cmdargs, derive, Diff, directory, filepath, HUnit, monad-loops
@ -34511,8 +34542,8 @@ self: {
({ mkDerivation, base, bson, template-haskell, text, th-lift }: ({ mkDerivation, base, bson, template-haskell, text, th-lift }:
mkDerivation { mkDerivation {
pname = "bson-mapping"; pname = "bson-mapping";
version = "0.1.5.0"; version = "0.1.5.1";
sha256 = "ba8ec4df8362c67e3da032399e92ddc94a6ddbd80232e2566648de0b5d53085a"; sha256 = "3f8eeb235b75a265bbc32b0fd808319144096d306f9bf1ed4434a28dd24facde";
libraryHaskellDepends = [ libraryHaskellDepends = [
base bson template-haskell text th-lift base bson template-haskell text th-lift
]; ];
@ -41194,20 +41225,20 @@ self: {
"clit" = callPackage "clit" = callPackage
({ mkDerivation, aeson, ansi-wl-pprint, authenticate-oauth, base ({ mkDerivation, aeson, ansi-wl-pprint, authenticate-oauth, base
, bytestring, data-default, http-client, http-client-tls , bytestring, data-default, directory, http-client, http-client-tls
, http-types, lens, megaparsec, MissingH, optparse-applicative , http-types, lens, megaparsec, MissingH, optparse-applicative
, split, text , split, text
}: }:
mkDerivation { mkDerivation {
pname = "clit"; pname = "clit";
version = "0.3.0.3"; version = "0.3.1.0";
sha256 = "963a5a636ded2f1f7ac7a6b4b4af8a38403ecda4913e12b36719ee57c1a27925"; sha256 = "1e8f6dfb1c868b979722ec855b8b75165a61bf41a210a2c29a408573c9bc8085";
isLibrary = true; isLibrary = true;
isExecutable = true; isExecutable = true;
libraryHaskellDepends = [ libraryHaskellDepends = [
aeson ansi-wl-pprint authenticate-oauth base bytestring aeson ansi-wl-pprint authenticate-oauth base bytestring
data-default http-client http-client-tls http-types lens megaparsec data-default directory http-client http-client-tls http-types lens
MissingH optparse-applicative split text megaparsec MissingH optparse-applicative split text
]; ];
executableHaskellDepends = [ base ]; executableHaskellDepends = [ base ];
homepage = "https://github.com/vmchale/command-line-tweeter#readme"; homepage = "https://github.com/vmchale/command-line-tweeter#readme";
@ -58120,8 +58151,8 @@ self: {
({ mkDerivation, base, mtl }: ({ mkDerivation, base, mtl }:
mkDerivation { mkDerivation {
pname = "effin"; pname = "effin";
version = "0.3.0.1"; version = "0.3.0.2";
sha256 = "2e6a4a183d3626ab2509e7e80461efaeeb7327fa41fe3883f7e4163e9bec9365"; sha256 = "dd09e453c57987990865d8ff3b5e8ff26035a6087a31b5ecb4d1c3dfd785f014";
libraryHaskellDepends = [ base mtl ]; libraryHaskellDepends = [ base mtl ];
homepage = "https://github.com/YellPika/effin"; homepage = "https://github.com/YellPika/effin";
description = "A Typeable-free implementation of extensible effects"; description = "A Typeable-free implementation of extensible effects";
@ -60658,6 +60689,26 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {}; }) {};
"eve" = callPackage
({ mkDerivation, base, containers, data-default, free, hspec
, hspec-core, lens, mtl, pipes, pipes-concurrency, pipes-parse
}:
mkDerivation {
pname = "eve";
version = "0.1.0";
sha256 = "18cc10498a3c663fed847eaa5caf910f613cca4c817e05a3e884b077b2122ed9";
libraryHaskellDepends = [
base containers data-default free lens mtl pipes pipes-concurrency
pipes-parse
];
testHaskellDepends = [
base data-default hspec hspec-core lens mtl
];
homepage = "https://github.com/ChrisPenner/eve#readme";
description = "An extensible event framework";
license = stdenv.lib.licenses.bsd3;
}) {};
"event" = callPackage "event" = callPackage
({ mkDerivation, base, containers, semigroups, transformers }: ({ mkDerivation, base, containers, semigroups, transformers }:
mkDerivation { mkDerivation {
@ -64053,8 +64104,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "fix-imports"; pname = "fix-imports";
version = "1.0.4"; version = "1.0.5";
sha256 = "46da19d982e3470bd28e55f895c3fc6e6e80a6b98f1014f32755b8601cc61e49"; sha256 = "0b072eec7895d3514276c2a25d6d56665dbabb46b13c22aeb5f560459216de05";
isLibrary = false; isLibrary = false;
isExecutable = true; isExecutable = true;
executableHaskellDepends = [ executableHaskellDepends = [
@ -64957,8 +65008,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "fltkhs"; pname = "fltkhs";
version = "0.5.1.2"; version = "0.5.1.3";
sha256 = "30a8f7229bb16ccd72bdefddf67d4ef23e9c87e200207dfdf944b737dd49a71d"; sha256 = "391f97abb8acac97b82d3b8a3ee3d62e2f76b566c01be2dff8835932fd85ae29";
isLibrary = true; isLibrary = true;
isExecutable = true; isExecutable = true;
setupHaskellDepends = [ base Cabal directory filepath ]; setupHaskellDepends = [ base Cabal directory filepath ];
@ -66560,6 +66611,27 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {}; }) {};
"freer-effects" = callPackage
({ mkDerivation, base, criterion, free, hlint, mtl, QuickCheck
, tasty, tasty-hunit, tasty-quickcheck
}:
mkDerivation {
pname = "freer-effects";
version = "0.3.0.0";
sha256 = "06b67cabe8141468a0bc55d6f39918fd0a037992e760411d116a36a22586d57f";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [ base ];
executableHaskellDepends = [ base ];
testHaskellDepends = [
base hlint QuickCheck tasty tasty-hunit tasty-quickcheck
];
benchmarkHaskellDepends = [ base criterion free mtl ];
homepage = "https://github.com/IxpertaSolutions/freer-effects";
description = "Implementation of effect system for Haskell";
license = stdenv.lib.licenses.bsd3;
}) {};
"freesect" = callPackage "freesect" = callPackage
({ mkDerivation, array, base, cpphs, directory, mtl, parallel ({ mkDerivation, array, base, cpphs, directory, mtl, parallel
, pretty, random, syb , pretty, random, syb
@ -68242,8 +68314,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "general-games"; pname = "general-games";
version = "1.0.1"; version = "1.0.2";
sha256 = "ce6805d308b6aed79de4c55ea6b4d1edd7ce0a536df9131d1aef2f1f7e1221a6"; sha256 = "1415c6cb8a2d37322e7568ae53ffca5d658aed6e47bbbefa5c59ed88c09b384e";
libraryHaskellDepends = [ libraryHaskellDepends = [
base monad-loops MonadRandom random random-shuffle base monad-loops MonadRandom random random-shuffle
]; ];
@ -68475,6 +68547,19 @@ self: {
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
}) {}; }) {};
"generic-random_0_4_1_0" = callPackage
({ mkDerivation, base, boltzmann-samplers, QuickCheck }:
mkDerivation {
pname = "generic-random";
version = "0.4.1.0";
sha256 = "cad16f88436384b5157b1ba09d7931f2d31a60c46bab4669659bff7936032ee2";
libraryHaskellDepends = [ base boltzmann-samplers QuickCheck ];
homepage = "http://github.com/lysxia/generic-random";
description = "Generic random generators";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"generic-records" = callPackage "generic-records" = callPackage
({ mkDerivation, base }: ({ mkDerivation, base }:
mkDerivation { mkDerivation {
@ -70291,14 +70376,14 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {}; }) {};
"ghcjs-hplay_0_4_1" = callPackage "ghcjs-hplay_0_4_2" = callPackage
({ mkDerivation, base, bytestring, containers, directory ({ mkDerivation, base, bytestring, containers, directory
, ghcjs-perch, mtl, transformers, transient, transient-universe , ghcjs-perch, mtl, transformers, transient, transient-universe
}: }:
mkDerivation { mkDerivation {
pname = "ghcjs-hplay"; pname = "ghcjs-hplay";
version = "0.4.1"; version = "0.4.2";
sha256 = "0589b76f6411abcf05a61a3f2b9d2d25064d5c1140dabf14b4a5d6aca0162b2b"; sha256 = "abab4f37c8168fca3c9c82b3349ac817c0771b6b09cc09a1eb6cce46bd0bdc2d";
libraryHaskellDepends = [ libraryHaskellDepends = [
base bytestring containers directory ghcjs-perch mtl transformers base bytestring containers directory ghcjs-perch mtl transformers
transient transient-universe transient transient-universe
@ -76091,10 +76176,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "google-maps-geocoding"; pname = "google-maps-geocoding";
version = "0.1.0.0"; version = "0.1.0.1";
sha256 = "375204744bebde75f9d249dc535d6b3199b342c6e68e452b7af4a3ac55521ef5"; sha256 = "58cd8efd50ebeaf4a5630f4548065c1e05ce6a39367d9ccaa0e1ccc67be3f531";
revision = "1";
editedCabalFile = "293782aef4b6465cfe154b1601db24c5720a444c802f5a454fa06f04f0549614";
libraryHaskellDepends = [ libraryHaskellDepends = [
aeson base http-client servant servant-client text aeson base http-client servant servant-client text
]; ];
@ -102520,8 +102603,8 @@ self: {
pname = "imperative-edsl"; pname = "imperative-edsl";
version = "0.7"; version = "0.7";
sha256 = "1a207736fb6b84e5316bbbe95593b464fe7f155db65e89fbac78b59d0e05f5f7"; sha256 = "1a207736fb6b84e5316bbbe95593b464fe7f155db65e89fbac78b59d0e05f5f7";
revision = "1"; revision = "2";
editedCabalFile = "c7ce36becbcecf66151a8b850abb7a19752aa0dfd68922198dd53ed95470b57c"; editedCabalFile = "c0d206bbb494b14bb4f2bbcbab994dc65fde03edb3f898d3ede7492578774f97";
libraryHaskellDepends = [ libraryHaskellDepends = [
array base BoundedChan containers data-default-class deepseq array base BoundedChan containers data-default-class deepseq
directory exception-transformers ghc-prim language-c-quote directory exception-transformers ghc-prim language-c-quote
@ -106293,6 +106376,18 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {}; }) {};
"javascript-extras" = callPackage
({ mkDerivation, base }:
mkDerivation {
pname = "javascript-extras";
version = "0.1.0.0";
sha256 = "cf74b6c2be87ee5bc96b5ff47335a8eb2d879d7ec83bf6c83be609293f40f4be";
libraryHaskellDepends = [ base ];
homepage = "https://github.com/louispan/javascript-extras#readme";
description = "Extra javascript functions when using GHCJS";
license = stdenv.lib.licenses.bsd3;
}) {};
"javasf" = callPackage "javasf" = callPackage
({ mkDerivation, base, binary, bytestring, directory, doctest ({ mkDerivation, base, binary, bytestring, directory, doctest
, filepath, language-java-classfile, QuickCheck , filepath, language-java-classfile, QuickCheck
@ -110783,6 +110878,32 @@ self: {
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
"language-c-quote_0_11_7_2" = callPackage
({ mkDerivation, alex, array, base, bytestring, containers
, exception-mtl, exception-transformers, filepath, happy
, haskell-src-meta, HUnit, mainland-pretty, mtl, srcloc, syb
, symbol, template-haskell, test-framework, test-framework-hunit
}:
mkDerivation {
pname = "language-c-quote";
version = "0.11.7.2";
sha256 = "5654187eaa82afe2b7ad959436b35c561fa5bc5b68af5624ab204e9db3591508";
libraryHaskellDepends = [
array base bytestring containers exception-mtl
exception-transformers filepath haskell-src-meta mainland-pretty
mtl srcloc syb symbol template-haskell
];
libraryToolDepends = [ alex happy ];
testHaskellDepends = [
base bytestring HUnit mainland-pretty srcloc symbol test-framework
test-framework-hunit
];
homepage = "http://www.drexel.edu/~mainland/";
description = "C/CUDA/OpenCL/Objective-C quasiquoting library";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"language-cil" = callPackage "language-cil" = callPackage
({ mkDerivation, base, bool-extras }: ({ mkDerivation, base, bool-extras }:
mkDerivation { mkDerivation {
@ -118345,6 +118466,19 @@ self: {
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
"mainland-pretty_0_5_0_0" = callPackage
({ mkDerivation, base, containers, srcloc, text }:
mkDerivation {
pname = "mainland-pretty";
version = "0.5.0.0";
sha256 = "0666eb8e8005d42c00b49177eeb07518f578d2cb0f891aa7be6c44bd88428d43";
libraryHaskellDepends = [ base containers srcloc text ];
homepage = "https://github.com/mainland/mainland-pretty";
description = "Pretty printing designed for printing source code";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"majordomo" = callPackage "majordomo" = callPackage
({ mkDerivation, base, bytestring, cmdargs, monad-loops, old-locale ({ mkDerivation, base, bytestring, cmdargs, monad-loops, old-locale
, threads, time, unix, zeromq-haskell , threads, time, unix, zeromq-haskell
@ -119321,8 +119455,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "marvin"; pname = "marvin";
version = "0.2.2"; version = "0.2.3";
sha256 = "87c5aa6059c7dbf6c8d20d31d3a242bc68aa888313453448ca520f726272dbbb"; sha256 = "79f439662bd8acd8ab528f29fad7ec73517edcf198fc29dc693c35100110553d";
isLibrary = true; isLibrary = true;
isExecutable = true; isExecutable = true;
libraryHaskellDepends = [ libraryHaskellDepends = [
@ -119587,6 +119721,23 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {eng = null; mat = null; mx = null;}; }) {eng = null; mat = null; mx = null;};
"matplotlib" = callPackage
({ mkDerivation, aeson, base, bytestring, process, tasty
, tasty-hunit, temporary
}:
mkDerivation {
pname = "matplotlib";
version = "0.1.0.0";
sha256 = "8001811170e201741eca52a0926c78810f451b104cc1ef055779b1b7351dee0d";
libraryHaskellDepends = [
aeson base bytestring process temporary
];
testHaskellDepends = [ base tasty tasty-hunit temporary ];
homepage = "https://github.com/abarbu/matplotlib-haskell";
description = "Bindings to Matplotlib; a Python plotting library";
license = stdenv.lib.licenses.bsd3;
}) {};
"matrices" = callPackage "matrices" = callPackage
({ mkDerivation, base, criterion, deepseq, primitive, tasty ({ mkDerivation, base, criterion, deepseq, primitive, tasty
, tasty-hunit, tasty-quickcheck, vector , tasty-hunit, tasty-quickcheck, vector
@ -136351,6 +136502,41 @@ self: {
maintainers = with stdenv.lib.maintainers; [ psibi ]; maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {}; }) {};
"persistent_2_6_1" = callPackage
({ mkDerivation, aeson, attoparsec, base, base64-bytestring
, blaze-html, blaze-markup, bytestring, conduit, containers
, exceptions, fast-logger, hspec, http-api-data, lifted-base
, monad-control, monad-logger, mtl, old-locale, path-pieces
, resource-pool, resourcet, scientific, silently, tagged
, template-haskell, text, time, transformers, transformers-base
, unordered-containers, vector
}:
mkDerivation {
pname = "persistent";
version = "2.6.1";
sha256 = "c79e0f6e7b727dcae0c7c541f1d47eb8fb0b9e9c55d2478a476a4aca8e405f7e";
libraryHaskellDepends = [
aeson attoparsec base base64-bytestring blaze-html blaze-markup
bytestring conduit containers exceptions fast-logger http-api-data
lifted-base monad-control monad-logger mtl old-locale path-pieces
resource-pool resourcet scientific silently tagged template-haskell
text time transformers transformers-base unordered-containers
vector
];
testHaskellDepends = [
aeson attoparsec base base64-bytestring blaze-html bytestring
conduit containers fast-logger hspec http-api-data lifted-base
monad-control monad-logger mtl old-locale path-pieces resource-pool
resourcet scientific tagged template-haskell text time transformers
unordered-containers vector
];
homepage = "http://www.yesodweb.com/book/persistent";
description = "Type-safe, multi-backend data serialization";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {};
"persistent-audit" = callPackage "persistent-audit" = callPackage
({ mkDerivation, aeson, attoparsec, base, bytestring ({ mkDerivation, aeson, attoparsec, base, bytestring
, getopt-generics, hashable, hspec, mongoDB, persistent , getopt-generics, hashable, hspec, mongoDB, persistent
@ -136532,6 +136718,26 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {}; }) {};
"persistent-mysql_2_6_0_1" = callPackage
({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
, containers, monad-control, monad-logger, mysql, mysql-simple
, persistent, resource-pool, resourcet, text, transformers
}:
mkDerivation {
pname = "persistent-mysql";
version = "2.6.0.1";
sha256 = "6c7b1805517c084ed971bcb78f12e7ebc87339389660ac470473a2ed49894cbe";
libraryHaskellDepends = [
aeson base blaze-builder bytestring conduit containers
monad-control monad-logger mysql mysql-simple persistent
resource-pool resourcet text transformers
];
homepage = "http://www.yesodweb.com/book/persistent";
description = "Backend for the persistent library using MySQL database server";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"persistent-odbc" = callPackage "persistent-odbc" = callPackage
({ mkDerivation, aeson, base, bytestring, conduit, containers ({ mkDerivation, aeson, base, bytestring, conduit, containers
, convertible, HDBC, HDBC-odbc, monad-control, monad-logger , convertible, HDBC, HDBC-odbc, monad-control, monad-logger
@ -136588,6 +136794,28 @@ self: {
maintainers = with stdenv.lib.maintainers; [ psibi ]; maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {}; }) {};
"persistent-postgresql_2_6_1" = callPackage
({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
, containers, monad-control, monad-logger, persistent
, postgresql-libpq, postgresql-simple, resource-pool, resourcet
, text, time, transformers
}:
mkDerivation {
pname = "persistent-postgresql";
version = "2.6.1";
sha256 = "0cdfb492faa3a69ec69f06bb3c17ee6c36399f406e02a2ff16086f45bed6f870";
libraryHaskellDepends = [
aeson base blaze-builder bytestring conduit containers
monad-control monad-logger persistent postgresql-libpq
postgresql-simple resource-pool resourcet text time transformers
];
homepage = "http://www.yesodweb.com/book/persistent";
description = "Backend for the persistent library using postgresql";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {};
"persistent-protobuf" = callPackage "persistent-protobuf" = callPackage
({ mkDerivation, base, bytestring, persistent, protocol-buffers ({ mkDerivation, base, bytestring, persistent, protocol-buffers
, protocol-buffers-descriptor, template-haskell, text , protocol-buffers-descriptor, template-haskell, text
@ -136708,6 +136936,34 @@ self: {
maintainers = with stdenv.lib.maintainers; [ psibi ]; maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {}; }) {};
"persistent-sqlite_2_6_2" = callPackage
({ mkDerivation, aeson, base, bytestring, conduit, containers
, hspec, microlens-th, monad-control, monad-logger, old-locale
, persistent, persistent-template, resource-pool, resourcet
, temporary, text, time, transformers, unordered-containers
}:
mkDerivation {
pname = "persistent-sqlite";
version = "2.6.2";
sha256 = "6136c471fc81869cf0fde2049defb9c82698e3c0048d1321c3eda01046b985bf";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson base bytestring conduit containers microlens-th monad-control
monad-logger old-locale persistent resource-pool resourcet text
time transformers unordered-containers
];
testHaskellDepends = [
base hspec persistent persistent-template temporary text time
transformers
];
homepage = "http://www.yesodweb.com/book/persistent";
description = "Backend for the persistent library using sqlite3";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {};
"persistent-template" = callPackage "persistent-template" = callPackage
({ mkDerivation, aeson, aeson-compat, base, bytestring, containers ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
, ghc-prim, hspec, http-api-data, monad-control, monad-logger , ghc-prim, hspec, http-api-data, monad-control, monad-logger
@ -136734,6 +136990,31 @@ self: {
maintainers = with stdenv.lib.maintainers; [ psibi ]; maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {}; }) {};
"persistent-template_2_5_2" = callPackage
({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
, ghc-prim, hspec, http-api-data, monad-control, monad-logger
, path-pieces, persistent, QuickCheck, tagged, template-haskell
, text, transformers, unordered-containers
}:
mkDerivation {
pname = "persistent-template";
version = "2.5.2";
sha256 = "de695b008158f9ae66d103fc33f89c098ebcf59337367063d9f4f816a58b4011";
libraryHaskellDepends = [
aeson aeson-compat base bytestring containers ghc-prim
http-api-data monad-control monad-logger path-pieces persistent
tagged template-haskell text transformers unordered-containers
];
testHaskellDepends = [
aeson base bytestring hspec persistent QuickCheck text transformers
];
homepage = "http://www.yesodweb.com/book/persistent";
description = "Type-safe, non-relational, multi-backend persistence";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
maintainers = with stdenv.lib.maintainers; [ psibi ];
}) {};
"persistent-vector" = callPackage "persistent-vector" = callPackage
({ mkDerivation, base, containers, criterion, deepseq, QuickCheck ({ mkDerivation, base, containers, criterion, deepseq, QuickCheck
, test-framework, test-framework-quickcheck2 , test-framework, test-framework-quickcheck2
@ -141984,6 +142265,8 @@ self: {
pname = "primitive"; pname = "primitive";
version = "0.6.2.0"; version = "0.6.2.0";
sha256 = "b8e8d70213e22b3fab0e0d11525c02627489618988fdc636052ca0adce282ae1"; sha256 = "b8e8d70213e22b3fab0e0d11525c02627489618988fdc636052ca0adce282ae1";
revision = "1";
editedCabalFile = "a67c9da25c0d15971f8dc06c119cae4a0180a7216c0a3a3d6e52357d2f7ac134";
libraryHaskellDepends = [ base ghc-prim transformers ]; libraryHaskellDepends = [ base ghc-prim transformers ];
testHaskellDepends = [ base ghc-prim ]; testHaskellDepends = [ base ghc-prim ];
homepage = "https://github.com/haskell/primitive"; homepage = "https://github.com/haskell/primitive";
@ -149006,8 +149289,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "regex"; pname = "regex";
version = "0.3.0.0"; version = "0.5.0.0";
sha256 = "f0f8c9722a601edfc2fb7963956f331f3dd1e1655fafb07758aad6defea579de"; sha256 = "422392384ce3986d1c5627b30c8dc9dfb05fe41044820739d11da51ff1a8c27f";
libraryHaskellDepends = [ libraryHaskellDepends = [
array base base-compat bytestring containers hashable heredoc array base base-compat bytestring containers hashable heredoc
regex-base regex-pcre-builtin regex-tdfa regex-tdfa-text regex-base regex-pcre-builtin regex-tdfa regex-tdfa-text
@ -149165,8 +149448,8 @@ self: {
}: }:
mkDerivation { mkDerivation {
pname = "regex-examples"; pname = "regex-examples";
version = "0.3.0.0"; version = "0.5.0.0";
sha256 = "c274ffacf3eeecb9e9530d07fd44dd0539c8225923ae0cb82b5d48ad6333903b"; sha256 = "bfc94f67d1723fd833247512549aa2e0a9d18070aaf9409feaef87388a48a1bb";
isLibrary = false; isLibrary = false;
isExecutable = true; isExecutable = true;
executableHaskellDepends = [ executableHaskellDepends = [
@ -159666,6 +159949,32 @@ self: {
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
"shell-conduit_4_6_0" = callPackage
({ mkDerivation, async, base, bytestring, conduit, conduit-extra
, control-monad-loop, directory, filepath, hspec
, hspec-expectations, monad-control, monads-tf, process, resourcet
, semigroups, split, template-haskell, text, transformers
, transformers-base, unix
}:
mkDerivation {
pname = "shell-conduit";
version = "4.6.0";
sha256 = "9ce6230efb78589b5b28dd82396d73afbc832bbb8213f51c28ab6c946a9a12a1";
libraryHaskellDepends = [
async base bytestring conduit conduit-extra control-monad-loop
directory filepath monad-control monads-tf process resourcet
semigroups split template-haskell text transformers
transformers-base unix
];
testHaskellDepends = [
base hspec hspec-expectations template-haskell
];
homepage = "https://github.com/psibi/shell-conduit";
description = "Write shell scripts with Conduit";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"shell-escape" = callPackage "shell-escape" = callPackage
({ mkDerivation, base, binary, bytestring, containers, vector }: ({ mkDerivation, base, binary, bytestring, containers, vector }:
mkDerivation { mkDerivation {
@ -166267,6 +166576,34 @@ self: {
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
"stache_0_2_1" = callPackage
({ mkDerivation, aeson, base, bytestring, containers, criterion
, deepseq, directory, exceptions, file-embed, filepath, hspec
, hspec-megaparsec, megaparsec, mtl, template-haskell, text
, unordered-containers, vector, yaml
}:
mkDerivation {
pname = "stache";
version = "0.2.1";
sha256 = "f25c0a913cca7ae0056d8030e5351da809bdff53afef80d863c1ecaa0dbbd00f";
libraryHaskellDepends = [
aeson base bytestring containers deepseq directory exceptions
filepath megaparsec mtl template-haskell text unordered-containers
vector
];
testHaskellDepends = [
aeson base bytestring containers file-embed hspec hspec-megaparsec
megaparsec text yaml
];
benchmarkHaskellDepends = [
aeson base criterion deepseq megaparsec text
];
homepage = "https://github.com/stackbuilders/stache";
description = "Mustache templates for Haskell";
license = stdenv.lib.licenses.bsd3;
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"stack" = callPackage "stack" = callPackage
({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, async ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, async
, attoparsec, base, base-compat, base16-bytestring , attoparsec, base, base-compat, base16-bytestring
@ -178733,6 +179070,24 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none; hydraPlatforms = stdenv.lib.platforms.none;
}) {}; }) {};
"transient-universe-tls" = callPackage
({ mkDerivation, base, bytestring, certificate, cprng-aes
, data-default, network, tls, transient, transient-universe
, x509-store
}:
mkDerivation {
pname = "transient-universe-tls";
version = "0.1.0.0";
sha256 = "9f4b345602de7a3652fdcebb787c66017697ef6e0f16a47e59cda3c42cbd8467";
libraryHaskellDepends = [
base bytestring certificate cprng-aes data-default network tls
transient transient-universe x509-store
];
homepage = "http://github.com/transient-haskell/transient-universe-tls";
description = "transient with secure communications";
license = stdenv.lib.licenses.bsd3;
}) {};
"translatable-intset" = callPackage "translatable-intset" = callPackage
({ mkDerivation, base, fingertree }: ({ mkDerivation, base, fingertree }:
mkDerivation { mkDerivation {
@ -188859,6 +189214,29 @@ self: {
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}) {}; }) {};
"websockets-rpc" = callPackage
({ mkDerivation, aeson, base, bytestring, containers, exceptions
, mtl, QuickCheck, quickcheck-instances, stm, tasty
, tasty-quickcheck, text, unordered-containers, wai-transformers
, websockets
}:
mkDerivation {
pname = "websockets-rpc";
version = "0.0.0";
sha256 = "e8a97330230f178fede76701fd2335fe18f48a124bd020c4be8120fa75ddf5bb";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson base bytestring containers exceptions mtl QuickCheck stm text
unordered-containers wai-transformers websockets
];
testHaskellDepends = [
aeson base QuickCheck quickcheck-instances tasty tasty-quickcheck
];
description = "Simple streaming RPC mechanism using WebSockets";
license = stdenv.lib.licenses.bsd3;
}) {};
"websockets-snap" = callPackage "websockets-snap" = callPackage
({ mkDerivation, base, bytestring, bytestring-builder, io-streams ({ mkDerivation, base, bytestring, bytestring-builder, io-streams
, mtl, snap-core, snap-server, websockets , mtl, snap-core, snap-server, websockets

View File

@ -76,6 +76,14 @@ rec {
fixupPhase = ":"; fixupPhase = ":";
}); });
# link executables statically against haskell libs to reduce closure size
justStaticExecutables = drv: overrideCabal drv (drv: {
enableSharedExecutables = false;
isLibrary = false;
doHaddock = false;
postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
});
buildFromSdist = pkg: pkgs.lib.overrideDerivation pkg (drv: { buildFromSdist = pkg: pkgs.lib.overrideDerivation pkg (drv: {
unpackPhase = let src = sdistTarball pkg; tarname = "${pkg.pname}-${pkg.version}"; in '' unpackPhase = let src = sdistTarball pkg; tarname = "${pkg.pname}-${pkg.version}"; in ''
echo "Source tarball is at ${src}/${tarname}.tar.gz" echo "Source tarball is at ${src}/${tarname}.tar.gz"

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeFontsConf, makeWrapper { stdenv, fetchurl, makeFontsConf, makeWrapper
, cairo, coreutils, fontconfig, freefont_ttf , cairo, coreutils, fontconfig, freefont_ttf
, glib, gmp, gtk2, libffi, libjpeg, libpng , glib, gmp, gtk2, libedit, libffi, libjpeg
, libtool, mpfr, openssl, pango, poppler , libpng, libtool, mpfr, openssl, pango, poppler
, readline, sqlite , readline, sqlite
, disableDocs ? true , disableDocs ? true
}: }:
@ -18,6 +18,7 @@ let
glib glib
gmp gmp
gtk2 gtk2
libedit
libjpeg libjpeg
libpng libpng
mpfr mpfr

View File

@ -0,0 +1,10 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
baseVersion = "2.0";
revision = "1";
sha256 = "02sf6qghgs1lmprx715dnyll1rmqcjb9q6s50n20li8idlqysf51";
postPatch = ''
sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt
'';
})

View File

@ -0,0 +1,10 @@
url http://botan.randombit.net/download.html
version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$'
ensure_version
attribute_name botan2
do_overwrite(){
ensure_hash
set_var_value sha256 $CURRENT_HASH
set_var_value baseVersion ${CURRENT_VERSION%.*}
set_var_value revision ${CURRENT_VERSION##*.}
}

View File

@ -1,7 +1,7 @@
{stdenv, fetchurl, cmake}: {stdenv, fetchurl, cmake}:
let let
version = "3.3.1"; version = "3.3.3";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "eigen-${version}"; name = "eigen-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz"; url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
name = "eigen-${version}.tar.gz"; name = "eigen-${version}.tar.gz";
sha256 = "141axgv5kykq7125scisjvnfcdx7qcj8n8zlk7g09r7fhqgjr79w"; sha256 = "0pz7k8kd9nydmsj2prjs67apixipl6pll3f0cjy0y3bvlazqr1wl";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -1,7 +1,7 @@
{stdenv, fetchurl, cmake}: {stdenv, fetchurl, cmake}:
let let
version = "3.2.5"; version = "3.2.10";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "eigen-${version}"; name = "eigen-${version}";
@ -9,11 +9,15 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz"; url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
name = "eigen-${version}.tar.gz"; name = "eigen-${version}.tar.gz";
sha256 = "1vjixip19lwfia2bjpjwm09j7l20ry75493i6mjsk9djszj61agi"; sha256 = "00l52y7m276gh8wjkqqcxz6x687azrm7a70s3iraxnpy9bxa9y04";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
postInstall = ''
sed -e '/Cflags:/s@''${prefix}@@' -i "$out"/share/pkgconfig/eigen3.pc
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms"; description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
license = licenses.lgpl3Plus; license = licenses.lgpl3Plus;

View File

@ -5,7 +5,7 @@
}: }:
let let
version = "1.4.2"; version = "1.4.4";
inherit (stdenv.lib) optional optionals optionalString; inherit (stdenv.lib) optional optionals optionalString;
in in
@ -14,7 +14,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2"; url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
sha256 = "1cxpkhrjd20fwfysyxmi9rjvvggxlbzlyrs39p1dw3q0mg7ls8wg"; sha256 = "0mfj37qr8fw9mzsvk4296fq8vzq909mwlkl2xrjfrfvc8z5gilim";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -0,0 +1,64 @@
{ stdenv, fetchurl, fetchpatch, fixDarwinDylibNames }:
let
pname = "icu4c";
version = "57.1";
in
stdenv.mkDerivation ({
name = pname + "-" + version;
src = fetchurl {
url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
+ (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
sha256 = "10cmkqigxh9f73y7q3p991q6j8pph0mrydgj11w1x6wlcp5ng37z";
};
outputs = [ "out" "dev" ];
outputBin = "dev";
# FIXME: This fixes dylib references in the dylibs themselves, but
# not in the programs in $out/bin.
buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
postUnpack = ''
sourceRoot=''${sourceRoot}/source
echo Source root reset to ''${sourceRoot}
'';
# This pre/postPatch shenanigans is to handle that the patches expect
# to be outside of `source`.
prePatch = ''
pushd ..
'';
postPatch = ''
popd
'';
patches = [
];
preConfigure = ''
sed -i -e "s|/bin/sh|${stdenv.shell}|" configure
'';
configureFlags = "--disable-debug" +
stdenv.lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) " --enable-rpath";
# remove dependency on bootstrap-tools in early stdenv build
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
'';
postFixup = ''moveToOutput lib/icu "$dev" '';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Unicode and globalization support library";
homepage = http://site.icu-project.org/;
maintainers = with maintainers; [ raskin urkud ];
platforms = platforms.all;
};
} // (if stdenv.isArm then {
patches = [ ./0001-Disable-LDFLAGSICUDT-for-Linux.patch ];
} else {}))

View File

@ -2,7 +2,7 @@
let let
pname = "icu4c"; pname = "icu4c";
version = "57.1"; version = "58.2";
in in
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = pname + "-" + version; name = pname + "-" + version;
@ -10,7 +10,7 @@ stdenv.mkDerivation ({
src = fetchurl { src = fetchurl {
url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-" url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
+ (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz"; + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
sha256 = "10cmkqigxh9f73y7q3p991q6j8pph0mrydgj11w1x6wlcp5ng37z"; sha256 = "036shcb3f8bm1lynhlsb4kpjm9s9c2vdiir01vg216rs2l8482ib";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -35,26 +35,6 @@ stdenv.mkDerivation ({
''; '';
patches = [ patches = [
(fetchpatch {
url = "https://sources.debian.net/data/main/i/icu/57.1-5/debian/patches/CVE-2014-6585.patch";
sha256 = "1s8kqax444pqf5chwxvgsx1n1dx7v74h34fqh08fyq57mcjnpj4d";
})
(fetchpatch {
url = "https://sources.debian.net/data/main/i/icu/57.1-5/debian/patches/CVE-2015-4760.patch";
sha256 = "08gawyqbylk28i9pxv9vsw2drdpd6i97q0aml4nmv2xyb1ala0wp";
})
(fetchpatch {
url = "https://sources.debian.net/data/main/i/icu/57.1-5/debian/patches/CVE-2016-0494.patch";
sha256 = "1741s8lpmnizjprzk3xb7zkm5fznzgk8hhlrs8a338c18nalvxay";
})
(fetchpatch {
url = "https://sources.debian.net/data/main/i/icu/57.1-5/debian/patches/CVE-2016-6293.patch";
sha256 = "01h4xcss1vmsr60ijkv4lxsgvspwimyss61zp9nq4xd5i3kk1f4b";
})
(fetchpatch {
url = "https://sources.debian.net/data/main/i/icu/57.1-5/debian/patches/CVE-2016-7415.patch";
sha256 = "01d070h8d7rkj55ac8isr64m999bv5znc8vnxa7aajglsfidzs2r";
})
]; ];
preConfigure = '' preConfigure = ''

View File

@ -1,17 +1,17 @@
{stdenv, fetchurl, libtool, openssl, pkgconfig}: { stdenv, fetchFromGitHub, autoreconfHook, libtool, openssl, pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libp11-0.2.7"; name = "libp11-0.2.7";
src = fetchurl { src = fetchFromGitHub {
urls = [ owner = "OpenSC";
"http://www.opensc-project.org/files/libp11/${name}.tar.gz" repo = "libp11";
"http://www.openadk.org/distfiles/${name}.tar.gz" rev = name;
]; sha256 = "0llw69kcb6nvz7zzkb9nyfyhc2s972q68sqciabqxwxljr09c411";
sha256 = "0kaz5qafaxm0ycywmajl166c29fh9cz89b8i043jqsbxlpzf4hdp";
}; };
buildInputs = [ libtool openssl pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
buildInputs = [ openssl ];
meta = { meta = {
homepage = http://www.opensc-project.org/libp11/; homepage = http://www.opensc-project.org/libp11/;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, flex, bison }: { stdenv, fetchurl, fetchpatch, flex, bison }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libpcap-1.8.1"; name = "libpcap-1.8.1";
@ -21,6 +21,13 @@ stdenv.mkDerivation rec {
substituteInPlace configure --replace " -arch i386" "" substituteInPlace configure --replace " -arch i386" ""
''; '';
patches = [
(fetchpatch {
url = "https://sources.debian.net/data/main/libp/libpcap/1.8.1-3/debian/patches/disable-remote.diff";
sha256 = "0dvjax9c0spvq8cdjnkbnm65wlzaml259yragf95kzg611vszfmj";
})
];
preInstall = ''mkdir -p $out/bin''; preInstall = ''mkdir -p $out/bin'';
crossAttrs = { crossAttrs = {

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl, zlib, openssl}: {stdenv, fetchurl, zlib, openssl}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.5.0"; version = "0.5.1";
name = "libre-${version}"; name = "libre-${version}";
src=fetchurl { src=fetchurl {
url = "http://www.creytiv.com/pub/re-${version}.tar.gz"; url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
sha256 = "18msdi5a1ssymz00w21hg6sgacb2lzx0ns31iapvk5hv6l225pd2"; sha256 = "1qs6gpflgwic2pp1nplhhyl585h9q0kf74h5z29ajr5ij0j65rsa";
}; };
buildInputs = [zlib openssl]; buildInputs = [zlib openssl];
makeFlags = [ makeFlags = [

View File

@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = true; # These should be turned back on, but see https://github.com/NixOS/nixpkgs/issues/23651
# For now the tests are just breaking large swaths of the nixpkgs binary cache for Darwin,
# and I'd rather have everything else work at all than have stronger assurance here.
doCheck = !stdenv.isDarwin;
meta = with lib; { meta = with lib; {
description = "A multi-platform support library with a focus on asynchronous I/O"; description = "A multi-platform support library with a focus on asynchronous I/O";

View File

@ -1,21 +1,16 @@
{ stdenv, fetchurl, fetchpatch, m4 }: { stdenv, fetchurl, fetchpatch, m4, which, yasm }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mpir-${version}"; name = "mpir-${version}";
version = "2.7.2"; version = "3.0.0";
buildInputs = [ m4 ]; nativeBuildInputs = [ m4 which yasm ];
src = fetchurl { src = fetchurl {
url = "http://mpir.org/mpir-${version}.tar.bz2"; url = "http://mpir.org/mpir-${version}.tar.bz2";
sha256 = "1v25dx7cah2vxwzgq78hpzqkryrfxhwx3mcj3jjq3xxljlsw7m57"; sha256 = "1fvmhrqdjs925hzr2i8bszm50h00gwsh17p2kn2pi51zrxck9xjj";
}; };
patches = [ (fetchpatch {
url = "https://github.com/wbhart/mpir/commit/fdb590023f7ca4b2e881a2e9573718e7ed180f03.patch";
sha256 = "152pdqpf8xxr4ky25f9zrvfb66i1wzy6a5b91h4zmpqjdffqf1iw";
}) ];
meta = { meta = {
inherit version; inherit version;
description = ''A highly optimised library for bignum arithmetic forked from GMP''; description = ''A highly optimised library for bignum arithmetic forked from GMP'';

View File

@ -9,11 +9,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "nss-${version}"; name = "nss-${version}";
version = "3.28.1"; version = "3.28.3";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_3_28_1_RTM/src/${name}.tar.gz"; url = "mirror://mozilla/security/nss/releases/NSS_3_28_3_RTM/src/${name}.tar.gz";
sha256 = "58cc0c05c0ed9523e6d820bea74f513538f48c87aac931876e3d3775de1a82ad"; sha256 = "1wrx2ig6yvgywjs25hzy4szgml21hwhd7ds0ghyfybhkiq7lyg6x";
}; };
buildInputs = [ nspr perl zlib sqlite ]; buildInputs = [ nspr perl zlib sqlite ];

View File

@ -35,6 +35,13 @@ qtSubmodule {
# fix default SSL bundle location # fix default SSL bundle location
sed -i -e 's,/cert.pem,/certs/ca-bundle.crt,' src/3rdparty/chromium/third_party/boringssl/src/crypto/x509/x509_def.c sed -i -e 's,/cert.pem,/certs/ca-bundle.crt,' src/3rdparty/chromium/third_party/boringssl/src/crypto/x509/x509_def.c
# Fix library paths
sed -i \
-e "s,QLibraryInfo::location(QLibraryInfo::DataPath),QLatin1String(\"$out\"),g" \
-e "s,QLibraryInfo::location(QLibraryInfo::TranslationsPath),QLatin1String(\"$out/translations\"),g" \
-e "s,QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath),QLatin1String(\"$out/libexec\"),g" \
src/core/web_engine_library_info.cpp
configureFlags+="\ configureFlags+="\
-plugindir $out/lib/qt5/plugins \ -plugindir $out/lib/qt5/plugins \
-importdir $out/lib/qt5/imports \ -importdir $out/lib/qt5/imports \

View File

@ -0,0 +1,30 @@
{ fetchurl, buildPythonPackage, isPy33, lib, six, pythonAtLeast, pythonOlder }:
buildPythonPackage rec {
name = "nltk-${version}";
version = "3.2.2";
src = fetchurl {
url = "mirror://pypi/n/nltk/nltk-${version}.tar.gz";
sha256 = "13m8i393h5mhpyvh5rghxxpax3bscv8li3ynwfdiq0kh8wsdndqv";
};
propagatedBuildInputs = [ six ];
disabled = pythonOlder "2.7" || pythonOlder "3.4" && (pythonAtLeast "3.0");
# Tests require some data, the downloading of which is impure. It would
# probably make sense to make the data another derivation, but then feeding
# that into the tests (given that we need nltk itself to download the data,
# unless there's an easy way to download it without nltk's downloader) might
# be complicated. For now let's just disable the tests and hope for the
# best.
doCheck = false;
meta = {
description = "Natural Language Processing ToolKit";
homepage = http://nltk.org/;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ lheckemann ];
};
}

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }: { stdenv, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }:
let let
version = "4.11.3"; version = "4.12";
inherit (pythonPackages) mkPythonDerivation python dbus-python sip; inherit (pythonPackages) mkPythonDerivation python dbus-python sip;
in mkPythonDerivation { in mkPythonDerivation {
name = "PyQt-x11-gpl-${version}"; name = "PyQt-x11-gpl-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/pyqt/PyQt4/PyQt-${version}/PyQt-x11-gpl-${version}.tar.gz"; url = "mirror://sourceforge/pyqt/PyQt4_gpl_x11-${version}.tar.gz";
sha256 = "11jnfjw79s0b0qdd9s6kd69w87vf16dhagbhbmwbmrp2vgf80dw5"; sha256 = "1nw8r88a5g2d550yvklawlvns8gd5slw53yy688kxnsa65aln79w";
}; };
configurePhase = '' configurePhase = ''

View File

@ -2,7 +2,7 @@
, lndir, makeWrapper, qmakeHook }: , lndir, makeWrapper, qmakeHook }:
let let
version = "5.6"; version = "5.8.1";
inherit (pythonPackages) mkPythonDerivation python dbus-python sip; inherit (pythonPackages) mkPythonDerivation python dbus-python sip;
in mkPythonDerivation { in mkPythonDerivation {
name = "PyQt-${version}"; name = "PyQt-${version}";
@ -17,7 +17,7 @@ in mkPythonDerivation {
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz"; url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
sha256 = "1qgh42zsr9jppl9k7fcdbhxcd1wrb7wyaj9lng9nxfa19in1lj1f"; sha256 = "0biak7l574i2gc8lj1s45skajbxsmmx66nlvs6xaakzkc6r293qy";
}; };
buildInputs = [ buildInputs = [

View File

@ -0,0 +1,33 @@
{ lib, buildPythonPackage, fetchurl, requests2, novaclient, keyring,
rackspace-novaclient, six, isPy3k, pytest, glibcLocales }:
buildPythonPackage rec {
name = "pyrax-1.9.8";
src = fetchurl {
url = "mirror://pypi/p/pyrax/${name}.tar.gz";
sha256 = "1x98jzyxnvha81pgx3jpfixljhs7zik89yfp8q06kwpx8ws99nz9";
};
# no good reason given in commit why limited, and seems to work
patchPhase = ''
substituteInPlace "setup.py" \
--replace "python-novaclient==2.27.0" "python-novaclient"
'';
disabled = isPy3k;
propagatedBuildInputs = [ requests2 novaclient keyring rackspace-novaclient six ];
LC_ALL = "en_US.UTF-8";
buildInputs = [ pytest glibcLocales ];
checkPhase = ''
py.test tests/unit
'';
meta = {
homepage = "https://github.com/rackspace/pyrax";
license = lib.licenses.asl20;
description = "Python API to interface with Rackspace";
maintainers = with lib.maintainers; [ teh ];
};
}

View File

@ -0,0 +1,151 @@
{ buildPythonPackage, fetchurl, isPy3k, requests2, novaclient, six, lib }:
let
os-virtual-interfacesv2-python-novaclient-ext = buildPythonPackage rec {
name = "os_virtual_interfacesv2_python_novaclient_ext-0.20";
src = fetchurl {
url = "mirror://pypi/o/os-virtual-interfacesv2-python-novaclient-ext/${name}.tar.gz";
sha256 = "17a4r8psxmfikgmzh709absbn5jsh1005whibmwhysj9fi0zyfbd";
};
propagatedBuildInputs = [ six novaclient ];
meta = {
homepage = https://github.com/rackerlabs/os_virtual_interfacesv2_ext;
license = lib.licenses.asl20;
description = "Adds Virtual Interfaces support to python-novaclient";
};
};
ip-associations-python-novaclient-ext = buildPythonPackage rec {
name = "ip_associations_python_novaclient_ext-0.2";
src = fetchurl {
url = "mirror://pypi/i/ip_associations_python_novaclient_ext/${name}.tar.gz";
sha256 = "0dxfkfjhzskafmb01y8hzbcpvc4cd6fas1s50dzcmg29w4z6qmz4";
};
propagatedBuildInputs = [ six novaclient ];
meta = {
homepage = https://github.com/rackerlabs/ip_associations_python_novaclient_ext;
license = lib.licenses.asl20;
description = "Adds Rackspace ip_associations support to python-novaclient";
};
};
rackspace-auth-openstack = buildPythonPackage rec {
name = "rackspace-auth-openstack-1.3";
src = fetchurl {
url = "mirror://pypi/r/rackspace-auth-openstack/${name}.tar.gz";
sha256 = "1kaiyvgwmavw2mh0s32yjk70xsziynjdhi01qn9a8kljn7p6kh64";
};
propagatedBuildInputs = [ six novaclient ];
meta = {
homepage = https://pypi.python.org/pypi/rackspace-auth-openstack;
license = lib.licenses.asl20;
description = "Rackspace Auth Plugin for OpenStack Clients.";
};
};
rax-default-network-flags-python-novaclient-ext = buildPythonPackage rec {
name = "rax_default_network_flags_python_novaclient_ext-0.4.0";
src = fetchurl {
url = "mirror://pypi/r/rax_default_network_flags_python_novaclient_ext/${name}.tar.gz";
sha256 = "00b0csb58k6rr1is68bkkw358mms8mmb898bm8bbr8g7j2fz8aw5";
};
propagatedBuildInputs = [ six novaclient ];
meta = {
homepage = https://pypi.python.org/simple/rax-default-network-flags-python-novaclient-ext;
license = lib.licenses.asl20;
description = "Novaclient Extension for Instance Default Network Flags";
};
};
os-networksv2-python-novaclient-ext = buildPythonPackage rec {
name = "os_networksv2_python_novaclient_ext-0.26";
src = fetchurl {
url = "mirror://pypi/o/os_networksv2_python_novaclient_ext/${name}.tar.gz";
sha256 = "06dzqmyrwlq7hla6dk699z18c8v27qr1gxqknimwxlwqdlhpafk1";
};
propagatedBuildInputs = [ six novaclient ];
meta = {
homepage = https://pypi.python.org/pypi/os_networksv2_python_novaclient_ext;
license = lib.licenses.asl20;
description = "Adds rackspace networks support to python-novaclient";
};
};
rax-scheduled-images-python-novaclient-ext = buildPythonPackage rec {
name = "rax_scheduled_images_python_novaclient_ext-0.3.1";
src = fetchurl {
url = "mirror://pypi/r/rax_scheduled_images_python_novaclient_ext/${name}.tar.gz";
sha256 = "1nvwjgrkp1p1d27an393qf49pszm1nvqa2ychhbqmp0bnabwyw7i";
};
propagatedBuildInputs = [ six novaclient ];
meta = {
homepage = https://pypi.python.org/pypi/rax_scheduled_images_python_novaclient_ext;
license = lib.licenses.asl20;
description = "Extends python-novaclient to use RAX-SI, the Rackspace Nova API Scheduled Images extension";
};
};
os-diskconfig-python-novaclient-ext = buildPythonPackage rec {
name = "os_diskconfig_python_novaclient_ext-0.1.3";
src = fetchurl {
url = "mirror://pypi/o/os_diskconfig_python_novaclient_ext/${name}.tar.gz";
sha256 = "0xayy5nlkgl9yr0inqkwirlmar8pv1id29r59lj70g5plwrr5lg7";
};
propagatedBuildInputs = [ six novaclient ];
meta = {
homepage = https://pypi.python.org/pypi/os_diskconfig_python_novaclient_ext;
license = lib.licenses.asl20;
description = "Disk Config extension for python-novaclient";
};
};
in
buildPythonPackage rec {
name = "rackspace-novaclient-2.1";
src = fetchurl {
url = "mirror://pypi/r/rackspace-novaclient/${name}.tar.gz";
sha256 = "1rzaa328hzm8hs9q99gvjr64x47fmcq4dv4656rzxq5s4gv49z12";
};
disabled = isPy3k;
propagatedBuildInputs = [
requests2
novaclient
six
# extensions
ip-associations-python-novaclient-ext
os-diskconfig-python-novaclient-ext
os-networksv2-python-novaclient-ext
os-virtual-interfacesv2-python-novaclient-ext
rackspace-auth-openstack
rax-default-network-flags-python-novaclient-ext
rax-scheduled-images-python-novaclient-ext
];
meta = {
homepage = https://pypi.python.org/pypi/rackspace-novaclient/;
license = lib.licenses.asl20;
description = "Metapackage to install python-novaclient and Rackspace extensions";
maintainers = with lib.maintainers; [ teh ];
};
}

View File

@ -1,11 +1,11 @@
{ lib, fetchurl, mkPythonDerivation, python, isPyPy }: { lib, fetchurl, mkPythonDerivation, python, isPyPy }:
if isPyPy then throw "sip not supported for interpreter ${python.executable}" else mkPythonDerivation rec { if isPyPy then throw "sip not supported for interpreter ${python.executable}" else mkPythonDerivation rec {
name = "sip-4.18.1"; name = "sip-4.19.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz"; url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
sha256 = "1452zy3g0qv4fpd9c0y4gq437kn0xf7bbfniibv5n43zpwnpmklv"; sha256 = "501852b8325349031b769d1c03d6eab04f7b9b97f790ec79f3d3d04bf065d83e";
}; };
configurePhase = '' configurePhase = ''

View File

@ -1,76 +1,82 @@
{ stdenv, lib, fetchurl, coreutils, openssh, buildbot-worker, makeWrapper, { stdenv, lib, openssh, buildbot-worker, pythonPackages, runCommand, makeWrapper }:
pythonPackages, gnused, plugins ? [] }:
pythonPackages.buildPythonApplication (rec { let
name = "${pname}-${version}"; withPlugins = plugins: runCommand "wrapped-${package.name}" {
pname = "buildbot"; buildInputs = [ makeWrapper ] ++ plugins;
version = "0.9.4"; passthru.withPlugins = moarPlugins: withPlugins (moarPlugins ++ plugins);
src = fetchurl { } ''
url = "mirror://pypi/b/${pname}/${name}.tar.gz"; makeWrapper ${package}/bin/buildbot $out/bin/buildbot --prefix PYTHONPATH : $PYTHONPATH
sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086";
};
buildInputs = with pythonPackages; [
lz4
txrequests
pyjade
boto3
moto
txgithub
mock
setuptoolsTrial
isort
pylint
astroid
pyflakes
openssh
buildbot-worker
makeWrapper
treq
];
propagatedBuildInputs = with pythonPackages; [
# core
twisted
jinja2
zope_interface
sqlalchemy
sqlalchemy_migrate
future
dateutil
txaio
autobahn
pyjwt
# tls
pyopenssl
service-identity
idna
# docs
sphinx
sphinxcontrib-blockdiag
sphinxcontrib-spelling
pyenchant
docutils
ramlfications
sphinx-jinja
] ++ plugins;
postPatch = ''
${gnused}/bin/sed -i 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot/scripts/logwatcher.py
''; '';
postFixup = '' package = pythonPackages.buildPythonApplication (rec {
makeWrapper $out/bin/.buildbot-wrapped $out/bin/buildbot --set PYTHONPATH "$PYTHONPATH" name = "${pname}-${version}";
''; pname = "buildbot";
version = "0.9.4";
meta = with stdenv.lib; { src = pythonPackages.fetchPypi {
homepage = http://buildbot.net/; inherit pname version;
description = "Continuous integration system that automates the build/test cycle"; sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086";
maintainers = with maintainers; [ nand0p ryansydnor ]; };
license = licenses.gpl2;
}; buildInputs = with pythonPackages; [
}) lz4
txrequests
pyjade
boto3
moto
txgithub
mock
setuptoolsTrial
isort
pylint
astroid
pyflakes
openssh
buildbot-worker
treq
];
propagatedBuildInputs = with pythonPackages; [
# core
twisted
jinja2
zope_interface
sqlalchemy
sqlalchemy_migrate
future
dateutil
txaio
autobahn
pyjwt
# tls
pyopenssl
service-identity
idna
# docs
sphinx
sphinxcontrib-blockdiag
sphinxcontrib-spelling
pyenchant
docutils
ramlfications
sphinx-jinja
];
postPatch = ''
substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
'';
passthru = { inherit withPlugins; };
meta = with stdenv.lib; {
homepage = http://buildbot.net/;
description = "Continuous integration system that automates the build/test cycle";
maintainers = with maintainers; [ nand0p ryansydnor ];
license = licenses.gpl2;
};
});
in package

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, gnused, coreutils, pythonPackages }: { stdenv, pythonPackages }:
pythonPackages.buildPythonApplication (rec { pythonPackages.buildPythonApplication (rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "buildbot-worker"; pname = "buildbot-worker";
version = "0.9.4"; version = "0.9.4";
src = fetchurl { src = pythonPackages.fetchPypi {
url = "mirror://pypi/b/${pname}/${name}.tar.gz"; inherit pname version;
sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj"; sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj";
}; };
@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication (rec {
propagatedBuildInputs = with pythonPackages; [ twisted future ]; propagatedBuildInputs = with pythonPackages; [ twisted future ];
postPatch = '' postPatch = ''
${gnused}/bin/sed -i 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot_worker/scripts/logwatcher.py substituteInPlace buildbot_worker/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,17 +1,28 @@
{ stdenv, fetchFromGitHub, qt4, sqlite, cmake }: { stdenv, fetchFromGitHub, qt5, sqlite, cmake }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.8.0"; version = "3.9.1";
name = "sqlitebrowser-${version}"; name = "sqlitebrowser-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "sqlitebrowser"; repo = "sqlitebrowser";
owner = "sqlitebrowser"; owner = "sqlitebrowser";
rev = "v${version}"; rev = "v${version}";
sha256 = "009yaamf6f654dl796f1gmj3rb34d55w87snsfgk33gpy6x19ccp"; sha256 = "1s7f2d7wx2i68x60z7wdws3il6m83k5n5w5wyjvr0mz0mih0s150";
}; };
buildInputs = [ qt4 sqlite cmake ]; buildInputs = [ qt5.qtbase qt5.qttools sqlite cmake ];
enableParallelBuilding = true;
cmakeFlags = [ "-DUSE_QT5=TRUE" ];
# A regression was introduced in CMakeLists.txt on v3.9.x
# See https://github.com/sqlitebrowser/sqlitebrowser/issues/832 and issues/755
patchPhase = ''
substituteInPlace CMakeLists.txt --replace 'project("DB Browser for SQLite")' 'project(sqlitebrowser)'
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "DB Browser for SQLite"; description = "DB Browser for SQLite";
@ -21,4 +32,3 @@ stdenv.mkDerivation rec {
platforms = platforms.linux; # can only test on linux platforms = platforms.linux; # can only test on linux
}; };
} }

View File

@ -19,5 +19,6 @@ buildGoPackage rec {
homepage = "https://github.com/derekparker/delve"; homepage = "https://github.com/derekparker/delve";
maintainers = with stdenv.lib.maintainers; [ vdemeester ]; maintainers = with stdenv.lib.maintainers; [ vdemeester ];
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
platforms = [ "x86_64-linux" ];
}; };
} }

View File

@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://download.elastic.co/kibana/kibana/${name}-${plat}-${elasticArch}.tar.gz"; url = "https://download.elastic.co/kibana/kibana/${name}-${plat}-${elasticArch}.tar.gz";
sha256 = shas."${stdenv.system}"; sha256 = shas."${stdenv.system}" or (throw "Unknown architecture");
}; };
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];

View File

@ -1,20 +1,20 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, curl, boost, liboauth, jsoncpp { stdenv, fetchFromGitHub, cmake, pkgconfig, curl, boost, liboauth, jsoncpp
, htmlcxx, rhash, tinyxml, help2man }: , htmlcxx, rhash, tinyxml-2, help2man }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lgogdownloader-${version}"; name = "lgogdownloader-${version}";
version = "2.28"; version = "3.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Sude-"; owner = "Sude-";
repo = "lgogdownloader"; repo = "lgogdownloader";
rev = "v${version}"; rev = "v${version}";
sha256 = "1xn6pfvxz496sj5jiqyzqj6vn6vrzyks9f6xha8g4vy6hkw717ag"; sha256 = "0p1zh2l8g4y2z02xj0fndbfhcxgcpwhf5d9izwsdi3yljvqv23np";
}; };
nativeBuildInputs = [ cmake pkgconfig help2man ]; nativeBuildInputs = [ cmake pkgconfig help2man ];
buildInputs = [ curl boost liboauth jsoncpp htmlcxx rhash tinyxml ]; buildInputs = [ curl boost liboauth jsoncpp htmlcxx rhash tinyxml-2 ];
meta = { meta = {
homepage = https://github.com/Sude-/lgogdownloader; homepage = https://github.com/Sude-/lgogdownloader;

View File

@ -1,6 +1,6 @@
{stdenv, gtk3, pkgconfig, libX11, perl, fetchurl, automake115x, autoconf}: {stdenv, gtk3, pkgconfig, libX11, perl, fetchurl, automake115x, autoconf}:
let let
version = "20161228.7cae89f"; version = "20170228.1f613ba";
buildInputs = [ buildInputs = [
gtk3 pkgconfig libX11 perl automake115x autoconf gtk3 pkgconfig libX11 perl automake115x autoconf
]; ];
@ -8,7 +8,7 @@ in
stdenv.mkDerivation { stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz"; url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
sha256 = "0kqy3gdgfjgaqbjl95pnljz44v91i79qphwdp91k0n5alswxwn76"; sha256 = "02nqc18fhvxr545wgk55ly61fi0a06q61ljzwadprqxa1n0g0fz5";
}; };
name = "sgt-puzzles-r" + version; name = "sgt-puzzles-r" + version;
inherit buildInputs; inherit buildInputs;

View File

@ -6,12 +6,12 @@ let
version = "139"; version = "139";
mameSrc = fetchurl { mameSrc = fetchurl {
url = "http://www.aarongiles.com/mirror/releases/mame0${version}s.zip"; url = "https://github.com/mamedev/mame/releases/download/mame0139/mame0${version}s.zip";
sha256 = "1mpkwxfz38cgxzvlni2y3fxas3b8qmnzj2ik2zzbd8mr622jdp79"; sha256 = "1mpkwxfz38cgxzvlni2y3fxas3b8qmnzj2ik2zzbd8mr622jdp79";
}; };
messSrc = fetchurl { messSrc = fetchurl {
url = "http://mess.redump.net/_media/downloads:mess0${version}s.zip"; url = "http://www.progettosnaps.net/MESS/src/mess0${version}s.zip";
name = "mess0139s.zip"; name = "mess0139s.zip";
sha256 = "1v892cg6wn8cdwc8pf1gcqqdb1v1v295r6jw2hf58svwx3h27xyy"; sha256 = "1v892cg6wn8cdwc8pf1gcqqdb1v1v295r6jw2hf58svwx3h27xyy";
}; };
@ -44,5 +44,6 @@ stdenv.mkDerivation {
homepage = http://www.mess.org/; homepage = http://www.mess.org/;
license = "non-commercial"; license = "non-commercial";
description = "Multi Emulator Super System, an emulator of many game consoles and computer systems"; description = "Multi Emulator Super System, an emulator of many game consoles and computer systems";
broken = true;
}; };
} }

View File

@ -24,11 +24,11 @@ let
installPhase = '' installPhase = ''
for f in {otf,supplementary-fonts}/**.{o,t}tf; do for f in {otf,supplementary-fonts}/**.{o,t}tf; do
install -Dt $out/otf -m755 otf/* install -Dt $out/otf -m755 $f
done done
for f in svg/**.{svg,woff}; do for f in svg/**.{svg,woff}; do
install -Dt $out/svg -m755 svg/* install -Dt $out/svg -m755 $f
done done
''; '';

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "raspberrypi-firmware-${version}"; name = "raspberrypi-firmware-${version}";
version = "1.20161020"; version = "1.20170303";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "raspberrypi"; owner = "raspberrypi";
repo = "firmware"; repo = "firmware";
rev = version; rev = version;
sha256 = "073cry7xqrbkn8p1qzl4f3z6jvcbks4i61fz7i2pbwa60vddcp34"; sha256 = "1s5dycgix97681vpq7ggpc27n865wgv9npzxvbr2q2bp3ia9mcim";
}; };
dontStrip = true; # Stripping breaks some of the binaries dontStrip = true; # Stripping breaks some of the binaries

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, perl, buildLinux, ... } @ args: { stdenv, fetchFromGitHub, perl, buildLinux, ... } @ args:
let let
modDirVersion = "4.4.26"; modDirVersion = "4.4.50";
tag = "1.20161020-1"; tag = "1.20170303";
in in
stdenv.lib.overrideDerivation (import ./generic.nix (args // rec { stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
version = "${modDirVersion}-${tag}"; version = "${modDirVersion}-${tag}";
@ -11,8 +11,8 @@ stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "raspberrypi"; owner = "raspberrypi";
repo = "linux"; repo = "linux";
rev = "raspberrypi-kernel_${tag}"; rev = "raspberrypi-kernel_${tag}-1";
sha256 = "0y76xrapq7710zzf6sif94xzly72gg505y65lslfirng500ncnv5"; sha256 = "1lvsr8zm8p1ng4b9vq0nkf2gn4gabla8dh6l60vifclqdcq2vwvx";
}; };
features.iwlwifi = true; features.iwlwifi = true;

View File

@ -10,11 +10,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "knot-resolver-${version}"; name = "knot-resolver-${version}";
version = "1.2.3"; version = "1.2.4";
src = fetchurl { src = fetchurl {
url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz"; url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
sha256 = "81a773f182112b4e11935223f900cfbcca8624f2c382b1e39a68d7c3db81c921"; sha256 = "630b2ad0bfdcf59164957a377adef8b1fddc37a58a7e1d10e76a1b497a30f036";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -3,10 +3,10 @@ let
s = # Generated upstream information s = # Generated upstream information
rec { rec {
baseName="apache-jena"; baseName="apache-jena";
version = "3.1.1"; version = "3.2.0";
name="${baseName}-${version}"; name="${baseName}-${version}";
url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz"; url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz";
sha256 = "0sxhpasc3qkj1axkccvckv8wiwcc5v6f4yri49inc3sl02pvvanp"; sha256 = "0n15mx8lnamkf3a1wlgx5slh6615m14wclv8fzkbb1xqq001c3j4";
}; };
buildInputs = [ buildInputs = [
makeWrapper makeWrapper

View File

@ -3,10 +3,10 @@ let
s = # Generated upstream information s = # Generated upstream information
rec { rec {
baseName="apache-jena-fuseki"; baseName="apache-jena-fuseki";
version = "2.4.1"; version = "2.5.0";
name="${baseName}-${version}"; name="${baseName}-${version}";
url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz"; url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
sha256 = "01yjpghgz637wwgnk5n9d7kchc3mmrbyrm8fs4rh2hkh66mq3ya4"; sha256 = "0qkdpifv30138y7d6vj0dksk4fbgcnwl26dqm89q0d66sc0czfbv";
}; };
buildInputs = [ buildInputs = [
makeWrapper makeWrapper

View File

@ -1,6 +0,0 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
version = "1.2.19";
sha256 = "0zkq3ggpk8ra2siar43vmrn6lmvn902p1g2lrgb46ak1vii6w30w";
})

View File

@ -1,6 +0,0 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
version = "2.0.16";
sha256 = "1fpvgmakmxy1lnygccpc32q53pa36bwy0lqdvb6hsifkxymdw8y5";
})

View File

@ -20,7 +20,10 @@ let
primus = if useNvidia then primusLib_ else primusLib_.override { nvidia_x11 = null; }; primus = if useNvidia then primusLib_ else primusLib_.override { nvidia_x11 = null; };
primus_i686 = if useNvidia then primusLib_i686_ else primusLib_i686_.override { nvidia_x11 = null; }; primus_i686 = if useNvidia then primusLib_i686_ else primusLib_i686_.override { nvidia_x11 = null; };
ldPath = lib.makeLibraryPath ([ primus primus.glvnd ] ++ lib.optionals (primusLib_i686 != null) [ primus_i686 primus_i686.glvnd ]); ldPath = lib.makeLibraryPath (lib.filter (x: x != null) (
[ primus primus.glvnd ]
++ lib.optionals (primusLib_i686 != null) [ primus_i686 primus_i686.glvnd ]
));
in writeScriptBin "primusrun" '' in writeScriptBin "primusrun" ''
#!${stdenv.shell} #!${stdenv.shell}

View File

@ -0,0 +1,22 @@
{ lib
, fetchurl
, python2Packages
}:
python2Packages.buildPythonApplication rec {
name = "salt-pepper-${version}";
version = "0.5.0";
src = fetchurl {
url = "https://github.com/saltstack/pepper/releases/download/${version}/${name}.tar.gz";
sha256 = "0gf4v5y1kp16i1na4c9qw7cgrpsh21p8ldv9r6b8gdwcxzadxbck";
};
doCheck = false; # no tests available
meta = with lib; {
description = "A CLI front-end to a running salt-api system";
homepage = https://github.com/saltstack/pepper;
maintainers = [ maintainers.pierrer ];
license = licenses.asl20;
};
}

View File

@ -3,14 +3,13 @@
, liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which , liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which
}: }:
let let
s = # Generated upstream information s =
rec { rec {
baseName="glusterfs"; baseName="glusterfs";
version="3.9.1"; version = "3.10.0";
name="${baseName}-${version}"; name="${baseName}-${version}";
hash="02p3i1zr0i2fhjhz64wvhdn0z7b6b3hkiqz1bkyhracncspxnvw9"; url="http://download.gluster.org/pub/gluster/glusterfs/3.10/3.10.0/glusterfs-3.10.0.tar.gz";
url="http://download.gluster.org/pub/gluster/glusterfs/3.9/3.9.1/glusterfs-3.9.1.tar.gz"; sha256 = "1svysq55z4sd6bxcdpkxljwis4cnzkknag22ngyr7sgb4bs19c97";
sha256="02p3i1zr0i2fhjhz64wvhdn0z7b6b3hkiqz1bkyhracncspxnvw9";
}; };
buildInputs = [ buildInputs = [
fuse bison flex_2_5_35 openssl python2 ncurses readline fuse bison flex_2_5_35 openssl python2 ncurses readline

Some files were not shown because too many files have changed in this diff Show More