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

View File

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

View File

@ -31,7 +31,7 @@ in {
extraGroups = mkOption {
type = types.listOf types.str;
default = [ "nixbld" ];
default = [];
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" ];
serviceConfig = {
User = "root";
Type = "oneshot";
Type = "simple";
ExecStart = "${das_watchdog}/bin/das_watchdog";
RemainAfterExit = true;
};

View File

@ -7,7 +7,7 @@ let
stateDir = "/var/spool/ddclient";
ddclientUser = "ddclient";
ddclientFlags = "-foreground -verbose -noquiet -file ${config.services.ddclient.configFile}";
ddclientFlags = "-foreground -file ${config.services.ddclient.configFile}";
ddclientPIDFile = "${stateDir}/ddclient.pid";
in
@ -102,6 +102,22 @@ in
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}"}
ssl=${if config.services.ddclient.ssl then "yes" else "no"}
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.extraConfig}
'';

View File

@ -155,15 +155,59 @@ in
};
};
config = mkIf cfg.enable {
config = mkIf cfg.enable (mkMerge [{
assertions = [
{ assertion = (cfg.customResolver != null) || (cfg.resolverName != null);
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 {
/dev/null rw,
/dev/urandom r,
@ -188,102 +232,78 @@ in
${getLib pkgs.libgpgerror}/lib/libgpg-error.so.* mr,
${getLib pkgs.libcap}/lib/libcap.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,
}
'');
})
users.users.dnscrypt-proxy = {
description = "dnscrypt-proxy daemon user";
isSystemUser = true;
group = "dnscrypt-proxy";
};
users.groups.dnscrypt-proxy = {};
systemd.services.init-dnscrypt-proxy-statedir = optionalAttrs useUpstreamResolverList {
(mkIf useUpstreamResolverList {
systemd.services.init-dnscrypt-proxy-statedir = {
description = "Initialize dnscrypt-proxy state directory";
wantedBy = [ "dnscrypt-proxy.service" ];
before = [ "dnscrypt-proxy.service" ];
script = ''
mkdir -pv ${stateDirectory}
chown -c dnscrypt-proxy:dnscrypt-proxy ${stateDirectory}
cp --preserve=timestamps -uv \
cp -uv \
${pkgs.dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv \
${stateDirectory}
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
systemd.services.update-dnscrypt-resolvers = optionalAttrs useUpstreamResolverList {
systemd.services.update-dnscrypt-resolvers = {
description = "Update list of DNSCrypt resolvers";
requires = [ "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 = ''
cd ${stateDirectory}
curl -fSsL -o dnscrypt-resolvers.csv.tmp \
https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv
curl -fSsL -o dnscrypt-resolvers.csv.minisig.tmp \
https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv.minisig
domain=download.dnscrypt.org
get="curl -fSs --resolve $domain:443:$(hostip -r 8.8.8.8 $domain | head -1)"
$get -o dnscrypt-resolvers.csv.tmp \
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,}
minisign -q -V -p ${upstreamResolverListPubKey} \
-m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig
[[ -f dnscrypt-resolvers.csv ]] && mv dnscrypt-resolvers.csv{,.old}
mv dnscrypt-resolvers.csv{.tmp,}
if cmp dnscrypt-resolvers.csv{,.old} ; then
echo "no change"
else
echo "resolver list updated"
fi
'';
serviceConfig = {
PrivateTmp = true;
PrivateDevices = 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 = {
OnBootSec = "5min";
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 {
default = { };
example = literalExample {
bond0 = {
interfaces = [ "eth0" "wlan0" ];
miimon = 100;
networking.bonds =
let
driverOptionsExample = {
miimon = "100";
mode = "active-backup";
};
fatpipe.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
};
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";
in mkOption {
default = { };
example = literalExample {
bond0 = {
interfaces = [ "eth0" "wlan0" ];
driverOptions = driverOptionsExample;
};
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.
'';
};
anotherBond.interfaces = [ "enp4s0f0" "enp4s0f1" "enp5s0f0" "enp5s0f1" ];
};
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 {
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 =
mkOption {
default = "";
@ -106,9 +136,9 @@ in
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
#boot.kernelPackages = pkgs.boot.kernelPackages.override { features={xen_dom0=true;}; };
@ -144,7 +174,7 @@ in
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
'';
@ -180,19 +210,19 @@ in
environment.etc =
[ { source = "${pkgs.xen}/etc/xen/xl.conf";
[ { source = "${cfg.package}/etc/xen/xl.conf";
target = "xen/xl.conf";
}
{ source = "${pkgs.xen}/etc/xen/scripts";
{ source = "${cfg.package}/etc/xen/scripts";
target = "xen/scripts";
}
{ source = "${pkgs.xen}/etc/default/xendomains";
{ source = "${cfg.package}/etc/default/xendomains";
target = "default/xendomains";
}
];
# Xen provides udev rules.
services.udev.packages = [ pkgs.xen ];
services.udev.packages = [ cfg.package ];
services.udev.path = [ pkgs.bridge-utils pkgs.iproute ];
@ -217,7 +247,7 @@ in
time=0
timeout=30
# 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))
sleep 1
done
@ -228,8 +258,8 @@ in
exit 1
fi
${pkgs.xen}/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/name" "Domain-0"
${cfg.package}/bin/xenstore-write "/local/domain/0/domid" 0
'';
};
@ -256,7 +286,7 @@ in
'';
serviceConfig = {
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" ];
after = [ "xen-console.service" ];
serviceConfig.ExecStart = ''
${pkgs.xen}/lib/xen/bin/qemu-system-i386 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv \
-monitor /dev/null -serial /dev/null -parallel /dev/null
${cfg.qemu} -xen-attach -xen-domid 0 -name dom0 -M xenpv \
-nographic -monitor /dev/null -serial /dev/null -parallel /dev/null
'';
};
@ -277,7 +307,7 @@ in
description = "Xen Watchdog Daemon";
wantedBy = [ "multi-user.target" ];
after = [ "xen-qemu.service" ];
serviceConfig.ExecStart = "${pkgs.xen}/bin/xenwatchdogd 30 15";
serviceConfig.ExecStart = "${cfg.package}/bin/xenwatchdogd 30 15";
serviceConfig.Type = "forking";
serviceConfig.RestartSec = "1";
serviceConfig.Restart = "on-failure";
@ -366,11 +396,11 @@ in
before = [ "dhcpd.service" ];
restartIfChanged = false;
serviceConfig.RemainAfterExit = "yes";
path = [ pkgs.xen ];
environment.XENDOM_CONFIG = "${pkgs.xen}/etc/sysconfig/xendomains";
path = [ cfg.package cfg.qemu-package ];
environment.XENDOM_CONFIG = "${cfg.package}/etc/sysconfig/xendomains";
preStart = "mkdir -p /var/lock/subsys -m 755";
serviceConfig.ExecStart = "${pkgs.xen}/etc/init.d/xendomains start";
serviceConfig.ExecStop = "${pkgs.xen}/etc/init.d/xendomains stop";
serviceConfig.ExecStart = "${cfg.package}/etc/init.d/xendomains start";
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 pkgs.lib;

View File

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

View File

@ -1,15 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, doxygen
, libmsgpack, makeWrapper, neovim, pythonPackages, qtbase }:
, libmsgpack, makeQtWrapper, neovim, pythonPackages, qtbase }:
stdenv.mkDerivation rec {
name = "neovim-qt-${version}";
version = "0.2.4";
version = "0.2.6";
src = fetchFromGitHub {
owner = "equalsraf";
repo = "neovim-qt";
rev = "v${version}";
sha256 = "0yf9wwkl0lbbj3vyf8hxnlsk7jhk5ggivszyqxply69dbar9ww59";
sha256 = "1wsxhy8fdayy4dsr2dxgh5k4jysybjlyzj134vk325v6cqz9bsgm";
};
cmakeFlags = [
@ -17,23 +17,28 @@ stdenv.mkDerivation rec {
"-DMSGPACK_LIBRARIES=${libmsgpack}/lib/libmsgpackc.so"
];
doCheck = false; # 5 out of 7 fail
doCheck = true;
buildInputs = with pythonPackages; [
qtbase libmsgpack
neovim qtbase libmsgpack
] ++ (with pythonPackages; [
jinja2 msgpack python
]);
nativeBuildInputs = [ cmake doxygen makeWrapper ];
nativeBuildInputs = [ cmake doxygen makeQtWrapper ];
enableParallelBuilding = true;
# avoid cmake trying to download libmsgpack
preConfigure = "echo \"\" > third-party/CMakeLists.txt";
preConfigure = ''
# 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 = ''
wrapProgram "$out/bin/nvim-qt" --prefix PATH : "${neovim}/bin"
wrapQtProgram "$out/bin/nvim-qt" \
--prefix PATH : "${neovim}/bin"
'';
meta = with stdenv.lib; {

View File

@ -5,7 +5,7 @@
}:
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
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2";
sha256 = "155kz7fizhkmgc4lsmk1cph1zar03pdd8pjpmv81yyx1z0i4ygvl";
sha256 = "1s264pahxpn0215xmzm8q2khr5xspipd7bbvxah5kj339kyjfy3k";
};
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";

View File

@ -5,18 +5,24 @@
, libvisio, libcdr, libexif, automake114x, cmake
}:
let
let
python2Env = python2.withPackages(ps: with ps; [ numpy lxml ]);
in
stdenv.mkDerivation rec {
name = "inkscape-0.92.0";
name = "inkscape-0.92.1";
src = fetchurl {
url = "https://inkscape.org/gallery/item/10552/${name}.tar.bz2";
sha256 = "0mmssxnxsvb3bpm7ck5pqvwyacrz1nkyacs571jx8j04l1cw3d5q";
url = "https://media.inkscape.org/dl/resources/file/${name}.tar_XlpI7qT.bz2";
sha256 = "01chr3vh728dkg7l7lilwgmh5nrp784khdhjgpqjbq9dh2zhax15";
};
unpackPhase = ''
cp $src ${name}.tar.bz2
tar xvjf ${name}.tar.bz2 > /dev/null
cd ${name}
'';
postPatch = ''
patchShebangs share/extensions
patchShebangs fix-roff-punct

View File

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

View File

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

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ automake autoconf libtool pkgconfig wrapGAppsHook ];
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 ]);
meta = {

View File

@ -4,11 +4,11 @@
, gsm, speex, portaudio, spandsp, libuuid, ccache
}:
stdenv.mkDerivation rec {
version = "0.5.0";
version = "0.5.1";
name = "baresip-${version}";
src=fetchurl {
url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
sha256 = "0dhlgjkqn7jkd1pmdyid41c829clzmi5kczjdwxzh5ygn95lydjc";
sha256 = "0yi80gi2vb600n7wi6mk81zfdi1n5pg1dsz7458sb3z5cv5gj8yg";
};
buildInputs = [zlib openssl libre librem pkgconfig
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 {
name = "gajim-${version}";
version = "0.16.6";
version = "0.16.7";
src = fetchurl {
name = "${name}.tar.bz2";
url = "https://dev.gajim.org/gajim/gajim/repository/archive.tar.bz2?"
+ "ref=${name}";
sha256 = "1s0h4xll9490vh7ygmi4zsd1fa107f3s9ykhpq0snb04fllwhjq7";
sha256 = "18srrsswq09i54gcqqy0ylmrix1rrq43f0b8sz1lijr39h3ayw3j";
};
patches = let
# An attribute set of revisions to apply from the upstream repository.
cherries = {
misc-test-fixes = {
rev = "1f0d7387fd020df5dfc9a6349005ec7dedb7c008";
sha256 = "0nazpzyg50kl0k8z4dkn033933iz60g1i6nzhib1nmzhwwbnacc5";
};
jingle-fix = {
rev = "491d32a2ec13ed3a482e151e0b403eda7b4151b8";
sha256 = "1pfg1ysr0p6rcwmd8ikjs38av3c4gcxn8pxr6cnnj27n85gvi30g";
};
fix-connection-mock = {
rev = "46a19733d208fbd2404cbaeedd8c203d0b6557a4";
sha256 = "0l3s577pksnz16r4mqa1zmz4y165amsx2mclrm4vzlszy35rmy2b";
};
#example-fix = {
# rev = "<replace-with-git-revsion>";
# sha256 = "<replace-with-sha256>";
#};
};
in mapAttrsToList (name: { rev, sha256 }: fetchurl {
name = "gajim-${name}.patch";

View File

@ -1,5 +1,5 @@
{ 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 }:
let
@ -11,6 +11,7 @@ let
atk
cairo
cups
curl
dbus
expat
fontconfig

View File

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

View File

@ -1,17 +1,19 @@
{ stdenv, fetchgit, fetchurl, writeText
, qt4, qmake4Hook, protobuf, libpcap
, wireshark, gzip, diffutils, gawk
{ stdenv, fetchFromGitHub, fetchurl, qmake4Hook, makeDesktopItem
, qt4, protobuf, libpcap, wireshark, gzip, diffutils, gawk
}:
stdenv.mkDerivation rec {
name = "ostinato-2015-12-24";
src = fetchgit {
url = "https://github.com/pstavirs/ostinato.git";
rev = "414d89860de0987843295d149bcabeac7c6fd9e5";
sha256 = "1yif8z8ih027jdsgnxd82z9914wrqpkpi4xgxqv9lygnb2jjjrdx";
name = "ostinato-${version}";
version = "0.8";
src = fetchFromGitHub {
owner = "pstavirs";
repo = "ostinato";
rev = "v${version}";
sha256 = "1b5a5gypcy9i03mj6md3lkrq05rqmdyhfykrr1z0sv8n3q48xca3";
};
ostinato_png = fetchurl {
ostinatoIcon = fetchurl {
url = "http://ostinato.org/images/site-logo.png";
sha256 = "f5c067823f2934e4d358d76f65a343efd69ad783a7aeabd7ab4ce3cd03490d70";
};
@ -22,7 +24,27 @@ stdenv.mkDerivation rec {
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 = ''
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications/
cat > $out/bin/ostinato.ini <<EOF
WiresharkPath=${wireshark}/bin/wireshark
TsharkPath=${wireshark}/bin/tshark
@ -30,34 +52,13 @@ stdenv.mkDerivation rec {
DiffPath=${diffutils}/bin/diff
AwkPath=${gawk}/bin/awk
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; {
description = "A packet traffic generator and analyzer";
homepage = http://ostinato.org;
license = licenses.gpl3;
homepage = http://ostinato.org;
license = licenses.gpl3;
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 {
version = "0.14.23";
version = "0.14.24";
name = "syncthing-${version}";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
sha256 = "1himf8yhfpjsv5m068y2f6f696d7ip0jq7jmg69kn7035zlxicis";
sha256 = "15jjk49ibry7crc3sw5zg09zsm5ir0ph5c0f3acas66wd02rnvl1";
};
buildInputs = [ go ];

View File

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

View File

@ -3,8 +3,8 @@
rec {
major = "5";
minor = "2";
patch = "5";
tweak = "1";
patch = "6";
tweak = "2";
subdir = "${major}.${minor}.${patch}";
@ -12,6 +12,6 @@ rec {
src = fetchurl {
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 {
name = "translations";
sha256 = "0lv3jbnzzkr7nbivsl9jm9b4m9mxvngbmhz6yasblhi0m9ifkxmb";
sha256 = "0w77mkxmhxx4qjwdwb8bipcdb4pkvkg202mxbbjrv0aj09k6dhvk";
};
# TODO: dictionaries
help = fetchSrc {
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;
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 = {
description = "Fast and robust (System)Verilog simulator/compiler";
homepage = "http://www.veripool.org/wiki/verilator";

View File

@ -1,5 +1,5 @@
{ 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 {
name = "gplates-${version}";
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
];
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
];

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.mkDerivation rec {
name = "smplayer-17.2.0";
name = "smplayer-17.3.0";
src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "05nqwpyh3zlyzip7chs711sz97cgijb92h44cd5aqbwbx06hihdd";
sha256 = "0yv7725kr3dq02mcanc07sapirx6s73l4b6d13nzvq5rkwr8crmj";
};
buildInputs = [ qtscript ];

View File

@ -9,7 +9,9 @@
, pulseSupport ? !stdenv.isDarwin, libpulseaudio
, sdlSupport ? !stdenv.isDarwin, SDL
, 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
, nixosTestRunner ? false
}:
@ -24,6 +26,7 @@ in
stdenv.mkDerivation rec {
name = "qemu-"
+ stdenv.lib.optionalString xenSupport "xen-"
+ stdenv.lib.optionalString x86Only "x86-only-"
+ stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
+ version;
@ -44,8 +47,10 @@ stdenv.mkDerivation rec {
++ optionals pulseSupport [ libpulseaudio ]
++ optionals sdlSupport [ SDL ]
++ optionals vncSupport [ libjpeg libpng ]
++ optionals spiceSupport [ spice_protocol spice usbredir ]
++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ];
++ optionals spiceSupport [ spice_protocol spice ]
++ optionals usbredirSupport [ usbredir ]
++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ]
++ optionals xenSupport [ xen ];
enableParallelBuilding = true;
@ -95,9 +100,11 @@ stdenv.mkDerivation rec {
++ optional numaSupport "--enable-numa"
++ optional seccompSupport "--enable-seccomp"
++ optional spiceSupport "--enable-spice"
++ optional usbredirSupport "--enable-usb-redir"
++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
++ optional stdenv.isDarwin "--enable-cocoa"
++ optional stdenv.isLinux "--enable-linux-aio";
++ optional stdenv.isLinux "--enable-linux-aio"
++ optional xenSupport "--enable-xen";
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
# Xen 4.5.5
#
# Patching XEN? Check the XSAs and try applying all the ones we
# don't have yet.
#
# XSAs at: https://xenbits.xen.org/xsa/
xenConfig = rec {
version = "4.5.5";
xsaPatch = { name , sha256 }: (fetchpatch {
url = "https://xenbits.xen.org/xsa/xsa${name}.patch";
inherit sha256;
});
xsaPatch = { name , sha256 }: (fetchpatch {
url = "https://xenbits.xen.org/xsa/xsa${name}.patch";
inherit sha256;
});
qemuDeps = [
udev pciutils xorg.libX11 SDL pixman acl glusterfs spice_protocol usbredir
alsaLib
];
in
name = "xen-${version}";
callPackage (import ./generic.nix (rec {
version = "4.5.5";
src = fetchurl {
url = "http://bits.xensource.com/oss-xen/release/${version}/${name}.tar.gz";
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";
})
];
src = fetchurl {
url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
sha256 = "1y74ms4yc3znf8jc3fgyq94va2y0pf7jh8m9pfqnpgklywqnw8g2";
};
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
, libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2
, lvm2, utillinux, procps, texinfo, perl, python2Packages
, glib, bridge-utils, xorg, pixman, iproute, udev, bison
, flex, cmake, ocamlPackages, figlet, libaio, yajl
, checkpolicy, transfig, glusterfs, acl, fetchgit, xz, spice
, spice_protocol, usbredir, alsaLib, quilt
config:
{ stdenv, cmake, pkgconfig, which
# Xen
, bison, bzip2, checkpolicy, dev86, figlet, flex, gettext, glib
, iasl, libaio, libiconv, libuuid, ncurses, openssl, perl
, python2Packages
# python2Packages.python
, xz, yajl, zlib
# Xen Optional
, ocamlPackages
# Scripts
, coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools
, inetutils, iptables, openvswitch, nbd, drbd, xenConfig
, xenserverPatched ? false, ... }:
, iproute, inetutils, iptables, bridge-utils, openvswitch, nbd, drbd
, lvm2, utillinux, procps
# Documentation
# python2Packages.markdown
, transfig, ghostscript, texinfo, pandoc
, ...} @ args:
with stdenv.lib;
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
# These sources are already rather old and probably do not change frequently
xenExtfiles = [
{ url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz;
sha256 = "0p206zaxlhda60ci33h9gipi5gm46fvvsm6k5c0w7b6cjg0yhb33";
}
];
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 ]));
withTools = a: f: withXenfiles (name: x: optionalString (hasAttr a x) ''
echo "processing ${name}"
__do() {
cd "tools/${name}"
${f name x}
}
( __do )
'');
in
stdenv.mkDerivation (rec {
inherit (config) version;
stdenv.mkDerivation {
inherit (xenConfig) name version src;
name = "xen-${version}";
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" ];
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 = ''
${stdenv.lib.optionalString ((xenserverPatched == true) && (builtins.hasAttr "xenserverPatches" xenConfig)) xenConfig.xenserverPatches}
### Hacks
# Xen's tools and firmares need various git repositories that it
# usually checks out at time using git. We can't have that.
${flip concatMapStrings xenConfig.toolsGits (x: let src = fetchgit x.git; in ''
cp -r ${src} tools/${src.name}-dir-remote
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)} )
'')}
# 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'
# Xen's stubdoms and firmwares need various sources that are usually fetched
# at build time using wget. We can't have that, so we prefetch Xen's ext_files.
mkdir xen_ext_files
${flip concatMapStrings xenExtfiles (x: let src = fetchurl x; in ''
cp ${src} xen_ext_files/${src.name}
'')}
# 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
# 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
### Fixing everything else
substituteInPlace tools/libfsimage/common/fsimage_plugin.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.
#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";
postBuild =
''
make -C docs man-pages
postBuild = ''
make -C docs man-pages
(cd tools/xen-libhvm-dir-remote; make)
(cd tools/xen-libhvm-dir-remote/biospt; cc -Wall -g -D_LINUX -Wstrict-prototypes biospt.c -o biospt -I../libhvm -L../libhvm -lxenhvm)
'';
${withTools "buildPhase" (name: x: x.buildPhase)}
'';
installPhase =
''
mkdir -p $out $out/share
cp -prvd dist/install/nix/store/*/* $out/
cp -prvd dist/install/boot $out/boot
cp -prvd dist/install/etc $out
cp -dR docs/man1 docs/man5 $out/share/man/
wrapPythonPrograms
substituteInPlace $out/etc/xen/scripts/hotplugpath.sh --replace SBINDIR=\"$out/sbin\" SBINDIR=\"$out/bin\"
installPhase = ''
mkdir -p $out $out/share
cp -prvd dist/install/nix/store/*/* $out/
cp -prvd dist/install/boot $out/boot
cp -prvd dist/install/etc $out
cp -dR docs/man1 docs/man5 $out/share/man/
shopt -s extglob
for i in $out/etc/xen/scripts/!(*.sh); do
sed -i "2s@^@export PATH=$out/bin:${scriptEnvPath}\n@" $i
done
${withTools "installPhase" (name: x: x.installPhase)}
(cd tools/xen-libhvm-dir-remote; make install)
cp tools/xen-libhvm-dir-remote/biospt/biospt $out/bin/.
'';
# Hack
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 = {
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" ];
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 = {
description = "C++ wrappers for GtkGLExt";
license = stdenv.lib.licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.linux;
broken = true;
};
}

View File

@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
homepage = "http://fsharp.org/";
license = stdenv.lib.licenses.asl20;
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}";
unpackPhase = ''
unpackFile ${fetch "cfe" "1lsdyrz82vyrsc7k0ah1zmzzan61s5kakxrkxgfbmklp3pclfkwp"}
unpackFile ${fetch "cfe" "062n17mfsn85dx3qy1qvq8rfxi7hcbr2nj70v2dah3xmy28i3yaq"}
mv cfe-${version}* clang
sourceRoot=$PWD/clang
unpackFile ${clang-tools-extra_src}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -21,7 +21,7 @@
}:
let
src = fetch "llvm" "0ic3y9gaissi6ixyj9x1c0pq69wfbl2svhprp33av0b58f7wj9v7";
src = fetch "llvm" "1ljb5y5wgypk3sy8zcd5qdgsm5hw8vl7cy6874mbf4gnk9k809b1";
shlib = if stdenv.isDarwin then "dylib" else "so";
# 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
# updated.
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}.
+ stdenv.lib.optionalString (enableSharedLibraries) ''
substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
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
@ -85,6 +92,14 @@ in stdenv.mkDerivation rec {
rm -fR $out
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 = ""
@ -103,6 +118,10 @@ in stdenv.mkDerivation rec {
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
'';
doCheck = stdenv.isLinux;
checkTarget = "check-all";
enableParallelBuilding = true;
passthru.src = src;

View File

@ -12,7 +12,7 @@ let
then "i686-apple-darwin"
else if stdenv.system == "x86_64-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`
bootstrapHash =
@ -24,7 +24,7 @@ let
then "fe1b3d67329a22d67e3b8db8858a43022e2e746dde60ef4a2db3f2cac16ea9bd"
else if stdenv.system == "x86_64-darwin"
then "3381341524b0184da5ed2cdcddc2a25e2e335e87f1cf676f64d98ee5e6479f20"
else throw "missing boostrap hash for platform ${stdenv.system}";
else throw "missing bootstrap hash for platform ${stdenv.system}";
needsPatchelf = stdenv.isLinux;

View File

@ -5,12 +5,12 @@ let
platform = if stdenv.system == "x86_64-linux"
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 =
if stdenv.system == "x86_64-linux"
then "1v7jvwigb29m15wilzcrk5jmlpaccpzbkhlzf7z5qw08320gvc91"
else throw "missing boostrap hash for platform ${stdenv.system}";
else throw "missing bootstrap hash for platform ${stdenv.system}";
needsPatchelf = stdenv.isLinux;

View File

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

View File

@ -875,4 +875,6 @@ self: super: {
# https://github.com/cartazio/arithmoi/issues/49
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 ]; });
hslogger = addBuildDepend super.hslogger self.HUnit;
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;
QuickCheck = addBuildDepend super.QuickCheck self.semigroups;
semigroups = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]);

View File

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

View File

@ -420,10 +420,16 @@ self: super: builtins.intersectAttrs super {
# tests require 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)
gi-javascriptcore = super.gi-javascriptcore.override { webkitgtk = 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
hatex-guide = overrideCabal super.hatex-guide (drv: {
preConfigure = ''

View File

@ -1,5 +1,5 @@
{ 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
{ pname

View File

@ -2873,6 +2873,17 @@ self: {
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
({ mkDerivation, base }:
mkDerivation {
@ -20896,8 +20907,8 @@ self: {
}:
mkDerivation {
pname = "affection";
version = "0.0.0.4";
sha256 = "31d82e66df577e34b0b96a70111d61918db70db93b3b0a66ce4e27c661688a58";
version = "0.0.0.5";
sha256 = "4d5f2d6257d6dcb6fe7b1658bead8e0c48451414d434d44e5492709b81ac43e7";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@ -33658,6 +33669,26 @@ self: {
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
({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
, cmdargs, derive, Diff, directory, filepath, HUnit, monad-loops
@ -34511,8 +34542,8 @@ self: {
({ mkDerivation, base, bson, template-haskell, text, th-lift }:
mkDerivation {
pname = "bson-mapping";
version = "0.1.5.0";
sha256 = "ba8ec4df8362c67e3da032399e92ddc94a6ddbd80232e2566648de0b5d53085a";
version = "0.1.5.1";
sha256 = "3f8eeb235b75a265bbc32b0fd808319144096d306f9bf1ed4434a28dd24facde";
libraryHaskellDepends = [
base bson template-haskell text th-lift
];
@ -41194,20 +41225,20 @@ self: {
"clit" = callPackage
({ 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
, split, text
}:
mkDerivation {
pname = "clit";
version = "0.3.0.3";
sha256 = "963a5a636ded2f1f7ac7a6b4b4af8a38403ecda4913e12b36719ee57c1a27925";
version = "0.3.1.0";
sha256 = "1e8f6dfb1c868b979722ec855b8b75165a61bf41a210a2c29a408573c9bc8085";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson ansi-wl-pprint authenticate-oauth base bytestring
data-default http-client http-client-tls http-types lens megaparsec
MissingH optparse-applicative split text
data-default directory http-client http-client-tls http-types lens
megaparsec MissingH optparse-applicative split text
];
executableHaskellDepends = [ base ];
homepage = "https://github.com/vmchale/command-line-tweeter#readme";
@ -58120,8 +58151,8 @@ self: {
({ mkDerivation, base, mtl }:
mkDerivation {
pname = "effin";
version = "0.3.0.1";
sha256 = "2e6a4a183d3626ab2509e7e80461efaeeb7327fa41fe3883f7e4163e9bec9365";
version = "0.3.0.2";
sha256 = "dd09e453c57987990865d8ff3b5e8ff26035a6087a31b5ecb4d1c3dfd785f014";
libraryHaskellDepends = [ base mtl ];
homepage = "https://github.com/YellPika/effin";
description = "A Typeable-free implementation of extensible effects";
@ -60658,6 +60689,26 @@ self: {
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
({ mkDerivation, base, containers, semigroups, transformers }:
mkDerivation {
@ -64053,8 +64104,8 @@ self: {
}:
mkDerivation {
pname = "fix-imports";
version = "1.0.4";
sha256 = "46da19d982e3470bd28e55f895c3fc6e6e80a6b98f1014f32755b8601cc61e49";
version = "1.0.5";
sha256 = "0b072eec7895d3514276c2a25d6d56665dbabb46b13c22aeb5f560459216de05";
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
@ -64957,8 +65008,8 @@ self: {
}:
mkDerivation {
pname = "fltkhs";
version = "0.5.1.2";
sha256 = "30a8f7229bb16ccd72bdefddf67d4ef23e9c87e200207dfdf944b737dd49a71d";
version = "0.5.1.3";
sha256 = "391f97abb8acac97b82d3b8a3ee3d62e2f76b566c01be2dff8835932fd85ae29";
isLibrary = true;
isExecutable = true;
setupHaskellDepends = [ base Cabal directory filepath ];
@ -66560,6 +66611,27 @@ self: {
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
({ mkDerivation, array, base, cpphs, directory, mtl, parallel
, pretty, random, syb
@ -68242,8 +68314,8 @@ self: {
}:
mkDerivation {
pname = "general-games";
version = "1.0.1";
sha256 = "ce6805d308b6aed79de4c55ea6b4d1edd7ce0a536df9131d1aef2f1f7e1221a6";
version = "1.0.2";
sha256 = "1415c6cb8a2d37322e7568ae53ffca5d658aed6e47bbbefa5c59ed88c09b384e";
libraryHaskellDepends = [
base monad-loops MonadRandom random random-shuffle
];
@ -68475,6 +68547,19 @@ self: {
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
({ mkDerivation, base }:
mkDerivation {
@ -70291,14 +70376,14 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"ghcjs-hplay_0_4_1" = callPackage
"ghcjs-hplay_0_4_2" = callPackage
({ mkDerivation, base, bytestring, containers, directory
, ghcjs-perch, mtl, transformers, transient, transient-universe
}:
mkDerivation {
pname = "ghcjs-hplay";
version = "0.4.1";
sha256 = "0589b76f6411abcf05a61a3f2b9d2d25064d5c1140dabf14b4a5d6aca0162b2b";
version = "0.4.2";
sha256 = "abab4f37c8168fca3c9c82b3349ac817c0771b6b09cc09a1eb6cce46bd0bdc2d";
libraryHaskellDepends = [
base bytestring containers directory ghcjs-perch mtl transformers
transient transient-universe
@ -76091,10 +76176,8 @@ self: {
}:
mkDerivation {
pname = "google-maps-geocoding";
version = "0.1.0.0";
sha256 = "375204744bebde75f9d249dc535d6b3199b342c6e68e452b7af4a3ac55521ef5";
revision = "1";
editedCabalFile = "293782aef4b6465cfe154b1601db24c5720a444c802f5a454fa06f04f0549614";
version = "0.1.0.1";
sha256 = "58cd8efd50ebeaf4a5630f4548065c1e05ce6a39367d9ccaa0e1ccc67be3f531";
libraryHaskellDepends = [
aeson base http-client servant servant-client text
];
@ -102520,8 +102603,8 @@ self: {
pname = "imperative-edsl";
version = "0.7";
sha256 = "1a207736fb6b84e5316bbbe95593b464fe7f155db65e89fbac78b59d0e05f5f7";
revision = "1";
editedCabalFile = "c7ce36becbcecf66151a8b850abb7a19752aa0dfd68922198dd53ed95470b57c";
revision = "2";
editedCabalFile = "c0d206bbb494b14bb4f2bbcbab994dc65fde03edb3f898d3ede7492578774f97";
libraryHaskellDepends = [
array base BoundedChan containers data-default-class deepseq
directory exception-transformers ghc-prim language-c-quote
@ -106293,6 +106376,18 @@ self: {
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
({ mkDerivation, base, binary, bytestring, directory, doctest
, filepath, language-java-classfile, QuickCheck
@ -110783,6 +110878,32 @@ self: {
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
({ mkDerivation, base, bool-extras }:
mkDerivation {
@ -118345,6 +118466,19 @@ self: {
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
({ mkDerivation, base, bytestring, cmdargs, monad-loops, old-locale
, threads, time, unix, zeromq-haskell
@ -119321,8 +119455,8 @@ self: {
}:
mkDerivation {
pname = "marvin";
version = "0.2.2";
sha256 = "87c5aa6059c7dbf6c8d20d31d3a242bc68aa888313453448ca520f726272dbbb";
version = "0.2.3";
sha256 = "79f439662bd8acd8ab528f29fad7ec73517edcf198fc29dc693c35100110553d";
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
@ -119587,6 +119721,23 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {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
({ mkDerivation, base, criterion, deepseq, primitive, tasty
, tasty-hunit, tasty-quickcheck, vector
@ -136351,6 +136502,41 @@ self: {
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
({ mkDerivation, aeson, attoparsec, base, bytestring
, getopt-generics, hashable, hspec, mongoDB, persistent
@ -136532,6 +136718,26 @@ self: {
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
({ mkDerivation, aeson, base, bytestring, conduit, containers
, convertible, HDBC, HDBC-odbc, monad-control, monad-logger
@ -136588,6 +136794,28 @@ self: {
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
({ mkDerivation, base, bytestring, persistent, protocol-buffers
, protocol-buffers-descriptor, template-haskell, text
@ -136708,6 +136936,34 @@ self: {
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
({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
, ghc-prim, hspec, http-api-data, monad-control, monad-logger
@ -136734,6 +136990,31 @@ self: {
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
({ mkDerivation, base, containers, criterion, deepseq, QuickCheck
, test-framework, test-framework-quickcheck2
@ -141984,6 +142265,8 @@ self: {
pname = "primitive";
version = "0.6.2.0";
sha256 = "b8e8d70213e22b3fab0e0d11525c02627489618988fdc636052ca0adce282ae1";
revision = "1";
editedCabalFile = "a67c9da25c0d15971f8dc06c119cae4a0180a7216c0a3a3d6e52357d2f7ac134";
libraryHaskellDepends = [ base ghc-prim transformers ];
testHaskellDepends = [ base ghc-prim ];
homepage = "https://github.com/haskell/primitive";
@ -149006,8 +149289,8 @@ self: {
}:
mkDerivation {
pname = "regex";
version = "0.3.0.0";
sha256 = "f0f8c9722a601edfc2fb7963956f331f3dd1e1655fafb07758aad6defea579de";
version = "0.5.0.0";
sha256 = "422392384ce3986d1c5627b30c8dc9dfb05fe41044820739d11da51ff1a8c27f";
libraryHaskellDepends = [
array base base-compat bytestring containers hashable heredoc
regex-base regex-pcre-builtin regex-tdfa regex-tdfa-text
@ -149165,8 +149448,8 @@ self: {
}:
mkDerivation {
pname = "regex-examples";
version = "0.3.0.0";
sha256 = "c274ffacf3eeecb9e9530d07fd44dd0539c8225923ae0cb82b5d48ad6333903b";
version = "0.5.0.0";
sha256 = "bfc94f67d1723fd833247512549aa2e0a9d18070aaf9409feaef87388a48a1bb";
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [
@ -159666,6 +159949,32 @@ self: {
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
({ mkDerivation, base, binary, bytestring, containers, vector }:
mkDerivation {
@ -166267,6 +166576,34 @@ self: {
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
({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, async
, attoparsec, base, base-compat, base16-bytestring
@ -178733,6 +179070,24 @@ self: {
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
({ mkDerivation, base, fingertree }:
mkDerivation {
@ -188859,6 +189214,29 @@ self: {
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
({ mkDerivation, base, bytestring, bytestring-builder, io-streams
, mtl, snap-core, snap-server, websockets

View File

@ -76,6 +76,14 @@ rec {
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: {
unpackPhase = let src = sdistTarball pkg; tarname = "${pkg.pname}-${pkg.version}"; in ''
echo "Source tarball is at ${src}/${tarname}.tar.gz"

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeFontsConf, makeWrapper
, cairo, coreutils, fontconfig, freefont_ttf
, glib, gmp, gtk2, libffi, libjpeg, libpng
, libtool, mpfr, openssl, pango, poppler
, glib, gmp, gtk2, libedit, libffi, libjpeg
, libpng, libtool, mpfr, openssl, pango, poppler
, readline, sqlite
, disableDocs ? true
}:
@ -18,6 +18,7 @@ let
glib
gmp
gtk2
libedit
libjpeg
libpng
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}:
let
version = "3.3.1";
version = "3.3.3";
in
stdenv.mkDerivation {
name = "eigen-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
name = "eigen-${version}.tar.gz";
sha256 = "141axgv5kykq7125scisjvnfcdx7qcj8n8zlk7g09r7fhqgjr79w";
sha256 = "0pz7k8kd9nydmsj2prjs67apixipl6pll3f0cjy0y3bvlazqr1wl";
};
nativeBuildInputs = [ cmake ];

View File

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

View File

@ -5,7 +5,7 @@
}:
let
version = "1.4.2";
version = "1.4.4";
inherit (stdenv.lib) optional optionals optionalString;
in
@ -14,7 +14,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
sha256 = "1cxpkhrjd20fwfysyxmi9rjvvggxlbzlyrs39p1dw3q0mg7ls8wg";
sha256 = "0mfj37qr8fw9mzsvk4296fq8vzq909mwlkl2xrjfrfvc8z5gilim";
};
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
pname = "icu4c";
version = "57.1";
version = "58.2";
in
stdenv.mkDerivation ({
name = pname + "-" + version;
@ -10,7 +10,7 @@ stdenv.mkDerivation ({
src = fetchurl {
url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
+ (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
sha256 = "10cmkqigxh9f73y7q3p991q6j8pph0mrydgj11w1x6wlcp5ng37z";
sha256 = "036shcb3f8bm1lynhlsb4kpjm9s9c2vdiir01vg216rs2l8482ib";
};
outputs = [ "out" "dev" ];
@ -35,26 +35,6 @@ stdenv.mkDerivation ({
'';
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 = ''

View File

@ -1,17 +1,17 @@
{stdenv, fetchurl, libtool, openssl, pkgconfig}:
{ stdenv, fetchFromGitHub, autoreconfHook, libtool, openssl, pkgconfig }:
stdenv.mkDerivation rec {
name = "libp11-0.2.7";
src = fetchurl {
urls = [
"http://www.opensc-project.org/files/libp11/${name}.tar.gz"
"http://www.openadk.org/distfiles/${name}.tar.gz"
];
sha256 = "0kaz5qafaxm0ycywmajl166c29fh9cz89b8i043jqsbxlpzf4hdp";
src = fetchFromGitHub {
owner = "OpenSC";
repo = "libp11";
rev = name;
sha256 = "0llw69kcb6nvz7zzkb9nyfyhc2s972q68sqciabqxwxljr09c411";
};
buildInputs = [ libtool openssl pkgconfig ];
nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
buildInputs = [ openssl ];
meta = {
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 {
name = "libpcap-1.8.1";
@ -21,6 +21,13 @@ stdenv.mkDerivation rec {
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'';
crossAttrs = {

View File

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

View File

@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
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; {
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 {
name = "mpir-${version}";
version = "2.7.2";
version = "3.0.0";
buildInputs = [ m4 ];
nativeBuildInputs = [ m4 which yasm ];
src = fetchurl {
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 = {
inherit version;
description = ''A highly optimised library for bignum arithmetic forked from GMP'';

View File

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

View File

@ -35,6 +35,13 @@ qtSubmodule {
# 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
# 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+="\
-plugindir $out/lib/qt5/plugins \
-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 }:
let
version = "4.11.3";
version = "4.12";
inherit (pythonPackages) mkPythonDerivation python dbus-python sip;
in mkPythonDerivation {
name = "PyQt-x11-gpl-${version}";
src = fetchurl {
url = "mirror://sourceforge/pyqt/PyQt4/PyQt-${version}/PyQt-x11-gpl-${version}.tar.gz";
sha256 = "11jnfjw79s0b0qdd9s6kd69w87vf16dhagbhbmwbmrp2vgf80dw5";
url = "mirror://sourceforge/pyqt/PyQt4_gpl_x11-${version}.tar.gz";
sha256 = "1nw8r88a5g2d550yvklawlvns8gd5slw53yy688kxnsa65aln79w";
};
configurePhase = ''

View File

@ -2,7 +2,7 @@
, lndir, makeWrapper, qmakeHook }:
let
version = "5.6";
version = "5.8.1";
inherit (pythonPackages) mkPythonDerivation python dbus-python sip;
in mkPythonDerivation {
name = "PyQt-${version}";
@ -17,7 +17,7 @@ in mkPythonDerivation {
src = fetchurl {
url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
sha256 = "1qgh42zsr9jppl9k7fcdbhxcd1wrb7wyaj9lng9nxfa19in1lj1f";
sha256 = "0biak7l574i2gc8lj1s45skajbxsmmx66nlvs6xaakzkc6r293qy";
};
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 }:
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 {
url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
sha256 = "1452zy3g0qv4fpd9c0y4gq437kn0xf7bbfniibv5n43zpwnpmklv";
sha256 = "501852b8325349031b769d1c03d6eab04f7b9b97f790ec79f3d3d04bf065d83e";
};
configurePhase = ''

View File

@ -1,76 +1,82 @@
{ stdenv, lib, fetchurl, coreutils, openssh, buildbot-worker, makeWrapper,
pythonPackages, gnused, plugins ? [] }:
{ stdenv, lib, openssh, buildbot-worker, pythonPackages, runCommand, makeWrapper }:
pythonPackages.buildPythonApplication (rec {
name = "${pname}-${version}";
pname = "buildbot";
version = "0.9.4";
src = fetchurl {
url = "mirror://pypi/b/${pname}/${name}.tar.gz";
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
let
withPlugins = plugins: runCommand "wrapped-${package.name}" {
buildInputs = [ makeWrapper ] ++ plugins;
passthru.withPlugins = moarPlugins: withPlugins (moarPlugins ++ plugins);
} ''
makeWrapper ${package}/bin/buildbot $out/bin/buildbot --prefix PYTHONPATH : $PYTHONPATH
'';
postFixup = ''
makeWrapper $out/bin/.buildbot-wrapped $out/bin/buildbot --set PYTHONPATH "$PYTHONPATH"
'';
package = pythonPackages.buildPythonApplication (rec {
name = "${pname}-${version}";
pname = "buildbot";
version = "0.9.4";
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;
};
})
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086";
};
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 {
name = "${pname}-${version}";
pname = "buildbot-worker";
version = "0.9.4";
src = fetchurl {
url = "mirror://pypi/b/${pname}/${name}.tar.gz";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj";
};
@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication (rec {
propagatedBuildInputs = with pythonPackages; [ twisted future ];
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; {

View File

@ -1,17 +1,28 @@
{ stdenv, fetchFromGitHub, qt4, sqlite, cmake }:
{ stdenv, fetchFromGitHub, qt5, sqlite, cmake }:
stdenv.mkDerivation rec {
version = "3.8.0";
version = "3.9.1";
name = "sqlitebrowser-${version}";
src = fetchFromGitHub {
repo = "sqlitebrowser";
owner = "sqlitebrowser";
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; {
description = "DB Browser for SQLite";
@ -21,4 +32,3 @@ stdenv.mkDerivation rec {
platforms = platforms.linux; # can only test on linux
};
}

View File

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

View File

@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
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 ];

View File

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

View File

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

View File

@ -6,12 +6,12 @@ let
version = "139";
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";
};
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";
sha256 = "1v892cg6wn8cdwc8pf1gcqqdb1v1v295r6jw2hf58svwx3h27xyy";
};
@ -39,10 +39,11 @@ stdenv.mkDerivation {
mkdir -p $out/bin
cp mess* $out/bin/mess
'';
meta = {
homepage = http://www.mess.org/;
license = "non-commercial";
description = "Multi Emulator Super System, an emulator of many game consoles and computer systems";
broken = true;
};
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,10 +3,10 @@ let
s = # Generated upstream information
rec {
baseName="apache-jena-fuseki";
version = "2.4.1";
version = "2.5.0";
name="${baseName}-${version}";
url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
sha256 = "01yjpghgz637wwgnk5n9d7kchc3mmrbyrm8fs4rh2hkh66mq3ya4";
sha256 = "0qkdpifv30138y7d6vj0dksk4fbgcnwl26dqm89q0d66sc0czfbv";
};
buildInputs = [
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_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" ''
#!${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
}:
let
s = # Generated upstream information
s =
rec {
baseName="glusterfs";
version="3.9.1";
version = "3.10.0";
name="${baseName}-${version}";
hash="02p3i1zr0i2fhjhz64wvhdn0z7b6b3hkiqz1bkyhracncspxnvw9";
url="http://download.gluster.org/pub/gluster/glusterfs/3.9/3.9.1/glusterfs-3.9.1.tar.gz";
sha256="02p3i1zr0i2fhjhz64wvhdn0z7b6b3hkiqz1bkyhracncspxnvw9";
url="http://download.gluster.org/pub/gluster/glusterfs/3.10/3.10.0/glusterfs-3.10.0.tar.gz";
sha256 = "1svysq55z4sd6bxcdpkxljwis4cnzkknag22ngyr7sgb4bs19c97";
};
buildInputs = [
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